2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  十進制加減法計算器單片機設計</p><p><b>  一、設計目的</b></p><p>  通過課程設計使學生更進一步掌握單片機原理與應用課程的有關(guān)知識,提高用匯編語言編程的能力,并將所學的內(nèi)容加以綜合。通過查閱資料,了解所學知識的應用情況。</p><p><b>  二、課程設計要求</b>

2、;</p><p>  設計十進制加減法計算器。要求能(不同時)顯示3位輸入和4位輸出。</p><p><b>  要求程序?qū)崿F(xiàn)功能</b></p><p>  (1)十進制加減法計算:輸入范圍為(1~999),該程序輸入兩個定點數(shù),每個3位,輸出4位;A為加,B為減,C為等于,輸出為四位計算結(jié)果。數(shù)據(jù)輸入采用規(guī)范化輸入,即必須輸入3個數(shù)才算

3、完成一個運算數(shù)的輸入,兩個運算數(shù)之間輸入運算符A或者B,輸入完成按C顯示計算結(jié)果。</p><p> ?。?)計算器復位功能:DEL均為清零重啟,任何時候按下DEL中一個將重新開始。</p><p><b>  三、硬件設計</b></p><p>  現(xiàn)實生活中人們熟知的計算器,其功能主要如下:(1)鍵盤輸入;(2)數(shù)值顯示;(3)加、減運算

4、(此次只要求加減);(4)對錯誤的控制及提示。</p><p>  此次計算器設計的最終結(jié)果是使其工作流程為:開機不顯示,等待鍵入數(shù)值,鍵入三個數(shù)字,通過LCD顯示出來,當鍵入+、-運算符,計算器在內(nèi)部執(zhí)行數(shù)值轉(zhuǎn)換和存儲,并等待再次鍵入數(shù)值,當再鍵入三個數(shù)字將顯示鍵入的數(shù)值,按等號就會在LCD上輸出運算結(jié)果。同時考慮到操作中可能出現(xiàn)的錯誤時,計算器會進行自動控制。</p><p>  根據(jù)

5、設計要求,選用8098 單片機為主控機。通過擴展必要的外圍接口電路,實現(xiàn)對計算器的設計。此次設計的系統(tǒng)模塊圖如下,</p><p><b>  具體設計考慮如下:</b></p><p>  1、單片機工作時電源引腳外接電源,工作電壓為5V,同時本次設計通過內(nèi)部振蕩器和時鐘發(fā)生器產(chǎn)生時鐘信號。</p><p>  2、8098單片機可尋址的存儲

6、器空間為64K空間,其內(nèi)部僅帶有只能用作寄存器的256個字節(jié)容量的RAM,所以在此設計過程中,需要外接存儲器芯片,我們選用容量足夠大的62128存儲器芯片。</p><p>  本次設計的接口電路采用8255可編程并行I/O芯片,8255A具有通常意義的接口所需要的基本功能,有著很強的適應性,此次設計中它起的作用是將顯示器和鍵盤與單片機連接,通過向其控制寄存器送入控制字,以規(guī)定8255的工作方式和實現(xiàn)確定的功能,

7、如本次設計的電路圖,8255的A口、C口均工作于輸出方式,而B口工作于輸入方式。</p><p>  存儲器芯片和8255芯片各都需要通過一個鎖存器74LS373芯片和單片機連接,鎖存器的作用是鎖存單片機P3口送出的低8位地址碼。</p><p>  5、由于要設計的是簡單的計算器,可以進行加減運算,對數(shù)字的大小范圍要求不高,故我們采用可以進行三位數(shù)字的運算,選用4片七段共陰極LED顯示數(shù)

8、據(jù)和結(jié)果。</p><p>  6、鍵盤共設置16個鍵,為4×4分布,其中數(shù)字鍵從第四排左起0~9共十個,接著是加號鍵、減號鍵、等號鍵和三個清除鍵,所對應的鍵值分別是A(+)、B(—)、C(=)、和D、E、F(清除鍵)。</p><p>  鍵盤控制程序需完成的任務有:監(jiān)測是否有鍵按下,有鍵按下時,若無硬件去抖動電路時,應用軟件延時方法消除按鍵抖動影響;當有多個鍵同時按下時,只處

