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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  一、任務(wù)與要求:</b></p><p><b>  1、設(shè)計(jì)目的:</b></p><p>  利用MCS-51單片機(jī)及相關(guān)芯片構(gòu)成收銀機(jī)。</p><p><b>  2、設(shè)計(jì)要求:</b></p><p><b>  系統(tǒng)實(shí)現(xiàn)如下功

2、能:</b></p><p> ?、?具有可擴(kuò)展鍵盤(pán)用以實(shí)現(xiàn)數(shù)字和“+”、“×”、“=”的輸入。</p><p> ?、?可循環(huán)實(shí)現(xiàn)單個(gè)用戶(hù)消費(fèi)總金額的計(jì)算。</p><p> ?、?具有復(fù)位、清零、找零和小數(shù)點(diǎn)顯示等擴(kuò)展的功能。</p><p><b>  二、設(shè)計(jì)過(guò)程:</b></p>

3、;<p><b>  (A)工作流程:</b></p><p>  ①通電后收銀機(jī)數(shù)碼管的初始顯示狀態(tài)為:最右邊的數(shù)碼管顯示“0”,其他數(shù)碼管不亮。</p><p> ?、诎磾?shù)字鍵鍵入商品單價(jià)和數(shù)量,鍵入數(shù)字時(shí)先高位后低位,單價(jià)按元的十位、個(gè)位、1/10位、1/100位依次鍵入,數(shù)量按件的十位、個(gè)位依次鍵入。計(jì)算商品的金額時(shí),先鍵入商品單價(jià),再鍵入商品的

4、數(shù)量。鍵入單價(jià)第一個(gè)數(shù)字時(shí),最右邊的數(shù)碼管由原來(lái)的“0”變?yōu)檫@個(gè)數(shù)字,以后鍵入新的數(shù)字時(shí),老的數(shù)字依次逐位左移,最后一位是新鍵入的數(shù)字。</p><p> ?、郯础?#215;”鍵再鍵入商品的數(shù)量,此時(shí),原商品的單價(jià)顯示不變,等待商品數(shù)量鍵入。當(dāng)鍵入商品的數(shù)量時(shí),數(shù)碼管單價(jià)顯示立即消失,轉(zhuǎn)為逐位顯示商品的數(shù)量。</p><p> ?、馨础埃辨I后將計(jì)算出最近一筆商品的金額。如有“乘數(shù)量”標(biāo)

5、志,便進(jìn)行這筆商品單價(jià)乘以數(shù)量的運(yùn)算,運(yùn)算的乘積金額累加到此前各筆商品累計(jì)的總金額中去,數(shù)碼管顯示最新累計(jì)的總金額。如無(wú)“乘數(shù)量”標(biāo)志位,就直接把這筆商品的單價(jià)累加到以前的總金額中去,得出最新累計(jì)的總金額。</p><p> ?、莅催^(guò)“+”鍵后,再鍵入下一筆商品的單價(jià)時(shí),剛才數(shù)碼管顯示的總金額消失,轉(zhuǎn)為逐位顯示鍵入商品的單價(jià)。</p><p> ?、拮詈蟮牟僮鲿r(shí)按“=”鍵。“=”鍵與“+”

6、鍵的作用相似,差別在于當(dāng)前“最新累計(jì)的總金額”已是最終“累計(jì)的總金額”了,至此,一位顧客的累計(jì)結(jié)束,不再等待下一筆商品單價(jià)的鍵入。</p><p> ?、咴阪I入單價(jià)或數(shù)量時(shí),如按錯(cuò)數(shù)字可以按清零鍵重新輸入,初始化時(shí)小數(shù)點(diǎn)為亮的,在輸入數(shù)字鍵時(shí),小數(shù)點(diǎn)消失。最終結(jié)果小數(shù)點(diǎn)是為亮的。 </p><p> ?、嗍浙y機(jī)一位顧客的累計(jì)結(jié)束,可按復(fù)位鍵,回到初始顯示狀態(tài),也是準(zhǔn)備接待下一位顧客。<

