導航:首頁 > 電器電路 > ucl電路

ucl電路

發布時間:2022-04-24 16:11:39

Ⅰ FPC1021電容式指紋模塊,那家的好用

僅供參考。

FPM10A光學指紋模塊簡要使用說明
1.引腳
FPM10A使用1.0MM FPC 上接插座引出了5個引腳,在板子上有標1的位置為第一引腳。五個引腳的作用依次為:
1 為 VCC 電源的正極接 3.6V– 5.5V的電壓均可。
2 為 GND 電源的負極接地。
3 為 TXD 串口的發送。
4 為 RXD 串口的接收。
5 為 NC 懸空不需要使用。

2.串口
FPM10A使用標準的串口與外界通信,默認的波特率為57600,可以進行更改,請參考通信協議。可以與任何單片機,ARM,DSP等帶串口的設備進行連接,請注意電平轉換,連接電腦需要進行電平轉換,比如MAX232電路。3.3V 5V的單片機可以直接連接。

3.關於模塊的檢測
模塊成功上電後,指紋採集窗口會閃一下,表示自檢正常,如果不閃,請仔細檢查電源,是否接反,接錯等。

4.指紋模塊的溫度
指紋模塊使用120MHZ的DSP全速工作,工作時晶元有一些熱,經過嚴格的測試,這是沒有問題的可以放心使用,在不使用的時候可以關閉電源,以降低功耗。

volatile unsigned char UART1_FINGERPRINT_RECEVICE_BUFFER[24];

//FINGERPRINT通信協議定義
unsigned char FP_Pack_Head[6] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF}; //協議包頭
unsigned char FP_Get_Img[6] = {0x01,0x00,0x03,0x01,0x0,0x05}; //獲得指紋圖像
unsigned char FP_Templete_Num[6] ={0x01,0x00,0x03,0x1D,0x00,0x21 }; //獲得模版總數
unsigned char FP_Search[11]={0x01,0x0,0x08,0x04,0x01,0x0,0x0,0x03,0xA1,0x0,0xB2}; //搜索指紋搜索范圍0 - 929
unsigned char FP_Search_0_9[11]={0x01,0x0,0x08,0x04,0x01,0x0,0x0,0x0,0x13,0x0,0x21}; //搜索0-9號指紋
unsigned char FP_Img_To_Buffer1[7]={0x01,0x0,0x04,0x02,0x01,0x0,0x08}; //將圖像放入到BUFFER1
unsigned char FP_Img_To_Buffer2[7]={0x01,0x0,0x04,0x02,0x02,0x0,0x09}; //將圖像放入到BUFFER2
unsigned char FP_Reg_Model[6]={0x01,0x0,0x03,0x05,0x0,0x09}; //將BUFFER1跟BUFFER2合成特徵模版
unsigned char FP_Delet_All_Model[6]={0x01,0x0,0x03,0x0d,0x00,0x11};//刪除指紋模塊里所有的模版
volatile unsigned char FP_Save_Finger[9]={0x01,0x00,0x06,0x06,0x01,0x00,0x0B,0x00,0x19};//將BUFFER1中的特徵碼存放到指定的位置
volatile unsigned char FP_Delete_Model[10]={0x01,0x00,0x07,0x0C,0x0,0x0,0x0,0x1,0x0,0x0}; //刪除指定的模版
//volatile unsigned char FINGER_NUM;

/*------------------ FINGERPRINT命令字 --------------------------*/

//FINGERPRINT_獲得指紋圖像命令
void FINGERPRINT_Cmd_Get_Img(void)
{
unsigned char i;

for(i=0;i<6;i++) //發送包頭
UART1_Send_Byte(FP_Pack_Head[i]);

for(i=0;i<6;i++) //發送命令 0x1d
UART1_Send_Byte(FP_Get_Img[i]);
}

