51单片机出租车计价器设计课程设计(编辑修改稿)内容摘要:

unsigned char bdata ds_time。 unsigned char code NO[10]={0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9}。 uchar code tab[16]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0x71,0x7C,0x39,0x73,0x31,0x71}。 /* 0~F 的字型编码 */ uchar xdata hz2[16]={0xB5,0xA5,0xBC,0xDB,0xA3,0xBA,0x20,0x20,0x20,0x20, /* 单 价 : 空 空 */ 0xA3,0xB0,0xA3,0xB0,0xD4,0xAA}。 /* N N 元 */ uchar xdata hz3[16]={0xBE,0xE0,0xC0,0xEB,0xA3,0xBA,0xA3,0xB0,0xA3,0xB0, /* 距 离 : 空 N */ 0xA3,0xB0,0xA3,0xB0,0x4B,0x4D}。 /* N N k m */ uchar xdata hz4[16]={0xBC,0xDB,0xC7,0xAE,0xA3,0xBA,0xA3,0xB0,0xA3,0xB0, /* 价 格 : N N */ 0xA3,0xB0,0xA3,0xB0,0xD4,0xAA}。 /* N N 元 */ uchar xdata hz5[16]={0x20,0x20,0xCA,0xE4,0xC8,0xEB,0xC1,0xBD,0xCE,0xBB, /* 空 输 入 两 位 */ 0xB5,0xA5,0xBC,0xDB,0x20,0x20}。 /* 单 价 空 */ uchar xdata hz6[16]={0x20,0x20,0x20,0x20,0xA3,0xBA,0xA3,0xB0,0xA3,0xB0, /* 空 空 : N N */ 0xD4,0xAA,0xA3,0xAF,0x4B,0x4D}。 /* 元 / k m */ void initial (void)。 void delay(void)。 void check_lcd(void)。 void show_lcd(uchar *,uchar *,uchar *)。 void lcd_busy(void)。 /*LCD 忙状态检测函数 */ void pute(void)。 void change_pri(void)。 void change_time(void)。 void clock(void)。 void check_ds12887(void)。 void e(void) 东北大学课程设计 第四章 源程序代码 14 {w_c_add=0x80。 delay。 lcd_busy()。 w_d_add=0xCA。 lcd_busy()。 w_d_add=0xE4。 lcd_busy()。 w_d_add=0xC8。 lcd_busy()。 w_d_add=0xEB。 lcd_busy()。 w_d_add=0xB4。 lcd_busy()。 w_d_add=0xED。 lcd_busy()。 w_d_add=0xCE。 lcd_busy()。 w_d_add=0xF3。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 lcd_busy()。 w_d_add=0x20。 h1=0。 h2=0。 m1=0。 m2=0。 s1=0。 s2=0。 cc=0。 delay()。 delay()。 delay()。 delay()。 delay()。 delay()。 } main() { uint inf=0。 initial()。 show_lcd(hz2,hz3,hz4)。 while(1) { clock()。 东北大学课程设计 第四章 源程序代码 15 if(begin==1) { if(inf==0) { fate=20。 inf=1。 } if(state==0) { if(num=LOW) { COUT=0。 price=a*10+b。 len+=num*L/HN。 if(len/TI=0) { leng=len/TI。 len%=TI。 } fa=leng*price。 length+=leng。 leng=0。 fate+=fa。 } else { if(COUT=120) { length++。 fate+=(10*a+b)。 COUT=0。 } } pute()。 show_lcd(hz2,hz3,hz4)。 } else { if(pri==1) change_pri()。 if(tim==1) change_time()。 } 东北大学课程设计 第四章 源程序代码 16 } if(clear==1) { length=0。 fate=0。 inf=0。 pute()。 show_lcd(hz2,hz3,hz4)。 if(pri==1) change_pri()。 if(tim==1) change_time()。 } }//while(1) }//main /********************以下是程序(包括中断) ********************************/ void keybord(void) interrupt 0 using 1 { uchar keyboard=0。 EX0=0。 COM=0x50。 keyboard=DAT。 keyboard amp。 =0x0f。 /* 保留低四位 */ switch(keyboard) { case 0x0: key=0。 tt++。 nn=1。 cc++。 break。 case 0x1: key=1。 tt++。 nn=1。 cc++。 break。 case 0x2: key=2。 tt++。 nn=1。 cc++。 break。 case 0x3: key=3。 tt++。 nn=1。 cc++。 break。 case 0x4: key=4。 tt++。 nn=1。 cc++。 break。 case 0x5: key=5。 tt++。 nn=1。 cc++。 break。 case 0x6: key=6。 tt++。 nn=1。 cc++。 break。 case 0x7: key=7。 tt++。 nn=1。 cc++。 break。 case 0x8: key=8。 tt++。 nn=1。 cc++。 break。 case 0x9: key=9。 tt++。 nn=1。 cc++。 break。 case 0x0B: key=11。 COUT=0。 begin=1。 clear=0。 nn=0。 break。 /*B begin*/ case 0x0C: key=12。 clear=1。 begin=0。 nn=0。 break。 /*C clear*/ case 0X0D: key=13。 state=1。 pri=1。 tim=0。 nn=0。 break。 /*D set price*/ case 0x0E: key=14。 state=1。 tim=1。 pri=0。 nn=0。 break。 /*E set time*/ default: key=15。 nn=0。 break。 /*F finish*/ } 东北大学课程设计 第四章 源程序代码 17 keyboard=tab[keyboard]。 if(pri==1) if(nn==0) COM=0x80+8。 else COM=0x80+4+tt。 if(tim==1) if(nn==0) COM=0x80+8。 else COM=0x80+1+cc。 DAT=keyboard。 EX0=1。 } void in。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。