![基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(含完整程序+PCB圖)課程設(shè)計(jì)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c1.gif)
![基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(含完整程序+PCB圖)課程設(shè)計(jì)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c2.gif)
![基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(含完整程序+PCB圖)課程設(shè)計(jì)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c3.gif)
![基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(含完整程序+PCB圖)課程設(shè)計(jì)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c4.gif)
![基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)(含完整程序+PCB圖)課程設(shè)計(jì)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/2/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c/5ad7f03a-95d5-4ae7-911c-2e76ae8c584c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 課題設(shè)計(jì)任務(wù)、功能要求及總體方案1.1 課題設(shè)計(jì)任務(wù)本課程設(shè)計(jì)選題目為:數(shù)字電子鐘。設(shè)計(jì)一個(gè)具有特定功能的電子鐘。1.2 功能要求設(shè)計(jì)的數(shù)字電子鐘上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“p.”, 進(jìn)入時(shí)鐘準(zhǔn)備狀態(tài);第一次按數(shù)字電子鐘啟動(dòng)/調(diào)整鍵,數(shù)字電子鐘從0時(shí)0分0秒開始運(yùn)行,進(jìn)入時(shí)鐘運(yùn)行狀態(tài);再次按數(shù)字電子鐘啟動(dòng)/調(diào)整鍵,則數(shù)字電子鐘進(jìn)入時(shí)鐘調(diào)整狀態(tài),并且時(shí)間停止不動(dòng),此時(shí)可分別利用各調(diào)整鍵調(diào)整時(shí)、分、秒,調(diào)整結(jié)束后可按啟動(dòng)/調(diào)整鍵再次進(jìn)入時(shí)鐘運(yùn)行狀態(tài)。1.3 設(shè)計(jì)總體方案介紹及工作原理說明本課程設(shè)計(jì)采用at89s52單片機(jī)設(shè)計(jì)一個(gè)數(shù)字電子鐘,通過兩個(gè)4位led數(shù)碼管顯示時(shí)、分、秒,并設(shè)
2、有9個(gè)按鍵。其中一個(gè)用于單片機(jī)的復(fù)位;一個(gè)為啟動(dòng)/調(diào)整鍵;兩個(gè)分別為加,減鍵;其他鍵本課題暫不用。電路分為5部分,分別為復(fù)位電路、鍵盤電路、時(shí)鐘電路、顯示電路和控制電路。復(fù)位電路采用按鍵復(fù)位方式。鍵盤電路采用獨(dú)立式鍵盤。時(shí)鐘電路用12mhz的晶振產(chǎn)生時(shí)鐘信號(hào)。顯示電路采用8個(gè)三極管驅(qū)動(dòng)兩個(gè)4位led顯示。控制電路采用8位的at89s52單片機(jī)作為cpu;原理是:時(shí)鐘用t0為時(shí)鐘秒加1中斷,時(shí)間常數(shù)位50ms,每20次加1s,t0用為時(shí)間加1中斷,時(shí)間常數(shù)為50ms,中斷20次時(shí)間加1。其設(shè)計(jì)框圖如圖1.1所示:圖1.1 設(shè)計(jì)方案框圖2 數(shù)字電子鐘硬件系統(tǒng)的設(shè)計(jì)2.1 硬件系統(tǒng)各模塊功能簡要介紹
3、2.1.1 復(fù)位電路復(fù)位是單片機(jī)的硬件初始化操作。經(jīng)復(fù)位操作后,單片機(jī)系統(tǒng)才能開始正常工作。單片機(jī)上有復(fù)位引腳rst,用于外接復(fù)位電路,這里復(fù)位電路采用按鍵電平復(fù)位。2.1.2 時(shí)鐘電路單片機(jī)工作所需的同步時(shí)鐘信號(hào)由以下兩種方法獲得:由單片機(jī)片內(nèi)時(shí)鐘電路結(jié)合外部晶振、電容產(chǎn)生和直接從單片機(jī)外部引入脈沖信號(hào)。這里用第一種方法產(chǎn)生時(shí)鐘信號(hào)。電路用12mhz的石英晶體和二個(gè)微調(diào)電容(為33pf)連接起來接到單片機(jī)的xtal1和xtal2引腳上。2.1.3 鍵盤電路由于按鍵較少,所以此處使用獨(dú)立式鍵盤,鍵盤接到單片機(jī)的p1口上,當(dāng)鍵按下時(shí),在其相應(yīng)的口線上產(chǎn)生低電平信號(hào),鍵松開時(shí)仍為高電平信號(hào)。 2.
4、1.4 顯示電路本顯示電路采用三極管驅(qū)動(dòng)兩個(gè)4位數(shù)碼管段位控端;用單片機(jī)的p2口控制位控;用單片機(jī)的p0口線作段控口,位、段控線上都串入470的限流電阻。 2.2 數(shù)字電子鐘原理圖、pcb圖和元器件布局圖2.2.1 原理圖原理圖見附錄a。2.2.2 pcb圖 pcb圖見附錄b。2.2.3 元器件布局圖 元器件布局圖見附錄c。2.3 數(shù)字電子鐘元器件清單 本課程設(shè)計(jì)元器件清單如表2.1所示:表2.1 數(shù)字電子鐘元器件清單名稱型號(hào)數(shù)量備注單片機(jī)at89s521塊含插座,雙列直插式三極管90129個(gè)電阻47024個(gè)電阻1k 3個(gè)電阻4.7k 1個(gè)上拉排阻10k2片數(shù)碼管4位一體2塊含兩個(gè)插座電容33
5、pf2個(gè)電解電容22f1個(gè)下載線接口1個(gè)雙列10針電源線接口1個(gè)開關(guān)1二極管9個(gè)溫度傳感器18b201個(gè)蜂鳴器1個(gè)插針38個(gè)電阻2001個(gè)晶振12mhz1個(gè)按鍵9個(gè)3 數(shù)字電子鐘軟件系統(tǒng)的設(shè)計(jì)3.1 數(shù)字電子鐘使用單片機(jī)資源情況在電子鐘的編程過程中,單片機(jī)資源使用情況如下:寄存器:通用寄存器的r0r7;位地址:23h(用于保存啟動(dòng)/調(diào)整鍵盤當(dāng)前的狀態(tài));io口線:p0口(作數(shù)碼管的段控口),p2口(作數(shù)碼管的位控口),p1口(作鍵盤接口);堆棧棧底單元地址:60h;定時(shí)器:定時(shí)器0;顯示緩沖單元:78h7fh;秒分時(shí)對(duì)應(yīng)儲(chǔ)存單元:72h77h生成鍵碼出口地址:20h。3.2 數(shù)字電子鐘軟件系統(tǒng)
6、各模塊功能簡要介紹3.2.1 顯示模塊此處將顯示程序編成一個(gè)子程序,要顯示時(shí)調(diào)用顯示子程序即可,顯示程序中顯示的是緩沖區(qū)中的內(nèi)容再調(diào)數(shù)據(jù)表格中顯示代碼,程序中只要將要顯示的內(nèi)容在數(shù)據(jù)表中的位置送往顯示緩沖區(qū)即可,就可以顯示你所需要顯示的內(nèi)容。3.2.2 中斷服務(wù)程序模塊本程序中用了一個(gè)定時(shí)器中斷,所以有中斷服務(wù)程序,是為了使秒自加而使用定時(shí)器中斷,定時(shí)50ms循環(huán)20次到一秒以后,向cpu申請(qǐng)中斷,使秒自加1。3.2.3 鍵盤模塊運(yùn)用直接判斷io口線的方法編成鍵盤掃描程序,來完成用鍵盤監(jiān)控程序的功能,總共用了四個(gè)鍵,其具體的功能上面已經(jīng)敘述過,這里不再贅述,使用鍵盤能夠很準(zhǔn)確的、快速的監(jiān)控系統(tǒng)
7、。3.3 數(shù)字電子鐘軟件系統(tǒng)程序流程框圖3.3.1 主程序流程框圖 主程序員流程框圖如圖3.1所示:圖3.1 主程序流程圖3.3.2 中斷服務(wù)程序流程框圖中斷服務(wù)程序流程圖如圖3.2所示:圖3.2 中斷服務(wù)程序流程圖3.3.3 加1子程序流程框圖加1子程序流程框圖如圖3.3所示:圖3.3 加1子程序流程圖3.3.4 減1子程序流程框圖加1子程序流程框圖如圖3.4所示: 圖3.4 減1子程序流程圖3.3.5 鍵掃子程序流程圖框圖鍵掃子程序流程圖框圖如圖3.5 圖3.5 鍵掃子程序流程圖3.3.6 顯示子程序流程圖框圖顯示子程序流程圖框圖如圖3.6圖3.6 顯示子程序流程圖3.4 數(shù)字電子鐘軟件系
8、統(tǒng)程序清單程序清單詳見附錄d4 仿真與誤差分析4.1 數(shù)字電子鐘的設(shè)計(jì)結(jié)論及使用說明本課程設(shè)計(jì)的目的是設(shè)計(jì)一個(gè)電子鐘,通過原理圖的繪制,pcb板的制作,最終做出的實(shí)物是成功的,能夠達(dá)到預(yù)期的目的,以下本次所作電子鐘的具體的使用說明:電子鐘上電后,最高位顯示p.,按下啟動(dòng)/調(diào)整鍵,電子鐘從0時(shí)0分0秒開始自動(dòng)運(yùn)行,再次按下啟動(dòng)/調(diào)整鍵,電子鐘運(yùn)行停止,處于調(diào)整狀態(tài),按下加減鍵,可以實(shí)現(xiàn)時(shí)、分、秒加鍵1,這樣可以實(shí)現(xiàn)時(shí)、分、秒的累加調(diào)整,再次按下啟動(dòng)/調(diào)整鍵,電子鐘自動(dòng)運(yùn)行起來,處于運(yùn)行狀態(tài),調(diào)整結(jié)束。4.2 設(shè)計(jì)課題的仿真結(jié)果如圖4.1、4.2所示:圖4.1 顯示p.仿真結(jié)果圖4.2 運(yùn)行仿真結(jié)
9、果4.3 設(shè)計(jì)課題的誤差分析本課程設(shè)計(jì)存在一定誤差,引起誤差原因主要是程序中定時(shí)后很多指令引起的時(shí)間誤差。經(jīng)過測試10小時(shí),時(shí)鐘慢25秒,則每秒鐘慢2.5/3600=0.6944ms,50ms中斷一次,20次中斷為1秒,因此每次中斷比標(biāo)準(zhǔn)慢0.6944/20=0.03472ms.th0tl0=65536-(50-0.03472)*1000/1=15570=3cd2h。將原來中斷初值th0tl0=3cb0h改為th0tl0=3cd2h。4.4 數(shù)字電子鐘設(shè)計(jì)體會(huì)本次做課程設(shè)計(jì),從硬件方面說,我認(rèn)為本次設(shè)計(jì)的重點(diǎn)在于單片機(jī)的最小系統(tǒng),若單片機(jī)的最小系統(tǒng)不能正常工作,那后面一切都免談;從軟件方面說,
10、我編程的思路就是從簡單到難,一步一步實(shí)現(xiàn)各個(gè)功能。這個(gè)電子鐘的程序重點(diǎn)在于調(diào)整鍵功能程序和中斷服務(wù)程序的編寫,這兩個(gè)小模塊編好了,就很容易了。在做課程設(shè)計(jì)的過程中,學(xué)到很多東西,比如說做pcb板的技術(shù)有了很大的提高,再比如說,自己通過編電子鐘的程序,使自己對(duì)匯編指令的應(yīng)用越來越熟練,編程的能力也有了較大提高。在制作電子鐘的過程中,遇到的問題都能嘗試去自己解決,比如說調(diào)試程序,檢查線路等等,使自己發(fā)現(xiàn)問題、解決問題的能力大大提高。4.5 教學(xué)建議 通過一個(gè)學(xué)期的單片機(jī)課,我生生的體會(huì)到了什么叫名師;誠然,王老師總說自己不是名師,但我們真的得尊稱你為名師。 在這里我只是覺得我們的動(dòng)手能力還是太差了
11、,還得增加實(shí)踐的動(dòng)手!讓我們多做幾塊板子,即使我們心有不情愿,還需老師一如既往的加壓!參考文獻(xiàn) 1 李廣第,朱月秀,冷祖祁.單片機(jī)基礎(chǔ)m.第三版.北京:航空航天大學(xué)出版社,2007.18-152 li guangdi,zhu yuexiu,leng zuqi.scmcbasism.the third edition.beijing: aerospace university press,2007.18-152 2 邱麗芳,彭志剛,胡漢輝.單片機(jī)原理與應(yīng)用 .第二版.北京:人民郵電出版社,2009.7-259 qiu lifang,peng zhigang,hu hanhui.single-ch
12、ip microcomputer principle and application. the second edition. beijing: beijing peoples telephone and postal press ,2009.7-259致 謝在本課程設(shè)計(jì)進(jìn)行過程中得到王韌老師的悉心指導(dǎo),還有很多同學(xué)的幫助。王老師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,踏實(shí)堅(jiān)韌的工作精神,將使我終生受益。在此,謹(jǐn)向老師和幫助我的同學(xué)致以誠摯的謝意和崇高的敬意。 附 錄 a原理圖附 錄 bpcb頂層圖pcb底層圖 附 錄 c 元器件布局圖附 錄 d程序清單:;*;項(xiàng)目名稱:數(shù)字電子鐘;設(shè)計(jì)者:譚育奇;設(shè)計(jì)日期:20
13、10年12月29日;*;堆棧棧底60h;*;led數(shù)碼管顯示器設(shè)定;p0.7-p0.0段控線,接led的顯示段dp,g,f,e,d,c,b,a;p2.7-p2.0位控線,從左至右(led7,led6,led5,led4,led3,led2,led1,led0);顯示緩沖區(qū)設(shè)定從左至右依次為7fh,7eh,7dh,7ch,7bh,7ah,79h,78h(led4,led5,led6,led7,led0,led1,led2,led3);時(shí)十位,時(shí)個(gè)位,分十位,分個(gè)位,秒十位,秒個(gè)位對(duì)應(yīng)的儲(chǔ)存單元是(77h,76h,75h,74h,73h,72h);鍵值放在20h單元;*;獨(dú)立式鍵盤設(shè)定;8個(gè)按鍵s
14、2至s9分別依次接在p1.0至p1.7口線;s2鍵為啟動(dòng)/調(diào)整;s4、s5為加、減鍵 ;* ;子程序;disp(數(shù)碼管顯示子程序);key(鍵掃子程序);dl(1毫秒延時(shí)子程序,晶振頻率12mhz);take(更新緩沖區(qū)子程序);*;常數(shù)表格;tab(共陽數(shù)碼管字型代碼表);tab1(位控序號(hào)表);disbh(系統(tǒng)提示符p.字型代碼序號(hào)表);*;時(shí)分秒的十位和個(gè)位分別偽定義 secge equ 72h secshi equ 73h fenge equ 74h fenshi equ 75h shige equ 76h shishi equ 77h;*;鍵值偽定義 s2b bit 20h.0 s3
15、b bit 20h.1 s4b bit 20h.2 s5b bit 20h.3 s6b bit 20h.4 s7b bit 20h.5 s8b bit 20h.6 s9b bit 20h.7;*;主程序org 0000h start: ljmp main ;主程序入口地址 org 000bh ljmp tc0 org 0030h main: mov sp, #60h ;堆棧初始化;*;定時(shí)器初始化 mov tmod ,#11h mov th0 ,#3ch mov tl0 ,#0b0h mov ie ,#8ah ;允許定時(shí)器0中斷;* mov psw ,#00h ;psw初始化 mov r0 ,
16、#20h ;ram區(qū)首地址 mov r7 ,#5fh ;ram區(qū)單元個(gè)數(shù) ml: mov r0 ,#00h ;ram初始化 inc r0 djnz r7 ,ml clr 23h.0 ;停止是否按下判斷位 clr 23h.1 clr 23h.2 ;調(diào)整鍵按下判斷位 clr 23h.3 ;啟動(dòng)停止判斷位 push psw ;改變當(dāng)期寄存器為2組 setb rs1 clr rs0 mov r1 ,#200 mov r5 ,#20 ;設(shè)定中斷服務(wù)程序循環(huán)次數(shù) mov r6 ,#0 ;判調(diào)整鍵按下的次數(shù) mov r7 ,#25 ;按鍵是若不松開調(diào)顯示的次數(shù) pop psw tsf: mov dptr ,
17、#disbh ;系統(tǒng)初始化后提示符“p.”字符代碼表首地址 mov r1 ,#00h mov r5 ,#08h mov r0 ,#78hdisptsf: mov a ,r1 movc a ,a+dptr mov r0 ,a inc r0 inc r1 djnz r5 ,disptsf ;調(diào)顯示子程序顯示提示符“p.” tt: lcall disp lcall key mov a ,20h jz tt;*;鍵判斷程序 jb s2b ,s22 jb s4b ,s44 jb s5b ,s55 jb s3b ,s3 jb s6b ,s6 jb s7b ,s7 jb s8b ,s8 jb s9b ,s9
18、 ljmp tt;*;鍵功能程序s22: ljmp s2s44: ljmp s4 s55: ljmp s5 s3: nop ljmp tt s6: nop ljmp tt s7: nop ljmp tt s8: nop ljmp tt s9: nop ljmp tt;啟動(dòng)停止鍵功能程序 s2: push psw ;改變通用寄存器組為2組 setb rs1 clr rs0 jb 23h.0 ,szt jb 23h.4 ,s2tz ;23h.4為0執(zhí)行啟動(dòng)程序,否則轉(zhuǎn)向停止程序 setb 23h.4 setb tr0 clr 23h.2 jb 23h.1 ,s2d1 ;23h.1為1轉(zhuǎn)向啟動(dòng)程序結(jié)
19、束 setb 23h.1 ;第一次啟動(dòng)電子鐘,標(biāo)志位置1 mov secshi ,#0 mov secge ,#0 mov fenshi ,#0 mov fenge ,#0 mov shishi ,#0 mov shige ,#0 s2d1: lcall key ;判鍵是否松開 jb s2b ,s2d1 ljmp ss2 s2tz: clr tr0 ;停止程序 setb 23h.0 clr 23h.4 s2d2: lcall key ;判鍵是否松開 jb s2b ,s2d2 ljmp ss2 szt: jnb 23h.0 ,ss2 ;判停止鍵是否按下,沒有按下轉(zhuǎn)向結(jié)束程序 lcall dl s
20、etb 23h.2 ;調(diào)整鍵按下,置1 cjne r6 ,#00h ,s2s ;是第一次按下調(diào)整鍵嗎 inc r6 ;調(diào)整鍵的次數(shù)加1 s2s1: lcall key jb s2b ,s2s1 ljmp ss2 s2s: cjne r6 ,#01h ,s2f ;是第二次按下調(diào)整鍵嗎 inc r6 ;調(diào)整鍵次數(shù)加1 s2s2: lcall key jb s2b ,s2s2 ljmp ss2 s2f: mov r6 ,#00h ;第三次按下調(diào)整鍵,把按下調(diào)整鍵的次數(shù)置0 s2s3: lcall key jb s2b ,s2s3 ss2: lcall take pop psw ljmp tt;*;加
21、1鍵功能程序 s4: push psw ;改變通用寄存器為2組 setb rs1 clr rs0 jnb 23h.2 ,s3g ;判調(diào)整鍵是否按下 cjne r6 ,#01h ,s3f ;停止鍵按下的次數(shù)是1次嗎? lcall take3 ;時(shí)加1 cjne r2 ,#24h ,s3d1 ;24小時(shí)到了嗎 mov shishi ,#00h mov shige ,#00h s3d1: lcall disp ;延時(shí)0.2秒 djnz r7 ,s3d1 mov r7 ,#25 ljmp s3g s3f: cjne r6 ,#02h ,s3m ;停止鍵按下的次數(shù)是2次嗎? lcall take2 ;分
22、加1 cjne r3 ,#60h ,s3d2 ;60分到了嗎 mov fenshi ,#00h mov fenge ,#00h s3d2: lcall disp ;延時(shí)0.2秒 djnz r7 ,s3d2 mov r7 ,#25 ljmp s3g s3m: lcall take1 ;秒加1 cjne r4 ,#60h ,s3d3 ;60秒到了嗎 mov secshi ,#00h mov secge ,#00h s3d3: lcall disp ;延時(shí)0.2秒 djnz r7 ,s3d3 mov r7 ,#25 s3g: lcall take pop psw ljmp tt;*;減1鍵功能程序
23、s5: push psw setb rs1 clr rs0 jnb 23h.2 ,s4g cjne r6 ,#01h ,s4f ;停止鍵按下的次數(shù)是1次嗎 s4dy: lcall take7 ;時(shí)減1 s4d1: lcall disp ;延時(shí)0.2秒 djnz r7 ,s4d1 mov r7 ,#25 ljmp s4g s4f: cjne r6 ,#02h ,s4m ;停止鍵按下的次數(shù)是2次嗎 lcall take6 ;分減1 s4d2: lcall disp djnz r7 ,s4d2 mov r7 ,#25 ljmp s4g s4m: cjne r6 ,#00h ,s4g ;停止鍵按下的次
24、數(shù)是3次嗎 lcall take5 ;秒減1 s4d3: lcall disp djnz r7 ,s4d3 mov r7 ,#25 s4g: lcall take pop psw ljmp tt ;*;常數(shù)表格區(qū);系統(tǒng)初始化后提示符“p.”字符代碼表 disbh: db 11h,10h,10h,10h,10h,10h,10h,10h ;顯示字符段選碼表(共陽極代碼) tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h db 90h, 0ffh,0ch,0bfh tab1: db 0efh,0dfh,0bfh,07fh,0feh,0fdh,0fbh,
25、0f7h;*;延時(shí)1毫秒子程序 dl: mov r7 ,#02h dl1: mov r6 ,#0ffh dl2: djnz r6 ,dl2 djnz r7 ,dl1 ret;*;顯示子程序;入口:78h,79h,7ah,7bh,7ch,7dh,7eh,7fh disp: push dph push dpl push acc push psw clr rs1 ;改變當(dāng)前寄存器組為組1 setb rs0 mov r7 ,#08h mov r1 ,#78h ;顯示緩沖存儲(chǔ)單元首地址 mov r0 ,#00h ;從左至右顯示 disp1: mov a ,r1 mov dptr ,#tab movc a
26、 ,a+dptr mov p0 ,a ;送段控 mov a ,r0 mov dptr ,#tab1 movc a ,a+dptr mov p2 ,a ;送位控 lcall dl ;延時(shí)1毫秒 djnz r7 ,disp2 inc r1 inc r0 ljmp disp1 disp2: pop psw ;恢復(fù)當(dāng)前寄存器組的組號(hào) pop acc pop dpl pop dph ret;*;8個(gè)按鍵s2至s9分別依次接在p1.0至p1.7口線;鍵掃子程序key;出口:b,20h key: lcall keychuli ;調(diào)鍵處理子程序 jz exit lcall disp ;去抖動(dòng) lcall di
27、sp lcall keychuli ;調(diào)鍵處理子程序 jz exit ; mov b ,20h ;保存鍵值 keysf: lcall keychuli ;調(diào)鍵處理子程序 jz key1 ;按鍵釋放,準(zhǔn)備退出key子程序 lcall disp key1: mov 20h ,b ;恢復(fù)鍵值 exit: ret;鍵處理子程序keychuli;出口:a,20hkeychuli: mov p1 ,#0ffh ;先向p1口寫1 mov a ,p1 cpl a anl a ,#04h mov 20h ,a ;保存取反后的鍵值 ret;*;更新緩沖區(qū)子程序 take: mov 78h ,shishi mov
28、79h ,shige mov 7ah ,#12h mov 7bh ,fenshi mov 7ch ,fenge mov 7dh ,#12h mov 7eh ,secshi mov 7fh ,secge ret;*;數(shù)字處理子程序 take1: push psw ;秒加1子程序 setb rs1 ;改變當(dāng)期寄存器為2組 clr rs0 mov a ,secshi swap a mov r4 ,a mov a ,secge orl a ,r4 add a ,#01h da a mov r4 ,a swap a anl a ,#0fh mov secshi ,a mov a ,r4 anl a ,#
29、0fh mov secge ,a pop psw ret take2: push psw ;分加1子程序 setb rs1 clr rs0 mov a ,fenshi swap a mov r3 ,a mov a ,fenge orl a ,r3 add a ,#01h da a mov r3 ,a swap a anl a ,#0fh mov fenshi ,a mov a , r3 anl a ,#0fh mov fenge ,a pop psw ret take3: push psw ;時(shí)加1子程序 setb rs1 clr rs0 mov a ,shishi swap a mov r2 ,a mov a ,shige orl a ,r2 add a ,#01h da a mov r2 ,a swap a anl a ,#0fh mov shishi ,a mov a ,r2 anl a ,#0fh mov shige ,a pop psw ret take5: push psw ;秒減1程序 setb rs1 clr rs1 mov a ,secshi swap a mov r4
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版申通快遞快遞運(yùn)輸服務(wù)協(xié)議范本3篇
- 二零二五年度寵物領(lǐng)養(yǎng)服務(wù)合同標(biāo)準(zhǔn)范本2篇
- 紡織行業(yè)紡織培訓(xùn)
- 二零二五版國際貨運(yùn)代理業(yè)投資監(jiān)管細(xì)則3篇
- 酒店管理的管理技能
- 二零二五年度物流倉儲(chǔ)行業(yè)搬運(yùn)工勞務(wù)派遣服務(wù)協(xié)議3篇
- 二零二五年度個(gè)人與企業(yè)個(gè)人間文化藝術(shù)交流活動(dòng)合同規(guī)范3篇
- 二零二五年度跨境電商品牌授權(quán)區(qū)域代理銷售委托代銷合同3篇
- 二零二五年度個(gè)人教育培訓(xùn)貸款合同模板2篇
- 二零二五年度入學(xué)新生教育法律協(xié)議書(全面創(chuàng)新發(fā)展)3篇
- 致命性大出血急救專家共識(shí)
- 住院成人高血糖患者血糖監(jiān)測醫(yī)護(hù)協(xié)議處方共識(shí)
- DL-T5816-2020分布式電化學(xué)儲(chǔ)能系統(tǒng)接入配電網(wǎng)設(shè)計(jì)規(guī)范
- 2024年4月自考00832英語詞匯學(xué)試題
- 競賽試卷(試題)-2023-2024學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版
- 《電力用直流電源系統(tǒng)蓄電池組遠(yuǎn)程充放電技術(shù)規(guī)范》
- T-ACEF 095-2023 揮發(fā)性有機(jī)物泄漏檢測紅外成像儀(OGI)技術(shù)要求及監(jiān)測規(guī)范
- 骨科手術(shù)的術(shù)后飲食和營養(yǎng)指導(dǎo)
- 旅游定制師入行培訓(xùn)方案
- 2024年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 六年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題100題
評(píng)論
0/150
提交評(píng)論