微機(jī)原理課程設(shè)計(jì)--熱電偶溫度檢測(cè)器_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《微機(jī)原理》課程設(shè)計(jì)報(bào)告</p><p>  時(shí) 間   2013.12 _</p><p>  學(xué) 院 自動(dòng)化 _</p><p>  專業(yè)班級(jí)      _</p><p>  姓 

2、0;名      ___</p><p>  學(xué)  號(hào)       </p><p>  合 作 者    _</p><p>  指導(dǎo)教師       ___<

3、;/p><p>  成 績(jī)       _______</p><p><b>  摘  要</b></p><p>  8086是Intel公司設(shè)計(jì)生產(chǎn)的CPU,是計(jì)算機(jī)發(fā)展史上的里程碑。通過學(xué)習(xí)8086CPU的工作原理,可以幫助我們理解計(jì)算機(jī)的工作原理。實(shí)踐動(dòng)手能力是電子信息類應(yīng)用型人

4、才必須具備的基本素質(zhì)。本次微機(jī)原理課程設(shè)計(jì),通過設(shè)計(jì)一個(gè)熱電偶溫度檢測(cè)器,并將測(cè)量得到的數(shù)據(jù)顯示到LCD屏幕上。其中使用到8086,ADC0809,8255,8279,經(jīng)過一周的練習(xí),鍛煉了我們的編寫程序能力,邏輯分析能力,解決問題的能力,查找文獻(xiàn)的能力。</p><p>  關(guān)鍵詞:8086 熱電偶 ADC0809</p><p><b>  Abstract</b&g

5、t;</p><p>  8086 is A CPU designed by Intel and a milestone in the history of the development of the computer. Studying the working principle of 8086 CPU can help us understand the working principle of the c

6、omputer. Practice ability is basic qualities of students who majored in electronic and information. The microcomputer principle course ,we designed a thermocouple temperature detector and displayed the measured data on t

7、he LCD screen. It used 8086, ADC0809, 8255827.After a week of practice, we promote ou</p><p>  Key Words:8086 thermocouple ADC0809</p><p><b>  目  錄</b></p><p><b&g

8、t;  摘  要1</b></p><p>  Abstract1</p><p><b>  引  言1</b></p><p>  K型熱電偶傳感器實(shí)驗(yàn)2</p><p><b>  1 實(shí)驗(yàn)內(nèi)容2</b></p><p><b>  2

9、實(shí)驗(yàn)設(shè)備2</b></p><p>  3 實(shí)驗(yàn)設(shè)計(jì)原理2</p><p>  3.1 熱電偶原理2</p><p>  3.2 AD轉(zhuǎn)換電路3</p><p><b>  4 設(shè)計(jì)思路4</b></p><p>  4.1 AD轉(zhuǎn)換采集數(shù)據(jù)4</p><

10、;p>  4.2 數(shù)據(jù)顯示到數(shù)碼管上4</p><p>  4.3 數(shù)據(jù)顯示到LCD上5</p><p><b>  4.4 報(bào)警5</b></p><p>  4.5 顯示柱形圖5</p><p><b>  5 程序流程6</b></p><p>  5.

11、1 主程序流程圖6</p><p>  5.2 LCD顯示程序流程圖7</p><p>  5.3 數(shù)碼管顯示子程序流程圖8</p><p>  5.4 報(bào)警子程序流程圖8</p><p>  5.5 柱形圖顯示程序流程圖9</p><p>  7 實(shí)驗(yàn)現(xiàn)象及說明9</p><p>

12、  7.1 實(shí)驗(yàn)結(jié)果9</p><p>  7.2 結(jié)果說明10</p><p>  8 在小組中的任務(wù)11</p><p><b>  9 實(shí)驗(yàn)心得11</b></p><p><b>  結(jié)  論12</b></p><p>  參 考 文 獻(xiàn)13</p

13、><p><b>  附 錄14</b></p><p><b>  1 程序清單14</b></p><p><b>  引  言</b></p><p>  《微機(jī)原理》課程設(shè)計(jì)需綜合運(yùn)用所學(xué)知識(shí)針對(duì)一個(gè)較為具體的控制對(duì)象或過程進(jìn)行系統(tǒng)設(shè)計(jì)、硬件選型及軟件設(shè)計(jì)。通過課程設(shè)計(jì)