//講圖像轉換成特徵碼存放在Buffer1中
void FINGERPRINT_Cmd_Img_To_Buffer1(void)
{
unsigned char i;

for(i=0;i<6;i++) //發送包頭
{
UART1_Send_Byte(FP_Pack_Head[i]);
}

for(i=0;i<7;i++) //發送命令 將圖像轉換成 特徵碼 存放在 CHAR_buffer1
{
UART1_Send_Byte(FP_Img_To_Buffer1[i]);
}
}

//將圖像轉換成特徵碼存放在Buffer2中
void FINGERPRINT_Cmd_Img_To_Buffer2(void)
{
unsigned char i;
for(i=0;i<6;i++) //發送包頭
{
UART1_Send_Byte(FP_Pack_Head[i]);
}

for(i=0;i<7;i++) //發送命令 將圖像轉換成 特徵碼 存放在 CHAR_buffer1
{
UART1_Send_Byte(FP_Img_To_Buffer2[i]);
}
}

//將BUFFER1 跟 BUFFER2 中的特徵碼合並成指紋模版
void FINGERPRINT_Cmd_Reg_Model(void)
{
unsigned char i;

for(i=0;i<6;i++) //包頭
{
UART1_Send_Byte(FP_Pack_Head[i]);
}

for(i=0;i<6;i++) //命令合並指紋模版
{
UART1_Send_Byte(FP_Reg_Model[i]);
}

}

//刪除指紋模塊里的所有指紋模版
void FINGERPRINT_Cmd_Delete_All_Model(void)
{
unsigned char i;

for(i=0;i<6;i++) //包頭
UART1_Send_Byte(FP_Pack_Head[i]);

for(i=0;i<6;i++) //命令合並指紋模版
UART1_Send_Byte(FP_Delet_All_Model[i]);
}

//刪除指紋模塊里的指定指紋模版
void FINGERPRINT_Cmd_Delete_Model(unsigned int uiID_temp)
{
volatile unsigned int uiSum_temp = 0;
unsigned char i;

FP_Delete_Model[4]=(uiID_temp&0xFF00)>>8;
FP_Delete_Model[5]=(uiID_temp&0x00FF);

for(i=0;i<8;i++)
uiSum_temp = uiSum_temp + FP_Delete_Model[i];

//UART0_Send_Byte(uiSum_temp);

FP_Delete_Model[8]=(uiSum_temp&0xFF00)>>8;
FP_Delete_Model[9]=uiSum_temp&0x00FF;

for(i=0;i<6;i++) //包頭
UART1_Send_Byte(FP_Pack_Head[i]);

for(i=0;i<10;i++) //命令合並指紋模版
UART1_Send_Byte(FP_Delete_Model[i]);
}

//獲得指紋模板數量
void FINGERPRINT_Cmd_Get_Templete_Num(void)
{ unsigned int i;
unsigned char temp[14];

for(i=0;i<6;i++) //包頭
UART1_Send_Byte(FP_Pack_Head[i]);

//發送命令 0x1d
for(i=0;i<6;i++)
UART1_Send_Byte(FP_Templete_Num[i]);

}

//搜索全部用戶999枚
void FINGERPRINT_Cmd_Search_Finger(void)
{
unsigned char i;
for(i=0;i<6;i++) //發送命令搜索指紋庫
{
UART1_Send_Byte(FP_Pack_Head[i]);
}

for(i=0;i<11;i++)
{
UART1_Send_Byte(FP_Search[i]);
}

}

//搜索全部用戶999枚
void FINGERPRINT_Cmd_Search_Finger_Admin(void)
{
unsigned char i;
for(i=0;i<6;i++) //發送命令搜索指紋庫
{
UART1_Send_Byte(FP_Pack_Head[i]);
}

for(i=0;i<11;i++)
{
UART1_Send_Byte(FP_Search_0_9[i]);
}

}