9、理一個按鍵,不管一次按鍵持續(xù)多長時間,僅執(zhí)行一次按鍵功能程序。</p><p>  本次設計讀取鍵值采用按鍵掃描程序的方法,思路是對鍵盤上的某一行送低電平,其他行為高電平,然后讀取列值。若列值中有一位是低,則表明該行與低電平對應列的鍵被按下;否則,掃描下一行。本程序中,如果檢測到某鍵按下了,就不再檢測其它的按鍵,這完全能滿足絕大多數(shù)需要,又能節(jié)省大量的CPU時間。</p><p>  本次

10、的電路設計在附圖上。 </p><p><b>  軟件設計</b></p><p>  匯編語言 本次設計是由硬件電路和軟件編程相結(jié)合,雖然我們以前學過C語言,而且覺得這次設計用C語言會更加方便,靈活,但是匯編語言特別適合于實時控制系統(tǒng)這樣的應用場合,作為學電氣工程及其自動化專業(yè)的學生,我們學習單片機的主要目的是將單片機用于檢測和控制領域,所以,選擇用匯

11、編語言進行本次設計將有助于提高我們的專業(yè)知識。</p><p>  軟件設計思路主要從以下幾個方面考慮:</p><p>  在主程序中先設置8255的工作方式,初始化對需要存數(shù)值和標志位的存儲單元清零,并且位選不選中任何數(shù)碼管,段選為#00H,即使4個數(shù)碼管初始狀態(tài)無顯示。</p><p>  進入鍵盤掃描程序,先對最低行送低電平,其他行為高電平,然后讀取列值。若

12、列值中有一位是低,則表明該行與低電平對應列的鍵被按下;否則,掃描上一行。當掃描到有鍵按下,可以通過行首鍵值和列編號值之和來讀取此按鍵的鍵值,不管有沒有按鍵,掃描一次返回主程序,進入鍵值處理程序中。</p><p>  若沒有按鍵,則進入鍵值處理程序中,相當于執(zhí)行了一條空指令,同樣進入顯示程序中由于沒有按鍵也相當于執(zhí)行了一條空指令,所以在沒有按鍵的情況下,主程序的循環(huán)相當于掃描程序的不停循環(huán),一直等到有按鍵出現(xiàn)。&

13、lt;/p><p>  若在掃描程序中查到按鍵,則可以讀出鍵值,在鍵值處理程序中,首先通過FL檢查這一次的按鍵是第幾次按鍵,已檢查此次按鍵操作有沒有存在錯誤。若有錯誤,則直接返回主程序重新開始。</p><p>  對于操作中可能出現(xiàn)的錯誤,我們只考慮兩種情況。其一,鍵入初始的三個數(shù)字后,接下來沒有鍵入加減符號而是繼續(xù)鍵入數(shù)字或者等于號;其二,當把兩個運算數(shù),即六個數(shù)字輸入后,接下來沒有按等號

14、鍵而是按了數(shù)字鍵或者加減鍵。除這兩種錯誤操作,其他的錯誤可以明顯排除,比如沒有按完三個數(shù)字就按加減號這種情況,操作者可以觀察數(shù)碼管的狀態(tài)決定是否是繼續(xù)按數(shù)字鍵,當數(shù)碼管顯示三個數(shù)字后說明已經(jīng)輸入一個完整數(shù),否則還要繼續(xù)按數(shù)字鍵</p><p>  (6)若沒有錯誤,則通過鍵值大小來判斷按鍵類型,從而進行分類操作:</p><p>  當判斷是加減符號鍵時,需要進行兩次標志,一是送#02H給

15、3500H存儲單元,相當于給3500H第1位標志為1,再是在3502H單元中標志加減號,向其送#01H代表加號,送#00H代表是減號。</p><p>  當判斷是清除鍵時,則清空先前所有操作,重新開始主主程序。</p><p>  當判斷是數(shù)字鍵(除其他幾種鍵值,剩下的就是數(shù)字鍵的情況)時,首先將數(shù)字值存入3400H[FL]中,然后FL自加一,其中FL是輸入鍵值為數(shù)字鍵的次數(shù),當FL達到

16、6時,即說明完成兩個運算數(shù)的輸入,此時重新賦FL#00H,判斷是數(shù)字鍵時,也需要進行標志,即送#02H給3500H存儲單元,相當于給3500H單元的第0位標志為1.</p><p>  當判斷是等號鍵時,也需要進行標志,即送#04H給3500H存儲單元,相當于給3500H單元中的第3位標志為1.然后用TRANSB2D程序?qū)斎氲膬蓚€運算數(shù)分別進行十進制轉(zhuǎn)換,根據(jù)3502H單元中的加減號標志來確定前一次的符號鍵是加

