智能儀器課程設計----全自動豆?jié){機控制系統(tǒng)的設計_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  智能儀器設計課程設計</p><p>  題目:全自動豆?jié){機控制系統(tǒng)的設計</p><p><b>  班級:</b></p><p><b>  學號:</b></p><p><b>  姓名: </b></p><p&g

2、t;  時間: 2012年1月</p><p><b>  目錄</b></p><p>  第一章 系統(tǒng)分析…………………………………………………3</p><p>  1.1方案分析與論證………………………………………3</p><p>  1.2設計框圖………………………………………………4</p>

3、<p>  第二章 系統(tǒng)調(diào)試…………………………………………………8</p><p>  2.1軟件模擬………………………………………………8</p><p>  2.2硬件調(diào)試………………………………………………10</p><p>  2.2.1調(diào)試圖………………………………………………10</p><p>  2.2.2問

4、題歸納……………………………………………10</p><p>  第三章 心得體會…………………………………………………11</p><p>  第四章 參考文獻…………………………………………………11</p><p>  附錄一……………………………………………………………12</p><p>  附錄二……………………………………………

5、………………13</p><p><b>  第一章 系統(tǒng)分析</b></p><p>  此次課程設計的題目是:全自動豆?jié){機。我們采用AT89S51來完成其設計,用不同顏色的LED燈模擬加熱與粉碎功能,還有就是用蜂鳴器來完成其報警功能,以中斷方式采用撥碼開關來實現(xiàn)液位的控制等。</p><p>  1.1方案分析與論證 </p>

6、<p>  (1)模式選擇模塊:</p><p>  方案一:鍵盤選擇模式方法。通過按下鍵的鍵值判斷,來跳轉(zhuǎn)到不同的模式。鍵盤有九個鍵,最多可以設計九中模式,設計時設計三種模式即可。該方案可行。</p><p>  方案二:定時計數(shù)模式方法。設計一個三循環(huán)的計數(shù)。通過按一下,外部給單片機一個低電平,計數(shù)一次。按兩下,計數(shù)加二,按三下計數(shù)加三。按四下后回到按一下的狀態(tài)。然后通過

7、計數(shù)后的數(shù)值來選擇不同的模式。該方案可行。</p><p>  方案選擇:總體來講,兩種方案都挺好。最后,選擇模塊選擇方案一,由于板上有鍵盤,可以加以運用,也方便實現(xiàn)。計數(shù)口可以留著擴展外部事件中斷用。 </p><p> ?。?)加熱粉碎完成報警模塊:</p><p>  方案一:加熱和粉碎時都有一定的時間,用延時實現(xiàn)。</p><p>

8、;  方案二:加熱和粉碎需要的時間可以用定時實現(xiàn)。</p><p>  方案選擇:選擇方案二,因為加熱和粉碎的時間需要用動態(tài)掃描的方式顯示出來,因此定時可以實現(xiàn)加熱和粉碎時的顯示,而延時方式不行。</p><p> ?。?)液位控制模塊:</p><p>  液位控制模塊可用外部事件中斷方式實現(xiàn)。燒干,液體溢出容器功能采用外部事件中斷(INTO,P3.2)實現(xiàn),設為

9、高優(yōu)先級的中斷。加熱液位控制功能也采用外部事件(INT1,P3.3)中斷實現(xiàn),設為低優(yōu)先級。</p><p> ?。?)擴展計時模塊:</p><p>  計時用來動態(tài)計量在某種模式下工作了多久,以此來觀察還需要多久完成全過程。并且工作過程中有兩個報警的狀態(tài),由計時的時間大概可以判斷屬于那種情況。計時還可以檢測豆?jié){機工作的時間是否正常。</p><p>  最后,我

10、采用正計時的方式來實現(xiàn)。</p><p><b>  1.2設計框圖</b></p><p>  (1)矩陣式鍵盤實現(xiàn)的模式選擇框圖</p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  Y

11、</b></p><p><b>  N</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  Y</b></p><p><b>  N</

12、b></p><p><b>  Y</b></p><p><b>  Y</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  N</b>

13、</p><p><b>  Y</b></p><p><b>  N</b></p><p> ?。?) 加熱粉碎完成報警及液位控制模塊框圖</p><p> ?。?)液位溢出或者過低報警框圖</p><p><b>  N</b></p>

