#include#define uint unsigned int #define uchar unsigned char sbit rck=P0^0; sbit sck=P0^1; sbit si=P0^2; uchar num[]={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08}; uint b=0,i=0,j=0,k; void write_595(uchar x)//对595芯片进行设初始化 { for(k=0;k<8;k++) //移位寄存器 { x>>=1; sck=0; si=CY; sck=1; } } void date_danpianji()//对单片机计时器进行初始化 { EA=1;//总中断开启 ET1=1;//定时器开启 TMOD=0X10;//选择定时器工作模式 TH1=(65536-33333)/256;//除整赋给高八位 TL1=(65536-33333)%256;//除余赋给第八位 TR1=1; //启动定时器 } void main()//主函数 { date_danpianji();//调用定时器中断 while(1)//循环 { if(b==20)//检测中断函数是否满足b==20,如果满足则执行 { b=0; i++; if(i==10) { i=0; j++; if(j==10)j=0; } } write_595(num[j]); write_595(num[i]); rck=0; rck=1; } } void ext() interrupt 3 using 1 //定时器中断 { TH1=(65536-33333)/256; TL1=(65536-33333)%256; b++; }
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』