版權(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> 電子秒表設(shè)計(jì)報(bào)告</b></p><p><b> 設(shè)計(jì)要求:</b></p><p> 用89C51,外接晶振,復(fù)位電路,二個(gè)數(shù)碼管,二個(gè)按鍵,做一個(gè)電子秒表,具體要求為用按鍵起停電子表,可用按鍵設(shè)計(jì)倒計(jì)時(shí)時(shí)間(如10S,20S,60S),并啟動(dòng)倒計(jì)時(shí)功能。能用按鍵選擇以上兩功能之一。</p>&
2、lt;p><b> 實(shí)現(xiàn)原理:</b></p><p> 利用12M晶振的一個(gè)機(jī)器周期為1微秒,通過(guò)循環(huán)產(chǎn)生1秒時(shí)間延遲,掃描單片機(jī)中所存放的時(shí)間的值(可正記時(shí),也可倒計(jì)時(shí)),并通過(guò)輸出顯示在數(shù)碼管上。</p><p><b> 電路圖:</b></p><p> p0.0—p0.7對(duì)應(yīng)了兩個(gè)接數(shù)碼管的A,B
3、,C,D,E,F,G和小數(shù)點(diǎn)位,p2.6接顯示個(gè)位數(shù)的數(shù)碼管的3、8引角,p2.7則接十位數(shù)的。p3.6、p3.7分別接按鍵。</p><p><b> 流程框圖:</b></p><p><b> 程序代碼:</b></p><p> a_bit equ 20h ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置</p>&
4、lt;p> b_bit equ 21h ;數(shù)碼管十位數(shù)存放內(nèi)存位置</p><p> temp equ 22h ;計(jì)數(shù)器數(shù)值存放內(nèi)存位置</p><p><b> ;開(kāi)機(jī)初始化</b></p><p> MOV P3,#0FFH;對(duì)P3口初始化,設(shè)置為高電平,用于按鍵輸入</p><p> MOV P0
5、,#0FFH;使顯示時(shí)間數(shù)碼管熄滅</p><p><b> ;等待按鍵輸入</b></p><p> ;根據(jù)按鍵的輸入判斷執(zhí)行什么功能</p><p> ;按鍵1按下則執(zhí)行功能1</p><p> START:JB P3.6,$;循環(huán)判斷開(kāi)始按鈕K1是否按下?</p><p> ACA
6、LL DELAY10;延時(shí)10毫秒觸點(diǎn)消抖</p><p> JB P3.6,START1;如果是干擾就返回</p><p> JNB P3.6,$;等待按鍵松開(kāi)</p><p> ljmp gn1 </p><p><b> ;</b></p><p> 按鍵2按下則執(zhí)行功能
7、2</p><p> start1: jb p3.7,$;循環(huán)判斷開(kāi)始按鈕K2是否按下? </p><p> ACALL DELAY10;延時(shí)10毫秒觸點(diǎn)消抖</p><p> JB P3.7,START;如果是干擾就返回</p><p> jnb p3.7,$</p><p><b> ljmp
8、 gn2</b></p><p> ;數(shù)碼管顯示秒表時(shí)間的程序</p><p> gn1: ;先初始化</p><p> MOV P3,#0FFH;對(duì)P3口初始化,設(shè)置為高電平,用于按鍵輸入</p><p> MOV P0,#0FFH;使顯示時(shí)間數(shù)碼管熄滅</p><p><b>
9、 mov a,#0</b></p><p> mov temp,a </p><p> goon1: MOV R2,#2</p><p> js1: MOV R3,#250</p><p> TIME1: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 </p><p>
10、; mov b,#10 ;10進(jìn)制/10=10進(jìn)制</p><p><b> div ab</b></p><p> mov b_bit,a ;十位在a</p><p> mov a_bit,b ;個(gè)位在b</p><p> mov dptr,#numtab ;指定查表啟始地址</p><p
11、> mov r0,#4 </p><p> dpl1: mov r1,#250 ;</p><p> dplop1: mov a,a_bit ;取個(gè)位數(shù)</p><p> MOVC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼</p><p> mov p0,a ;送出個(gè)位的7段代碼</p><p>
12、 mov p0,a ;送出個(gè)位的7段代碼</p><p> clr p2.7 ;開(kāi)個(gè)位顯示</p><p> ACALL DELY1;顯示1毫秒</p><p> setb p2.7;關(guān)閉個(gè)位顯示,防止鬼影</p><p> mov a,b_bit ;取十位數(shù)</p><p> MOVC A,@A+DP
13、TR ;查十位數(shù)的7段代碼</p><p> mov p0,a ;送出十位的7段代碼</p><p> clr p2.6 ;開(kāi)十位顯示</p><p> ACALL DELY1;顯示1毫秒</p><p> setb p2.6;關(guān)閉十位顯示,防止鬼影</p><p> ;插入一段判斷定時(shí)過(guò)程中是否有按鍵輸入的
14、程序段</p><p> C1: JB P3.6,B1</p><p> ACALL DELAY10;延時(shí)10毫秒消抖</p><p> JB P3.6,C1</p><p> JNB P3.6,$;等待按鍵松開(kāi)</p><p> zt1: MOV P3,#0FFH;對(duì)P3口初始化,設(shè)置為高電平
15、,用于按鍵輸入</p><p> jb p3.6,$;循環(huán)判斷開(kāi)始按鈕K1是否按下?</p><p> ACALL DELAY10;延時(shí)10毫秒觸點(diǎn)消抖</p><p> JB P3.6,zt1;如果是干擾就返回</p><p> JNB P3.6,$;等待按鍵松開(kāi)</p><p> B1: JB P
16、3.7,loop1</p><p> ACALL DELAY10;延時(shí)10毫秒消抖</p><p> JB P3.7,B1</p><p> JNB P3.7,$;等待按鍵松開(kāi)</p><p><b> AJMP OVER</b></p><p> loop1: djnz r3,TI
17、ME1 ;2毫秒循環(huán)執(zhí)行250次,時(shí)間約0.5秒</p><p> djnz r2,js1 ;循環(huán)執(zhí)行2次,時(shí)間為1 秒鐘</p><p> inc TEMP;滿(mǎn)一秒鐘對(duì)時(shí)間加1</p><p> MOV A,TEMP</p><p><b> clr c</b></p><p&g
18、t; subb a,#60</p><p> JNZ goon1;判斷TEMP的數(shù)值是否為60?不為60循環(huán) </p><p> acall over</p><p><b> ret</b></p><p> gn2: mov a,#14h ; 設(shè)定倒計(jì)時(shí)的時(shí)間20S</p><p
19、> mov temp,a</p><p> ;數(shù)碼管顯示倒計(jì)時(shí)時(shí)間的程序</p><p><b> ;初始化</b></p><p> MOV P3,#0FFH;對(duì)P3口初始化,設(shè)置為高電平,用于按鍵輸入</p><p> MOV P0,#14H;使顯示時(shí)間為設(shè)定的倒計(jì)時(shí)時(shí)間</p><
20、;p> goon2: MOV R2,#2</p><p> js2: MOV R3,#250</p><p> TIME2: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 </p><p> mov b,#10 ;10進(jìn)制/10=10進(jìn)制</p><p><b> div ab<
21、;/b></p><p> mov b_bit,a ;十位在a</p><p> mov a_bit,b ;個(gè)位在b</p><p> mov dptr,#numtab ;指定查表啟始地址</p><p> mov r0,#4 </p><p> dpl2: mov r1,#250 ;</p&
22、gt;<p> dplop2: mov a,a_bit ;取個(gè)位數(shù)</p><p> MOVC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼</p><p> mov p0,a ;送出個(gè)位的7段代碼</p><p> mov p0,a ;送出個(gè)位的7段代碼</p><p> clr p2.7 ;開(kāi)個(gè)位顯示</p&g
23、t;<p> ACALL DELY1;顯示1毫秒</p><p> setb p2.7;關(guān)閉個(gè)位顯示,防止鬼影</p><p> mov a,b_bit ;取十位數(shù)</p><p> MOVC A,@A+DPTR ;查十位數(shù)的7段代碼</p><p> mov p0,a ;送出十位的7段代碼</p>
24、<p> clr p2.6 ;開(kāi)十位顯示</p><p> ACALL DELY1;顯示1毫秒</p><p> setb p2.6;關(guān)閉十位顯示,防止鬼影</p><p> ;插入一段判斷定時(shí)過(guò)程中是否有按鍵輸入的程序段</p><p> C2: JB P3.6,B2</p><p>
25、ACALL DELAY10;延時(shí)10毫秒消抖</p><p> JB P3.6,C2</p><p> JNB P3.6,$;等待按鍵松開(kāi)</p><p> zt2: MOV P3,#0FFH;對(duì)P3口初始化,設(shè)置為高電平,用于按鍵輸入</p><p> jb p3.6,$;循環(huán)判斷開(kāi)始按鈕K1是否按下?</p>
26、<p> ACALL DELAY10;延時(shí)10毫秒觸點(diǎn)消抖</p><p> JB P3.6,zt2;如果是干擾就返回</p><p> JNB P3.6,$;等待按鍵松開(kāi)</p><p> B2: JB P3.7,loop2</p><p> ACALL DELAY10;延時(shí)10毫秒消抖</p>&
27、lt;p> JB P3.7,B1</p><p> JNB P3.7,$;等待按鍵松開(kāi)</p><p><b> AJMP OVER</b></p><p> loop2: djnz r3,TIME2 ;2毫秒循環(huán)執(zhí)行250次,時(shí)間約0.5秒</p><p> djnz r2,js2 ;循環(huán)
28、執(zhí)行2次,時(shí)間為1 秒鐘</p><p> dec TEMP;滿(mǎn)一秒鐘對(duì)時(shí)間加1</p><p> MOV A,TEMP</p><p> JNZ goon2;判斷TEMP的數(shù)值是否為0?不為0循環(huán) </p><p> acall over</p><p><b> ret</b><
29、;/p><p><b> ;結(jié)束定時(shí)</b></p><p> OVER: AJMP START;退到開(kāi)機(jī)初始化狀態(tài)</p><p><b> ;1毫秒延時(shí)子程序</b></p><p> DELY1: MOV R4,#2</p><p> D1:MOV R5,#2
30、48</p><p><b> DJNZ R5,$</b></p><p> DJNZ R4,D1</p><p><b> RET</b></p><p> ;10毫秒延時(shí)子程序</p><p> DELAY10: MOV R4,#20</p>&l
31、t;p> D2:MOV R5,#248</p><p><b> DJNZ R5,$</b></p><p> DJNZ R4,D2</p><p><b> RET</b></p><p> ;實(shí)驗(yàn)板上的兩位一體的數(shù)碼管0~9各數(shù)字的顯示代碼</p><p>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理課程設(shè)計(jì)報(bào)告(電子秒表)
- 微機(jī)課程設(shè)計(jì)--電子秒表
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--秒表設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)--數(shù)字秒表
- 電子秒表 課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 電子秒表課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)-電子鐘
- 微機(jī)原理課程設(shè)計(jì)---電子時(shí)鐘
- 微機(jī)原理-電子鐘課程設(shè)計(jì)
- 《電子時(shí)鐘》微機(jī)原理課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----電子琴
- 微機(jī)原理課程設(shè)計(jì)(電子時(shí)鐘)
- 微機(jī)接口課程設(shè)計(jì)---可任意啟動(dòng)停止的電子秒表設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--電子琴設(shè)計(jì)
- 數(shù)字電子課程設(shè)計(jì)---電子秒表
- 電力電子課程設(shè)計(jì)---電子秒表
評(píng)論
0/150
提交評(píng)論