17、還是減,再進行分類操作:</p><p>  是加號就將兩個和數(shù)相加,然后用DIVIDE程序?qū)Y(jié)果數(shù)字進行分離,分離有可能得到四位或少于四位,少于四位的情況下前面缺的位補零,然后將各位分別存儲在以3600H單元開始的連續(xù)存儲單元中。</p><p>  如果是減號,需要考慮差為負值的情況,所以在減法運算之前,需要對兩個運算數(shù)進行大小比較,如果前者大于后者,兩者直接相減,所得的正數(shù)差值如

18、前面的和數(shù)一樣先分離然后存儲在以3600H單元開始的連續(xù)存儲單元中。如果后者大于前者,則用后者減去前者,所得的值進行數(shù)字分離,然后在最高位補負號(因為數(shù)碼管顯示負號為#40H,在顯示段碼表中的第十位添加#40H,則此處說在最高位補負號即送#0AH給最高位),存儲地址還是以3600H單元開始的連續(xù)存儲單元中。</p><p> ?。?)鍵值處理程序主要完成各種鍵值的標志和確定應送往數(shù)碼管顯示的段碼,然后進入顯示程序

19、,顯示程序主要根據(jù)3500H單元中的各位狀態(tài)(0或1)來確定應該顯示的鍵值類別,主要由以下幾種情況:</p><p>  如果3500H中的第0位為1,則需要顯示輸入的數(shù)字,因為在顯示之前FL已自動加1,所以根據(jù)BL(FL-1+3400)來選擇段選,而且若是前三個數(shù),則根據(jù) AL(FL-1)值的來選擇位選,若是后三個數(shù),則根據(jù)FL-4的大小來選擇位選。</p><p>  如果3500H中

20、的第1位為1,則由于是加減法需要清掉數(shù)碼管顯示的前一個數(shù),從而為顯示后一個輸入的數(shù)做準備。</p><p>  如果3500H中的第2位為1 ,則需要顯示按等號后的運算結(jié)果,這個結(jié)果為在四個連續(xù)存儲單元的四個數(shù)字, 包含一個負號,所以通過循環(huán)的方法將這幾個數(shù)字依次顯示,間隔時間很短,所以感覺是同時顯示。</p><p><b>  五、流程圖</b></p>

21、;<p><b>  六、編寫的程序</b></p><p>  P8255A EQU 7FFCH ;8255 PA口地址</p><p>  P8255B EQU 7FFDH ;8255 PB口地址</p><p>  P82

22、55C EQU 7FFEH ;8255 PC口地址</p><p>  C8255 EQU 7FFFH ;8255命令口地址 </p><p>  AX EQU 20H ;公用中轉(zhuǎn)寄存器

23、 </p><p>  AL EQU 20H</p><p>  AH EQU 21H</p><p>  BX EQU 22H</p><p>  BL EQU 22H</p><p>  BH EQU 23H</p><p>  CX EQU 24H</p>&

24、lt;p>  CL EQU 24H</p><p>  CH EQU 25H</p><p>  DL EQU 26H</p><p>  EL EQU 28H</p><p>  FL EQU 30H ;對鍵入數(shù)字鍵次數(shù)的標志

25、 </p><p>  KX EQU 32H</p><p>  MX EQU 34H</p><p>  NX EQU 36H</p><p>  PX EQU 38H</p><p>  X1 EQU 40H ;對輸入數(shù)字分離的各位<

26、;/p><p>  X2 EQU 42H</p><p>  X3 EQU 44H</p><p>  X4 EQU 46H</p><p>  X5 EQU 48H ;對結(jié)果數(shù)字分離的各位</p><p>  X6 EQU 50H</p><

27、;p>  X7 EQU 52H</p><p>  X8 EQU 54H</p><p> ?。?---------------------------主程序-------------------------</p><p><b>  ORG 2080H</b></p><p><b>  START:

28、</b></p><p>  LD SP,#00A0H</p><p>  LDB AL,#82H</p><p>  STB AL,C8255 ;PB口輸入,PA,PC口輸出 </p><p><b>  RDKB:</b></p><p>  L

29、CALL SYS_INIT ;系統(tǒng)初始化</p><p><b>  RECYLE:</b></p><p>  LCALL RD_KB</p><p>  LCALL DO_KB</p><p>  LCALL DISPLAY</p><p>  LJMP RECYLE

30、 ;持續(xù)掃描</p><p>  ;---------------------------系統(tǒng)初始化-----------------------</p><p><b>  SYS_INIT:</b></p><p>  LD MX,#3400H ;輸入值的存儲位置</p&g

31、t;<p>  LD NX,#3500H</p><p>  LD KX,#3502H</p><p><b>  CLR [MX]</b></p><p><b>  CLR [NX]</b></p><p><b>  CLR [KX]</b>&

32、lt;/p><p>  ST #00H,P8255A</p><p>  ST #0FH,P8255C</p><p>  LDB FL,#00H ;鍵入數(shù)字值的次數(shù)的初始值 </p><p><b>  RET</b></p><p> ??;-----------

33、--------------------鍵盤掃描程序------------------------</p><p><b>  RD_KB:</b></p><p>  SCALL KEYCAN ;調(diào)用查詢是否有鍵閉合的子程序 </p><p>  JE RD_KB ;無

34、鍵閉合,重新查詢</p><p>  SCALL TIME ;有列線為低,延時12ms,去抖</p><p>  SCALL KEYCAN ;再次確認</p><p>  JE RD_KB ;無鍵閉合,重查</p><p>  LDB

35、CL,#01H ;從行線0開始掃描</p><p>  LDB DL,#00H ;置行線0首鍵之值</p><p>  LDB DH,#00H ;列線編號值</p><p><b>  RDLOOP:</b></p><p&

36、gt;  STB CL,P8255B ;置行線為低電平</p><p>  LDB CH,P8255C ;讀入列線狀態(tài)</p><p><b>  DCV:</b></p><p>  SHLB CH,#01H ;將列線逐位移入C檢查</p>

37、<p>  JNC KEYVAL ;若C=0,則查到閉合鍵</p><p>  INCB DH </p><p>  CMPB DH,#04H ;是否查完最后一列</p><p><b>  JNE DCV</b><

38、/p><p>  ADDB DL,#04H ;置下一行線首鍵之值</p><p>  SHLB CL,#01H</p><p>  CMPB CL,#10H</p><p><b>  JE RETURN</b></p><p><b>  SJMP LOOP

39、</b></p><p><b>  KEYVAL:</b></p><p>  ADDB DL,DH ;行首鍵值+列首鍵值=鍵值</p><p>  RDLOOP1: SCALL TIME ;調(diào)延時子程序,去抖</p><p>  SCAL

40、L KEYCAN</p><p><b>  JNE LOOP1</b></p><p>  RETURN:RET</p><p>  KEYCAN: ;查是否有鍵閉合子程序</p><p>  LD AX,#7FFDH ;送輸

41、出端口地址</p><p>  LDB BL,#0FH ;使全部行線為低電平</p><p>  STB BL,[AX]</p><p>  LD AX,#7FFEH ;送輸出端口地址</p><p>  LDB BH,[AX] ;

42、輸入全部列線狀態(tài)</p><p>  ANDB BH,#F0H ;屏蔽BH低四位</p><p>  CMPB BH,#0FH ;判斷列線中是否有低電平</p><p><b>  RET </b></p><p>  LDB EH,#0CH

43、 ;延時12ms子程序</p><p>  LDB EL,#EBH</p><p>  TIME: DECB EL</p><p>  TL1: JNE TL1</p><p>  DJNZ EH,TIME</p><p><b>  RET</b></p

44、><p>  EXIT: RET</p><p>  ;-----------------------------鍵值處理--------------------------</p><p><b>  DO_KB:</b></p><p><b>  LDB AL,DL</b></p>

45、<p>  ERROR: ;首先判斷鍵入的值是否有錯</p><p>  CMPB FL,#02H ;輸完第三個數(shù)字后,判斷這次輸?shù)氖欠袷羌訙p號</p><p><b>  JE JUDGE1</b></p><p>  CMPB FL,#

46、05H ;輸完第6個數(shù)字后,判斷這次輸?shù)氖欠袷堑忍?lt;/p><p><b>  JE JUDGE2</b></p><p>  JUDGE1: </p><p>  CMPB AL,#0AH ;若AL值是A或B,說明操作正確</p&

