環(huán)境溫測試設(shè)計課程設(shè)計_第1頁
環(huán)境溫測試設(shè)計課程設(shè)計_第2頁
環(huán)境溫測試設(shè)計課程設(shè)計_第3頁
環(huán)境溫測試設(shè)計課程設(shè)計_第4頁
環(huán)境溫測試設(shè)計課程設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、學(xué) 號: 課 程 設(shè) 計題 目環(huán)境溫度測試設(shè)計學(xué) 院計算機(jī)科學(xué)與技術(shù)專 業(yè)計算機(jī)科學(xué)與技術(shù)班 級0907姓 名彭金玉指導(dǎo)教師周德仿2012年6月28日課程設(shè)計任務(wù)書學(xué)生姓名: 彭金玉 專業(yè)班級: 計算機(jī)0907班 指導(dǎo)教師: 周德仿 工作單位:計算機(jī)科學(xué)與技術(shù)學(xué)院題 目: 環(huán)境溫度測試設(shè)計初始條件:1. 課程設(shè)計使用ZG211硬件綜合實(shí)驗(yàn)平臺(8051單片機(jī)),配有課程設(shè)計接口芯片和輔助芯片以及器件;2. ZG211有程序設(shè)計集成開發(fā)環(huán)境,程序設(shè)計語言為C語言;3. ZG211硬件綜合實(shí)驗(yàn)平臺使用說明書;要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,撰寫說明書具體要求)1. 學(xué)習(xí)使用

2、ZG211硬件綜合實(shí)驗(yàn)平臺,程序設(shè)計集成開發(fā)環(huán)境;2. 根據(jù)課程設(shè)計題目,進(jìn)行需求分析,搞清楚課程設(shè)計需要設(shè)計需求和需要解決的設(shè)計內(nèi)容。3. 查閱和學(xué)習(xí)課程設(shè)計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程要領(lǐng)。查閱和學(xué)習(xí)課程設(shè)計題目需要的輔助芯片以及器件資料。4. 設(shè)計接口芯片和輔助芯片以及器件與8051單片機(jī)連接硬件電路原理圖。5. 設(shè)計與硬件電路原理圖對應(yīng)的C語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細(xì)注釋。能夠解釋使用程序模擬電路時序信號和數(shù)據(jù)。6. 撰寫課程設(shè)計報告,1)詳細(xì)陳述以上的設(shè)計過程;2)詳細(xì)陳述電路的調(diào)試過程。時間安排:第

3、18周:1. 熟悉ZG211硬件綜合實(shí)驗(yàn)平臺,KEILC UVISION2 集成開發(fā)環(huán)境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設(shè)計硬件電路原理圖,。第19周:1. 使用C語言或匯編語言設(shè)計和調(diào)試接口程序。2. 撰寫計算機(jī)硬件綜合設(shè)計報告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目錄一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)設(shè)備及輔助設(shè)備4三、實(shí)驗(yàn)意義10四、實(shí)驗(yàn)原理11五、實(shí)驗(yàn)步驟145.1 硬件連接145.2 軟件設(shè)計14六、實(shí)驗(yàn)調(diào)試及結(jié)果166.1調(diào)試166.1.1 硬件連接166.2.2 軟件設(shè)計176.2結(jié)果18接線及結(jié)果顯示18檢測硬件19打開.hex文件19擦除

4、ROM中原有內(nèi)容20寫入ROM20七、心得體會20部分源程序代碼:22計算機(jī)硬件綜合設(shè)計 環(huán)境溫度測試設(shè)計一、實(shí)驗(yàn)?zāi)康尿?yàn)中應(yīng)用計算機(jī)組成原理、數(shù)字邏輯、微機(jī)原理與接口技術(shù)、單片機(jī)原理、C語言程序設(shè)計等相關(guān)專業(yè)知識來學(xué)習(xí)掌握I/O接口操作,掌握顯示及鍵盤芯片的運(yùn)用,了解中斷的運(yùn)用和使用ZG211 實(shí)驗(yàn)板的使用方法、Keilc51在線編程軟件環(huán)境。使用CH451芯片來進(jìn)行數(shù)碼顯示和鍵盤掃描控制,設(shè)計實(shí)現(xiàn)溫度測試功能。掌握顯示接口芯片 CH451 的應(yīng)用;了解單總線操作方式,以提高實(shí)際動手能力。二、實(shí)驗(yàn)設(shè)備及輔助設(shè)備1.PC 機(jī)一臺2.ZG-211 單片機(jī)系統(tǒng)實(shí)驗(yàn)板一塊,實(shí)驗(yàn)連接線若干3.實(shí)驗(yàn)芯片3

