您的位置 首页 报告

51单片机定时器形式1运用

特殊功能寄存器如下使用TCON和TMODTF:溢出标志为1时表示溢出需要手工置0TR:开始计时为1开始为0停止M1,M0:工作模式01为模式

特别功用寄存器如下

运用TCON和TMOD
TF:溢出标志 为1时表明溢出 需求手艺置0
TR:开端计时 为1开端 为0中止
M1,M0 :作业形式 01为形式1 //16位 65536
GATE门暂不运用 置0
C/T:守时/计数

TH0,TL0:守时器0初始值

办法:
1、设定TMOD
2、设定初始值TH TL
3、设定TCON 开端计时

实例:共阳七段数码管0-F循环显现延时1s
七段共阳数码管真值表
const uint8 ledcode[]={
0xC0, // 0
0xF9, // 1
0xA4, // 2
0xB0, // 3
0x99, // 4
0x92, // 5
0x82, // 6
0xF8, // 7
0x80, // 8
0x90, // 9
0x88, // A
0x83, // B
0xC6, // C
0xA1, // D
0x86, // E
0x8E // F
};

延时1s核算
溢出20次 每次50ms
TH0 TL0核算:
65536-((0.05×11059200)/12)=0x4c00 TH0=0x4c TL0=0x00

#includetypedef unsigned char uint8;typedef unsigned int uint16;sbit en=P1^7;const uint8 ledcode[]={0xC0,  // 00xF9,  // 10xA4,  // 20xB0,  // 30x99,  // 40x92,  // 50x82,  // 60xF8,  // 70x80,  // 80x90,  // 90x88,  // A0x83,  // B0xC6,  // C0xA1,  // D0x86,  // E0x8E  // F};uint8 i,j;main(){i=0;j=0;TMOD=0x01;TH0=0x4c;TL0=0x00;TR0=1;en=0;while(1){if (TF0==1)  //假如溢出{TH0=0x4c;TL0=0x00;TF0=0;       //从头设定初始值 康复状况i++;}if(i==20){i=0;P2=ledcode[j]&0x7f;j++;}if(j==16){j=0;} }}

仿真:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/317893.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部