47、gt;<p>  JE EXT_JUDGE1 </p><p>  CMPB AL,#0BH</p><p>  JE EXT_JUDGE1</p><p><b>  ERROR1:</b></p><p>  LD BX,#RECYLE ;否

48、則錯誤,需要重新開始程序</p><p>  ST BX,[SP]</p><p><b>  RET</b></p><p>  EXT_JUDGE1:RET</p><p>  JUDGE2: </p><p>  CMPB AL,#

49、0CH ;若AL值不是C,說明操作錯誤 </p><p>  JNE ERROR2</p><p><b>  ERROR2:</b></p><p>  LD BX,#RECYLE ;操作錯誤需要重新開始程序&l

50、t;/p><p>  ST BX,[SP]</p><p><b>  RET</b></p><p>  EXT_JUDGE2:RET</p><p>  DO_SYMBOL: ;對鍵值為加減號的處理</p><p>  CMPB AL,#0A

51、H ;判斷是否是加號鍵</p><p><b>  JE DO_JIA</b></p><p>  CMPB AL,#0BH ;判斷是否是減號鍵</p><p>  JE DO_JIAN</p><p>  LDB BL,#02H

52、 ;對鍵值為加減號的標志 </p><p>  STB BL,3500H[0] </p><p>  DISPLAY </p><p>  DO_JIA:STB #01H,3502H[0] ;對加號的標志</p><p><b>  RET<