14、;<p><b>  Y </b></p><p><b>  (4)顯示程序框圖</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b> ?。?)定時程序框圖</b&

15、gt;</p><p><b>  N</b></p><p><b>  Y</b></p><p><b> ?。?)主程序框圖</b></p><p><b>  N</b></p><p><b>  Y</

16、b></p><p><b>  中斷返回</b></p><p><b>  YY</b></p><p><b>  N</b></p><p><b>  第二章 系統(tǒng)調(diào)試</b></p><p><b>

17、  2.1軟件模擬</b></p><p><b>  (1)初始化</b></p><p>  其初始值為090124,上電復位后顯示</p><p><b> ?。?)模式1</b></p><p>  其中第一個1表示工作在模式一,后面的09為加熱和粉碎各維持9s,后三位為計時部分

18、</p><p><b> ?。?)模式二</b></p><p>  其中和模式一相同,不同的是加熱和粉碎時間不同,還有就是模式三也是相同的方式。</p><p>  (4)液位溢出報警和液位過低報警</p><p>  其中用撥碼開關模擬液位的變化,進行聲光報警,液位過低也是這種模式。</p><

19、p><b> ?。?)溫度</b></p><p>  當按下4號鍵,就會顯示溫度</p><p><b>  2.2硬件調(diào)試:</b></p><p><b>  2.2.1調(diào)試圖</b></p><p><b>  見附錄</b></p&g

20、t;<p><b>  2.2.2問題歸納</b></p><p> ?。?)中斷時,返回的不是原來的狀態(tài)?</p><p>  解決方案:因為中斷里面的程序改變了主程序里面的端口狀態(tài),所以返回時不時原來的狀態(tài)。需要對影響主程序的量進行保護和還原就行了。</p><p>  (2)通過鍵盤選擇某模式,復位后,必須復位后的瞬間選擇其

21、它模式,否則就無法選擇其他模式了?</p><p>  解決方案:這是因為鍵盤掃描程序里沒有對無按鍵時的狀態(tài)進行操作。只要讓無按鍵時,執(zhí)行重新掃描鍵盤即可。</p><p> ?。?)在軟件里模擬沒有問題,但是下載板子里就不行了?</p><p>  解決方案:軟件、硬件的靈敏度不同,軟件里都是理想的,和實際存在一定差距,要結(jié)合硬件來調(diào)試。在延時、端口方面應該多注意

22、。</p><p> ?。?)數(shù)碼管顯示不要穩(wěn)定,一直在閃?</p><p>  解決方案:改變延時長短,多調(diào)試幾次,直至穩(wěn)定。</p><p> ?。?)溫度一直是85度?</p><p>  解決方案:18b20在運行過程中,其第一次讀數(shù)就是85,應該舍棄第一次讀數(shù),讓其循環(huán)調(diào)用。</p><p><b>