14、,可以對(duì)理論知識(shí)融會(huì)貫通,培養(yǎng)同學(xué)們的系統(tǒng)設(shè)計(jì)能力,使同學(xué)們達(dá)到以下能力訓(xùn)練:</p><p>  (1)調(diào)查研究、分析問題的能力;</p><p> ?。?)使用設(shè)計(jì)手冊(cè)、技術(shù)規(guī)范的能力;</p><p> ?。?)查閱文獻(xiàn)的能力;</p><p>  (4)制定設(shè)計(jì)方案的能力;</p><p> ?。?)計(jì)算機(jī)應(yīng)用

15、的能力;</p><p> ?。?)設(shè)計(jì)計(jì)算和繪圖的能力;</p><p> ?。?)語言文字表達(dá)的能力。</p><p>  本組微機(jī)原理設(shè)計(jì)的內(nèi)容是通過熱電偶檢測(cè)熱端溫度,并利用模擬電路將信號(hào)放大,使用ADC0809將得到的模擬信號(hào)轉(zhuǎn)換成數(shù)字量,最終顯示到相應(yīng)的設(shè)備上。通過仔細(xì)的調(diào)試,最終完成了整體電路的調(diào)試。</p><p>  K型熱

16、電偶傳感器實(shí)驗(yàn)</p><p><b>  1 實(shí)驗(yàn)內(nèi)容</b></p><p>  連接好電路,編寫調(diào)試程序。用打火機(jī)加熱熱電偶的測(cè)量端,讀出冷端和熱端的溫度差,并顯示到液晶屏上。</p><p><b>  2 實(shí)驗(yàn)設(shè)備</b></p><p>  1、EL-MUT-III 實(shí)驗(yàn)箱</p&

17、gt;<p>  2、8086CPU 板</p><p><b>  3、溫度傳感器模塊</b></p><p><b>  3 實(shí)驗(yàn)設(shè)計(jì)原理</b></p><p><b>  3.1 熱電偶原理</b></p><p>  熱電偶是將兩種不同性質(zhì)的金屬導(dǎo)線連接

18、在一起所形成的溫度測(cè)量裝置。其測(cè)量原理是利用席貝克效</p><p>  應(yīng)(Seed back Effect),即兩種不同性質(zhì)的金屬導(dǎo)線連接在一起形成封閉回路時(shí),若使其中一接點(diǎn)的溫度高于另一接點(diǎn)的溫度,則在此閉合回路中,即有電流流過。如下圖所示:</p><p><b>  圖1 熱電偶原理</b></p><p>  在熱電偶上,兩根導(dǎo)線連

19、接在一起的點(diǎn)稱為熱接點(diǎn),也稱測(cè)量點(diǎn),通常置于待測(cè)溫度區(qū);而兩導(dǎo)線不連接的地方稱為冷接點(diǎn),接測(cè)量電路。根據(jù)正、負(fù)極用材料的不同,熱電偶分為B、E、J、K、R、S、T、Y 型。本模塊中采用的是K 型熱電偶,其正極為鎳鉻合金,負(fù)極為鎳硅合金。與其它類型的熱電偶相比,K 型熱電偶的線性較好,使用方便,因而在工業(yè)測(cè)量中被廣泛使用。K 型熱電偶的基本測(cè)量電路如下圖所示。K 型熱電偶的工作原理見模塊說明,其測(cè)量電路如下圖所示。COUPLER1、COU

20、PLER2 為熱電偶冷接點(diǎn)的兩接線端,COUPLER1 為正端。OP07 為高阻運(yùn)算放大器,用于高精度的電壓放大。如上圖所示,電壓增益為500 倍。模塊上BALANCE 電位器對(duì)應(yīng)于圖中R6,用于零位調(diào)節(jié)。J1 對(duì)應(yīng)于VOUT1 插孔,輸出模擬電壓。R9 電位器用于設(shè)置報(bào)警電壓,當(dāng)模擬輸出大于報(bào)警電壓時(shí),ALARM 燈亮,ALARM OUT 輸出高電平;否則ALARM 燈不亮,ALARM OUT 輸出低電平。使用時(shí),應(yīng)先對(duì)OP07 調(diào)零