53、;/b></p><p>  DO_JIAN:STB #00H,3502H[0] ;對減號的標志</p><p><b>  RET</b></p><p>  DO_DEL: ;對各清除鍵的處理</p><p>  CMPB DL,

54、#0DH </p><p>  JE RETURN2</p><p>  CMPB DL,#0EH</p><p>  JE RETURN2</p><p>  CMPB DL,#0FH</p><p><b>  JE DO_KB2</b></p><

55、p>  RETURN2:RET</p><p>  DO_KB2:LD BX,#START ;重新開始程序</p><p>  ST BX,[SP]</p><p>  DO_EQUAL: ;對鍵值為等號的處理</p><p>  CMPB AL,#

56、0CH</p><p><b>  JE DO_KB3</b></p><p><b>  DO_KB3:</b></p><p>  LDB BL,#04H ;對等號的標志</p><p>  STB BL,3500H[0]</p><p&g

57、t;  DO_ELEMENT1: ;對輸入的第一個數(shù)轉(zhuǎn)十進制</p><p>  LD X4,#00H</p><p>  LD X3,3400H[0]</p><p>  LD X2,3400H[1]</p><p>  LD X1,3400H[2]</p><p>

58、;<b>  TRANSB2D</b></p><p><b>  LD AX,CX</b></p><p>  DO_ELEMENT2: ;對輸入的第二個數(shù)轉(zhuǎn)十進制 </p><p>  LD X4,#00H</p><p>  LD X3,34

59、00H[3]</p><p>  LD X2,3400H[4]</p><p>  LD X1,3400H[5]</p><p><b>  TRANSB2D</b></p><p><b>  LD BX,CX</b></p><p>  JBS KX,1,DO_PLUS&

60、lt;/p><p>  JBC KX,1,DO_MINUS</p><p><b>  DO_PLUS:</b></p><p>  ADDC DX,AX,BX ;加法子程序</p><p>  DIVIDE DX ;求出和數(shù)的各位</p>

61、<p>  STB X5,3600[4] ;將各位分別存儲</p><p>  STB X6,3600[3]</p><p>  STB X7,3600[2]</p><p>  STB X8,3600[1]</p><p><b>  RET</b></p><

62、p>  DO_MINUS: CMP AX,BX ;減法子程序,判斷兩個輸入數(shù)的大小</p><p>  JLT DO_MINUS1 ;若第一個數(shù)小于第二個數(shù)</p><p>  SUBC DX,AX,BX</p><p><b>  DIVIDE DX</b></

63、p><p>  STB X5,3600H[0]</p><p>  STB X6,3600H[1]</p><p>  STB X7,3600H[2]</p><p>  STB X8,3600H[3]</p><p><b>  RET</b></p><p>  DO_MI

64、NUS1:SUBC DX,BX,AX ;將后一個數(shù)減前一個數(shù)</p><p>  DIVIDE DX ;求出差數(shù)的各位</p><p>  STB #0AH,3600H[0] ;差實際是負數(shù),補一個負號</p><p>  STB X6,3600H[1]

65、 ;保存各位</p><p>  STB X7,3600H[2]</p><p>  STB X8,3600H[3]</p><p><b>  RET</b></p><p>  DO_DATA: ;對鍵值為數(shù)字的處理</p><p>

66、  LDB BL,#01H</p><p>  STB BL,3500H[0] ;對鍵值為數(shù)字的標志</p><p>  STB AL,3400H[FL] ;依順序存儲鍵值</p><p>  INCB FL ;FL自動加一</p><p

