标题:
单片机定时器的外部中断实验程序
[打印本页]
作者:
Katherine98
时间:
2019-1-20 15:41
标题:
单片机定时器的外部中断实验程序
实验目的:掌握定时器的工作原理
实验内容:利用按键K3来启动数码管(0~9)进行倒计时9秒,数码管初始状态显示为灭(要求在主函数里完成显示);按下K3则使数码管从“9”一直显示到"0";要求写出定时器和外部中断的中断函数
实验代码:
#include<reg51.h>
int main(){
EA=1;//总允许打开
EX0=1;//外中断0允许
IT0=1;//外中断0下降沿判断
while(1){
P1=0xff;} //初始状态显示为灭
}
void int0(void) interrupt 0 using 0{
char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};//数码管显示(0~9)
int i=9,n=0; //循环9次
TMOD=0x10;//定时器1开启工作方式1(16位)
TR1=1;//启动定时器
while(i!=-1){
P1=a[i ];
TH1=(65536-46080)/256; //s=65536-t*f/12,TH1=s/256,高8位赋值 ,t为定时时间单位为us,f为晶震频率11.0592M
TL1=(65536-46080)%256;
while(TF1==0);
TF1=0;
n++;
/*do{
TF1=0; //定时器1溢出置0
}while(!TF1); */
if(n==20){
n=0;
i--;
}
}
}
作者:
admin
时间:
2019-1-21 02:27
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1