7、;/p><p>  (B)硬件系統(tǒng)說(shuō)明與電路原理圖:</p><p>  根據(jù)收銀機(jī)的工作流程可知只需運(yùn)用“單片機(jī)試驗(yàn)系統(tǒng)”教學(xué)試驗(yàn)箱上的8279、鍵盤(pán)及LED顯示電路即可實(shí)現(xiàn)所有的功能。其原理圖如圖1所示。</p><p>  其中8279可按其功能分為:鍵盤(pán)功能塊、顯示功能塊、控制功能塊、與CPU接口功能塊??刂乒δ軌K包括控制和定時(shí)寄存器、定時(shí)和控制、掃描計(jì)數(shù)器三部

8、分,它主要用來(lái)控制鍵盤(pán)和顯示功能塊工作。</p><p>  顯示地址寄存器保存當(dāng)前CPU讀或?qū)懙哪莻€(gè)RAM地址,以及正顯示著的那兩個(gè)4位半字節(jié)的地址,讀寫(xiě)地址由CPU命令編程,也可置為每次讀寫(xiě)后地址自動(dòng)加1的工作方式,在設(shè)置了正確的工作方式后,顯示RAM可直接由CPU讀出,半字節(jié)A和半字節(jié)B地址自動(dòng)由8279更新,以適應(yīng)由CPU送入的數(shù)據(jù),A和B半字節(jié)可獨(dú)立送入,也可作為一個(gè)字送入,隨CPU所設(shè)置的工作方式而定

9、。</p><p>  當(dāng)鍵盤(pán)上出現(xiàn)有效的輸入時(shí),鍵輸入數(shù)據(jù)講自動(dòng)進(jìn)入8279的鍵盤(pán)RAM存儲(chǔ)器,并向MCS-51單片機(jī)請(qǐng)求中斷,單片機(jī)響應(yīng)中斷讀取鍵盤(pán)RAM中的鍵輸入數(shù)據(jù),并進(jìn)入中斷服務(wù)程序進(jìn)行相應(yīng)的處理,最后將數(shù)據(jù)返送到8279的顯示RAM中,通過(guò)74LS138選通與六個(gè)存儲(chǔ)字節(jié)相對(duì)應(yīng)的LED并顯示。若要更新顯示器輸出,僅需改變8279中顯示RAM中的內(nèi)容。</p><p><b

10、>  2、設(shè)計(jì)原理:</b></p><p> ?、旁趩纹瑱C(jī)內(nèi)部RAM分配的6個(gè)單元顯示緩沖區(qū)為39H~3EH,數(shù)碼管自右至左分別顯示39H~3EH單元內(nèi)容;商品單價(jià)輸入后自高到低存放在30H和33H單元中,商品數(shù)量輸入后存放在34H~35H單元中;還要為總金額存放分配50H~55H,稱(chēng)為和緩沖區(qū),總金額自高到低存放在里面。</p><p> ?、圃阪I盤(pán)的中斷服務(wù)程序中將

11、“單片機(jī)試驗(yàn)系統(tǒng)”教學(xué)試驗(yàn)箱鍵盤(pán)中的“A”、“B”、“C”、“D”、“E”、“F”分別擴(kuò)展為“*”、“+”、“清零”、“找零”、“=”和“復(fù)位”鍵。</p><p> ?、鞘浙y機(jī)的顯示器上要顯示單價(jià)、數(shù)量、金額等數(shù)字,實(shí)驗(yàn)裝置LED顯示器有6個(gè)數(shù)碼管,如將最右邊兩位分別認(rèn)作角、分,則六位可以表示的總金額不大于9999.99元,與此對(duì)應(yīng),每件商品的單價(jià)和數(shù)量也要有一定限制;故規(guī)定單價(jià)只可為0.01元-99.99元,

12、數(shù)量只可為1件-99件。</p><p> ?、仍趩纹瑱C(jī)內(nèi)RAM的位單元中分配5個(gè)標(biāo)志位,01H標(biāo)志位代表是否輸入符號(hào)鍵,即輸入“+”、“*”、“找零”鍵時(shí),01H置1;02H代表是否指向數(shù)量位,即當(dāng)02H為0時(shí),代表指向單價(jià)位,為1時(shí)代表指向數(shù)量位;03H代表是否按完乘號(hào)鍵;04H代表按完乘號(hào)鍵的第一次輸入,若為非零則置1;05H代表是否按過(guò)“=”,按過(guò)則置1。</p><p>  3、

