找回密码
 立即注册

QQ登录

只需一步,快速开始

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

在51hei板上用中断方式实现闪烁灯_C语言

[复制链接]
ID:1 发表于 2010-4-11 00:45 | 显示全部楼层 |阅读模式

/************************************************
跳线设置:J4的2,3端跳线帽拔掉(防止DA灯干扰,如不介意不拔也可以),双排针跳线除PSEN外全部插上

显示效果:D1灯不停的闪烁
************************************************/
#include<reg51.h>

sbit P14=P1^4;
sbit P07=P0^7;
sbit P26=P2^6;


volatile int i;       //声明一个变量为可能意外变化的量(相对于const而言)用语中断程序

void main()

{
P26=1;  //防止数码管干扰
P0=0x00;
P26=0;
P0=0xff;
P14=0; //开led使能

P07=0;                    //先将P20位的LED点亮

TMOD=0x01;        //设置定时器T0工作在模式1

TH0=0xb1; TL0=0xe0;      //装T0的计数初值,12MHz,20ms计时

EA=1;                     //开启总中断允许位

ET0=1;                   //开启T0定时器

TR0=1;                   //开启T0定时器中断允许位

while(1);          //循环等待中断发生

}

void time0(void) interrupt 1 //中断程序写法

{ TH0=0xb1; TL0=0xe0;       //重装T0的计数初值

i++; if(i==25)     //计数到25次(即0.5秒)

{

   i=0; //i清零

   P07=~P07;    //取反LED端口,

}

}

回复

使用道具 举报

ID:66287 发表于 2018-8-22 09:35 | 显示全部楼层
定时初值最好用十六位自动重装
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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