logo资料库

光电测速及LCD1602显示.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
#include #include #define uint unsigned int #define uchar unsigned char sbit rs=P2^6; sbit rw=P2^5; sbit e=P2^7; float f=0; int dec0=0; int dec1; float dec2=0; uchar LED0_data,LED1_data,LED2_data,LED3_data; uchar LED0_dat,LED1_dat,LED2_dat,LED3_dat,LED4_dat; uchar speed[]="speed:"; uchar root[]="path:"; uchar cm[]="cm/s"; uchar m[]=".m"; uchar i=0; void display(); void delay(uint v); void initime(); /*定时器初始化*/ void initime(){ TMOD=0x51; //T1 计数器,T0 定时器,方式 1 TL0=(65536-10000)%256; TH0=(65536-10000)/256; TL1=0; TH1=0;
ET0=1; EA=1; } void delay1ms(uint c){ //误差 0us uchar a,b; for (; c>0; c--){ for (b=199;b>0;b--){ for(a=1;a>0;a--); } } } void dectobit(){ dec0=f*20.7; LED3_data=dec0/1000; dec0=dec0 % 1000; LED2_data=dec0/100; dec0=dec0 % 100; LED1_data=dec0/10; dec0=dec0 % 10; LED0_data=dec0; dec2=f*2.07345+dec2; dec1=dec2; LED4_dat=dec1/10000; dec1=dec1 % 10000; LED3_dat=dec1/1000; dec1=dec1 % 1000; LED2_dat=dec1/100; dec1=dec1 % 100;
LED1_dat=dec1/10; dec1=dec1 % 10; LED0_dat=dec1; } void write_com(uchar com){ e=0; rs=0; rw=0; P0=com; delay1ms(1); e=1; delay1ms(5); e=0; } void write_data(uchar dat){ e=0; rs=1; rw=0; P0=dat; delay1ms(1); e=1; delay1ms(1); e=0; } void Init() { write_com(0x38); write_com(0x0c); write_com(0x06);
write_com(0x01); write_com(0x80); } void display(){ uchar j; write_com(0x80); for(j=0;j<6;j++) write_data(speed[j]); write_com(0xc1); for(j=0;j<5;j++) write_data(root[j]); write_com(0x86); write_data(LED3_data+0x30); write_data(LED2_data+0x30); write_data(LED1_data+0x30); write_data(LED0_data+0x30); for(j=0;j<4;j++) write_data(cm[j]); write_com(0xc6); write_data(LED4_dat+0x30); write_data(LED3_dat+0x30); write_data(LED2_dat+0x30); write_data(LED1_dat+0x30); write_data(m[0]); write_data(LED0_dat+0x30); write_data(m[1]); } void main(void){ initime();
Init(); TR0=1; TR1=1; while(1){ display(); } } timer()interrupt 1{ i=i+1; if(i==100){ i=0; f=TH1*256+TL1; TL1=0; TH1=0; dectobit(); } TL0=(65536-10000)%256; TH0=(65536-10000)/256; }
分享到:
收藏