21、,具體方法如下:將熱電偶的兩接線端接在模塊的兩接線端子上,紅端接正,藍(lán)端接負(fù)。用萬用表測(cè)VOUT1</p><p>  圖2 K型熱電偶電路圖</p><p>  3.2 AD轉(zhuǎn)換電路</p><p>  八路八位A/D 實(shí)驗(yàn)電路由一片ADC0809,一片74LS04,一片74LS32 組成,該電路中,ADIN0—ADIN7是ADC0809 的模擬量輸入插孔,CS0

22、809 是0809 的AD 啟動(dòng)和片選的輸入插孔,EOC 是0809 轉(zhuǎn)換結(jié)束標(biāo)志,高電平表示轉(zhuǎn)換結(jié)束。齊納二極管LM336-5 提供5V 的參考電源,ADC0809 的參考電壓,數(shù)據(jù)總線輸出,通道控制線均已接好,八位雙緩沖D/A 實(shí)驗(yàn)電路由一片DAC0832。一片74LS00,一片74LS04,一片LM324 組成,該電路中除DAC0832 的片選未接好外,其它信號(hào)均已接好,片選插孔標(biāo)號(hào)CS0832。輸出插孔標(biāo)號(hào)DAOUT。該電路為非

23、偏移二進(jìn)制D/A 轉(zhuǎn)換電路,通過調(diào)節(jié)POT3,可調(diào)節(jié)D/A 轉(zhuǎn)換器的滿偏值,調(diào)節(jié)POT2,可調(diào)節(jié)D/A 轉(zhuǎn)換器的零偏值。</p><p>  圖3 AD轉(zhuǎn)換電路的原理圖</p><p><b>  4 設(shè)計(jì)思路</b></p><p>  4.1 AD轉(zhuǎn)換采集數(shù)據(jù)</p><p>  ADC0809是逐位逼近型8通道A/

24、D轉(zhuǎn)換芯片,CMOS工藝制造,雙列直插式28引腳封裝。由于本次實(shí)驗(yàn)時(shí)硬件電路使用的是實(shí)驗(yàn)箱,所以硬件電路無需設(shè)計(jì)。ADC0809有8個(gè)通道,本次使用的是0通道,片選信號(hào)選用CS3,所以地址定義為“CON0809 EQU 04D0H”。在START端產(chǎn)生一個(gè)正脈沖,啟動(dòng)AD轉(zhuǎn)換,并鎖存模擬通道地址。由于AD轉(zhuǎn)換需要一定的時(shí)間,所以接下來等待一段時(shí)間,讀取AD轉(zhuǎn)換值。</p><p>  4.2 數(shù)據(jù)顯

25、示到數(shù)碼管上</p><p>  數(shù)碼管電路使用的是8279驅(qū)動(dòng)電路。由于電路已經(jīng)設(shè)計(jì)完畢,所以程序開始定義其控制和數(shù)字地址:</p><p>  CON8279 EQU 0492H</p><p>  DAT8279 EQU 0490H</p><p>  由于數(shù)碼管顯示需要顯示的編碼,所以先定義編碼表。<

26、/p><p>  SEGCOD DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H </p><p>  當(dāng)獲取ADC后的信息后,分別提取高四位和低四位的數(shù)據(jù),然后到數(shù)碼管顯示表中查找相應(yīng)的編碼,發(fā)送到8279,8279驅(qū)動(dòng)數(shù)碼管便能顯示出當(dāng)前的數(shù)據(jù)。</p><p>  4

27、.3 數(shù)據(jù)顯示到LCD上</p><p>  為了減輕總線的負(fù)擔(dān),驅(qū)動(dòng)LCD的任務(wù)給了8255,CPU通過控制8255的輸出來控制LCD的顯示內(nèi)容。將PA0~PA7連接到LCD的數(shù)據(jù)端口上,將PC7連接到BUSY端口上,將PC0連接到LCD的REQ上,將CS8255連接到CS0。首先初始化8255,將A端口設(shè)置為輸出模式,PC7~PC4設(shè)置為輸入模式,PC3~PC0設(shè)置為輸出并復(fù)位PC0端口,B端口設(shè)置為輸出模式

