简单利用C51的Timer0实现倒计时(F-0)
来源:互联网 发布:淘宝手机货到付款骗局 编辑:程序博客网 时间:2024/05/16 19:23
/****************************用Timer0实现简单的1S倒计时*****************************/#include <reg52.h>#define uchar unsigned charvoid Timer0Init(); //定时器0初始化函数声明void SecProcess(); //倒计时处理函数声明void main(){ Timer0Init(); SecProcess();}void Timer0Init(){ TMOD = 0x01; //定时器0工作模式为1 TH0 = 0x4B; //定时为50MS,定时器初始值为=65536-(0.05/(12/110592))= 19240 TL0 = 0x28; TR0 = 1; //开启定时器0}void SecProcess(){ uchar count = 0; //用于计数,从而达到1S定时 uchar sec = 0; //记录经过的秒数 uchar code SecValue[]={ 0x8e,0x86,0xa1,0xc6, 0x83,0x88,0x90,0x80, 0xf8,0x82,0x92,0x99, 0xb0,0xa4,0xf9,0xc0}; P1 = 0xFF; //使P1口初始化 while (1) { if(TF0 == 1) //判断T0是否溢出 { TF0 = 0; //在T0溢出后,使TF0位清零 TH0 = 0x4B; //再次写入初值,否则计数器溢出后将从0计数,这样定时就不是50MS TL0 = 0x28; count++; //计数值自加1 if(count >= 20) //判定T0溢出是否达到20次(是否到达1S),不可写成count == 20; { count = 0; //达到20次后,计数清零 P1 = SecValue[sec]; //将秒数对应的显示值传到P1口 sec++; //秒数自动加1 if(sec >= 16) //秒数超过对应值后,自动清零 { sec = 0; } } } }}
1 0
- 简单利用C51的Timer0实现倒计时(F-0)
- js中利用setInterval实现简单的倒计时
- 倒计时的简单实现
- 利用timer实现的倒计时
- android倒计时的简单实现
- 利用S3C2440中的Timer0的PWM输出驱动蜂鸣器
- 利用GCD实现倒计时的功能
- 利用C51实现广告灯
- 利用VBScript实现倒计时
- 利用js实现倒计时
- js与php实现简单的倒计时(新手)
- 一个简单的倒计时控件的实现
- android倒计时的简单实现方法
- 简单的PHP实现倒计时方法
- 简单开始,暂停,继续的倒计时实现
- Android订单倒计时的简单实现
- 使用CADisplayLink简单的实现倒计时
- Android---验证码倒计时的简单实现
- 【LEETCODE】115- Distinct Subsequences [Python]
- libc、glibc和glib的关系
- 制作Windows、Linux启动U盘
- linux内核中等待队列(wait_event,wake_up...)
- 当你忘记MySQL(5.7.10)密码可以怎么做
- 简单利用C51的Timer0实现倒计时(F-0)
- c++之STL(3) Vector容器
- 剑指offer|按之字形顺序打印二叉树
- spring,mybatis,struts2结合
- 素数筛法
- 【杭电2083】The MAX
- dos命令
- stringstream
- STM32 IO口中施密特触发器的作用