led1,1s取反,led2计数10次取反




1
//利用定时器0 1s,led1取反,利用计数器1,跳10,取反 2 #include<reg52.h> 3 #define uchar unsigned char 4 #define uint unsigned int 5 sbit du=P2^6; 6 sbit we=P2^7; 7 sbit led1=P1^0; 8 sbit led2=P1^7; 9 uchar count0; 10 void delay(uint x) 11 { 12 uchar i; 13 while(x--) 14 { 15 for(i=0;i<120;i++); 16 } 17 } 18 unsigned char leddata[]={ 19 20 0x3F, //"0" 21 0x06, //"1" 22 0x5B, //"2" 23 0x4F, //"3" 24 0x66, //"4" 25 0x6D, //"5" 26 0x7D, //"6" 27 0x07, //"7" 28 0x7F, //"8" 29 0x6F, //"9" 30 0x77, //"A" 31 0x7C, //"B" 32 0x39, //"C" 33 0x5E, //"D" 34 0x79, //"E" 35 0x71, //"F" 36 0x76, //"H" 37 0x38, //"L" 38 0x37, //"n" 39 0x3E, //"u" 40 0x73, //"P" 41 0x5C, //"o" 42 0x40, //"-" 43 0x00, //?? 44 0x00 //??? 45 46 }; 47 void display(unsigned char i) 48 { 49 unsigned char shi,ge; 50 shi=i/10; 51 ge=i%10; 52 we=1; 53 P0=0xfe; 54 we=0; 55 56 du=1; 57 P0=leddata[shi]; 58 du=0; 59 delay(5); 60 61 we=1; 62 P0=0xfd; 63 we=0; 64 65 du=1; 66 P0=leddata[ge]; 67 du=0; 68 delay(5); 69 70 } 71 void init() 72 { 73 TMOD = 0x61; //定时器1 0 74 TR0=1; 75 TH0=0x4b; 76 TL0=0xfd; //50ms 77 TR1=1; 78 TH1=10; 79 TL1=0; 80 } 81 void timer0() 82 { 83 if(TF0==1) 84 { 85 TH0=0x4b; 86 TL0=0xfd; //50ms 87 count0++; 88 if(count0==20) 89 { 90 count0=0; 91 led1=~led1; 92 93 } 94 } 95 96 } 97 98 void timer1() 99 { 100 101 if(TL1==10) 102 {
TL1=0;
103 led2=~led2; 105 } 106 } 107 108 109 void main() 110 { 111 112 init(); 113 while(1) 114 { 115 timer0(); 116 timer1(); 117 display(TL1); 118 } 119 120 }

 支付宝扫码得大红包哦!

 

posted @ 2018-03-24 20:04  Justice-V  阅读(754)  评论(0编辑  收藏  举报