日产精品视频无码免费_亚洲蜜臀AV日韩熟妇在线_国产亚洲精品女人久久久久久 _妞中文字幕在线视频导航

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> EDA開發(fā)應(yīng)用 >> Keilc >> 正文

利用Keil C51實(shí)現(xiàn)T0精確定時

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時間:2008/10/31

    利用89C51設(shè)計(jì)一個簡易日歷時鐘系統(tǒng),時鐘系統(tǒng)硬件主要由單片機(jī)控制的計(jì)時電路、復(fù)位等輔助電路、按鍵電路、數(shù)碼管顯示電路、電源系統(tǒng)等組成。日歷時鐘可以顯示年、月、時、分、秒;可以設(shè)置年、月、時、分 其中計(jì)時控制電路由AT89C51單片機(jī)控制;按鍵電路包含時間設(shè)置;時間顯示屏電路由7個數(shù)碼管組成;電源系統(tǒng)由小功率整流濾波穩(wěn)壓電路組成,輸出直流電壓5 V,向主電路及顯示電路供電。系統(tǒng)框圖如圖1所示。
 
圖1 日歷時鐘系統(tǒng)框圖
    在計(jì)時過程中,系統(tǒng)利用89C51自身的計(jì)時器T0作為時鐘基準(zhǔn),計(jì)時器中斷的準(zhǔn)確度直接關(guān)系到整個系統(tǒng)的精度,因此獲取精確的定時時鐘信號成為該系統(tǒng)的關(guān)鍵。MCS-51單片機(jī)內(nèi)有2個可編程的16位定時器/計(jì)數(shù)器,在本系統(tǒng)設(shè)計(jì)中采用AT89C51的定時器T0,并工作在方式1下,晶振頻率為12 MHz。

1 T0定時中斷
    定時器/計(jì)數(shù)器T0工作方式1的電路邏輯結(jié)構(gòu)如圖2所示。T0定時特性功能寄存器由TL0(低8位)和TH0(高8位)構(gòu)成。特殊功能寄存器TMOD控制定時寄存器的工作方式;TCON則用于控制定時器T0和T1的啟動和停止計(jì)數(shù),同時管理定時器T0和T1的溢出標(biāo)志等。程序開始時需對TL0和TH0進(jìn)行初始化編程,以定義它們的工作方式,并控制T0和T1的計(jì)數(shù)。在系統(tǒng)的設(shè)計(jì)中,計(jì)時單位以s為基準(zhǔn),并要求日誤差≤10 s,如果用循環(huán)去做,無法滿足精度要求。選用12 MHz的晶體可得到1 s的精度,經(jīng)分析確定使用定時器0的方式1。這個方式下,定時器0是16位定時器,也就是最大定時值為FFFFH,12 MHz晶體的每個定時周期為1 s,最多可以定時FFFFH×1 s=65635 us,即使使用最大值也無法一次定時1 s,設(shè)計(jì)中使用1次定時20 ms,50次定時中斷得到1 s。20 ms定時中斷的定時值為:FFFFH-20 ms/1 s= B1DFH。
 
圖2 定時器/計(jì)數(shù)器工作方式1邏輯結(jié)構(gòu)

