微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第9课 定时器

第9课 定时器

时间:12-01 来源:互联网 点击:

宏定义

#define uchar unsigned char//宏定义

sbit D1=P1^0;//位声明

uchar time;//定义变量time为无符号字符型

void main()//主函数

{

TMOD=0x01;//设置定时器0为工作方式1

TH0=(65535-50000)/256;//定时50ms赋初值15535

TL0=(65535-50000)%256;

EA=1;//开总中断

ET0=1;//开定时器0中断

TR0=1;//启动定时器0

//上面6行为定时器和中断初始化程序 

while(1);//停在这里等待中断产生

}

void tim1() interrupt 1//中断子函数,功能为500ms灯灭一次

{

time++;//进入一次中断time自加1

if(time==10)//如果自加到10,相当于500ms

{

D1=~D1;//灯亮灭交替

time=0;//time清零

}

}

程序下载到51hei实验板上的现象如图4所示:

图4 L1灯以间隔1s的时间闪烁

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top