5、.1芯片DS18B20DS18B20是新一代支持“一線總線”接口的溫度傳感器芯片,將電源和信號復(fù)合在一起;其測溫范圍為-55+125,允許分辨率可調(diào)912位,工作電壓為3v5v,在-10+85范圍內(nèi),精度為±0.5。該芯片將溫度探頭與A/D轉(zhuǎn)換模塊集成在一起,同時采用單總線與CPU通信,簡化了電路設(shè)計。借助Rational Rose繪制的芯片原理圖如下:由該原理圖不難發(fā)現(xiàn),DS18B20芯片包括3個引腳,引腳說明如下圖所示:引腳符號說明1VDD電源2DQ數(shù)據(jù)輸入/輸出腳3GND地DS18B20通過一種片上溫度測量技術(shù)來測量溫度的,借助visio繪制芯片測量溫度的方框圖,如下: DS1

6、8B20是這樣測量溫度的:利用一個高溫度系統(tǒng)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個門周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進(jìn)行技術(shù)來得到溫度值。計數(shù)器被預(yù)置到對應(yīng)于-55的一個值。如果計數(shù)器在門周期結(jié)束前到達(dá)0,則溫度寄存器(同樣被預(yù)置到-55)的值增加,表明溫度大于-55,同時計數(shù)器被復(fù)位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補(bǔ)償敢問振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以在測溫時獲得比較高的分辨力,這是通過改變計數(shù)器對溫度每增加一度所需要計數(shù)的值來實(shí)現(xiàn)的。3.2芯片CD4052由于8

7、9S52上的I/O口資源有限,DS18B20的I/O口通過4通道數(shù)字控制模擬開關(guān)CD4052接到單片機(jī)的I/O口上。該芯片是一個差分四通道數(shù)字控制模擬開關(guān),有A和B 兩個二進(jìn)制控制輸入端和一個INH 輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。以下是采用Rational Rose繪制的CD4052原理圖:CD4052功能說明如下表:AB選通狀態(tài)00X=X0;Y=Y010X=X1;Y=Y101X=X2;Y=Y211X=X3;Y=Y33.3 芯片CH451CH451 是一個整合了數(shù)碼管顯示驅(qū)動和鍵盤掃描控制以及P 監(jiān)控的多功能外圍芯片,該課題設(shè)計開發(fā)中我們僅需使用數(shù)碼管顯示驅(qū)動和鍵盤掃描控制功能。在顯

8、示驅(qū)動上,動態(tài)顯示掃描控制,可選數(shù)碼管的段與數(shù)據(jù)位相對應(yīng)的不譯碼方式或者BCD 譯碼方式;在鍵盤掃描控制上,低電平輸出產(chǎn)生鍵盤中斷,并且提供鍵盤按鍵釋放標(biāo)志位。借助Rational Rose繪制的串行接口原理圖如上所示。由以上原理圖可以看到左側(cè)有四個引腳,功能如下:LOAD用于串行接口的數(shù)據(jù)加載;DIN用于串行數(shù)據(jù)的輸入;DCLK是串行接口的數(shù)據(jù)時鐘;DOUT用于串行數(shù)據(jù)的數(shù)據(jù)輸出及鍵盤中斷。其中,DIN、DCLK、LOAD 是帶上拉的輸入信號線,默認(rèn)是高電平;DOUT 在未啟用鍵盤掃描功能時作為串行數(shù)據(jù)輸出線,在啟用鍵盤掃描功能后作為鍵盤中斷和數(shù)據(jù)輸出線,默認(rèn)是高電平。DIN按位從低至高輸入

