freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機控制的秒表系統(tǒng)word格式-預(yù)覽頁

2025-01-08 09:42 上一頁面

下一頁面
 

【正文】 就是在 XTAL1 和 XTAL2 之間連接晶體震蕩器與電容構(gòu)成多功能秒表的設(shè)計 6 穩(wěn)定的自激震蕩器 。對電容無嚴格要求,但它在取直對震蕩頻率輸出的穩(wěn)定性、大小及震蕩電路起震蕩速度有一點影響。 晶振電路圖如下: X1CR Y S T A LC13 0 pC23 0 p 復(fù)位電路 MCS51 單片機的復(fù)位是靠外部電路實現(xiàn)的。我們采用的是數(shù)碼管顯示電路。和顯示電路相同,鍵盤掃描電路的優(yōu)點就是節(jié)省 I/O 口,但編程有些復(fù)雜,為了使程序簡化,我們采用的是按鍵電路。 經(jīng)過任務(wù)分析、算法優(yōu)化后,就可以進行程序的總體構(gòu)思,確定程序的結(jié)構(gòu)和數(shù)據(jù)形式,并考慮資源的分配和參數(shù)的計算等 。 模塊化的程序設(shè)計方法具有明顯的優(yōu)點。設(shè)定寄存器的初始值 MOV R1,44H MOV R3,00H MOV R4,00H MOV R7,64H SETB EA 。開定時器 0 MOV P0,0C0H 。 鍵盤掃描程序 KEYGOARD: JB ,START1 ;判斷開始鍵是否按下 LCALL DELAY10 。延時 10 毫秒觸點消抖 JB ,KEYGOARD 。如果是干擾就返回 JB ,KUAIJIA JNB ,$ LCALL PAGEUP ;調(diào)用上翻程序 LJMP KEYGOARD ;返回鍵盤掃描程序 START3: JB ,KEYGOARD 。當(dāng)有按鍵按下來的時候,首先要判斷是不是抖動,如果 是抖動,則不執(zhí)行任何操作,程序繼續(xù)掃描按鍵;如果不是抖動,就跳到相應(yīng)的子程序去執(zhí)行相 應(yīng)的操作。 倒計時的時候,程序從計數(shù)初值開始倒計時,當(dāng)減到 0 后,程序就會自動停止。調(diào)用延時 程序 LCALL XIANSHI ;調(diào)用顯示程序 INC R3 CJNE R3,0AH,MAN ;判斷個位到不到 9 MOV R3,00H ;對個位賦 0 INC R4 CJNE R4,0AH,MAN ;判斷十位到不到 9 MOV R4,00H ;對十位賦 0 LCALL XIANSHI ;調(diào)用顯示程序 MAN: JB ,STOP ;判斷 的狀態(tài) LJMP F STOP: LCALL XIANSHI LJMP KEYGOARD ;跳回鍵盤掃描程序 。 翻頁程序 PAGEUP: CJNE R0,43H,LOOP2 ;判斷是否翻到第四個數(shù) MOV R0,3FH ;讓指針循環(huán) MOV R1,43H LOOP2: INC R0 ;指針自加一 INC R1 MOV A,R0 ;將存儲的數(shù)據(jù)輸入的顯示寄存器中 MOV R3,A MOV A,R1 MOV R4,A LCALL XIANSHI ;調(diào)用顯示程序 RET PAGEDOWN: ;下翻程序 CJNE R1,44H,LOOP3 ;循環(huán)的判斷 MOV R0,44H MOV R1,48H LOOP3: DEC R0 ;指針自減一 DEC R1 MOV A,R0 ;將數(shù)據(jù)輸入到顯示寄存器中 多功能秒表的設(shè)計 13 MOV R3,A MOV A,R1 MOV R4,A LCALL XIANSHI ;調(diào)用顯示程序 RET ;返回指令 在計數(shù)過程中,每按一次計數(shù)鍵,就會將一個數(shù)據(jù)存入到相應(yīng)的內(nèi)存單元中,當(dāng)記錄完四個數(shù)據(jù)后,我們就可以用翻頁鍵查看所記錄的成績。等待按鍵松開 ZT1: JB ,$ 。等待按鍵松開 FAN: RETI 程序的暫停功能用中斷實現(xiàn)。 計數(shù)程序 COUNTING:PUSH ACC ;壓棧保護 PUSH PSW DJNZ R7,PPP ;判斷 R7 的狀態(tài) MOV R7,64H JB , JIAN ;根據(jù) 的狀態(tài)程序跳到不同的地方 AJMP COUNT ;加計數(shù)子程序 COUNT: INC R3 多功能秒表的設(shè)計 14 CJNE R3,0AH,RETURN ;判斷個位 MOV R3,00H INC R4 CJNE R4,0AH,RETURN ;判斷十位 MOV R4,00H BBB: MOV TH0,0D8H ;給定時器裝入計數(shù)初值 MOV TL0,0F0H SETB TR0 LJMP RETURN ;跳出中斷 PPP:MOV TH0,0D8H ;減計數(shù)子程序 MOV TL0,0F0H SETB TR0 LJMP RETURN JIAN: CJNE R3,00H,AAA ;判斷是否為 0 CJNE R4,00H,AAA AJMP RETURN ;跳出中斷 AAA: DEC R3 CJNE R3,0FFH,RETURN MOV R3,09H DEC R4 LJMP BBB RETURN: POP PSW ;彈出堆棧 POP ACC LCALL XIANSHI ;調(diào)用顯示程序 RETI ;跳出中斷 當(dāng)定時器計數(shù)完以后,就會形成一次中斷。 在進行減計數(shù)時,還要判斷初始值是不是 0,若初始值為 0,則程序就不往下執(zhí)行。 顯示子程序 MOV A ,R3 。寄存器 R3 中存放著個位的數(shù), R4 中存放的是十位的數(shù)。然后根據(jù)我們的軟件在 PROTEUS 中設(shè)計出相應(yīng)的硬件電路,并將該電路保存到與WAVE 程序相同的文件夾中,最后將程序裝載到單片機中,通過 PROTEUS 仿真,看程序是否能夠?qū)崿F(xiàn)預(yù)想的功能。 2) 在運行 PROTEUS 仿真圖之前,必須先裝載文件,要不然程序也無法正常運行。 6)在實現(xiàn)減計數(shù)功能的時候,我們的設(shè)計是時間到零后自動停止計數(shù),而不是循環(huán)減下去。若把 LJMP 命令加到中斷程序的外面,則不會出現(xiàn)問題。 4) 當(dāng)進行倒計時的時候, 必須控制程序使其到零的時候自動停止,否則會出現(xiàn)亂碼,或者循環(huán)計數(shù) ,從而失去倒計時的意義。 8) 有些指令在編譯時會提示跳轉(zhuǎn)出范 圍,比如 JB 指令和 AJMP 指令,這時可以將所調(diào)用的子程序調(diào)換一下位置,或者換用其他的指令。 硬件系統(tǒng)設(shè)計: 心得體會 通 過本次課程設(shè)計,我學(xué)到了很多東西,這些東西都是平 常在課堂上學(xué)不到 的。 3) 通過對一些資料的查詢和上網(wǎng)搜索,了解了一些比較常用的 小程序,比如延時程序,消抖程序,以及顯示子程序等等,對以后的編程 很有用。 5) 通過課程設(shè)計,我覺得自己利用匯編語言編寫程序的能力有了提高。 首先 , 在設(shè)計程序之前,我們首先要對單片機應(yīng)用系統(tǒng)需要完成的任務(wù)進行深入的分析,明確系統(tǒng)的設(shè)計任務(wù)、功能要求和技術(shù)指標,然后把我們需要完成的任務(wù)分成許多小的子任務(wù),分別實現(xiàn)。然后根據(jù)程序運行的過程,勾畫出程序執(zhí)行的邏輯順序,用圖形符號將總體設(shè)計思路及程序流向繪制在平面圖上,從而使程序的結(jié)構(gòu)關(guān)系直觀明了,便于檢查和修改。設(shè)定寄存器的初始值 MOV R1,44H MOV R3,00H MOV R4,00H MOV R7,64H SETB EA 。設(shè)置定時器 0 MOV TH0,0D8H MOV TL0,0F0H CLR 多功能秒表的設(shè)計 27 CLR 。等待按鍵松開 LJMP GN1 。循環(huán)判斷開始按鈕 K2 是否按下 ? LCALL DELAY10 。延時 10 毫秒觸點消抖 JB ,KEYGOARD 。倒計時 GN2: SETB SETB TR0 CJNE R3,00H,AA CJNE R4,00H,AA LJMP KEYGOARD AA: CJNE R3,00H,AA CJNE R4,00H,AA LJMP KEYGOARD 。外部中斷 0 中斷程序 PAUSE: LCALL DELAY10 。延時 10 毫秒觸點消抖 JB ,ZT1 。延時 10 毫秒消抖 JB ,FANHUI JNB ,$ 。掃描個位上的數(shù)字 MOV DPTR ,TABLE MOVC A ,A+DPTR 多功能秒表的設(shè)計 33 MOV P2 ,A MOV A ,R
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1