清翔电子51单片机6课动态显示数码管作业秒表

/*******************************/
//数码管显示0到60,间隔一秒
#include 
#include 
#define uchar unsighed char;
#define uint unsighed int;
sbit we = P2^7;
sbit du = P2^6;
sbit led = P1;
uchar i =1;
uint time_counter=0,time_counter1=0;uchar code leddata[]={ 0x3F,  //"0"0x06,  //"1"0x5B,  //"2"0x4F,  //"3"0x66,  //"4"0x6D,  //"5"0x7D,  //"6"0x07,  //"7"0x7F,  //"8"0x6F,  //"9"0x77,  //"A"0x7C,  //"B"0x39,  //"C"0x5E,  //"D"0x79,  //"E"0x71,  //"F"0x76,  //"H"0x38,  //"L"0x37,  //"n"0x3E,  //"u"0x73,  //"P"0x5C,  //"o"0x40,  //"-"0x00,  //熄灭0x00  //自定义};
void display(uint time_counter1)
{uint ge,shi;shi = time_counter / 10;ge = time_counter % 10;we = 1;P0 = 0xfe; //led1;we = 0;du = 1;P0 = 0;du = leddata[shi];delay(5);we = 1;P0 = 0xfd; //led2we = 0;du = 1;P0 = 0;du = leddata[ge];delay(5);}void delay(uint z)
{uint x,y;for(x=z;x>0;x--)	for(y=114;y>0;y--);
}int main()
{TMOD = 0x10;TH1 = (65536 - 4608) / 256;TL1 = (65536 - 4608) % 256;TR1 = 1;if(TF1 = 1){TF1 = 0;TH1 = (65536 - 4608) / 256;TL1 = (65536 - 4608) % 256;time_counter++;}if(time_counter == 20){time_counter = 1;time_counter1++;for(n=1;n<0xff;_cror_(n,1)){	 P1 = n;delay(1000);}}//display(time_counter1);if(time_counter1 == 60)time_counter1 = 0;}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部