9、每一個數(shù)據(jù)位,在CH451上電復(fù)位后必須給它一個負(fù)脈沖以使能4線串行接口。DCLK是DIN數(shù)據(jù)輸入的時鐘,在其下降沿將數(shù)據(jù)從寄存器打出,在其上升沿將數(shù)據(jù)打入寄存器,因而借助以上原理圖不難理解寄存器組移位的原理。在經(jīng)過DCLK的12個負(fù)脈沖后,D0D11則從低位至高位依次存放了我們從DIN打入的數(shù)據(jù)。LOAD是串行數(shù)據(jù)幀的完成標(biāo)志,在LOAD的上升沿,12位數(shù)據(jù)(不管是否有效)被打入命令寄存器。當(dāng)DOUT(默認(rèn)高電平)發(fā)出低電平進(jìn)行中斷請求后,我們可以向CH451發(fā)送讀鍵盤按鍵代碼命令,此時按鍵代碼(共7位)的最高位K6被發(fā)送至DOUT,之后向DCLK發(fā)送負(fù)脈沖。以相同方式將剩余的低6位按鍵代碼

10、讀出。在此次課題設(shè)計中將使用到的對CH451進(jìn)行操作的命令如下表所示:操作命令位11109876543210設(shè)置系統(tǒng)參數(shù)010000000WDOGKEYBDISP設(shè)置顯示參數(shù)0101MODELIMITINTENSITY加載字?jǐn)?shù)據(jù)01000DIG_DATA, DIG0 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)11001DIG_DATA, DIG1 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)21010DIG_DATA, DIG2 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)31011DIG_DATA, DIG3 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)41100DIG_DATA, DIG4 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)51101DIG_DATA, DIG5 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)

11、61110DIG_DATA, DIG6 對應(yīng)的字?jǐn)?shù)據(jù)加載字?jǐn)?shù)據(jù)71111DIG_DATA, DIG7 對應(yīng)的字?jǐn)?shù)據(jù)讀取按鍵代碼0111××××××××由上表可以看到讀取按鍵代碼的操作命令為12位,但是只有高四位是有效位,因而當(dāng)我們通過DIN向CH451輸入高四位后,便可以通過LOAD發(fā)出一個負(fù)脈沖將12位數(shù)據(jù)打入命令寄存器。設(shè)置系統(tǒng)參數(shù)命令用于設(shè)置CH451的系統(tǒng)級參數(shù):看門狗使能WDOG,鍵盤掃描使能KEYB,顯示驅(qū)動使能DISP;當(dāng)相應(yīng)位置為1時表示使能,否則表示禁用,我們在系統(tǒng)實(shí)現(xiàn)中使用了鍵盤掃描使能和顯示驅(qū)

12、動使能,即相應(yīng)命令為:0X403。設(shè)置顯示參數(shù)命令用于設(shè)置CH451的顯示參數(shù):譯碼方式MODE,掃描極限LIMIT,顯示亮度INTENSITY;同樣,當(dāng)相應(yīng)位置為1時表示使能,否則表示禁用。下表描述的則是在該課題設(shè)計實(shí)現(xiàn)中需要用到的命令位與相應(yīng)段及顯示字符的對應(yīng)顯示關(guān)系表: 位4位0段G段A顯示的字符00000B0111111B000001B0000110B100010B1011011B200011B1001111B300100B1100110B400101B1101101B500110B0000111B600111B1111111B701000B1101111B801001B1110111

13、B910000B0000000B空格10010B1000000B- 負(fù)號減號3.4芯片MCU 89S5289S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲器,在設(shè)計實(shí)現(xiàn)中我們使用到了P15、P32、P33和P34口,另外P10、P11、P12和P13已內(nèi)置鏈接到相對應(yīng)的口。寄存器中各個位的含義如下表:MSBLSBEAET2ESET1EX1ET0EX0寄存器中各個位的功能如下,課題設(shè)計中我們只使用到了EA和EX0,EX0控制的是鍵盤按鍵的外部中斷:符號位地址功能EAIE.7中斷總允許控制位。EA=0,中斷總禁止;EA=1,各中斷由各自的中斷控制位決定IE.6