28、。LCD的驅(qū)動(dòng)芯片接收命令來顯示字符,有很多種方式,里面包括漢字庫等。獲取顯示位置等數(shù)據(jù)后,判斷是否忙,然后發(fā)送數(shù)據(jù),等待接收,發(fā)送完畢,將相應(yīng)的數(shù)據(jù)發(fā)送完畢后即可顯示相應(yīng)的字符。</p><p><b>  4.4 報(bào)警</b></p><p>  由于在實(shí)際應(yīng)用中往往會(huì)加入報(bào)警等異常處理環(huán)節(jié),本組添加設(shè)計(jì)了報(bào)警功能,當(dāng)溫度超過設(shè)定溫度時(shí),LED燈開始閃爍。設(shè)計(jì)原理

29、比較簡(jiǎn)單,獲取數(shù)據(jù)后與設(shè)定數(shù)據(jù)進(jìn)行比較,當(dāng)溫度超過設(shè)定溫度值時(shí),CPU發(fā)送命令給8255,讓8255B端口輸出相應(yīng)的電平讓LED閃爍,達(dá)到報(bào)警的效果。</p><p><b>  4.5 顯示柱形圖</b></p><p>  為了直觀的顯示溫度的變化,本組加入了柱形圖顯示。首先定義了不同溫度下的顯示字節(jié)編碼。</p><p>  GRAF:

30、 DB 0F3H,01D,17D,80H</p><p>  DB 0F3H,01D,17D,40H</p><p>  DB 0F3H,01D,17D,20H</p><p>  DB 0F3H,01D,17D,10H</p><p>  DB 0F3H,01D,17D

31、,08H</p><p>  DB 0F3H,01D,17D,04H</p><p>  DB 0F3H,01D,17D,02H</p><p>  DB 0F3H,01D,17D,01H</p><p>  當(dāng)獲取AD值后判斷當(dāng)前的溫度等級(jí)并獲取顯示編碼,然后顯示到液晶屏上即可。</p>

32、<p><b>  5 程序流程</b></p><p>  5.1 主程序流程圖</p><p>  圖 4 主程序流程圖</p><p>  5.2 LCD顯示程序流程圖</p><p>  圖5 液晶屏顯示流程圖</p><p>  5.3 數(shù)碼管顯示子程序流程圖</p&

33、gt;<p><b>  NN</b></p><p><b>  Y</b></p><p>  圖6 數(shù)碼管顯示流程圖</p><p>  5.4 報(bào)警子程序流程圖</p><p>  圖7 報(bào)警子程序流程圖</p><p>  5.5 柱形圖顯示程序流程

34、圖</p><p>  圖8 柱形圖顯示子程序</p><p><b>  7 實(shí)驗(yàn)現(xiàn)象及說明</b></p><p><b>  7.1 實(shí)驗(yàn)結(jié)果</b></p><p>  經(jīng)過調(diào)試,完成基本的功能,并添加了附加的功能。數(shù)碼管能與LCD同步顯示采集的AD值。當(dāng)溫度超過一定值時(shí),系統(tǒng)通過閃爍LED

35、報(bào)警。同時(shí)為了方便地查看當(dāng)前的溫度狀況,在LCD上顯示了柱形圖。實(shí)際工作狀況如下圖所示:</p><p>  圖9 實(shí)物演示效果圖</p><p><b>  7.2 結(jié)果說明</b></p><p>  由于本次實(shí)驗(yàn)采集的是ADC轉(zhuǎn)換后的值,并沒有進(jìn)行AD值和實(shí)際溫度差值之間的轉(zhuǎn)換,所以圖中顯示的數(shù)據(jù)并不是真實(shí)的溫度值。另一方面,熱電偶檢測(cè)的

36、是熱鍛和冷端的溫度差,所以實(shí)際的AD值不光跟熱端溫度有關(guān),而且跟冷端溫度有關(guān)。由于熱電偶的線性度比較高,所以加熱另一端能清楚地看到采集的AD值升高。</p><p><b>  8 在小組中的任務(wù)</b></p><p>  本人在本次實(shí)驗(yàn)中主要負(fù)責(zé)程序的編寫,注釋的添加。另外,在完成基本功能后,我添加了報(bào)警功能和柱形圖顯示功能,并撰寫了個(gè)人的設(shè)計(jì)報(bào)告。</p&

