亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 具有校正功能的時鐘1302(LED數(shù)碼管顯示) [打印本頁]

作者: zl2168    時間: 2016-5-6 20:03
標(biāo)題: 具有校正功能的時鐘1302(LED數(shù)碼管顯示)

實例93 具有校正功能的時鐘1302LED數(shù)碼管顯示)

摘自張志良編著《單片機實驗實訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

上例LED顯示的1302時鐘電路時鐘校正功能,本例加上時鐘校正功能(校正方法與實例91略有不同)。

電路設(shè)計

在上例時鐘電路的基礎(chǔ)上,加入3個時鐘修正按鍵:K0(修正)、K1(移位)和K2(加1),分別與80C51P2.0P2.2P2.4連接,如圖7-11所示




程序設(shè)計

7-11電路,要求開機顯示134758秒,數(shù)據(jù)間用小數(shù)點分隔,其中秒數(shù)據(jù)閃爍(亮600ms,暗400ms),并不斷更新。同時要求K0K1K2具有時鐘校正功能,其控制過程為:按下K0(帶鎖),進(jìn)入時鐘修正;首先,時十位快速閃爍(亮暗各120ms);按一次K1(不帶鎖),被修正位(快速閃爍)按時十位、時個位、分十位、分個位、秒十位、秒個位次序向右移一位(循環(huán)往復(fù));按一次K2(不帶鎖),被修正位加1(最大值不超過時鐘規(guī)定值,超過復(fù)0);時鐘修正期間,計時繼續(xù)運行;釋放K0,退出時鐘修正。









Keil調(diào)試

本題Keil調(diào)試同上例。因涉及外圍元件DS1302,在Keil軟件調(diào)試中無法得到外圍元件的有效信號。因此,僅在Keil中,按實例1所述步驟,編譯鏈接,語法糾錯,自動生成Hex文件,并在變量觀察窗口Watch頁中設(shè)置(設(shè)置方法參閱8-30)全局變量b(時鐘數(shù)據(jù)數(shù)組)和d(時鐘顯示數(shù)組),獲得數(shù)組b[]d[]的首地址(分別為0x080x0f,用于在Proteus仿真中觀測)。

需要注意的是,引用先前實例的6個子函數(shù)必須插入,否則Keil調(diào)試將顯示出錯。

Proteus仿真

實例23所述Proteus仿真步驟,打開Proteus ISIS軟件,按7-6選擇和放置元器件,并連接線路,畫出Proteus仿真電路如7-12所示。








鼠標(biāo)左鍵雙擊Proteus ISIS仿真電路中AT89C51,裝入Keil調(diào)試后自動生成的Hex文件。

全速運行后,6LED顯示初始值:134758秒,時分秒數(shù)據(jù)間用小數(shù)點分隔,其中秒數(shù)據(jù)閃爍不斷更新

按下K0(鎖定),進(jìn)入時鐘修正。

需要說明的是,本例選用的BUTTON按鍵有兩種運行功能:有鎖運行和無鎖運行。作有鎖運行時,鼠標(biāo)左鍵單擊按鍵圖形中小紅圓點,單擊第一次閉鎖,第二次開鎖。作無鎖運行時,鼠標(biāo)左鍵單擊按鍵圖形中鍵蓋帽“   ”,單擊一次,鍵閉合后彈開一次,不閉鎖。

首先時十位快速閃爍,表示時十位允許修正。此時每按一次K2(鼠標(biāo)左鍵單擊鍵圖形中鍵蓋帽“    ”,單擊一次,鍵閉合后彈開一次,不閉鎖),時十位顯示數(shù)加1,但不超過時十位最大值2,超過時復(fù)0

若按一次K1(不閉鎖,方法同K2),被修正位(快速閃爍)移至?xí)r個位數(shù)據(jù),每按一次K2,時個位數(shù)據(jù)顯示數(shù)加1,但不超過規(guī)定的最大值(時十位為01時,時個位不超過9;時十位為2時,時個位不超過3),超過時復(fù)位0

再按一次K1,被修正位(快速閃爍)移至分十位,每按一次K2,分十位數(shù)據(jù)顯示數(shù)加1,但不超過分十位最大值5,超過時復(fù)位0

再按一次K1,被修正位(快速閃爍)移至分個位,每按一次K2,分個位數(shù)據(jù)顯示數(shù)加1,但不超過分個位最大值9,超過時復(fù)位0

再按一次K1,被修正位(快速閃爍)移至秒十位,每按一次K2,秒十位數(shù)據(jù)顯示數(shù)加1,但不超過秒十位最大值5,超過時復(fù)位0

再按一次K1,被修正位(快速閃爍)移至秒個位,每按一次K2,秒個位數(shù)據(jù)顯示數(shù)加1,但不超過秒個位最大值9,超過時復(fù)位0

再按一次K1,回復(fù)到時十位修正(繼續(xù)按K1,重復(fù)上述①~⑤過程)。

釋放K0,退出時鐘修正,恢復(fù)正常計時顯示

打開80C51片內(nèi)RAM(主菜單Debug80C51 CPUInternalIDATAMemory -U1),可看到08H0EH0FH14H已經(jīng)依次存放了時鐘數(shù)據(jù)數(shù)組b[]和顯示字段碼數(shù)組d[]的即時數(shù)據(jù),與7-10所示相似。

終止程序運行,可按停止按鈕。

思考與練習(xí)

本例程序中,T0 4ms中斷的作用與上例有什么不同?

實例93 帶校正時分秒的時鐘1302(6位LED數(shù)碼管顯示).rar (51.83 KB, 下載次數(shù): 40)



作者: 陳潤源home    時間: 2020-11-23 17:21
就一個仿真和hex
作者: aktuan007    時間: 2021-2-26 22:05
注釋很詳細(xì),但是咋木有源文件?




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1