设计一个2位LED数码管显示的秒表?
设计一个2位LED数码管显示的秒表?
参考答案和解析
#include #define uint unsigned int#define uchar unsigned charuchar code disp_reg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void Init() //T0初始化{ TMOD=0X01; //定时器0工作在方式1,定时功能,软件启动 TR0=1; //开启定时器0}void delay1s( ){ uint i;for(i=0;i {TH0=(65536-1000)/256; //定时1ms TL0=(65536-1000)%256; //定时1ms while(TF0==0); //等待定时溢出 TF0=0; //定时器溢出,TF0=1,需要重新置0开始定时; }} void display(uint x) //显示数值{ P1=disp_reg[x/10] ; //显示十位 P2=disp_reg[x%10] ; //显示个位} void main(){ uchar miao=0; Init(); //定时器初始化 while(1) { display(miao); //显示秒 delay1s(); //调用秒延时程序 miao++; //秒计数 if(miao>59)miao=0; //59秒后回到0 } }答案仅供参考,不是唯一的。
相关考题:
一个8031单片机应用系统用LED数码管显示字符“8”的段码是80H,可以断定该显示系统用的是()。A、不加反相驱动的共阴极数码管B、加反相驱动的共阴极数码管C、不加反相驱动的共阳极数码管D、加反相驱动的共阳极数码管
填空题多位LED数码管的显示控制方式有静态显示和()