标题: 定时器/计数器中断的应用基础——下次编程时可以做对照 [打印本页]

作者: nius    时间: 2015-4-10 03:13
标题: 定时器/计数器中断的应用基础——下次编程时可以做对照
#include <reg51.h>

#define yy unsigned char    //8位无符号字符型
yy win;    //声明win                              
sbit d=P2^4;
void main()    //主函数
{

P2=0;

TMOD=0x01;    //设置定时器工作方式为01
TH0=(65536-50000)/256;    //装初值12.0000M晶振定时50ms数为50000   求模
TL0=(65536-50000)%256;    //求余
EA=1;    //打开总中断
IT0=1;    //设置为电平触发方式
ET0=1;    //打开定时器0中断
TR0=1;    //启动定时器0                                                                                                                  
        while(1);    //程序在这里等待中断发生       
}
void dsq0() interrupt 1    //中断服务程序
{
TH0=(65536-50000)/256;    //重装初值
TL0=(65536-50000)%256;       
                 win++;    //win自加1
                        if(win==20)    //如果win加到20那么执行if语句
                {
                           win=0;    //给win清零
                        d=~d;    //让发光管状态取反
                }                  
}       




定时器中断实验————注释,解释都已写好
定时器/计数器————是单片重要功能之一!这可比延时函数精度高的多得多!一般精度可以高达几微秒
(本程序设置的是间隔一秒闪烁>>精度非常高)

设计者:薛yh


作者: nius    时间: 2015-4-10 03:13
如果说还看不懂  就太对不起我写的那么多注释了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1