婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> EDA開發應用 >> Keilc >> 正文

利用Keil C51實現T0精確定時

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008-10-31

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

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

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

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

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

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    推薦文章
    最新推薦
    熱門文章
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
    <button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 视频区 图片区 小说区| 黄色www网站| 久久黄色免费看| 日韩a级黄色片| 2022中文字幕| 99热这里只有精品免费| 免费国产成人看片在线| 国产在线拍揄自揄拍无码| 精品久久免费观看| 路边理发店露脸熟妇泻火| 日韩中文在线字幕| 东北少妇不带套对白| 亚洲人成无码网站久久99热国产| 免费观看中文字幕| 美女扒开大腿让男人桶| 欧美综合在线播放| 天天影视综合色| 中文字幕视频三区| 免费在线精品视频| 欧美亚洲一二三区| 色噜噜狠狠永久免费| 99九九精品视频| 亚洲理论电影在线观看| 亚洲 欧美 日韩 国产综合 在线 | 日本久久精品一区二区| 亚洲成人福利在线观看| 加勒比av中文字幕| 一二三四视频社区在线| 特级丰满少妇一级| 国产精品videossex国产高清| 你真棒插曲来救救我在线观看| 色综合av综合无码综合网站| 中文字幕精品一区二区三区在线| 手机福利在线视频| 成人观看免费完整观看| 中文字幕在线视频精品| 亚洲 欧美 日韩 国产综合 在线| 邪恶网站在线观看| 免费看欧美黑人毛片| 天天插天天操天天射| www.夜夜爱| 蜜臀一区二区三区精品免费视频| 国产盗摄视频在线观看| 欧美三级理论片| 成人在线免费观看av| 青青草视频国产| 天天干天天操天天做| 自慰无码一区二区三区| 男人天堂成人网| av噜噜在线观看| 精品久久久久av| 天天夜碰日日摸日日澡性色av| 午夜一级免费视频| 91激情视频在线| 亚洲爆乳无码专区| 国产美女网站在线观看| 4444在线观看| a级网站在线观看| 亚洲欧美天堂在线| 777视频在线| 在线观看的毛片| 一本岛在线视频| 蜜臀久久99精品久久久酒店新书| 男女猛烈激情xx00免费视频| 日韩国产小视频| 99视频精品全部免费看| 国产又黄又爽免费视频| 国产成年人在线观看| 亚洲免费在线播放视频| 黄色三级视频在线播放| 激情文学亚洲色图| 香蕉精品视频在线| 经典三级在线视频| 国产精品啪啪啪视频| 2022中文字幕| www在线观看免费| 成人久久久久久久久| 久久久精品在线视频| 日本va中文字幕| www.久久av.com| 亚洲黄色网址在线观看| 久久久久久久久久伊人| 131美女爱做视频| 无码人妻丰满熟妇区毛片| 免费看污黄网站| 五月天开心婷婷| 久久综合久久久久| 男人女人黄一级| 三年中文高清在线观看第6集| 青青草免费在线视频观看| 男女啪啪免费视频网站| 国产a级片免费观看| 99精品视频免费版的特色功能| 日本久久高清视频| 1024精品视频| 中文字幕免费高清在线| 国产精品av免费观看| 99免费视频观看| 欧美日韩中文字幕在线播放| www.爱色av.com| 中文字幕第一页亚洲| 无罩大乳的熟妇正在播放| 欧美午夜精品理论片| 国产中文字幕视频在线观看| 中文字幕线观看| 少妇性饥渴无码a区免费| www.污网站| 国产偷人视频免费| 人妻互换免费中文字幕| 天天色天天综合网| av免费中文字幕| 男人c女人视频| 国产精品自在自线| 久久午夜夜伦鲁鲁一区二区| 免费看黄色a级片| 亚洲精品国产一区二区三区| 国产成人无码一二三区视频| 99国产精品白浆在线观看免费| 欧美成年人视频在线观看| 日韩av综合在线观看| 91网站在线观看免费| 91香蕉视频网址| 激情在线观看视频| 欧美成年人视频在线观看| 国产免费视频传媒| 成人在线看视频| 大陆极品少妇内射aaaaa| 国产精品国三级国产av| 国产欧美综合一区| 操bbb操bbb| 国产内射老熟女aaaa| 4444在线观看| 国产一级黄色录像片| 亚洲高潮无码久久| 欧美一区二区三区综合| 2021国产视频| 亚洲国产精品无码av| 欧美一区二区视频在线播放| 日本一道在线观看| 成人免费a级片| 天堂…中文在线最新版在线| 97超碰在线人人| 成年人观看网站| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 在线观看日本一区二区| wwwwwxxxx日本| 午夜免费一级片| 黄色一级片国产| 成年人视频观看| 8x8x最新地址| 人人妻人人澡人人爽精品欧美一区| 午夜免费看毛片| 亚洲区成人777777精品| 青青草国产精品视频| 日本在线视频www| 国产三级生活片| 日本人体一区二区| www.天天射.com| 麻豆映画在线观看| 激情五月宗合网| 国产又粗又长又大的视频| 中文字幕在线乱| 可以免费观看av毛片| 日日夜夜精品视频免费观看| 日韩精品 欧美| 在线视频日韩欧美| 欧美老熟妇喷水| 国产又粗又猛大又黄又爽| 青青草视频在线免费播放| 天天操天天爽天天射| 国产一级大片免费看| 免费看污污网站| 被灌满精子的波多野结衣| jizz大全欧美jizzcom| 无码粉嫩虎白一线天在线观看 | 天天操天天爱天天爽| 黄黄视频在线观看| 制服丝袜综合网| 国产精品无码人妻一区二区在线| xxww在线观看| 国产又大又硬又粗| 欧美精品久久久久久久久久久| 爱豆国产剧免费观看大全剧苏畅| 国产免费黄视频| 国产av人人夜夜澡人人爽麻豆| 午夜免费视频网站| 色播五月综合网| 男人透女人免费视频| 国产av麻豆mag剧集| av 日韩 人妻 黑人 综合 无码| 亚洲免费看av| 欧美激情国产精品日韩| 日韩欧美一区二| 成人免费性视频| 欧美这里只有精品| 在线观看免费黄色片| 永久免费在线看片视频| 一本二本三本亚洲码| 日本不卡一区二区三区四区| 一级 黄 色 片一|