13、 MCS-51單片機(jī)系統(tǒng)簡(jiǎn)介:</p><p>  40個(gè)引腳按引腳功能大致可分為4個(gè)種類(lèi):電源、時(shí)鐘、控制和I/O引腳。</p><p><b> ?、?電源: </b></p><p>  ⑴ VCC - 芯片電源,接+5V;</p><p>  ⑵ VSS - 接地端;</p><p>  

14、注:用萬(wàn)用表測(cè)試單片機(jī)引腳電壓一般為0v或者5v,這是標(biāo)準(zhǔn)的TTL電平。但有時(shí)候在單片機(jī)程序正在工作時(shí)候測(cè)試結(jié)果并不是這個(gè)值而是介于0v-5v之間,其實(shí)這是萬(wàn)用表的響應(yīng)速度沒(méi)這么快而已,在某一個(gè)瞬間單片機(jī)引腳電壓仍保持在0v或者5v。</p><p>  ⒉ 時(shí)鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。 </p><p> ?、?控制線:控制線共有4根,</p&

15、gt;<p> ?、?ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖</p><p> ?、?ALE功能:用來(lái)鎖存P0口送出的低8位地址</p><p> ?、?PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。</p><p> ?、?PSEN:外ROM讀選通信號(hào)。</p><p> ?、?/p>

16、 RST/VPD:復(fù)位/備用電源。</p><p> ?、?RST(Reset)功能:復(fù)位信號(hào)輸入端。</p><p>  ② VPD功能:在Vcc掉電情況下,接備用電源。</p><p> ?、?EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。</p><p> ?、?EA功能:內(nèi)外ROM選擇端。</p><p&g

17、t; ?、?Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。</p><p><b>  ⒋ I/O線</b></p><p>  8051共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。</p><p>  P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線) </p&g

18、t;<p>  圖1 收銀機(jī)電路原理圖</p><p>  三、軟件主要模塊流程圖、源程序及注釋</p><p><b>  2、程序思想: </b></p><p>  (1)首先進(jìn)行8279的初始化,內(nèi)存清零,使最右邊顯示為0,其他不顯示;</p><p>  (2)等待鍵值,看是否鍵入“復(fù)位”,若鍵

19、入“復(fù)位”,則調(diào)用復(fù)位功能;若沒(méi)鍵入“復(fù)位”鍵,則看是否鍵入“+”鍵,若鍵入“+”,則調(diào)用加號(hào)功能,然后等待鍵入數(shù)字;若沒(méi)鍵入“+”鍵,則看是否鍵入“*”鍵。若鍵入“*”鍵,則調(diào)用乘號(hào)功能,然后等待鍵入數(shù)字;若沒(méi)鍵入“*”鍵,看是否鍵入“清零”鍵。若鍵入“清零”鍵,則調(diào)用“清零”功能,然后等待鍵入數(shù)字;若沒(méi)鍵入“清零”鍵,則看是否鍵入“=”鍵。若按過(guò)“=”鍵,則調(diào)用等號(hào)功能,然后等待鍵入數(shù)字;若沒(méi)鍵入“=”鍵,則看是否鍵入“找零鍵”。若

20、按過(guò)“找零”鍵,則調(diào)用找零功能,然后等待鍵入數(shù)字;若沒(méi)鍵入“找零”鍵,則將顯示緩沖區(qū)39H~3EH的內(nèi)容顯示出來(lái)。 </p><p><b>  3、源程序:</b></p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p>

21、<p><b>  ORG 0013H</b></p><p>  LJMP INT1P</p><p>  MAIN: MOV SP,#60H</p><p><b>  SETB EX1</b></p><p><b>  NOP</b></p>

22、<p>  MOV DPTR,#5FFFH</p><p>  MOV A,#0DCH</p><p>  MOVX @DPTR,A</p><p>  LP: MOVX A,@DPTR</p><p>  JB ACC.7,LP;等待清屏</p><p>  MOV A,#00H</p>