2 程序測試與調(diào)整
在Keil uVision3平臺下利用C語言實(shí)現(xiàn)如下代碼:
#include<reg52.h>
#define uchar unsigned char
uchar data MScond= 0;//ms
uchar data Scond= 0; //s
uehar data M inute= 0;//min
uchar data Hour= 0;//h
void main(void){
EA =1; //允許CPU中斷
ET0 = 1; //定時器0中斷打開
TMOD =0x1; //設(shè)定時器0為方式1
TH0= 0xB1;
TL0= 0xDF; //設(shè)定時值為20 000 us(20 ms)
TR0 = 1; //開始定時
while(1);
}
void Time0(void) interrupt 1 using 1
{
TH0=0xB1; //20 ms斷點(diǎn) (1)
TL0=0xDF; //設(shè)定時值
MScond= MScond+ 1;
if(MScond == 50)
{MScond=0;
Scond= Scond+ 1;
if(Scond == 60)
{Scond=0;
Minute=Minute+1; //分?jǐn)帱c(diǎn)   (2)
if(Minute == 60)
{Minute=0;
Hour=Hour+1; //d,時斷點(diǎn)   (3)
if(Hour == 24)
{ Hour=0; }}}}
    首先調(diào)試每20 ms中斷時的精度,在選項(xiàng)中設(shè)定調(diào)試晶振為12 MHz,在(1)處設(shè)置一個斷點(diǎn)再運(yùn)行,這時記錄下每次中斷時的時間,如圖3所示。在初始化中費(fèi)時為551 s,每一次中斷時間應(yīng)該考慮該項(xiàng)的影響。在實(shí)際處理中可以利用兩次中斷時間的差來作為定時器的中斷時
間間隔。
    通過測試,得到第一次為0.020 568 00 s,第二次為0.040 580 00 s,第三次為0.060 592 00 s。可以看出,每中斷一次會比定時值長了12 s。如果將斷點(diǎn)設(shè)定在(2)處,并通過Logic Analyzer tool,得到分鐘第一次中斷的時間為60.036 57 S,第二次中斷的時間為120.072 57 s,則每分鐘的實(shí)際時間為60.036 S。再將斷點(diǎn)設(shè)定在(3)處,得到小時第一次中斷的時間為3 602.160 576 S,第二次中斷的時間為7204.320 576 S,可以得到小時的實(shí)際時間為3602.16 S,如圖4所示。
    為什么會產(chǎn)生這些誤差呢?通過對中斷程序的匯編源碼進(jìn)行分析,實(shí)際上中斷程序入堆棧時使用了兩條語句:PUSH ACC和PUSH PSW。執(zhí)行人棧指令花費(fèi)了4個機(jī)器周期,加上重新對TH0和TL0的加載又用去2個機(jī)器周期,計(jì)數(shù)值加1花費(fèi)了2個機(jī)器周期,中斷返回約4個機(jī)器周期共約12個機(jī)器周期。為了消除這些因素的影響,需要在對T0設(shè)置計(jì)數(shù)值時減去12個機(jī)器周期,將計(jì)算得到的初始值B1DFH加上12(0CH)得到:B1DFH+12=B1EBH作為新的定時器初值,修改后的程序?yàn)椋?BR>#include<reg52.h>
#define uchar unsigned char
uchar data MScond=0; //ms
uchar data Scond=0; //s
uchar data Minute=0; //min
uchar data Hour=0; //h
void main(void){
EA = 1; //允許CPU 中斷
ET0= 1; //定時器0中斷打開
TMOD = 0x1; //設(shè)定時器0為方式1
TH0= 0xB1;
TL0=0xEB; //設(shè)定時值為20 000 (20 ms)減去12
TR0= 1; //開始定時
while(1);
}
void Time0(void) interrupt 1 using 1
{TH0=0xB1; //20 ms斷點(diǎn) (1)
TL0=0xDF; //設(shè)定時值
MScond= MScond+ 1;
if(MScond == 50)
{MScond=0;
Scond= Scond+ 1;
if rScond == 60)
{Scond=0;
Minute=Minute+1; //分?jǐn)帱c(diǎn) (2)
if(Minute == 60)
{Minute=0;
Hour=Hour+1; //時斷點(diǎn) (3)
if(Hour == 24)
{ Hour=0;}}}}
    重新調(diào)試程序,仍然在選項(xiàng)中設(shè)定調(diào)試晶振為12 MHz,重新測試20 ms定時器的實(shí)際時間,在(1)處設(shè)置一個斷點(diǎn)后運(yùn)行,重新記錄下每次中斷時的時間,如圖5所示。初始化時間為556 s,為消除其影響,使用兩次中斷時間間隔來作為定時器實(shí)際獲得的基準(zhǔn)時鐘。得到一次中斷時的時間為0.020 556 00 S,第二次為0.040 556 000,第二次為0.060 556 00 s,可以看出每次中斷間隔剛好20 ms。如果將斷點(diǎn)設(shè)定在(2)處.并通過Logic Analyzer tool,得到第一次中斷時時間為60.000 57 s,第二次為120.000 57 s,間隔剛好60 s。將斷點(diǎn)設(shè)定在(3)處,得到第一次中斷的時間為3600.000 578 s,第二次中斷時間為7200.000 578 s,時間間隔為3 600 s,測試結(jié)果如圖6所示,完全可以滿足系統(tǒng)設(shè)計(jì)的需要。

