日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机定时报警C语言程序,51单片机 定时器 中断程序 (C语言)

發(fā)布時(shí)間:2025/3/19 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机定时报警C语言程序,51单片机 定时器 中断程序 (C语言) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

EA ????是 中斷總開關(guān), 不管是定時(shí)器,串口還是外部中斷,都需要打開 EA 才能觸發(fā)中斷;

ET0???是 定時(shí)器0 的專用中斷開關(guān), 也就是說: 打開了EA.而不打開ET0,定時(shí)器0是無法觸發(fā)中斷的;

TR0???是 啟動定時(shí)器開始定時(shí)計(jì)數(shù) 的開關(guān),如果打開 EA 和 ET0, 就代表允許定時(shí)器 0 觸發(fā)中斷, 但是定時(shí)器0 何時(shí)開始觸發(fā),由 TR0 來啟動和停止.

51 單片機(jī) 12 分頻,

一個 機(jī)器周期 = 12/nHz?? //(n指 晶振頻率)

如要定時(shí)的時(shí)間為 M

初值? = M / 機(jī)器周期;

TH0 = (65536 - 初值) % 256;?// 高 8 位;

TL0 = (65536 - 初值) / 256;? ?// 低 8 位;

案例:

12M 晶振 做 1ms 定時(shí)計(jì)算

1. 機(jī)器周期: = 12 /(12*10^6)=1us(微秒)

2. 定時(shí)初值:(1*10^-3)/(1*10^-6) = 1ms/1us = 1000; (倍率)

將 高 位 與 低位 進(jìn)行分離;轉(zhuǎn)化成 16進(jìn)制 數(shù)據(jù);

3. TH0 = (65536 - 1000) % 256 = 64536 % 256 (10 進(jìn)制數(shù)) --> 0xFC

3. TL0 = (65536 - 1000) / 256 = 64536 / 256 (10 進(jìn)制數(shù)) --> 0x18

每次內(nèi)部 自加 1bit 時(shí),耗費(fèi) 1us; 所以,要累加 1000 次,形成 1ms 中斷溢出;

//定時(shí)器 初始化函數(shù)

void Init_Timer()

{

count = 0;????????????????????????????????// 用于 中斷后 計(jì)數(shù),判斷;

TMOD = 0x01; ???????????????????????????//T0 工作方式 1;16位 計(jì)數(shù)器;

TH0=(65536-50000)/256;? ????????// 初值高 8 位 走 1000 次,每次 1us :晶振 12MHz;

TL0=(65536-50000)%256;?????????// 初值低 8 位 走 1000 次,每次 1us :晶振 12MHz;

TR0? = 1;??????????????????????????????????// 開啟 T0 定時(shí)器;

ET0? = 1;??????????????????????????????????// 允許 T0 定時(shí)器中斷;

EA?? = 1; ????????????????????????????????// 開啟 總中斷 允許;

}

// 中斷函數(shù);

void Timer0(void) interrupt 1 using 1

{

TH0 = (65536-50000)/256;?? ?// 中斷后,賦初值;

TL0 = (65536-50000)%256;

count++;? ?????// 每次中斷,計(jì)數(shù) 累加 1;

if(count >=某個值時(shí))

{

count = 0; //?計(jì)數(shù)值 清0 ;

// 控制體;

}

}

總結(jié)

以上是生活随笔為你收集整理的单片机定时报警C语言程序,51单片机 定时器 中断程序 (C语言)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。