23、;<p>  MOVX @DPTR,A</p><p>  MOV A,#34H;時(shí)鐘編程</p><p>  MOVX @DPTR,A</p><p>  CLR IT1;觸發(fā)方式設(shè)定</p><p><b>  NOP</b></p><p><b>  SETB EA

24、</b></p><p><b>  NOP</b></p><p><b>  LCALL CLC</b></p><p>  QC10: LCALL DISY</p><p><b>  LJMP QC10</b></p><p> 

25、 CLC: MOV 59H,#1;復(fù)位59H置1,使能判斷是否要將待機(jī)時(shí)的0重寫(xiě),而不是左移</p><p>  MOV R0,#3AH;使顯示RAM中只有一</p><p>  MOV R7,#05H</p><p>  MOV 39H,#0H </p><p>  LAP2: MOV @R0,#23</p>&l

26、t;p><b>  INC R0</b></p><p>  DJNZ R7,LAP2</p><p>  MOV R0,#50H;清空結(jié)果存放空間</p><p><b>  MOV R7,#6</b></p><p>  LAP3:MOV @R0,#0</p><p&

27、gt;<b>  INC R0</b></p><p>  DJNZ R7,LAP3</p><p>  MOV R0,#30H;清空單價(jià)地址存放空間</p><p><b>  MOV R7,#5</b></p><p>  LAP4:MOV @R0,#0</p><p>

28、;<b>  INC R0</b></p><p>  DJNZ R7,LAP4</p><p>  MOV 35H,#1;乘數(shù)空間初始值至少為1,因?yàn)橘I(mǎi)東西至少買(mǎi)1件</p><p>  CLR 01H;01h是按完"+"號(hào)或“*”號(hào)的標(biāo)志位,按下其中之一便置1</p><p>  CLR 02H;

29、02h用于判斷是否指向乘數(shù)地址單元,02h為1時(shí)36h指向乘數(shù)地址 ,為0是指向單</p><p>  CLR 03H;判斷是否按完乘號(hào)</p><p><b>  CLR 04H;</b></p><p>  CLR 05H;判斷是否按下了“=”</p><p><b>  RET</b><

30、/p><p>  INT1P: PUSH ACC</p><p><b>  PUSH DPH</b></p><p><b>  PUSH DPL</b></p><p>  MOV DPTR,#5EFFH</p><p>  MOVX A,@DPTR</p>

31、<p>  CJNE A,#0FH,NF;如按F,則復(fù)位</p><p><b>  LCALL CLC</b></p><p>  LJMP EXIT;復(fù)位完畢</p><p>  NF: CJNE A,#0BH,NPLUS1;如按B,則代表“+”</p><p>  LJMP JIAN1</p

32、><p>  NPLUS1: LJMP NPLUS</p><p>  JIAN1: SETB 01H;按下符號(hào)鍵了</p><p>  CLR 02H;指向單價(jià)地址</p><p>  M4: CLR 03H</p><p><b>  CLR 04H</b></p><p

33、>  MOV R0,#39H; 將數(shù)碼管全部熄滅等待目前總金額的出現(xiàn)</p><p>  MOV R7,#06H</p><p>  LLPA: MOV @R0,#23</p><p><b>  INC R0</b></p><p>  DJNZ R7,LLPA</p><p>  MO

34、V A, 34H;將十位數(shù)提出了運(yùn)算</p><p><b>  RL A</b></p><p><b>  RL A</b></p><p><b>  RL A</b></p><p><b>  ADD A,34H</b></p>&

35、lt;p>  ADD A,34H;將第一次這個(gè)數(shù)左移3次,相當(dāng)于乘以8,再加上自身2次,效果等同于此數(shù)于10相乘;(個(gè)位數(shù)乘以10不會(huì)溢出—)</p><p>  ADD A,35H;將個(gè)位數(shù)加入</p><p>  MOV 34H,A </p><p>  MOV R2,34H;乘法采用多次加法的辦法,因此乘數(shù)初始值應(yīng)當(dāng)為1</p><p

