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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:單片機C語言編程定時器的幾種表達方式

吳鑒鷹單片機開發板地址

店鋪:【吳鑒鷹的小鋪】

地址:【https://item.taobao.com/item.htm?_u=ukgdp5a7629&id=524088004171】

單片機C語言編程中,定時器的初值對于初學者真的是比較不好計算,因此我總結了以下幾種方法。

第1種方法:

#define FOSC 11059200L //晶振的頻率

#define TIMS (65536-FOSC/12/1000) //12T mode 對于8051系列單片機通用

//#define TIMS (65536-FOSC/1000) //1T mode STC單片機可以用這個

unsigned int timer0_tick;

int timer0_count;

void Timer0(void) interrupt 1 using 1 //定時器0中斷外理

{

TL0=TIMS;

TH0=TIMS>>8;

if(timer0_tick--==0) //加到1000次即1秒

{

timer0_tick=1000;

LED_Timer=~LED_Timer;

}

}

初值的賦值采用的是移位運算:

TL0=TIMS;

TH0=TIMS>>8;

第2種方法:

#define FOSC 11059200L //晶振的頻率

TH=(65536-time*FOSC /12)/256

TL=(65536-time*FOSC /12)%256

time就是假設要延時的100ms(要取100000us)

FOSC 是晶振頻率

注意:定時器一定要考慮晶振的頻率,因為單片機最小的中斷時間和頻率有關系。

例如:

6MHz晶振對應的時間范圍是:512us --- 16.384ms --- 131.072ms

因此,在設置時間前,一定要考慮晶振和定時器的關系。

喜歡本文的親們,歡迎點贊哦

技術源于積累,成功來自執著

——單片機精講吳鑒鷹返回搜狐,查看更多

責任編輯:

總結

以上是生活随笔為你收集整理的c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。