14、預(yù)留ET2IE.5定時器2中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時器1中斷允許控制位EX1IE.2外部中斷1允許控制位ET0IE.1定時器0中斷允許控制位EX0IE.0外部中斷0允許控制位4.并口編程線一根5.配套電源 1 個實(shí)驗(yàn)板模塊示意圖如下:三、實(shí)驗(yàn)意義在應(yīng)用所學(xué)計算機(jī)硬件相關(guān)課程中的知識的基礎(chǔ)之上,使用C語音實(shí)現(xiàn)對接口的編程方法。熟悉51系列單片機(jī)原理,并口工作原理和編程方法。學(xué)習(xí)CH451和DS18B20芯片的引腳功能和編程方法。在PC機(jī)上安裝Keilc51在線編程軟件,編寫“溫度測試顯示”程序。使用并口線把ZG211實(shí)驗(yàn)板與PC 機(jī)連接起來,仔細(xì)檢查無誤后接

15、通電源。PC機(jī)上C程序編譯成功后,打開聯(lián)機(jī)下載軟件,將HEX 文件下載到89S52 單片機(jī)中去。觀看下載程序在89S52 單片機(jī)中運(yùn)行情況。如有問題,則在PC機(jī)上修改程序,然后再次下載運(yùn)行。能正常操作LED 數(shù)碼顯示,通過中斷方式接收按鍵信息,通過單總線方式與DS18B20芯片交換數(shù)據(jù),能正確解釋從DS18B20芯片取出的溫度數(shù)據(jù)。設(shè)計階段,能夠正確進(jìn)行程序設(shè)計電路設(shè)計。課程設(shè)計實(shí)驗(yàn)階段,能夠正確連接電路;能夠分析和解決在實(shí)驗(yàn)中碰見的問題;解決問題的思路和方法正確;實(shí)驗(yàn)結(jié)果滿足課程設(shè)計要求。主要任務(wù):1) 應(yīng)用所學(xué)計算機(jī)硬件相關(guān)知識,使用C語言實(shí)現(xiàn)對接口的編程。2) 熟悉掌握單片機(jī)溫度測試工作

16、原理,并口工作原理和編程方法。3) 學(xué)習(xí)CH451芯片數(shù)碼顯示和鍵盤掃描功能和編程方法。4) 在PC機(jī)上安裝Keilc51在線編程軟件,編寫溫度測試程序。5) 使用并口線把ZG211實(shí)驗(yàn)板與PC 機(jī)連接起來,檢查無誤后接通電源。PC機(jī)上C程序編譯成功后,使用聯(lián)機(jī)下載軟件,將HEX 文件下載到實(shí)驗(yàn)板中。然后觀察實(shí)驗(yàn)板的運(yùn)行情況。四、實(shí)驗(yàn)原理傳統(tǒng)的溫度測試,需要溫度探頭和A/D傳換模塊,電路復(fù)雜,不易控制。本實(shí)驗(yàn)板采用高精度溫度傳感器DS18B20芯片。該芯片將溫度探頭與A/D轉(zhuǎn)換模塊集成一起,同時采用單總線與CPU通信,簡化了電路,使大數(shù)量多點(diǎn)溫度檢測成為可能。單總線協(xié)議是指通過總線上的不同高低

17、電平的時間控制來代表數(shù)字0或者1。由于單片機(jī)的IO口資源有限,DS18B20的IO口通過4通道數(shù)字控制模擬開關(guān)CD4052接到單片機(jī)的IO口上。溫度測試要用到的CH451操作命令如下:1. 芯片內(nèi)部復(fù)位:001000000001B內(nèi)部復(fù)位命令將 CH451 的各個寄存器和各種參數(shù)復(fù)位到默認(rèn)的狀態(tài)。芯片上電時,CH451總是被復(fù)位,此時各個寄存器均復(fù)位為 0,各種參數(shù)均恢復(fù)為默認(rèn)值。2. 設(shè)定系統(tǒng)參數(shù):010000000WDOGKEYBDISPB3. 設(shè)定顯示參數(shù):0101MODELIMITINTENSITYB4. 加載字?jǐn)?shù)據(jù):1DIG_ADDRDIG_DATAB5. 讀取按鍵代碼:0111XX