36、>  M2: MOV R4,#4</p><p>  MOV R0,#55H</p><p>  MOV R1,#33H</p><p><b>  CLR C</b></p><p>  M1: MOV A,@R0</p><p>  ADDC A,@R1</p>

37、;<p><b>  DA A</b></p><p>  MOV C,ACC.4 ;調(diào)整后,A如果有進(jìn)位,一定是ACC.4為1(兩個(gè)個(gè)位數(shù)相加不可能超過(guò)19),沒(méi)進(jìn)位則ACC.4為0</p><p>  ANL A,#0FH ;6位結(jié)果存儲(chǔ)字節(jié)存放的都是非壓縮的BCD碼,高四位應(yīng)該始終為0</p><p><b>  

38、MOV @R0,A</b></p><p><b>  DEC R0</b></p><p><b>  DEC R1</b></p><p>  DJNZ R4,M1</p><p><b>  MOV A,@R0</b></p><p>

39、<b>  ADDC A,#0</b></p><p><b>  DA A</b></p><p>  MOV C,ACC.4</p><p>  ANL A,#0FH</p><p><b>  MOV @R0,A</b></p><p><b

40、>  DEC R0</b></p><p><b>  MOV A,@R0</b></p><p><b>  ADDC A,#0</b></p><p><b>  DA A</b></p><p>  ANL A,#0FH</p><p

41、><b>  MOV @R0,A</b></p><p>  DJNZ R2,M2;循環(huán)乘數(shù)次</p><p>  MOV 40H,50H</p><p>  MOV 41H,51H</p><p>  MOV 42H,52H</p><p>  MOV 43H,53H</p>

42、<p>  MOV 44H,54H</p><p>  MOV 45H,55H</p><p>  MOV R0,#40H;若遇到最高位為零,則是它?</p><p>  MOV R5,#03H</p><p>  WW: CJNE @R0,#0,QQ</p><p>  MOV @R0,#23&l

43、t;/p><p><b>  INC R0</b></p><p>  DJNZ R5,WW</p><p>  QQ: MOV 3EH,40H;將計(jì)算的結(jié)果存入顯示RAM,從而顯示出來(lái)</p><p>  MOV 3DH,41H</p><p>  MOV 3CH,42H</p>

44、;<p>  MOV 3BH,43H</p><p>  MOV 3AH,44H</p><p>  MOV 39H,45H</p><p>  MOV R0,#30H;清空單價(jià)和乘數(shù)地址存放空間</p><p><b>  MOV R7,#5</b></p><p>  LLP5:

45、 MOV @R0,#0</p><p><b>  INC R0</b></p><p>  DJNZ R7,LLP5</p><p>  MOV 35H,#1;加法運(yùn)算以后各位默認(rèn)為一,因?yàn)橘I(mǎi)東西不輸入數(shù)量默認(rèn)為1件</p><p>  LJMP EXIT;加法內(nèi)容完畢</p><p>

46、  NPLUS: CJNE A,#0AH,NMUL;如按A,則代表“*”</p><p><b>  SETB 01H</b></p><p>  SETB 02H;指向乘數(shù)地址</p><p><b>  SETB 03H</b></p><p>  MOV 35H,#0;如要進(jìn)行乘法,必須

47、先將成數(shù)空間清零</p><p>  MOV 34H,#0</p><p>  LJMP EXIT;乘法內(nèi)容完畢</p><p>  NMUL: CJNE A,#0CH,NDT;按C后可以清除本次輸</p><p>  MOV 59H,#1</p><p>  MOV R0,#3AH;使顯示RAM中只有一個(gè)0亮

48、</p><p>  MOV R7,#05H</p><p>  MOV 39H,#0H </p><p>  LZP2: MOV @R0,#23</p><p><b>  INC R0</b></p><p>  DJNZ R7,LZP2</p><p>  

49、JB 05H,APIN;判斷是否是清除輸入金額</p><p>  JB 02H,CMUL</p><p>  MOV R0,#30H;清空單價(jià)地址存放空間</p><p><b>  MOV R7,#4</b></p><p>  LQP4:MOV @R0,#0</p><p><b&g