void FINGERPRINT_Cmd_Save_Finger( unsigned char ucH_Char,unsigned char ucL_Char )
{
unsigned long temp = 0;
unsigned char i;

// SAVE_FINGER[9]={0x01,0x00,0x06,0x06,0x01,0x00,0x0B,0x00,0x19};//將BUFFER1中的特徵碼存放到指定的位置

FP_Save_Finger[5] = ucH_Char;
FP_Save_Finger[6] = ucL_Char;

for(i=0;i<7;i++) //計算校驗和
temp = temp + FP_Save_Finger[i];

FP_Save_Finger[7]=(temp & 0x00FF00) >> 8; //存放校驗數據
FP_Save_Finger[8]= temp & 0x0000FF;

for(i=0;i<6;i++)
UART1_Send_Byte(FP_Pack_Head[i]); //發送包頭

for(i=0;i<9;i++)
UART1_Send_Byte(FP_Save_Finger[i]); //發送命令 將圖像轉換成 特徵碼 存放在 CHAR_buffer1
}

//接收反饋數據緩沖
void FINGERPRINT_Recevice_Data(unsigned char ucLength)
{
unsigned char i;

for (i=0;i<ucLength;i++)
UART1_FINGERPRINT_RECEVICE_BUFFER[i] = UART1_Receive_Byte();

}

Ⅱ P3403UCL是什麼

集成電路IC晶元元器

Ⅲ 2017英國留學熱門專業有哪些

會計與金融學

就業方向:銀行與資產管理公司、會計師事務所、股票經紀人、金融分析員、組合基金和共同基金經理、理財規劃人。

英國金融業相當發達,金融業的發展也帶動了會計領域的飛速前進。英國是最早出現職業會計師、第一個建立現代意義上會計職業團體的國家,總部設在英國的特許公認會計師公會是目前世界上領先的專業會計師團體,因此去英國學習會計有得天獨厚的優勢,而且利於就業。此外,英國有世界上幾乎所有主要的國際銀行和金融機構總部或分支機構,開放的經濟環境使英國商學院特別是金融學斐譽世界。

金融學課程內容包括:西方經濟學、國際金融學、貨幣銀行學、金融市場學、金融工程學、國際保險、信託與租賃、商業銀行經管、金融統計分析、國際經濟法等。

傳媒學

就業方向:網站、電視台、電台、報刊雜志社、影視製作公司、文化交流組織。

英國傳媒產業非常發達,擁有世界最大的新聞廣播機構BBC、全世界著名的通訊社路透社以及世界發行量最大的報紙《泰晤士報》,英國的新聞產品跨越和占據了世界傳媒版圖上的大部分角落,在全球傳媒產業中舉足輕重,享有不可撼動的地位。

英國傳媒專業主要分三個方向:一為大眾傳媒,主要學習傳播、廣告、新聞寫作、報道及采訪等;二為影視製作媒體,包括編輯、游戲設計、音效處理、廣告設計及電影電視製作等;三是媒體及記者,主要包括雜志社、報社、影視和新聞機構等。

計算機專業

就業方向:IT技術管理、網路支持、公共服務事業、軟體開發、無線通信、晶元公司。

英國的教育機構在開發計算機系統和新型應用軟體方面一直處於領先地位,英國的計算機專家在集成電路、電訊、互聯網、邏輯電路、人工智慧和電子科學方面取得了很多創新成果。同時,英國大學計算機專業與國內外各大公司緊密合作,培養儲備人才。

計算機科學覆蓋的專業包括:計算機通信、網路安全、人工智慧、多媒體技術、軟體開發、信息系統等。如果學生還沒有明確的選擇,可以選擇這個基礎專業。

教育學

就業方向:普通高校、中小學校、特殊教育機構、外語培訓機構、出版社、報社、新技術教育領域。

老牌教育強國英國以其完善的高等教育體系、享譽國際的教育水準,貴族式嚴謹學風和一流的教學設施備受海外學子的關注,其精英教育的理念已經在各國深入滲透。

英國大學的教育專業非常之多,無論是剛剛畢業的大學生,還是已經從教多年的教師,都可以根據自己的情況找到適合的英國大學的相關教育專業,即使是對於剛剛畢業,非教育專業背景,但希望攻讀教育類碩士課程的學生,英國大學都有相關的銜接課程。

