出租车计价器程序

出租车计价器程序

ID:38657262

大小:40.50 KB

页数:5页

时间:2019-06-17

出租车计价器程序_第1页
出租车计价器程序_第2页
出租车计价器程序_第3页
出租车计价器程序_第4页
出租车计价器程序_第5页
资源描述:

《出租车计价器程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#defineucharunsignedchar#defineuintunsignedintucharqianwei,baiwei,shiwei,gewei;//显示数据各个位置数字的临时变量charled_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表示0-9//按键的定义,所有按键按下去为低电平sbitkey0=P1^0;//清零sbitkey1=P1^1;//切换路程与等待时间sbitkey2=P1^2;//单程还是往返设置sb

2、itkey3=P1^3;//暂停按钮bitkey1_flag;//由于按键会自动复位,这个为标志位bitkey2_flag;bitkey3_flag;bitflag;//初始化函数voidinitial_data(void){distance=0;cost=0;second=0;minute=0;way=0;key1_flag=1;//key2_flag=0;//单程or往返,接指示灯;key3_flag=1;//暂停,接指示灯;flag=0;pulse=0;dengdai=0;}//暂停程序voidzanting(void){if(key3_flag){EX0=

3、0;//关闭中断定时器TR0=0;}key3_flag=!key3_flag;}//计算数据处理voidjisuan(){if(pulse<=210){distance=pulse/7+way/10000;cost=80;}danjia=10;//单程价格if(key2_flag)danjia=30;//往返价格if(pulse>180){distance=pulse/7+way/10000;cost=danjia*(distance-30)/10+80;}wait=minute*100+second;}//显示的辅助程序,分离一个数的各个数字voidfenli(

4、uinttemp)//数据的分离处理{if(temp>9999)temp=9999;qianwei=temp/1000;baiwei=temp/100%10;shiwei=temp%100/10;gewei=temp%10;}voiddiplay_delay(void){uchari;for(i=0;i<240;i++);}//显示程序;voidled_show(){if(key1_flag)fenli(distance);elsefenli(wait);P2=0xfe;P0=led_seg_code[gewei];diplay_delay();P2=0xfd;i

5、f(key1_flag)P0=led_seg_code[shiwei]

6、0x80;elseP0=led_seg_code[shiwei];diplay_delay();P2=0xfb;if(key1_flag)P0=led_seg_code[baiwei];elseP0=led_seg_code[baiwei]

7、0x80;diplay_delay();P2=0xfb7;P0=led_seg_code[qianwei];diplay_delay();//-----显示价格----fenli(cost);P2=0xef;diplay_delay();P2=0xdf;d

8、iplay_delay();P2=0xbf;diplay_delay();P2=0x7f;diplay_delay();}//延时时基为1msvoiddelay(uintx){inti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}//键盘的扫描voidkeyscan(){if(key1==0)//按键消抖并判断按下去的次数为基数还是偶数{delay(2);if(key1==0)key1_flag=!key1_flag;}if(key0==0)//清零{delay(2);if(key0==0)initial_data();}if(ke

9、y3==0)//暂停{delay(2);if(key3==0)zanting();}if(key2==0)//单程还是往返{delay(2);if(key2==0)key2_flag=!key2_flag;}}//定时器初始化voidinitial_time(){TMOD=0x01;TH0=(65536-25000)/256;TL0=(65536-25000)%256;IE=0x83;IT0=1;//外部边沿触发方式TR0=1;}//中断记录脉冲数voidzd()interrupt0//中断0{aa++;if()pulse++;//进入中途等待计价}//*****

10、****定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。