50、t;  INC R0</b></p><p>  DJNZ R7,LQP4</p><p><b>  LJMP L3</b></p><p>  APIN: MOV R0,#29H;清空輸入金額地址存放空間</p><p><b>  MOV R7,#6</b></p>

51、<p>  LQP8: MOV @R0,#0</p><p><b>  INC R0</b></p><p>  DJNZ R7,LQP8</p><p>  L3: LJMP EXIT</p><p>  CMUL: MOV 34H,#0</p><p>  MOV 3

52、5H,#0</p><p><b>  LJMP EXIT</b></p><p>  MOV R0,#3AH;使顯示RAM中只有一個(gè)0亮</p><p>  MOV R7,#05H</p><p>  MOV 39H,#0H </p><p>  LBP2: MOV @R0,#23<

53、/p><p><b>  INC R0</b></p><p>  DJNZ R7,LBP2</p><p>  NDT: CJNE A,#0EH,NEQ;如按E,則代表“=”</p><p><b>  SETB 01H</b></p><p><b> 

54、 SETB 05H</b></p><p>  MOV R0,#29H;清空輸入金額地址存放空間</p><p><b>  MOV R7,#6</b></p><p>  LQP9: MOV @R0,#0</p><p><b>  INC R0</b></p>

55、<p>  DJNZ R7,LQP9</p><p><b>  LJMP M4</b></p><p>  NEQ: CJNE A,#0DH,NCR;如按D,則代表“找零鍵”</p><p>  MOV R0,#39H;使顯示RAM中全滅</p><p>  MOV R7,#06H <

56、;/p><p>  LLAP2:MOV @R0,#23</p><p><b>  INC R0</b></p><p>  DJNZ R7,LLAP2</p><p><b>  MOV R7,#6</b></p><p><b>  CLR C</b>&

57、lt;/p><p>  MOV R0,#29H</p><p>  MOV R1,#55H</p><p>  TXT:MOV A,@R0</p><p>  SUBB A,@R1</p><p><b>  JC CII</b></p><p><b>  AJM

58、P TOT</b></p><p>  CII: SUBB A,#05H;因?yàn)榇藭r(shí)Cy一定為1,所以調(diào)整時(shí)只需減5</p><p>  ANL A,#0FH</p><p><b>  SETB C</b></p><p>  TOT: MOV @R1,A</p><p><

59、;b>  INC R0</b></p><p><b>  DEC R1</b></p><p>  DJNZ R7,TXT</p><p>  MOV R0,#50H;若遇到最高位為零,則是它?</p><p>  MOV R5,#03H</p><p>  WW1: CJ

60、NE @R0,#0,QQ1</p><p>  MOV @R0,#23</p><p><b>  INC R0</b></p><p>  DJNZ R5,WW1</p><p>  QQ1:MOV 3EH,50H;將計(jì)算的結(jié)果存入顯示RAM,從而顯示出來(lái)</p><p>  MOV 3DH,

61、51H</p><p>  MOV 3CH,52H</p><p>  MOV 3BH,53H</p><p>  MOV 3AH,54H</p><p>  MOV 39H,55H</p><p><b>  LJMP EXIT</b></p><p>  NCR: J

62、B 05H,QINQIN</p><p>  JB 02H,CC0</p><p>  MOV 30H,31H</p><p>  MOV 31H,32H</p><p>  MOV 32H,33H</p><p><b>  MOV 33H,A</b></p><p>&

63、lt;b>  LJMP CC1</b></p><p>  CC0: MOV 34H,35H</p><p><b>  MOV 35H,A</b></p><p><b>  LJMP CC1</b></p><p>  QINQIN: MOV 2EH,2DH</p>

64、;<p>  MOV 2DH,2CH</p><p>  MOV 2CH,2BH</p><p>  MOV 2BH,2AH</p><p>  MOV 2AH,29H</p><p>  MOV 29H,A </p><p>  CC1: JB 01H,AFTER</p><p

