#include
#include
sbit CS=P3^5; sbit adrd=P3^7; sbit adwr=P3^6; unsigned char code display[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char com[]={0x01,0x02,0x04,0x08}; unsigned char num,num2=0,time[4]={0,0,0,0},val; float val2; unsigned int val3; void main() { TMOD=0x01; TH0=(65536-917)/256; TL0=(65536-917)%256;; EA=1; ET0=1; TR0=1; CS=0; while(1){ adwr = 1;// _nop_(); adwr = 0;// _nop_(); adwr = 1;// P1 = 0xff;// adrd = 1;// _nop_(); adrd = 0;// _nop_(); val = P1;// adrd = 1;// val2=((val*1.0/255)*5.0); val3=val2*1000; time[0]=val3/1000; time[1]=val3%1000/100; time[2]=val3%100/10; time[3]=val3%10; } } void Timer0() interrupt 1 { TH0 = (65536-917)/256; TL0 = (65536-917)%256;; num++; if(num==10){ num=0; P0=~com[num2]; P2=0xff; if(num2==0) {P2=display[time[num2]]|0x80;} else {P2=display[time[num2]];} num2++; if(num2>=4) num2=0; } }

源代码:
#include
#include
sbit CS=P3^5; sbit adrd=P3^7; sbit adwr=P3^6; unsigned char code display[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char com[]={0x01,0x02,0x04,0x08}; unsigned char num,num2=0,time[4]={0,0,0,0},val; float val2; unsigned int val3; void Delay50ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); _nop_(); i = 3; j = 26; k = 223; do { do { while (--k); } while (--j); } while (--i); } void main() { TMOD=0x01; TH0=(65536-917)/256; TL0=(65536-917)%256;; EA=1; ET0=1; TR0=1; EX0=1; IT0 = 0; CS=0; while(1){ adwr = 1;// _nop_(); adwr = 0;// _nop_(); adwr = 1;// Delay50ms(); } } void Timer0() interrupt 1 { TH0 = (65536-917)/256; TL0 = (65536-917)%256;; num++; if(num==10){ num=0; P0=~com[num2]; P2=0xff; if(num2==0) {P2=display[time[num2]]|0x80;} else {P2=display[time[num2]];} num2++; if(num2>=4) num2=0; } } void Init0() interrupt 0 { adrd = 1;// _nop_(); adrd = 0;// _nop_(); val = P1;// adrd = 1;// val2=((val*1.0/255)*5.0); val3=val2*1000; time[0]=val3/1000; time[1]=val3%1000/100; time[2]=val3%100/10; time[3]=val3%10; }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213794.html原文链接:https://javaforall.net
