欢迎来到天天文库
浏览记录
ID:51846675
大小:32.00 KB
页数:3页
时间:2020-03-16
《四位数码管动态显示c语言程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//这是一个四位数码管动态显示c语言程序,每隔一秒加一,直至加到9999为止//使用时需采用锁存器#include#include"stdio.h"unsignedcharcodeLED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedcharLEDbuff[]={0xff,0xff,0xff,0xff};//定义数码管的位选段sbitSEG_bit_1=P0^1;sbitSEG_bit_2=P0^2;sbitSEG_bit_3=P0^3;sbitSEG_bit_4=P0^4;unsign
2、edintcnt=0;unsignedintsec=0;unsignedintmini=0;unsignedinthour=0;unsignedchari=0;/*voiddelay(unsignedintz){unsignedintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}*/voidinterrupttimer0()interrupt1/*设置中断函数*/{TH0=0xfc;TL0=0x18;cnt++;//P1=0x80;//delay(1);switch(i){case0:SEG_bit_1=0;SEG_bit_4=1;P1=LEDbu
3、ff[0];i++;break;case1:SEG_bit_4=0;SEG_bit_3=1;P1=LEDbuff[1];i++;break;case2:SEG_bit_3=0;SEG_bit_2=1;P1=LEDbuff[2]&;i++;break;case3:SEG_bit_2=0;SEG_bit_1=1;P1=LEDbuff[3];i=0;break;default:break;}}/************************************************voidserial_init(){//TMOD=0x20;//定时器T/C1工作方式2SCON=0
4、x50;//串口工作方式1,允许串口接收(SCON=0x40时禁止串口接收)TH1=0xF3;//定时器初值高8位设置TL1=0xF3;//定时器初值低8位设置PCON=0x80;//波特率倍频(屏蔽本句波特率为2400)TR1=1;//定时器启动}**********************************************/voidmain(){//serial_init();//串口初始化//TMOD=0x21;/*设置定时器*/TMOD=0x01;TH0=0xfc;TL0=0x18;TR0=1;EA=1;/*设置中断*/ET0=1;while(1){if(0=
5、=TF0){if(cnt>=1000){cnt=0;sec++;if(sec>=60){sec=0;mini++;if(mini>=60){mini=0;hour++;if(hour>=24)hour=0;}}LEDbuff[0]=LED[sec%10];//*设置数码管显示位*/LEDbuff[1]=LED[sec/10%10];LEDbuff[2]=LED[mini%10];LEDbuff[3]=LED[mini/10%10];//TI=1;//使用printf函数前须先将发送标志位TI置1//printf("%4d%x,%x%x",sec,LEDbuff[0],LEDbu
6、ff[1],LEDbuff[2]);//TI=0;}}}}
此文档下载收益归作者所有