65、>  DJNZ 59H,L1</p><p><b>  LJMP L2</b></p><p>  L1: MOV 3EH,3DH</p><p>  MOV 3DH,3CH</p><p>  MOV 3CH,3BH</p><p>  MOV 3BH,3AH</p>

66、<p>  MOV 3AH,39H</p><p>  L2: MOV 39H,A</p><p><b>  LJMP EXIT</b></p><p><b>  AFTER: </b></p><p><b>  JB 03H,AM</b><

67、/p><p><b>  LJMP NM</b></p><p>  AM: SETB 04H</p><p>  NM: MOV R0,#3AH</p><p>  MOV R7,#05H</p><p><b>  MOV 39H,A</b></p>

68、;<p>  LJMP LLP6 </p><p>  LLP6: MOV @R0,#23</p><p><b>  INC R0</b></p><p>  DJNZ R7,LLP6</p><p><b>  CLR 01H</b></p><p>

69、  EXIT: LCALL DISY</p><p><b>  POP DPL</b></p><p><b>  POP DPH</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p&

70、gt;<p>  DISY: MOV R2,#06H</p><p>  MOV A,#92H</p><p>  MOV DPTR,#5FFFH</p><p>  MOVX @DPTR,A</p><p>  MOV R0,#39H</p><p>  TY11: MOV A,@R0</

71、p><p>  MOV DPTR,#TABL</p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#5EFFH</p><p>  CJNE R2,#4,Q1</p><p><b>  JB 04H,Q1</b></p><p>  ANL

72、 A,#7FH</p><p>  Q1: MOVX @DPTR,A</p><p><b>  INC R0</b></p><p>  DJNZ R2,TY11</p><p><b>  RET</b></p><p>  TABL: DB 0C0H,0F

73、9H,0A4H,0B0H,99H</p><p>  DB 92H,82H,0F8H,80H,90H,88H</p><p>  DB 83H,0C6H,0A1H,86H,8EH,8CH</p><p>  DB 0C1H,89H,0C7H,0BFH,91H</p><p>  DB 00H,0FFH</p><p>

74、<b>  END </b></p><p><b>  四、課程設(shè)計(jì)總結(jié):</b></p><p>  1.在實(shí)現(xiàn)收銀機(jī)基本功能的基礎(chǔ)上,為了完善系統(tǒng),我又增加了一些擴(kuò)展功能:清零功能、找零功能、復(fù)位功能。</p><p>  2.數(shù)字鍵入錯(cuò)誤的問(wèn)題。解決方案:設(shè)置了一個(gè)清零鍵,可以恢復(fù)未輸入錯(cuò)誤數(shù)據(jù)時(shí)的單價(jià)或數(shù)量緩沖

75、單元的數(shù)值。</p><p>  3.單價(jià)和數(shù)量最大輸入長(zhǎng)度問(wèn)題。解決方案:給單價(jià)分配4個(gè)存儲(chǔ)單元(30H—33H),因?yàn)閱蝺r(jià)只能是0.01-99.99元,給數(shù)量分配2個(gè)單元(34H—35H),只能是1-99件。</p><p>  4.通過(guò)這次課程設(shè)計(jì)的學(xué)習(xí),我在剛開(kāi)始的時(shí)候完全不曉得怎樣下手,后來(lái)通過(guò)上網(wǎng)查詢(xún)資料,查詢(xún)相關(guān)的書(shū)籍,詢(xún)問(wèn)同學(xué),慢慢的對(duì)單片機(jī)程序的了解,最后成功的將本次的單

76、片機(jī)實(shí)驗(yàn)報(bào)告完成了,通過(guò)這次單片機(jī)設(shè)計(jì)的學(xué)習(xí),讓我了解到一件事只要認(rèn)真的去完成,總是會(huì)有解決的辦法的,還有必須珍惜同學(xué)關(guān)系這一資源,這會(huì)給你很多幫助</p><p><b>  五、參考資料:</b></p><p>  丁元杰 吳大偉 沈晉源 編單片微機(jī)習(xí)題集與實(shí)驗(yàn)指導(dǎo)書(shū)(第三版)</p><p>  丁元杰主編 單片微機(jī)原理及應(yīng)用(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論