找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2639|回复: 1
收起左侧

定时器/计数器中断的应用基础——下次编程时可以做对照

[复制链接]
ID:76556 发表于 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

回复

使用道具 举报

ID:76556 发表于 2015-4-10 03:13 | 显示全部楼层
如果说还看不懂  就太对不起我写的那么多注释了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表