18、XXXXXXB讀取按鍵代碼命令用于獲得 CH451 最近檢測到的有效按鍵的按鍵代碼。該命令是唯一的具有數(shù)據(jù)返回的命令,CH451 從 DOUT 引腳輸出按鍵代碼,按鍵代碼總是 7 位數(shù)據(jù),最高位是狀態(tài)碼,位 5位 0 是掃描碼。讀取按鍵代碼命令的位數(shù)據(jù) B0B7 可以是任意值,所以控制器可以將該操作命令縮短為 4 位數(shù)據(jù) B8B11。例如,CH451 檢測到有效按鍵并中斷,鍵代碼是 5EH,簡化描述 1110HLHHHHL表示先向 CH451 發(fā)出讀取按鍵代碼命令 0111XXXXXXXXB,然后從 DOUT 獲得按鍵代碼 5EH。單總線協(xié)議是指通過總線上的不同高低電平的時間控制來代表數(shù)字0或

19、者1。由于單片機(jī)的IO 口資源有限, DS18B20 的IO 口通過4 通道數(shù)字控制模擬開關(guān)CD4052 接到單片機(jī)的IO 口上。五、實(shí)驗(yàn)步驟5.1 硬件連接首先用并口線連接實(shí)驗(yàn)板與PC 機(jī);然后按照圖2-5 連接實(shí)驗(yàn)線路(CH451 與CPU 連接實(shí)驗(yàn)線路見圖2-2);連接完成并仔細(xì)檢查無誤后,接通電源。(圖中箭頭表示需要接線的地方)5.2 軟件設(shè)計18B20 芯片的控制非常簡單,主要有3 個操作,分別是:復(fù)位操作,讀操作,寫操作。18B20 所有的命令和數(shù)據(jù)均通過這三個操作來完成和傳遞。18B20 的訪問通過命令來實(shí)現(xiàn),命令即為通過寫操作向芯片發(fā)送的數(shù)據(jù)。與溫度檢測相關(guān)的命令有4 個,分別

20、為:初始化 (復(fù)位)忽略ROM 匹配 (命令 CC)溫度轉(zhuǎn)換 (命令 44)讀溫度 (命令 BE)(1)初始化單線總線上的所有處理均從初始化序列開始。初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件(即18B20)送出存在脈沖。(2)忽略ROM 匹配一旦總線主機(jī)檢測到從屬器件的存在,它便可以向器件發(fā)出命令。所有命令均為8 位(BIT)長。在單點(diǎn)總線系統(tǒng)中,可以使用忽略ROM 匹配命令允許總線主機(jī)不提供64 位從屬器件的ROM 編碼而訪問從屬器件。(注意:若總線上有多個從屬器件,則會發(fā)生數(shù)據(jù)沖突。)該命令的編碼為 CC(十六進(jìn)制)(3)溫度轉(zhuǎn)換啟動18B20,進(jìn)行溫度測量,并將測量結(jié)果保存在

21、18B20 的RAM 中該命令的編碼為 44(十六進(jìn)制)(4)讀溫度向18B20 發(fā)送命令,要求18B20 將最近存放在RAM 中的溫度發(fā)送到總線上。該命令的編碼為 BE(十六進(jìn)制)軟件中就是利用上面介紹的命令對18B20 芯片進(jìn)行操作以得到環(huán)境溫度。六、實(shí)驗(yàn)調(diào)試及結(jié)果6.1調(diào)試6.1.1 硬件連接首先將ZG-211實(shí)驗(yàn)板的總開關(guān)(位于左下角)關(guān)閉,將實(shí)驗(yàn)板的六個支架固定好以保護(hù)反面的焊點(diǎn);然后參照以上給出的原理圖進(jìn)行連線;然后將并行編程線一端連接至PC機(jī)主板上的并口,另一端連接至ZG-211實(shí)驗(yàn)板左側(cè)的并口;最后檢查無誤后,將電源適配器的輸出端連接至ZG-211左下角的電源輸入插座。6.2.

22、2 軟件設(shè)計軟件設(shè)計包括4個部分:常量定義部分、數(shù)碼管操作部分、溫度獲取部分、主函數(shù),分別介紹如下:(1) 常量定義常量定義主要是考慮到程序的易讀性和可維護(hù)性,其中包括軟件設(shè)計中需要用到的一些引腳地址、特殊寄存器地址、特殊寄存器位地址、初始化命令以及操作命令等。(2)數(shù)碼管操作該部分操作函數(shù)包括:延時、向CH451發(fā)送數(shù)據(jù)、鍵盤按鍵中斷響應(yīng)例程、數(shù)碼管顯示測試、數(shù)碼管溫度顯示。由于中斷響應(yīng)例程在該部分中,所以按鍵代碼key_data必須聲明為extern,表明該變量在其它模塊中,相當(dāng)于一個全局變量。(3)溫度獲取該部分操作包括:DS18B20復(fù)位、從DS18B20讀取一位及一個字節(jié)、向DS18

