找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 801|回复: 0
打印 上一主题 下一主题
收起左侧

单片机定时器运用

[复制链接]
跳转到指定楼层
楼主
ID:426516 发表于 2018-11-16 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51单片机的 跑马灯程序
功能:使用定时器0定时50ms,每隔1秒钟检测键盘状态,K1闭合,指示灯状态左循环;
K2闭合,指示灯状态右循环;K3闭合,指示灯状态闪烁。
程序:
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
void int_TIM0();
void isr_t0(void);  //中断服务函数声明
unsigned char counter;   //定义一个变量counter用来计数
sbit  K1=P3^2;
sbit  K2=P3^3;
sbit  K3=P3^4;

void main(void)     //主函数
{
    counter=0;
    P2=0xfe
int_TIM0();
EA=1;            //总中断打开
     ET0=1;           //定时器中断打开
    TR0=1;

     while(1);
   {     }
}
void int_t0(void)
{
TR0=0;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;

}
void isr_ t0 (void) interrupt 1   //中断服务函数
{
TH0=0x3c;
TL0=0xb0;
    counter++;
    If(counter==20)
    {
        counter=0;
        if(K1=0)
        {
        P2<<=1;
}
else
{
    If(K2=0)
    {
    P2>>=1;
}
else
P2^=0xff;
}

}
}

定时器跑马灯.doc

27.5 KB, 下载次数: 2, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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