67、>  CMPB FL,#06H ;判斷輸入鍵值為數(shù)字的次數(shù)是否到6次</p><p>  JE INIT_FL </p><p><b>  DISPLAY</b></p><p>  INIT_FL:LDB FL,#00H

68、 ;若到六次,F(xiàn)L重新從0計數(shù)</p><p><b>  RET</b></p><p> ??;-------------------------------------------------進制轉(zhuǎn)換-------------------------------------------</p><p>  TRANSB2D:

69、 ;各位數(shù)字的十進制轉(zhuǎn)換</p><p>  LDBZE AX,X4</p><p>  MUL AX,#1000</p><p><b>  ADD CX,AX</b></p><p>  LDBZE AX,X3</p><p>  MUL AX,#100

70、</p><p><b>  ADD CX,AX</b></p><p>  LDBZE AX X2</p><p>  MUL AX,#10</p><p><b>  ADD CX AX</b></p><p>  LDBZE AX,X1</p><p

71、><b>  MUL AX,#1</b></p><p><b>  ADD CX,AX</b></p><p><b>  RET</b></p><p>  DIVIDE: ;對結(jié)果數(shù)字的分離</p><p&g

72、t;  DIV DX,#03E8H</p><p><b>  LDB X5,DL</b></p><p><b>  LDB AL,DL</b></p><p>  LDB AH,#00H</p><p>  DIV AX,#64H</p><p><b>  L

73、DB X6,AL</b></p><p><b>  LDB BL,AH</b></p><p>  LDB BH,#00H</p><p>  DIV BX,#0AH</p><p><b>  LDB X7,BL</b></p><p><b>  

74、LDB X8,BH</b></p><p><b>  RET</b></p><p>  ;-----------------------------------------------------顯示程序----------------------------------------------</p><p><b>

75、;  DISPLAY:</b></p><p>  JBS NL,0,DIS_DATA ;判斷是否是數(shù)字按鍵</p><p>  JBS NL,1,DIS_SYMNOL ;判斷是是否是加減符號按鍵</p><p>  JBS NL,2,DIS_EQUAL ;判斷

76、是否是等號按鍵</p><p><b>  DIS_DATA:</b></p><p>  CMPB #02H,FL ;對前三位數(shù)字的輸出顯示</p><p>  SUBB AL,FL,#01H</p><p>  ADDB BL,AL,#3400H</p>&l

77、t;p>  LDB BH,[BL]</p><p>  STB AL,P8255C</p><p>  STB,BH,P8255A</p><p>  SCALL DELAY</p><p>  STB,#00H,P8255A</p><p>  DIA_DATA1:

78、 ;對后三位數(shù)字的輸出顯示</p><p>  SUBB AL,FL,#02H</p><p>  ADDB BL,AL,#3400H</p><p>  LDB BH,[BL]</p><p>  STB AL,P8255C</p><p>  STB,BH,P8255A</p><

79、;p>  SCALL DELAY</p><p>  STB,#00H,P8255A</p><p><b>  RET</b></p><p><b>  EX1:RET</b></p><p>  DIS_SYMBOL: ;對前加減符號按鍵的

80、輸出不顯示,數(shù)碼管全滅</p><p>  STB #0FH,P8255C</p><p>  STB,#00H,P8255A</p><p>  SCALL DELAY</p><p><b>  RET</b></p><p>  DIS_EQUAL:

81、 ;對等號的輸出顯示</p><p>  DIS_SYMBOL</p><p><b>  DELAY</b></p><p>  STB #00H,P8255C</p><p>  LDB EL,#04H</p><p>  DIS_EQUAL1:</p><

82、;p>  STB 3600H[EL],P8255C</p><p>  SCALL DELAY</p><p>  DJNZ EL,DIS_EQUAL</p><p>  STB,#00H,P8255A</p><p>  EXDIS:RET</p><p>  DELAY:LDB AL,#30H

83、 ;延時不到0.5ms</p><p><b>  DELOOP:</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ AL,LOOP</p><

84、p><b>  RET</b></p><p> ??;------------------------------------------------顯示段碼-----------------------------------------------------</p><p><b>  ORG 4000H</b></p>

85、<p>  DSEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,40H ;0~9為順序阿拉伯數(shù)字,最后一個是負號</p><p><b>  END</b></p><p><b>  七、參考文獻</b></p><p> ?。薄ⅰ秵纹瑱C原理與應用》大連理工大學出

溫馨提示

  • 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

提交評論