23、B20寫入一位及一個字節(jié)、從DS18B20獲取溫度并計算為十進(jìn)制形式。為了方便實(shí)現(xiàn)溫度轉(zhuǎn)換,我們將各個位對應(yīng)的權(quán)值按高低字節(jié)定義在了兩個數(shù)組中??紤]到節(jié)省空間,我們將其定義為code,放在ROM區(qū)。由于很多函數(shù)中使用了空指令_nop_();因而需要包含頭文件intrins.h。(4)主函數(shù)首先定義一個存放按鍵代碼的char型變量key_data,初始化為0。主函數(shù)的主要工作流程是:MCU開中斷、數(shù)碼管顯示測試、進(jìn)入無限循環(huán)、如果key_data等于0X64,即最左邊的一個鍵盤按鍵,則將key_data清零,并獲取溫度并顯示至數(shù)碼管。程序的幾個主要文件如下:main.c 主函數(shù),是程序的接入口。

24、調(diào)用各個子功能函數(shù)。sub.c 子程序,用于實(shí)現(xiàn)MCU初始化和4052的通道選擇功能。Temperat.c 溫度轉(zhuǎn)換,用于從18B20讀溫度數(shù)據(jù)并進(jìn)行轉(zhuǎn)換等操作。Display.c 實(shí)現(xiàn)CH451芯片的操作和LED顯示工作。Beep.c 蜂鳴器提示開始和結(jié)束功能6.2結(jié)果啟動實(shí)驗(yàn)板,按下1 號按鍵,顯示測量溫度;將手指按住18B20 芯片10 秒鐘,按下1 號按鍵,顯示測量溫度,此時的溫度應(yīng)該明顯上升;松開手指,每間隔3 秒鐘按1 號按鍵一次,測量的溫度應(yīng)呈逐漸下降的趨勢。6.2.1接線及結(jié)果顯示6.2.2檢測硬件6.2.3打開.hex文件6.2.4擦除ROM中原有內(nèi)容6.2.5寫入ROM七、

25、心得體會這次課程設(shè)計的體會可以歸納為以下幾點(diǎn):1、 鞏固和加深了對計算機(jī)硬件設(shè)計的理解,提高綜合運(yùn)用本課程所學(xué)知識的能力。2、培養(yǎng)了我選用參考書,查閱手冊及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。3、通過實(shí)際編譯系統(tǒng)的分析設(shè)計、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計方法。4、通過課程設(shè)計,培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。 根據(jù)我在實(shí)習(xí)中遇到得問題,我將在以后的學(xué)習(xí)過程中注意以下幾點(diǎn): 1、認(rèn)真上好專業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。2、寫程序的過程中要考慮周到,嚴(yán)密。3、在做設(shè)計的時候要有信心,有耐心,切勿浮躁。4、認(rèn)真的學(xué)習(xí)課

26、本知識,掌握課本中的知識點(diǎn),并在此基礎(chǔ)上學(xué)會靈活運(yùn)用。5、在課余時間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯誤,以便能節(jié)省調(diào)試程序的時間。 此次課程設(shè)計,我受益匪淺,鞏固舊知識的同時,學(xué)習(xí)了新的知識。更重要的是,它使我對計算機(jī)硬件產(chǎn)生了興趣,對編寫程序更有信心。最后,感謝學(xué)校為我們安排了這次實(shí)習(xí)。給了我們一次鍛煉自己,超越自我的機(jī)會!同時這次由于我們的學(xué)業(yè)不精和時間等客觀問題,未能使設(shè)計達(dá)到完善,還有很多缺點(diǎn)和錯誤,希望老師能提出改進(jìn)意見,謝謝老師的辛勤栽培,我以后會更加努力。部分源程序代碼:#include "reg52.h"#include "de