37、gt;<p><b>  9 實(shí)驗(yàn)心得</b></p><p>  通過本次實(shí)驗(yàn)設(shè)計(jì),了解了計(jì)算機(jī)的基本工作原理,AD轉(zhuǎn)換的基本方式。另外,本次實(shí)驗(yàn)是一次綜合性的課程設(shè)計(jì),熟悉了幾種顯示設(shè)備的使用方法,初步掌握了匯編語言程序設(shè)計(jì)的方法。在整個(gè)設(shè)計(jì)過程中,我們也遇到了一些問題,比如液晶屏不能正常顯示,經(jīng)過檢查是因?yàn)檫B線上了一根。程序中也遇到一些問題,數(shù)碼管不能和液晶屏同步顯示,經(jīng)

38、過檢查,結(jié)果是一句程序跳轉(zhuǎn)指令出錯(cuò)了。總之,本次課程設(shè)計(jì)收獲頗多,收獲了一些課堂上不能得到的能力和鍛煉。</p><p><b>  結(jié)  論</b></p><p>  熱電偶的熱端在溫度發(fā)生變化以后,由于席貝克響應(yīng),熱電偶回路中會(huì)有電流流過,因此通過模擬電路采集電壓信號(hào)并進(jìn)行放大等處理后進(jìn)行AD轉(zhuǎn)換可以得到數(shù)字量,此數(shù)字信號(hào)跟熱電偶兩端的溫度差有關(guān)。通過查表或者擬

39、合公式可以得到實(shí)際的溫度差值。由于本次使用匯編語言書寫程序,所以對(duì)浮點(diǎn)數(shù)的處理比較復(fù)雜,所以只顯示了采集的AD值,但是能形象的描述出溫度的變化。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  王忠民著. 微型計(jì)算機(jī)原理. 西安:西安電子科技大學(xué)出版社,2007.</p><p>  董潔著. stu_8086課程設(shè)計(jì)說

40、明 .北京.北京科技大學(xué),2013</p><p><b>  附 錄</b></p><p><b>  1 程序清單</b></p><p>  CON0809 EQU 04D0H</p><p>  CON8279 EQU 0492H</p><

41、p>  DAT8279 EQU 0490H</p><p>  ASSUME CS:CODE</p><p>  CODE SEGMENT PUBLIC</p><p>  ORG 100H</p><p>  START: JMP START1</p><p>

42、;  SEGCOD DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;0~9的編碼</p><p>  TEMP0 DB 00H</p><p>  ;**********************************Init***************

43、******************** START1: MOV DX, 04A6H ;選中控制寄存器</p><p>  MOV AX, 88H ;A端口輸出,工作在方式0,PC7~PC4輸入,B端口輸出,PC3~PC0輸出</p><p>  OUT DX, AX ;發(fā)送命令</p><p> 

44、 MOV AX, 70H ;</p><p>  OUT DX, AX ;復(fù)位PC0</p><p>  MOV AL, 0F4H ;清屏命令</p><p>  CALL COMD</p><p>  CALL DELAY ;延時(shí)等待</p&g

45、t;<p>  MOV SI,OFFSET[TABLE]</p><p>  MOV CX, 183D</p><p>  WR0: MOV DX, 04A4H ;寫端口C命令</p><p>  IN AX, DX ;讀端口C的狀態(tài)</p><p>  AND

46、 AX, 80H ;判斷BUSY</p><p>  JNZ WR0 ;忙等待</p><p>  MOV AL, [SI] ;給液晶屏發(fā)送命令</p><p>  CALL COMD ;調(diào)用發(fā)送函數(shù)</p><p>  INC SI

47、 ;SI+1 ,傳送下一個(gè)數(shù)據(jù)</p><p>  LOOP WR0</p><p>  ;***********************************************************************</p><p>  ;**********************************main********