23、;  第三章 心得總結(jié)</b></p><p>  家里很早就有豆?jié){機,一直覺得很有意思,把豆子打碎,加熱,就變成了美味的豆?jié){,但是又不能打開看是什么原理。這次課程設計終于有機會知道豆?jié){機的真正原理了。也再一次讓我熟悉了 keil和protuse這兩個軟件,大大的提高了動手能力。在之前的單片機課程設計中就用到過的兩個軟件,這次又熟悉了一遍,印象更深刻了。課程設計過程中,遇到問題是在所難免的,最終那份

24、通過尋求各種幫助將問題解決后的興奮是令人難忘的。不斷地的用軟件調(diào)試運行,仿真,直到達到設計要求,那份喜悅是無法代替的。在此感謝老師,感謝在此次課程設計過程中幫助我的同學。大家共同學習,共同增長知識,為以后的工作奠定了基礎。</p><p><b>  第四章 參考文獻</b></p><p>  夏路易.單片機原理及其應用-基于51與高速SoC51.北京電子工業(yè)出版

25、社</p><p><b>  附錄一:電路原理圖</b></p><p><b>  軟件模擬原理圖</b></p><p><b>  附錄二:程序清單</b></p><p><b>  ORG 0000H</b></p><p&

26、gt;<b>  LJMP MAIN</b></p><p><b>  ORG 0003H</b></p><p>  LJMP P_T0 </p><p><b>  ORG 0013H</b></p><p><b>  LJMP P_T1<

27、/b></p><p>  ORG 0030H </p><p>  MAIN: MOV SP,#60H ;開辟棧區(qū)</p><p>  CLR IT0 ;INT0低電平觸發(fā)</p><p>  CLR IT1 ;INT1低電平觸發(fā)</p>&l

28、t;p>  SETB EA ;開CPU中斷</p><p>  SETB EX0 ;允許INT0中斷</p><p>  SETB EX1 ;允許INT1中斷</p><p>  SETB PX0 ;設置INT0為高優(yōu)先級</p><p>

29、;  CLR PX1 ;設置INT1為低優(yōu)先級</p><p>  CLR P3.6 ; 加熱指示燈清零</p><p>  CLR P3.7 ;粉碎指示燈清零</p><p>  MOV 20H,#0 ;賦初始值</p><p>  MOV 2

30、1H,#9</p><p>  MOV 22H,#0</p><p>  MOV 25H,#1</p><p>  MOV 26H,#2</p><p>  MOV 27H,#4</p><p>  LCALL DSPLY1 ;調(diào)顯示程序</p><p>  LCALL DSP

31、LY2</p><p>  LCALL SCAN_KEYB ;點鍵盤掃描程序</p><p>  MOV 25H,#00H ;高三位清零 </p><p>  MOV 26H,#00H</p><p>  MOV 27H,#00H</p><p>  MOV A,R5

32、 ;鍵盤返回值在然中</p><p>  NEXT: CJNE A,#01H,NEXT1 ;判斷是否為1鍵按下</p><p>  LCALL FUNCTION_1 ;調(diào)1鍵處理程序</p><p>  LCALL LOOP4 ;調(diào)用計時程序和完成之后的報警程序</p><p>  LCALL LOO

33、P6</p><p><b>  RET</b></p><p>  NEXT1:CJNE A,#02H,NEXT2 ;判斷是否2鍵按下</p><p>  LCALL FUNCTION_2 ;和第一種模式相同</p><p>  LCALL LOOP6</p><p>  LCALL

34、 LOOP4</p><p><b>  RET</b></p><p>  NEXT2: CJNE A,#3,NEXT3 ;3鍵按下?</p><p>  LCALL FUNCTION_3 ;同前兩種</p><p>  LCALL LOOP6 </p><p>  LC

35、ALL LOOP4</p><p>  NEXT3: CJNE A,#4,NEXT4 ;4鍵按下否?</p><p>  LCALL PRO_18B20 ;調(diào)溫度處理程序</p><p>  NEXT4:LJMP MIAN ;若無鍵按下,返回</p><p>  ;#######中斷處理程序,

36、液位溢出##########</p><p><b>  ORG 0100H</b></p><p>  P_T0:PUSH ACC ;保護現(xiàn)場</p><p><b>  PUSH PSW</b></p><p>  CLR P3.6 ;停止

37、加熱,粉碎</p><p><b>  CLR P3.7</b></p><p>  LCALL ALARM ;報警</p><p>  POP PSW ;恢復現(xiàn)場</p><p><b>  POP ACC</b></p><

38、p><b>  RETI</b></p><p> ??;########液位過低處理程序#############</p><p><b>  ORG 0200H</b></p><p>  P_T1:CLR EA ;關中斷</p><p>  PUSH AC

39、C ;保護現(xiàn)場</p><p>  PUSH PSW </p><p>  SETB EA ;開中斷</p><p>  SETB RS0 ;將工作寄存器切換</p><p>  CLR P3.6

40、 ;停止加熱停止粉碎 </p><p><b>  CLR P3.7</b></p><p>  LCALL A LARM ;報警 </p><p>  SETB P3.6 ;恢復中斷前狀態(tài)</p><p>  CLR EA

41、 ;關中斷</p><p>  POP PSW ;恢復現(xiàn)場</p><p><b>  POP ACC</b></p><p>  SETB EA ;開中斷</p><p><b>  RETI</b></p>

42、<p><b>  ;按鍵處理程序</b></p><p>  FUNCTION_1: MOV 20H,#01H ;</p><p>  MOV 21H,#0</p><p>  MOV 22H,#9</p><p>  MOV 30H,#03H</p><p>

43、  MOV 31H,#03H</p><p>  LCALL DSPLY1</p><p><b>  RET</b></p><p><b>  S2_PRESS:</b></p><p>  MOV 20H,#02H</p><p>  MOV 21H,#1</p

44、><p>  MOV 22H,#2</p><p>  MOV 30H,#04H</p><p>  MOV 31H,#04H</p><p>  LCALL DSPLY1</p><p><b>  RET</b></p><p><b>  S3_PRESS:

45、</b></p><p>  MOV 20H,#03H</p><p>  MOV 21H,#1</p><p>  MOV 22H,#5</p><p>  MOV 30H,#05H</p><p>  MOV 31H,#05H</p><p>  LCALL DSPLY1&

46、lt;/p><p><b>  RET</b></p><p>  DSPLY1: MOV R0,#20H</p><p>  MOV R2,#00H</p><p>  REDO:ACALL DISP</p><p><b>  INC R2</b></p>&l

47、t;p><b>  MOV A, R2</b></p><p><b>  INC R0</b></p><p>  XRL A, #03H</p><p><b>  JNZ REDO</b></p><p><b>  RET</b></p

48、><p>  DSPLY2: MOV R0,#25H</p><p>  MOV R2,#03H</p><p>  REDO2:ACALL DISP</p><p><b>  INC R2</b></p><p><b>  MOV A, R2</b></p>

49、<p><b>  INC R0</b></p><p>  XRL A, #06H</p><p><b>  JNZ REDO2</b></p><p><b>  RET</b></p><p>  DISP: MOV P1,R2</p>&l

50、t;p>  MOV DPTR,#LED_SEG</p><p>  MOV A ,@R0</p><p>  MOVC A ,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  LCALL DL1MS</p><p><b>  RET<

51、/b></p><p>  LED_SEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p>  LOOP6: LCALL DL1S</p><p><b>  MOV A,27H</b></p><p>  CJNE A,#09H,GOON1</p>

52、;<p>  MOV 27H,#00H</p><p>  MOV A,26H</p><p>  CJNE A,#05H,GOON2</p><p>  MOV 26H,#00H</p><p><b>  INC 25H</b></p><p><b>  RET&l

53、t;/b></p><p>  GOON1: INC 27H</p><p><b>  RET</b></p><p>  GOON2: INC 26H</p><p><b>  RET</b></p><p>  DL20MS: MOV TMOD,#01H&l

54、t;/p><p>  MOV TH0,#0DBH</p><p>  MOV TL0,#00H</p><p><b>  SETB TR0</b></p><p>  CONT1:JBC TF0,OVERF1</p><p>  SJMP CONT1</p><p>  OV

55、ERF1:RET</p><p><b>  LOOP4:</b></p><p>  LCALL JIARE</p><p>  LCALL FENSUI</p><p>  LCALL JIARE</p><p>  LCALL FENSUI</p><p>  LCA

56、LL JIARE</p><p><b>  CLR P3.6</b></p><p><b>  CLR P3.7</b></p><p>  LCALL ALARM</p><p><b>  RET</b></p><p>  JIARE:

57、 MOV 23H,30H</p><p><b>  CLR P3.7</b></p><p><b>  SETB P3.6</b></p><p>  LOOP1: LCALL DL1MIN</p><p>  DJNZ 23H,LOOP1</p><p><b&

58、gt;  RET</b></p><p>  FENSUI: MOV 24H,31H</p><p><b>  CLR P3.6</b></p><p><b>  SETB P3.7</b></p><p>  LOOP2: LCALL DL1MIN</p><

59、p>  DJNZ 24H,LOOP2</p><p><b>  RET</b></p><p><b>  ALARM:</b></p><p>  LOOP5: MOV R1,#20</p><p>  MOV A,#06H</p><p><b>  M

60、OV P1,A</b></p><p>  LCALL DL1MS</p><p>  LCALL DL1MS</p><p><b>  INC A</b></p><p><b>  MOV P1,A</b></p><p>  LCALL DL1MS<

61、/p><p>  LCALL DL1MS</p><p>  LCALL DSPLY1</p><p>  LCALL DSPLY2</p><p>  DJNZ R1, LOOP5</p><p><b>  RET</b></p><p>  DL1MIN: MOV R

62、7,#3</p><p>  DL1: LCALL LOOP6</p><p>  DJNZ R7,DL1</p><p><b>  RET</b></p><p>  DL1MS: MOV R1,#200</p><p><b>  DL2: NOP</b></p

63、><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R1,DL2</p><p><b>  RET</b></p><p>  DL1S: MOV R6,#20</p><p

64、>  WAIT: MOV TMOD,#01H</p><p>  MOV TH0,#3CH</p><p>  MOV TL0,#0B0H</p><p><b>  SETB TR0</b></p><p>  CONT2: JBC TF0,OVERF2</p><p>  LCALL

65、 DSPLY1</p><p>  LCALL DSPLY2</p><p>  SJMP CONT2</p><p>  OVERF2: DJNZ R6,WAIT</p><p><b>  RET</b></p><p>  SCAN_KEYB:</p><p>  

66、MOV P2,#0F0H</p><p><b>  MOV A,P2</b></p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p><b>  JZ NO_KEY</b></p><p>  ACALL DL20MS<

67、/p><p>  ANL A,#0F0H</p><p>  XRL A,#0F0H</p><p><b>  JZ NO_KEY</b></p><p>  MOV R2,#11110111B</p><p>  SCAN:MOV A,R2</p><p><b>

68、;  MOV P2,A</b></p><p><b>  MOV A,P2</b></p><p>  ANL A,#11110000B</p><p><b>  MOV R3,A</b></p><p>  CJNE A,#0F0H,KEY_PRSD</p><

69、p><b>  MOV A,R2</b></p><p><b>  RR A</b></p><p><b>  MOV R2,A</b></p><p>  XRL A,#01111111B</p><p><b>  JNZ SCAN</b>&

70、lt;/p><p>  NO_KEY :LJMP MAIN</p><p>  KEY_PRSD:MOV A ,R2</p><p>  ANL A ,#00001111B</p><p><b>  ORL A ,R3</b></p><p><b>  MOV R4,A</b>

71、;</p><p>  MOV R5,#01H</p><p>  MOV DPTR,#KEY_TAB</p><p>  CAL_VAL:MOV A ,R5</p><p>  MOVC A,@A+DPTR</p><p><b>  XRL A,R4</b></p><p&

72、gt;<b>  JZ FIXED</b></p><p><b>  INC R5</b></p><p>  SJMP CAL_VAL</p><p>  FIXED:MOV A ,P2</p><p>  ANL A ,#0F0H</p><p>  XRL A,#0F

73、0H</p><p><b>  JNZ FIXED</b></p><p>  ACALL DL20MS</p><p><b>  MOV A ,P2</b></p><p>  ANL A ,#0F0H</p><p>  XRL A,#0F0H</p>

74、<p><b>  JNZ FIXED</b></p><p><b>  INC A</b></p><p><b>  RET</b></p><p>  KEY_TAB: DB 77H,77H,7BH,7DH,0B7H,0BEH,0BDH</p><p>  

75、DB 0D7H,0DBH,0DDH</p><p><b>  RET </b></p><p>  ;WENDUXIANSHI </p><p>  FLAG1 BIT F0 ;DS18B20存在標志位</p><p>  DQ BIT P1.3</p><

76、p>  TEMPER_L EQU 27H</p><p>  TEMPER_H EQU 26H </p><p>  PRO_18B20: MOV 30H,#250</p><p>  REPLY: LCALL INIT_18B20</p><p>  LCALL RE_CONFIG</p>

77、;<p>  LCALL GET_TEMPER</p><p>  LCALL CHANGE ;將18B20讀的16位溫度轉(zhuǎn)換8位數(shù)據(jù)</p><p>  LCALL DISPLAY ;調(diào)用數(shù)碼管顯示子程序</p><p>  DJNZ 30H,REPLY</p><p>  

78、;**********DS18B20復位程序*****************</p><p>  INIT_18B20: SETB DQ </p><p><b>  NOP</b></p><p><b>  NOP</b></p>&

79、lt;p><b>  CLR DQ</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV R0,#0FBH</p><p>  TSR1: DJNZ R0,TSR1 ;延時&l

80、t;/p><p><b>  SETB DQ</b></p><p>  MOV R0,#25H</p><p>  TSR2: JNB DQ ,TSR3</p><p>  DJNZ R0,TSR2</p><p>  TSR3: SETB FLAG1 ;置標志位,

81、表明DS18B20存在</p><p>  CLR P2.0 ;二極管指示</p><p>  AJMP TSR5</p><p>  TSR4: CLR FLAG1</p><p>  LJMP TSR7</p><p>  TSR5: MOV R0,#06BH</p>

82、<p>  TSR6: DJNZ R0,TSR6</p><p>  TSR7:SETB DQ ;表明不存在</p><p><b>  RET</b></p><p>  ;********************設定DS18B20暫存器設定值**************</p><

83、p>  RE_CONFIG: JB FLAG1,RE_CONFIG1</p><p><b>  RET</b></p><p>  RE_CONFIG1: MOV A,#0CCH ;放跳過ROM命令</p><p>  LCALL WRITE_18B20</p><p>  MOV A,

84、#4EH</p><p>  LCALL WRITE_18B20 ;寫暫存器命令</p><p>  MOV A,#00H ;報警上限中寫入00H</p><p>  LCALL WRITE_18B20</p><p>  MOV A,#00H ;報警下限中寫入00H</p>&l

85、t;p>  LCALL WRITE_18B20</p><p>  MOV A,#1FH ;選擇九位溫度分辨率</p><p>  LCALL WRITE_18B20</p><p><b>  RET</b></p><p>  ;*****************讀轉(zhuǎn)換后的溫度值**

86、**************</p><p>  GET_TEMPER: SETB DQ</p><p>  LCALL INIT_18B20</p><p>  JB FLAG1,TSS2</p><p>  RET ;若不存在則返回</p><p>  TSS2: M

87、OV A,#0CCH ;跳過ROM</p><p>  LCALL WRITE_18B20</p><p>  MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令</p><p>  LCALL WRITE_18B20</p><p>  ; LCALL DISPLAY

88、 ;延時</p><p>  LCALL INIT_18B20</p><p>  MOV A,#0CCH ;跳過ROM</p><p>  LCALL WRITE_18B20</p><p>  MOV A,#0BEH ;發(fā)出讀溫度換命令</p><p>  LCA

89、LL WRITE_18B20</p><p>  LCALL READ2_18B20 ;讀兩個字節(jié)的溫度</p><p><b>  RET</b></p><p>  ;***************寫ds18b20匯編程序************</p><p>  WRITE_18B20:MOV

90、 R2,#8</p><p><b>  CLR C</b></p><p>  WR1: CLR DQ</p><p>  MOV R3,#6</p><p>  DJNZ R3,$</p><p><b>  RRC A</b></p>&

91、lt;p>  MOV DQ,C</p><p>  MOV R3,#23</p><p>  DJNZ R3,$</p><p>  SETB DQ</p><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><

92、;p><b>  SETB DQ</b></p><p><b>  RET</b></p><p>  ;***********讀18B20程序,讀出兩個字節(jié)的溫度*********</p><p>  READ2_18B20:MOV R4,#2 ;低位存在29 H,高位存在28H&

93、lt;/p><p>  MOV R1,#29H</p><p>  RE00: MOV R2,#8</p><p>  RE01: CLR C</p><p><b>  SETB C</b></p><p><b>  NOP</b></p><

94、;p><b>  NOP</b></p><p><b>  CLR DQ</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p

95、><p><b>  SETB DQ</b></p><p>  MOV R3,#7</p><p>  DJNZ R3,$</p><p>  MOV C,DQ</p><p>  MOV R3,#23</p><p>  DJNZ R3,$<

96、/p><p><b>  RRC A</b></p><p>  DJNZ R2,RE01</p><p>  MOV @R1,A</p><p><b>  DEC R1</b></p><p>  DJNZ R4,RE00</p><

97、;p><b>  RET</b></p><p>  ;************讀出的溫度進行數(shù)據(jù)轉(zhuǎn)換**************</p><p>  CHANGE: MOV A,29H</p><p>  MOV C,28H.0 ;將28H中的最低位移入C</p><p><b&

98、gt;  RRC A</b></p><p>  MOV C,28H.1</p><p><b>  RRC A</b></p><p>  MOV C,28H.2</p><p><b>  RRC A</b></p><p>  MOV C,28H.3<

99、/p><p><b>  RRC A</b></p><p><b>  MOV 29H,A</b></p><p><b>  RET</b></p><p>  DISPLAY: mov a,29H;將29H中的十六進制數(shù)轉(zhuǎn)換成10進制</p><p

100、>  mov b,#100</p><p><b>  div ab</b></p><p><b>  mov 34H,A</b></p><p><b>  MOV A,B</b></p><p>  MOV B,#10</p><p>&

101、lt;b>  DIV AB</b></p><p>  MOV 35H,A</p><p>  MOV 36H,B</p><p>  mov DPTR,#TAB ;指定查表啟始地址</p><p>  mov A,36H ;取個位數(shù)</p><p>  MOVC A,@A+DPTR ;查個位數(shù)

102、的7段代碼</p><p>  mov P0,A ;送出個位的7段代碼</p><p>  MOV P1,#05;開個位顯示</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LCALL DELAYNMS</

103、p><p>  MOV P1,#0FFH</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  mov A,35H ;取十位數(shù)</p><p>  MOVC A,@A+DPTR ;查十位數(shù)的7段代碼</p>&l

104、t;p>  mov P0,A;送出十位的7段代碼</p><p>  MOV P1,#04;開十位顯示</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  LCALL DELAYNMS</p><p>  MO

105、V P1,#0FFH</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  RET</b></p><p>  DELAYNMS: MOV R6,#8</p><p>  D11:

106、 MOV R7,#200</p><p>  DJNZ R7,$</p><p>  DJNZ R6,D11</p><p><b>  RET</b></p><p>  TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p>

溫馨提示

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

評論

0/150

提交評論