码迷,mamicode.com
首页 > 其他好文 > 详细

定时器与数码管

时间:2017-05-23 21:40:24      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:数码   部分   整数   log   打开   code   time   方式   0ms   

---恢复内容开始---


1
#include <reg52.h> 2 #define uchar unsigned char 3 int num=0,i=0; 4 uchar duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; 5 void delay()//定义延时函数方便调用 6 { 7 int a=50000; 8 while(a--); 9 } 10 void intertime() //定时器启动初始化 11 { 12 ET0=1; //打开定时器0分开关 13 EA=1; // 打开总开关 14 TMOD=0x01; //工作方式1 15 TH0=(65535-50000)/256; //赋值即从什么数值开始定时 16 TL0=(65535-50000)%256; //将一万的整数赋值给高八位 余数的部分赋值给第八位 17 TR0=1; //达到溢出值 就会触发中断 跳到中断服务函数执行 18 } 19 void main() 20 { 21 intertime();//定时器初始化 22 while(1); //让程序不执行下去 响应定时器初始化 执行中断 23 } 24 void cgh() interrupt 1 25 { 26 TH0=(65535-50000)/256;//工作方式1要手动装载初值 27 TL0=(65535-50000)%256; 28 num++; //每50ms num 就自动加一 29 30 if(num==10)//如果num达到10就是 每0.5s就会执行if后的内容 31 { 32 33 num=0;//清0 方便下一次从0开始计算到10 34 i++; 35 if(i==10) //让数码管显示0到9 36 i=0; 37 P2=~duan[i];//往P2口送数据 38 delay(); 39 } 40 }

技术分享

---恢复内容结束---

定时器与数码管

标签:数码   部分   整数   log   打开   code   time   方式   0ms   

原文地址:http://www.cnblogs.com/chenguanhon/p/6896026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!