48、*************************</p><p>  MAIN1: MOV DX, CON0809</p><p>  MOV AX, 34H</p><p>  OUT DX, AX ;鎖存AD轉(zhuǎn)換通道,為通道0</p><p>  MOV CX, 10H<

49、/p><p>  WAIT1: NOP</p><p><b>  NOP</b></p><p>  LOOP WAIT1 ;等待AD轉(zhuǎn)換的完成</p><p>  MOV DX, CON0809 ;</p><p>  IN AX, DX

50、 ;讀入溫度數(shù)據(jù)</p><p>  AND AX, 0FFH ;去位</p><p>  MOV BX, AX ;存入BX</p><p>  MOV DI,OFFSET TEMP0</p><p>  MOV CS:[DI],BL;將數(shù)據(jù)存儲(chǔ)起來</p>&l

51、t;p>  MOV TEMP0,BL;</p><p>  CALL LCD_DISP ;LCD顯示</p><p>  CALL LED_DISP ;LED顯示</p><p>  CALL LIGHT;判斷是否報(bào)警</p><p>  CALL ZHUXING

52、;柱形圖顯示</p><p>  CALL DELAY;延時(shí)等待</p><p>  JMP MAIN1 ;回到主函數(shù)入口繼續(xù)執(zhí)行</p><p>  ;***********************************************************************</p><p

53、>  ;********************************LED_Display**************************** LED_DISP: MOV DI,OFFSET TEMP0</p><p>  MOV BL,CS:[DI];從存儲(chǔ)器中讀取上次的AD轉(zhuǎn)換值</p><p>  MOV DI,OFFSET

54、 SEGCOD;獲取數(shù)碼管編碼的首地址</p><p>  MOV AX, 08H</p><p>  MOV DX, CON8279</p><p>  OUT DX, AX ;讓數(shù)碼管顯示16X8字符,左端開始</p><p>  MOV DX, DAT8279;獲取數(shù)據(jù)

55、地址</p><p>  PUSH BX;將BX暫時(shí)備份</p><p>  AND BX, 0F0H;獲取高四位編碼</p><p>  MOV CL,4</p><p>  SHR BX,CL;邏輯右移4位</p><p>  ADD DI,

56、BX ;獲取編碼偏移地址</p><p>  MOV AL,CS:[DI]</p><p>  MOV AH,0</p><p>  OUT DX,AX ;發(fā)送數(shù)據(jù)</p><p><b>  NOP</b></p><p>&l

57、t;b>  NOP</b></p><p>  MOV DI,OFFSET SEGCOD</p><p>  POP BX</p><p>  AND BX,0FH ;獲取低四位數(shù)據(jù)</p><p>  ADD DI,BX ;添加偏移量</p

58、><p>  MOV AL,CS:[DI]</p><p>  MOV AH,0</p><p>  OUT DX, AX ;發(fā)送低四位數(shù)據(jù)</p><p>  CALL DELAY;延時(shí)等待</p><p><b>  RET</b>

59、</p><p>  ;***********************************************************************</p><p>  ;*******************************lIGHT***********************************</p><p>  LIGHT:

60、 MOV DI,OFFSET TEMP0;獲取上次ADC的值</p><p>  MOV BL,CS:[DI]</p><p>  CMP BL,30H;跟設(shè)定值進(jìn)行比較</p><p>  JB LIGHT_OFF;低于30H的話轉(zhuǎn)移</p><p>  MOV D

61、X, 04A2H ;傳送數(shù)據(jù)</p><p>  MOV AL,00H;B端口輸出低電平</p><p>  OUT DX, AL ;寫入B端口</p><p>  CALL DELAY;延時(shí)等待</p><p>  LIGHT_OFF: MOV DX, 04A

62、2H ;傳送數(shù)據(jù)</p><p>  MOV AL,0FFH;關(guān)閉LED</p><p>  OUT DX, AL ;寫入A端口</p><p><b>  RET</b></p><p>  ;*************************************

63、**********************************</p><p>  ;***************************GRAF***************************************</p><p>  ZHUXING: MOV DI,OFFSET TEMP0;獲取AD值</p><p>  MOV

64、 AL,CS:[DI]</p><p>  MOV AH,00H</p><p>  MOV BL,16D</p><p>  DIV BL;;除以16</p><p>  MOV CL,AL;獲取當(dāng)前溫度等級(jí)</p><p>  SH