3 總結(jié)
    通過對定時器的誤差分析和校正.可以提高系統(tǒng)的精確度。當(dāng)然.上面的分析是在軟環(huán)境下理想晶振頻率下實(shí)現(xiàn)的,在現(xiàn)實(shí)中會因晶振偏差等因素而造成誤差。在該測試中,主程序沒有進(jìn)行其他處理,而在日歷設(shè)計(jì)中還要涉及到計(jì)時器T1的中斷來完成對掃描顯示電路的處理,還包括外部中斷對時鐘進(jìn)行了調(diào)整,加上一些鬧鐘功能,這必然會對T0的定時精確性產(chǎn)生影響。另外.當(dāng)中斷程序中語句越多,占用的機(jī)器周期也越多,因此在設(shè)計(jì)中應(yīng)充分利用Keil uVision3的分析工具,通過多次調(diào)整計(jì)數(shù)初值以獲取精確的時鐘信號,這對于要求精確時鐘信號的應(yīng)用具有重要的意義。

Tags:單片機(jī)時鐘,單片機(jī)日歷,keil c,單片機(jī)  
責(zé)任編輯:admin
  • 上一篇文章: 沒有了
  • 下一篇文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網(wǎng)友評論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    久久国产影视免费精品| 可以在线看黄的网站| 国产国语在线播放视频| 一级女性大黄生活片免费| 欧美电影免费看大全| 国产福利免费观看| 精品国产香蕉在线播出| 精品视频在线看| 免费国产在线观看| 欧美另类videosbestsex久久| 免费国产在线观看| 国产精品免费久久| 九九精品久久| 欧美国产日韩精品| 亚洲第一页乱| 中文字幕Aⅴ资源网| 日本特黄特黄aaaaa大片| 高清一级毛片一本到免费观看| 麻豆污视频| 日韩在线观看视频免费| 美国一区二区三区| 青青久久网| 日本免费乱理伦片在线观看2018| 色综合久久久久综合体桃花网| 午夜精品国产自在现线拍| 二级特黄绝大片免费视频大片| 国产成人精品影视| 人人干人人草| 国产精品自拍一区| 亚洲精品影院| 国产精品自拍在线观看| 99热热久久| 一级女性全黄久久生活片| a级黄色毛片免费播放视频| 日韩中文字幕在线播放| 日韩在线观看免费完整版视频| 国产一区国产二区国产三区| 亚洲天堂免费| 一本伊大人香蕉高清在线观看| a级毛片免费观看网站| 国产国语在线播放视频| 国产网站免费| 日本免费乱理伦片在线观看2018| 你懂的国产精品| 久久精品道一区二区三区| 国产国语对白一级毛片| 欧美a免费| 国产精品自拍在线| 日日日夜夜操| 黄色免费三级| 亚洲 国产精品 日韩| 青青久在线视频| 四虎影视库国产精品一区| 日韩免费片| 日本特黄特黄aaaaa大片| 日韩中文字幕在线观看视频| 一级女性全黄生活片免费| 久久国产一久久高清| 一级毛片看真人在线视频| 日本特黄一级| 日日日夜夜操| 四虎影视库国产精品一区| 美女被草网站| 欧美一级视频免费| 可以免费在线看黄的网站| 欧美一区二区三区在线观看| 色综合久久天天综合| 精品国产一区二区三区免费 | 国产精品自拍亚洲| 尤物视频网站在线观看| 91麻豆高清国产在线播放| 日韩专区在线播放| 日韩在线观看网站| 成人免费网站久久久| 亚洲天堂在线播放| 欧美激情一区二区三区在线播放 | 中文字幕Aⅴ资源网| 精品国产三级a| 日韩男人天堂| 一级毛片视频播放| 国产一区二区精品在线观看| 午夜精品国产自在现线拍| 麻豆污视频| 黄色免费网站在线| 韩国三级视频网站| 99热精品一区| 日本特黄一级| 午夜精品国产自在现线拍| 成人免费观看网欧美片| 深夜做爰性大片中文| 99色视频在线观看| 精品在线视频播放| 欧美激情一区二区三区视频| 国产成人啪精品| 久久成人综合网| 一级片片| 精品国产亚一区二区三区| 在线观看成人网| 美女免费精品高清毛片在线视 | 99久久网站| 欧美一级视频免费观看| 亚洲精品中文一区不卡| 欧美1区| 国产综合91天堂亚洲国产| 一级女性全黄生活片免费| 欧美1区| 日韩中文字幕在线亚洲一区 | 午夜欧美成人久久久久久| 精品国产亚洲人成在线| 国产网站免费视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩中文字幕在线亚洲一区 | 国产极品白嫩美女在线观看看| 99久久精品国产高清一区二区| 毛片电影网| 亚欧成人毛片一区二区三区四区 | 久久久久久久久综合影视网| 欧美大片毛片aaa免费看| 国产精品1024在线永久免费| 亚欧视频在线| 国产91精品一区二区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品视频免费看| 国产一区国产二区国产三区| 天天做日日爱夜夜爽| 欧美国产日韩精品| 国产伦精品一区三区视频| 91麻豆精品国产片在线观看| 91麻豆tv| 欧美激情伊人| 九九久久国产精品大片| 欧美国产日韩在线| 亚洲天堂在线播放| 99久久精品费精品国产一区二区| 国产成人精品综合| 欧美另类videosbestsex高清| 午夜家庭影院| 国产国语对白一级毛片| 91麻豆高清国产在线播放| 免费毛片播放| 国产一区二区精品久久91| 欧美一级视频免费观看| 国产网站麻豆精品视频| 深夜做爰性大片中文| 成人在免费观看视频国产| 99热热久久| 国产伦精品一区三区视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美国产日韩久久久| 欧美日本韩国| 国产91丝袜高跟系列| 色综合久久天天综合绕观看| 91麻豆精品国产片在线观看| 99色视频| 免费一级片在线| 91麻豆精品国产自产在线| 欧美激情中文字幕一区二区| 日日日夜夜操| 色综合久久久久综合体桃花网| 欧美激情一区二区三区视频 | 欧美大片一区| 黄色免费网站在线| 日韩男人天堂| 天堂网中文字幕| 精品久久久久久中文字幕一区| 免费一级片在线| 成人免费观看网欧美片| 欧美电影免费| 国产美女在线观看| 成人影视在线观看| 精品美女| 亚洲 欧美 91| 韩国三级香港三级日本三级la| 日韩一级精品视频在线观看| 国产国语对白一级毛片| 99久久网站| 精品视频一区二区三区免费| 九九精品久久| 国产精品免费久久| 午夜在线影院| 国产一区免费在线观看| 精品视频一区二区三区免费| 日本伦理片网站| 久草免费在线观看| 精品视频在线观看视频免费视频| 日韩一级黄色大片| 国产亚洲精品成人a在线| 亚洲 男人 天堂| 午夜激情视频在线观看 | 中文字幕一区二区三区 精品 | 久久精品道一区二区三区| 国产视频久久久| 免费国产在线视频| 免费一级片在线观看| 久久成人综合网| 一级毛片视频播放| 欧美日本二区| 一级女人毛片人一女人| 九九久久国产精品大片| 国产原创中文字幕|