電氣工程

就業方向:電力系統、電力設計研究院、電子類高新技術企業、高等院校、科研院所、環保、郵電與通訊部。

英國的電氣工程可謂是歐洲一流、世界領先,重要的電子電氣廠商都起源於英國。英國電氣工程專業的教育理念極具前瞻性和創造性,學生可以充分掌握創造思維和尖端技術設計理念。

電氣工程課程設置包括:電路理論、電磁場理論、模擬電子技術,數字電子技術、電力電子技術、自動控制理論、電機學等。英國各高校與企業界的緊密聯合,學生能在學習過程中就接觸最為重要的核心應用部分,學有所用。

藝術

就業方向:戲劇表演、藝術工作室、時裝界、平面設計、音樂公司、廣告公司。

英國的藝術氛圍濃厚,許多美術館或博物館可免費參觀,且每年都會舉行很多的藝術節,如著名的愛丁堡藝術節。英國有許多著名的藝術類院校,英國的藝術類專業在世界也屬一流,因此,藝術類考生去英國留學是非常好的選擇。

英國藝術類大學有兩類可供學生選擇,一是純的藝術類院校,比如:倫敦藝術大學、創意藝術大學等,這些院校開設的全部是藝術類專業;另一類是綜合性大學的藝術學院,比如伯明翰城市大學的伯明翰藝術設計學院、愛丁堡大學。

英國有很多設計類課程可以考慮,如:平面設計、產品設計、服裝設計、珠寶設計等。同時有商科和藝術課程結合的課程如:時尚推廣、時尚管理等。

管理學

就業方向:高校學術研究、政府機構、服務性質企業、規劃部門、中層管理部門、HR。

英國大學的管理學課程是將前沿管理學理念與企業管理實際應用相結合,通過管理學理論研究、企業成敗案例分析、模擬商業實戰演練、以及團隊組織配合等多種方式,提高學生的決策洞察力、戰略管理水平以及總攬全局的決策能力。英國的管理學不是單純的管理,有很多方向與細分,其實是五花八門、豐富多彩的。

管理類學科大部分接受轉專業申請,課程涵蓋了國際會計、研究方法、比較文化與傳播、企業經濟學、國際市場銷售。

國際商務

就業方向:跨國公司商務代表、國際商務師、外資企業高管、涉外經濟貿易部門、政府機構、商務活動策劃專員。

在全球化經濟的環境下,國際商務課程培養國際商務人才所需的各項能力,包括管理學、組織能力、行銷、財務和人力資源管理。國際商務管理碩士課程和MBA工商管理碩士課程比較類似,但更為偏重對於跨國公司的研究和專業知識。

課程內容包括:跨國管理、國際商務理論和戰略、管理學、國際商務研究方法論、新興市場行銷、國際電子商務、國際行銷學等。

翻譯

就業方向:口譯人員、筆譯人員、外文網站編輯、外文報刊雜志社、電視台、留學咨詢公司。

英國是英語的發源地,擁有最純正的英語言環境,在英國學習,除了專業上能獲得無與倫比的提升之外,同時由於置身於純正英語環境中,隨時隨地都可以用英語交流,因此學生可以及時將知識內化,自身素質獲得飛速提升。

土木工程

就業方向:土木工程師、政府機構。

去英國學習土木工程專業有兩大優勢:一,英國開設土木工程學科的院校都經過協調小組及聯合評估小組核准,確保了教學質量;二是土木工程專業常與其它相關學科如環境工程、建築工程等結合,學生有機會兼修其他專業並獲得到國內外實地考察及交流的機會。

土木工程是研究如何應用科學原理和數學規劃、施工和維護各種建築和設施的學科,研究方向主要為:結構工程、交通工程、環境工程、水利工程、建設工程等,課程設置主要為:工程力學、岩土力學、地基與基礎、工程地質學、工程水文學、工程制圖、建築材料、混凝土結構、工程機構等。