65、OW: MOV SI,OFFSET[GRAF];獲取當(dāng)前溫度對(duì)應(yīng)的顯示編碼</p><p>  ADD CL,SI</p><p>  MOV AL,[CL]</p><p>  CALL COMD;調(diào)用COMD顯示出來</p><p><b>  RET</b&

66、gt;</p><p>  ;***********************************************************************</p><p>  ;************************LCD_DISP**************************************</p><p>  LCD_D

67、ISP: PUSH BX;暫時(shí)備份</p><p>  AND BX, 0F0H</p><p>  MOV CL,4</p><p>  SHR BX,CL;獲取高四位數(shù)據(jù)</p><p>  ADD BX,30H ;獲取相應(yīng)的ASCII碼</p&g

68、t;<p>  CMP BL,3AH;如果高于0AH,還得再加上07H</p><p>  JB T0</p><p>  ADD BL,07H</p><p>  T0: MOV CX,03D;循環(huán)3次</p><p>  MOV SI,OFFSET[

69、TEP1]</p><p>  T1: MOV DX, 04A4H </p><p>  IN AX, DX ;讀端口C的狀態(tài)</p><p>  AND AX, 80H ;判斷BUSY</p><p>  JNZ T1 ;忙等待<

70、;/p><p>  MOV AL, [SI] ;給液晶屏發(fā)送命令</p><p>  CALL COMD ;調(diào)用發(fā)送函數(shù)</p><p>  INC SI ;SI+1 ,傳送下一個(gè)數(shù)據(jù)</p><p>  LOOP T1</p><p

71、>  WR1: MOV DX, 04A4H ;讀C命令</p><p>  IN AX, DX ;讀端口C的狀態(tài)</p><p>  AND AX, 80H ;判斷BUSY</p><p>  JNZ WR1 ;忙等待</p><p&g

72、t;  MOV AL, BL ;給液晶屏發(fā)送命令</p><p>  CALL COMD ;調(diào)用發(fā)送函數(shù)</p><p>  MOV CX,03D</p><p>  MOV SI,OFFSET[TEP2]</p><p>  T2: MOV DX,

73、04A4H ;寫端口命令</p><p>  IN AX, DX ;讀端口C的狀態(tài)</p><p>  AND AX, 80H ;判斷BUSY</p><p>  JNZ T2 ;忙等待</p><p>  MOV AL, [SI]

74、 ;給液晶屏發(fā)送命令</p><p>  CALL COMD ;調(diào)用發(fā)送函數(shù)</p><p>  INC SI ;SI+1 ,傳送下一個(gè)數(shù)據(jù)</p><p>  LOOP T2</p><p>  POP BX</p><p>  

75、AND BX,0FH ;獲取低四位數(shù)據(jù)</p><p>  ADD BX,30H ;獲取ASCII碼</p><p>  CMP BL,3AH</p><p>  JB WR2</p><p>  ADD BL,07H;如果超過0AH,還得再添加0

76、7H</p><p>  WR2: MOV DX, 04A4H ;讀C命令</p><p>  IN AX, DX ;讀端口C的狀態(tài)</p><p>  AND AX, 80H ;判斷BUSY</p><p>  JNZ WR2 ;忙等待

77、</p><p>  MOV AL, BL ;給液晶屏發(fā)送命令</p><p>  CALL COMD ;調(diào)用發(fā)送函數(shù)</p><p>  CALL DELAY</p><p><b>  RET</b></p><p>  ;***

78、********************************************************************</p><p>  ;***********************************************************************</p><p>  DELAY: MOV CX, 03FFFH<

79、/p><p>  DELAY1: NOP</p><p><b>  NOP</b></p><p>  LOOP DELAY1;空循環(huán)等待</p><p><b>  RET</b></p><p>  ;***************************

80、********************************************</p><p>  ;**********************************************************************</p><p>  COMD: MOV DX, 04A0H ;傳送數(shù)據(jù)</p><p>  OU

