欢迎来到天天文库
浏览记录
ID:51926548
大小:18.00 KB
页数:4页
时间:2020-03-19
《用定时器以间隔500MS在6位数码管上依次显示0到F.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用定时器以间隔500MS在6位数码管上依次显示0,1,2,3….C,D,E,F说明:本程序是基于郭天祥老师的TX-1C实验板设计,晶振值为12MHZ#include//52系列单片机头文件#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};sbitdula=P
2、2^6;//声明U1锁存器的锁存端sbitwela=P2^7;//声明U2锁存器的锁存端uchart0,a;voidintt();//声明初始化函数voiddisplay();//声明显示子函数voiddelay(uintx)//延时{uinti,j;for(i=x;i>0;i--)for(j=100;j--;j>0);}voidmain(){a=0;//设初值intt();while(1){}}voidintt()//初始化函数{TMOD=0x01;//设置定时器0为工作方式TH0=(65536-50000)
3、/256;//装初值50ms一次中断TL0=(65536-50000)%256;EA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0}voidT0_timer()interrupt1{TH0=(65536-50000)/256;//重装初值TL0=(65536-50000)%256;t0++;{if(t0==10)//如果到了10次,说明500ms时间到{t0=0;//把t0清0重新再计20次display();//调用显示子函数a++;if(a==16)//a=16,说明已经显示到
4、Fa=0;//重新从0开始显示}}}voiddisplay()//显示子函数{dula=1;P0=table[a];//送段选数据dula=0;P0=0xff;wela=1;P0=0xc0;//送位选数据wela=0;delay(5);}
此文档下载收益归作者所有