Ⅳ 簡述KGCfA型可控硅整流裝置直流放大電路工作原理

直流放大電路由差動放大器、電壓放大器及射極輸出器三部分構成。差動放大器採用雙端輸入,單端輸出。當輸入信號增加時,則放大電路中各晶體管的基極電位Ub,集電極電位U。及發射極電位Ue將發生如下變化:Ub4↑→Uc4↑→Ub2↑→Uc2↑→Ubl↑→Ucl個,即輸入信號增加時,輸出信號也增加。反之輸入信號減小時,輸出信號也減小。

Ⅳ 軟開關電源原理與應用的目錄

第1章緒論
1.1開關電源的特點及其分類
1.2軟開關電源的特點及其種類
1.3開關電源不可忽略的幾個技術參數及其測試方法
1.3.1動態響J立
1.3.2輸出紋波和雜訊
1.3.3開關電源的無線電干擾特性及測試
1.3.4可靠性方面的幾個參數
1.4本書的結構
第2章軟開關電源功率開關器件
2.1功率晶體管(GTR)
2.1.1功率晶體管的結構
2.1.2特性與參數
2.1.3GTR的驅動與保護
2.2功率場效應晶體管(POwer MOSFET)
2.2.1結構與工作原理
2.2.2特性與參數
2.2.3柵極的驅動與保護
2.3絕緣柵雙極晶體管(IGBT)
2.3.1原理與特性
2.3.2門極驅動
2.3.3 IGRT的保護
第3章軟開關電源基礎電路
3.1基本變換器電路結構與拓撲
3.1.1 Buck變換器
3.1.2 Bocst變換器
3.1.3 Buck慨t變換器
3.1.4 Cuk、Sepic、Zeta變換器
3.1.5單端反激式變換器
3.1.6單端正激式變換器
3.1.7半橋式變換器
3.1.8全橋式變換器
3.2諧振電路的基本概念
3.2.1串聯諧振電路
3.2.2並聯諧振電路
3.2.3諧振開關
3.3鉗位吸收電路
3.3.1最簡單的軟啟動——串聯電感
3.3.2最簡單的軟關斷——並聯電容
3.3.3 RLD開關開通吸收電路
3.3.4 RCD開關關斷吸收電路
3.3.5無損LCD吸收電路
3.4特種整流電路
3.4.1倍壓整流電路
3.4.2倍流整流電路
3.4.3同步整流(SR)電路
3.5功率因數校正電路
3.5.1無源功率因數校正電路
3.5.2有源功率因數校正電路
3.5.3單級PFC(功率因數校正)電路
3.5.4軟開關功率因數校正(PFC)電路
第4章諧振變換器
4.1全諧振變換器
4.1.1串聯負載串聯諧振變換器
4.1.2並聯負載串聯諧振變換器
4.2准諧振開關變換器
4.2.1零電流開關准諧振變換器
4.2.2零電壓開關准諧振變換器
4.3多諧振開關變換器
4.3.1零電壓開關多諧振變換器
4.3.2半橋式多諧振變換器
4.3.3零電壓開關多諧振變換器族
4.4軟開關諧振變換器的應用
4.4.1電壓諧振變換器應用實例
4.4.2電流諧振變換器應用實例
4.4.3多諧振變換器應用實例
第5章有源鉗位軟開關變換器
5.1有源鉗位正激變換器
5.1.1工作原理
5.1.2電路設計
5.2有源鉗位反激變換器
5.3有源鉗位反激一正激變換器
5.3.1工作原理
5.3.2電路設計
5.4有源鉗位變換器的應用
第6章軟開關PWM變換器
6.1 PWM技術
6.1.1工作原理
6.1.2 SPWM波形成電路
6.1.3 PWM反饋控制模式
6.2 ZCS PWM變換器
6.2.1工作原理
6.2.2 ZCS PWM變換器與ZCS QRCs的比較
6.2.3參數設計
6.2.4 ZCS PWM變換器族
6.3 ZVS PWM變換器
6.3.1工作原理
6.3.2 ZVS PWM變換器與ZVS QRCs的比較
6.3.3參數設計
6.3.4 ZVS PWM變換器族
6.4 ZCT PWM變換器
6.4.1工作原理
6.4.2參數設計
6.5改進型ZCT PWM變換器
6.5.1工作原理
6.5.2參數選值
6.6 ZVT—PWM變換器
6.6.1工作原理
6.6.2輔助電路的參數設計
6.7改進型ZVT PwM變換器
6.7.1工作原理
6.7.2輔助電路的參數設計
6.7.3改進型zVT PWM變換器族
6.8 ZVS-ZCS全軟開關變換器
6.8.1 ZVSZS-Buck—PWM變換器
6.8.2單管ZVS-zCSBuck—PWM變換器
6.8.3帶反饋的Buck-PWM變換器
6.9三電平軟開關直流變換器
6.9.1三電平軟開關直流變換器
6.9.2改進型ZVS三電平直流變換器
6.9.3採用變壓器次級輔助繞組的軟開關PWM三電平變換器
第7章移相控制軟開關PWM DC/DC全橋變換器
7.1相位調制PWM拓撲技術
7.1.1工作原理
7.1.2控制電路
7.1.3柵極驅動信號延遲
7.2移相控制ZVS PWM DC/DC全橋變換器
7.2.1工作原理
7.2.2實現ZVS的條件
7.2.3次級側占空比丟失
7.3移相控制ZCS PWM DC/DC全橋變換器
7.3.1工作原理
7.3.2實現ZCS的條件及策略
7.3.3電流占空比丟失
7.4移相控制ZVS/ZCS PwM DC/DC全橋變換器
7.4.1工作原理
7.4.2參數設計
7.5實際應用
7.5.1 1.5 kW ZVT全橋變換器
7.5.2 2 kW ZVS全橋PWM變換器
第8章軟開關電源集成控制器
8.1 PFM諧振型集成控制器MC34066系列
8.1.1工作原理
8.1.2應用舉例
8.2 UC386X(61~68)准諧振軟開關控制器
8.2.1特點和引腳說明
8.2.2額定參數
8.2.3主要電氣參數
8.2.4工作原理
8.2.5典型應用
8.3移相諧振全橋軟開關控制器ucl875/U(2875/UC3875系列
8.3.1性能特點
8.3.2技術參數
8.3.3引出端功能介紹
8.3.4工作原理
8.3.5典型應用
8.4移相諧振全橋軟開關控制器UC1879UC2879/UC3879系列
8.4.1特點和引腳說明
8.4.2額定參數
8.4.3主要電氣參數
8.4.4工作原理
8.4.5 UC23879與UC33875的比較
8.5 UC3855A/UC3855B軟開關功率因數預調節器
8.5.1特點和引腳說明
8.5.2額定參數
8.5.3主要電氣參數
8.5.4工作原理
8.5.5典型應用
附錄A軟開關電源常用詞彙
參考文獻

Ⅵ 您好,我也在用DS18B20設計體溫採集電路,但不會編程,你能不能把你寫的給我發一下,謝謝

ds18b20.h

#ifndef _DS18B20_H_
#define _DS18B20_H_

#include <reg52.h>

sbit Ds18b20_DQ =P2^3;

void GetTemperature(unsigned char *pszTemperature, unsigned char SizeOfTemperature);

#endif

ds18b20.c

#include <reg52.h>
#include <intrins.h>
#include "ds18b20.h"
#include "../Delay Lib/Delay.h"
#include "../MyString Lib/mystring.h"

static bit Ds18b20_Reset()
{
bit bRet;

Ds18b20_DQ=0;
DelayXUs(218); //480us, pull down bus for reset
Ds18b20_DQ=1;

DelayXUs(25); //60us, wait for 15-60us for ds18b20 to pull down the bus
bRet=~Ds18b20_DQ;

if(bRet) //if there is a ds18b20 on the bus, wait extra 240us for ds18b20 release the bus. otherwise, just return false
{
DelayXUs(108); //240us, wait for ds18b20 release the bus
}

return bRet;
}

static void WriteByte(unsigned char ucByte)
{
unsigned char i=8;
bit bThis;

do
{
Ds18b20_DQ=1; //be sure the bus is high before sending
_nop_();
_nop_();

Ds18b20_DQ=0;
bThis = ucByte & 0x01;

if(bThis) //send 1
{
_nop_(); //within 15us to release the bus
Ds18b20_DQ=1;
DelayXUs(25); //minimum 60us for a write slot
}
else //send 0
{
DelayXUs(43); //100 us to release the bus (60-120us)
Ds18b20_DQ=1;
}

ucByte>>=1;
} while(--i);
}

static unsigned char ReadByte()
{
unsigned char ucTmp=0x00, i=8;

do
{
Ds18b20_DQ=1; //be sure the bus is high before reading
_nop_(); _nop_();

ucTmp>>=1;

Ds18b20_DQ=0;
_nop_(); _nop_(); //at least 1us to hold down the bus
Ds18b20_DQ=1;

_nop_(); _nop_(); //ds18b20 holds the state for 15us, we must read within 15us
if(Ds18b20_DQ)
ucTmp |= 0x80;

DelayXUs(25); //60us for a minimum read slot
} while(--i);

return ucTmp;
}

void GetTemperature(unsigned char *pszTemperature, unsigned char SizeOfTemperature)
{
unsigned char ucMsb, ucLsb, szTmp[4];
char cTemperature;
static bit bFirstValid=0;

if(SizeOfTemperature<4)
{
pszTemperature[0]=0;
return;
}

if(!Ds18b20_Reset())
{
StringCopy(pszTemperature, "E01");
return;
}
WriteByte(0xCC);
WriteByte(0x44);

if(!Ds18b20_Reset())
{
StringCopy(pszTemperature, "E02");
return;
}
WriteByte(0xCC);
WriteByte(0xBE);

ucLsb=ReadByte();
ucMsb=ReadByte();

ucLsb>>=4;
ucMsb<<=4;
cTemperature=ucMsb|ucLsb;

if(!bFirstValid)
{
if(85==cTemperature)
{
StringCopy(pszTemperature, "N/A");
return;
}
else
{
bFirstValid=1;
}
}

if(cTemperature>=100 || cTemperature<=-100)
{
StringCopy(pszTemperature, "E03");
return;
}

if(cTemperature & 0x80)
{
pszTemperature[0]='-';
cTemperature=~cTemperature;
}
else
{
pszTemperature[0]=' ';
}

UcToString(cTemperature, szTmp, sizeof(szTmp));

//pad string
if(!szTmp[1])
{
szTmp[1]=szTmp[0];
szTmp[0]='0';
szTmp[2]=0;
}

pszTemperature[1]=szTmp[0];
pszTemperature[2]=szTmp[1];
pszTemperature[3]=szTmp[2];
}

delay.h

#ifndef _DELAYMS_H_
#define _DELAYMS_H_

/*
Not very accurate, but 1 second ealier per minute
*/
void DelayMs(unsigned int ms);

/*

count: the count to be calculated
t: the delay period in us
6: includes MOV, LJMP(LCALL), RET comsumption, each instruction cost 2 machine cycles

base formula:
t
2count + 6 = --------------
12
-------
11.0592

so, final formula is:
count=11.0592t/24-3

And the maximum period is: 562us
*/
void DelayXUs(unsigned char count);

#endif

delay.c

#include "Delay.h"

void DelayMs(unsigned int ms)
{
unsigned int x,y;

for(x=ms; x>0; x--)
for(y=110; y>0; y--);
}

void DelayXUs(unsigned char count)
{
while(--count);
}

mystring.h

#ifndef _MYSTRING_H_
#define _MYSTRING_H_

void UcToString(unsigned char ucInput, unsigned char *pszTarget, unsigned char ucSizeOfTarget);
void StringCat(unsigned char *pszTarget, unsigned char ucSizeOfTarget, unsigned char *pszSource);
void StringCopy(unsigned char *pszTarget, unsigned char *pszSource);

#endif

mystring.c

#include "mystring.h"

void UcToString(unsigned char ucInput, unsigned char *pszTarget, unsigned char ucSizeOfTarget)
{
unsigned char ucIdx=0;
unsigned char ucTmp, ucInputSub;
bit bNoneZeroPrior=0;

if(ucSizeOfTarget<4)
{
pszTarget[0]=0;
return;
}

ucInputSub=ucInput;
ucTmp=ucInputSub/100;
if(!bNoneZeroPrior)
{
if(ucTmp)
{
pszTarget[ucIdx++]=ucTmp+0x30;
bNoneZeroPrior=1;
}
}
else
{
pszTarget[ucIdx++]=ucTmp+0x30;
}

ucInputSub%=100;
ucTmp=ucInputSub/10;
if(!bNoneZeroPrior)
{
if(ucTmp)
{
pszTarget[ucIdx++]=ucTmp+0x30;
bNoneZeroPrior=1;
}
}
else
{
pszTarget[ucIdx++]=ucTmp+0x30;
}

ucInputSub%=10;
pszTarget[ucIdx++]=ucInputSub+0x30;

pszTarget[ucIdx]=0;
}

void StringCat(unsigned char *pszTarget, unsigned char ucSizeOfTarget, unsigned char *pszSource)
{
unsigned char ucIdxSrc, ucIdxTgt;

for(ucIdxTgt=0; pszTarget[ucIdxTgt]; ucIdxTgt++);

for(ucIdxSrc=0; pszSource[ucIdxSrc]; ucIdxSrc++, ucIdxTgt++)
{
if(ucIdxTgt>=ucSizeOfTarget-1)
break;

pszTarget[ucIdxTgt]=pszSource[ucIdxSrc];
}
pszTarget[ucIdxTgt]=0;
}

void StringCopy(unsigned char *pszTarget, unsigned char *pszSource)
{
unsigned char ucIdx;

for(ucIdx=0; pszSource[ucIdx]; ucIdx++)
{
pszTarget[ucIdx]=pszSource[ucIdx];
}

pszTarget[ucIdx]=0;
}

Ⅶ 英國的電子工程專業或者電子電氣專業ee考試如何進行,考核內容是什麼`

你講的幾種考試形式都會涉及到,關鍵是看哪門課,以及該門課對學生的要求。
總體來講,在這里的考試在第二個學期後實驗課的比例越來越大,最後的考試形式可能是你或者你的小組一起做一個projekt.

這里有個大學的鏈接,你可以了解到更多。
http://www.ee.ucl.ac.uk/news/experienceit

閱讀全文

與ucl電路相關的資料

熱點內容
iso9001售後服務體系認證 瀏覽:308
木頭傢具品牌有哪些 瀏覽:164
小米6維修多久 瀏覽:87
法蘭尼售後電話 瀏覽:822
廣州神州熱水器維修電話 瀏覽:79
製冷五金電器維修部怎麼樣 瀏覽:732
三輪車電動機維修視頻教程 瀏覽:797
積家手錶維修點查詢 瀏覽:621
懷化手機維修點 瀏覽:871
美的空調售後維修台州臨海 瀏覽:824
手機售後問題怎麼給顧客說 瀏覽:590
冰櫃電路 瀏覽:236
家庭水管維修需要多久 瀏覽:326
充電手電筒鑽的維修視頻 瀏覽:316
裝修水管電路 瀏覽:376
特福電飯煲維修點 瀏覽:77
傢具隨手拼 瀏覽:684
海爾維修空調電話是多少 瀏覽:267
舊房牆面翻新如何拆除 瀏覽:134
巴倫電路 瀏覽:889