81、T DX, AL ;寫入A端口</p><p>  MOV DX, 04A6H ;寫控制字寄存器</p><p>  MOV AX, 71H</p><p>  OUT DX, AX ;PC0置位,拉高PC0</p><p>  MON: MOV DX, 0

82、4A4H</p><p>  IN AX, DX ;讀端口C</p><p>  AND AX, 80H ;判斷是否忙碌</p><p>  JZ MON ;等待其不忙碌為止,發(fā)送數(shù)據(jù)就結(jié)束了</p><p>  MOV DX, 04A6H ;寫控制寄存

83、器</p><p>  MOV AX, 70H</p><p>  OUT DX ,AX ;復(fù)位PC0,拉低REQ</p><p><b>  RET</b></p><p>  ;*****************************************************

84、*****************</p><p>  TABLE: ;DB 0F0H,01D,00D,11H,11H ;北</p><p>  ;DB 0F0H,02D,00D,1EH,09H ;京</p><p>  ;DB 0F0H,03D,00D,1FH,26H ;科</p>

85、<p>  ;DB 0F0H,04D,00D,1CH,1CH ;技</p><p>  ;DB 0F0H,05D,00D,14H,53H ;大</p><p>  ;DB 0F0H,06D,00D,31H,07H ;學(xué)</p><p>  DB 0F1H,01D,05D,'

86、;U'</p><p>  DB 0F1H,02D,05D,'S'</p><p>  DB 0F1H,03D,05D,'T'</p><p>  DB 0F1H,04D,05D,'B'</p><p>  DB 0F0H,03D,

87、00D,37H,34H ;自</p><p>  DB 0F0H,04D,00D,16H,0FH ;動(dòng)</p><p>  DB 0F0H,05D,00D,1BH,0FH ;化</p><p>  DB 0F0H,06D,00D,31H,07H ;學(xué)</p><p>  DB

88、 0F0H,07D,00D,34H,1AH ;院</p><p>  DB 0F0H,02D,01D,46D,34D ;溫</p><p>  DB 0F0H,03D,01D,22D,40D ;度</p><p>  DB 0F1H,08D,20D,':'</p>

89、<p>  DB 0F3H,11D,17D,60H,0F3H,12D,17D,00H</p><p>  DB 0F3H,11D,18D,91H,0F3H,12D,18D,0F4H</p><p>  DB 0F3H,11D,19D,60H,0F3H,12D,19D,0CH</p><p>  DB

90、0F3H,11D,20D,6CH,0F3H,12D,20D,04H</p><p>  DB 0F3H,11D,21D,08H,0F3H,12D,21D,04H</p><p>  DB 0F3H,11D,22D,18H,0F3H,12D,22D,00H</p><p>  DB 0F3H,11D,23D,18H,0F3H,

91、12D,23D,00H</p><p>  DB 0F3H,11D,24D,18H,0F3H,12D,24D,00H</p><p>  DB 0F3H,11D,25D,18H,0F3H,12D,25D,00H</p><p>  DB 0F3H,11D,26D,18H,0F3H,12D,26D,00H</p>

92、<p>  DB 0F3H,11D,27D,18H,0F3H,12D,27D,00H</p><p>  DB 0F3H,11D,28D,08H,0F3H,12D,28D,00H</p><p>  DB 0F3H,11D,29D,0CH,0F3H,12D,29D,04H</p><p>  DB

93、0F3H,11D,30D,06H,0F3H,12D,30D,08H</p><p>  DB 0F3H,11D,31D,01H,0F3H,12D,31D,0F0H</p><p>  DB 0F3H,11D,32D,00H,0F3H,12D,32D,00H;℃</p><p>  TEP1: DB 0F1H,09D,2

94、0D</p><p>  TEP2: DB 0F1H,10D,20D;溫度數(shù)字的位置和命令</p><p>  GRAF: DB 0F3H,01D,17D,80H</p><p>  DB 0F3H,01D,17D,40H</p><p>  DB 0F3H,01D,17D,2

95、0H</p><p>  DB 0F3H,01D,17D,10H</p><p>  DB 0F3H,01D,17D,08H</p><p>  DB 0F3H,01D,17D,04H</p><p>  DB 0F3H,01D,17D,02H</p><p> 

溫馨提示

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

評(píng)論

0/150

提交評(píng)論