27、f.h"#include "display.h"#include "sub.h"#include "func.h"extern unsigned char key_print;extern unsigned char key_data;/*|函數(shù)名send_disp_data|函數(shù)功能向CH451芯片發(fā)送命令|參數(shù)comm:命令體|_data:命令參數(shù)|返回值無|*/void send_disp_data(unsigned char comm, unsigned char _data)unsigned char i; /送8

28、BIT數(shù)據(jù)for(i=0;i<8;i+)DIN = (_data>>i)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;/送4BIT命令for(i=0;i<4;i+)DIN = (comm>>i)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函數(shù)名send_comm|函數(shù)功能向CH451芯片發(fā)送命令|參數(shù)comm:命令體|返回值無|*/void send_comm(unsigned char comm)unsigned char i;/送4BIT命令for(

29、i=0;i<4;i+)DIN = (comm>>i)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函數(shù)名disp_initialize|函數(shù)功能向CH451芯片發(fā)送初始化命令|參數(shù)無|返回值無|*/void disp_initialize() DIN=0;DIN=1;DCLK=1;LOAD=1;DOUT=1;send_disp_data( CH451_SETSYS, 0x03);/設(shè)定系統(tǒng)參數(shù)send_disp_data( CH451_SETDIS, 0x80);/設(shè)定顯示參數(shù)/*|函數(shù)名key|函數(shù)

30、功能中斷函數(shù),獲取當(dāng)前按鍵狀態(tài)|參數(shù)無|返回值無|*/void key() interrupt 0 unsigned char i,temp;EX0 = 0;/關(guān)中斷key_data = 0;temp = 0;send_comm(CH451_KEY);for(i=0; i<7; i+) temp = DOUT;key_data = key_data|(temp<<(6-i);DCLK=1;DCLK=0;DCLK=1;EX0 = 1;/中斷/*|函數(shù)名Display_TEST|函數(shù)功能測試顯示LED數(shù)碼管|參數(shù)無|返回值無|*/void Display_TEST()/初始化顯示

31、芯片disp_initialize();/延時delay_1ms(100);/送顯“12345678”send_disp_data( CH451_LOAD0, 0x01);send_disp_data( CH451_LOAD1, 0x02);send_disp_data( CH451_LOAD2, 0x03);send_disp_data( CH451_LOAD3, 0x04);send_disp_data( CH451_LOAD4, 0x05);send_disp_data( CH451_LOAD5, 0x06);send_disp_data( CH451_LOAD6, 0x07);send

32、_disp_data( CH451_LOAD7, 0x08);delay_1ms(200);/延時delay_1ms(200);/開中斷,接受按鍵信息EX0=1;/"-"send_disp_data( CH451_LOAD0, 0x12);send_disp_data( CH451_LOAD1, 0x12);send_disp_data( CH451_LOAD2, 0x12);send_disp_data( CH451_LOAD3, 0x12);send_disp_data( CH451_LOAD4, 0x12);send_disp_data( CH451_LOAD5, 0

33、x12);send_disp_data( CH451_LOAD6, 0x12);send_disp_data( CH451_LOAD7, 0x12);/*|函數(shù)名display_int|函數(shù)功能顯示一個整數(shù)|參數(shù)無|返回值無|*/void display_int(unsigned int m)send_disp_data( CH451_LOAD0, 0x10);send_disp_data( CH451_LOAD1, 0x10);send_disp_data( CH451_LOAD2, 0x10);if (m/10000)send_disp_data( CH451_LOAD3, m/10000

34、);elsesend_disp_data( CH451_LOAD3, 0x10);if (!(m/1000)%10)&&(!(m/10000)send_disp_data( CH451_LOAD4, 0x10);elsesend_disp_data( CH451_LOAD4, (m/1000)%10);send_disp_data( CH451_LOAD5, (m/100)%10);send_disp_data( CH451_LOAD6, (m/10)%10);send_disp_data( CH451_LOAD7, m%10);/*|函數(shù)名Reset_18B20|函數(shù)功能復(fù)位18B20芯片|參數(shù)無|返回值無|*/bit Reset_18B20()bit temp;unsigned char i;chang_4052(1);/置總線為低電平并保持至少480us DS18B20 = 0;for(i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論