出租车计价器课程设计报告(2)
4-1.
图4-1 Keil uVision4编译
在Proteus软件中画出仿真电路(如图4-2),把Keil uVision4编译后生成的“.hex”导入到单片机中,按“运行仿真”键进行仿真。
图4-2 Proteus仿真
五.程序
源程序如下:
#include<reg52.h>
#define uchar unsigned char #define uint unsigned int
/****description: *********************************/ /*********** 本区定义了程序各部分涉及的单价 **********/ #define QBJ 5 /*起步价;修改“5”,即可改变程序中打表起步价.*/
#define DJ 10 /*每公里价钱;修改十位上“1”,即可改变每公里单价.例“ 10代表1公里1元,20代表1公里2元 ”***/
#define DC_SD 2; /*堵车时默认速度;修改“2”,即可改变默认速度**/ /*表示每10秒增加 “2” 百米 /*(默认速度公式:DC_SD= V/3600 V单位为km/h)*/ /* 注:暂不支持小数,仅支持整数。 */
volatile unsigned int qianwei,baiwei,shiwei,gewei; //显示数据各个位置数字的临时变量 unsigned int code
led_seg_code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //段码表示0-9
volatile unsigned int dis,distance,A_distance,time,A_time,cost,A_cost; //定义路程、价钱、总路程,总时间,全局变量; volatile unsigned int
temp_cost,temp_distance,temp_cost_1,temp_distance_1; //需要用来传递的临时 全局变量
sbit key1=P1^4; //开始打表
sbit key2=P1^5; //停车,停止打表 sbit key3=P3^3; //以按键模拟堵车
sbit key4=P1^6; //查看 合计 打表 里程 及 费用 sbit key5=P1^7; //清除当前显示
sbit led1=P1^0; // 指示key1 sbit led2=P1^1; // 指示key2 sbit led3=P1^2; // 指示key3 sbit led4=P1^3; // 指示key4 bit STAR_flag; // 标志位对应 key1 bit STOP_FLAG; // 标志位对应 key2 bit DC_flag; // 标志位对应 key3 bit DATA_flag; // 标志位对应 key4 bit CLR_FLAG; // 标志位对应 key5
void initial_data(void) {
STAR_flag=0; DATA_flag=0; DC_flag=0; STOP_FLAG=0; CLR_FLAG=0; led1=0; led2=0; led3=0;
led4=0; }
void juli() {
dis=dis+1; //每转一周1M(暂定)
if(dis==5)//100M 在数码管上显示(暂定) {
distance=distance+1; dis=0; } }
void jisuan() {
if(distance>=20)
cost=(distance-20)/DJ+QBJ; /*起步价;修改此处“5”,即可改变程序中打表起步价.每公里价钱;修改“10”,即可改变每公里单价.***/ else /* 注: “1”为每公里1¥ */ cost=QBJ; /*这里5,同上。*/ }
void fenli(uint temp) {
if(temp>9999) temp=9999;
qianwei=temp/1000; baiwei=(temp/100)%10; shiwei=(temp%100)/10; gewei=temp%10; }
void diplay_delay() {
uchar i;
for(i=0;i<200;i++); }
void led_show_1() {
if(qianwei==0) //判断高位是为0,若为0,则不显示。 {
if(baiwei==0) //判断高位是为0,若为0,则不显示。 {
if(shiwei==0) //判断高位是为0,若为0,则不显示。 {
P2=0xfe; //位选通
P0=led_seg_code[gewei]; //段选通 diplay_delay(); } else {
P2=0xfe;
P0=led_seg_code[gewei]; diplay_delay();
P2=0xfd;
P0=led_seg_code[shiwei]; diplay_delay(); } } else {
P2=0xfe;
P0=led_seg_code[gewei]; diplay_delay();
P2=0xfd;
P0=led_seg_code[shiwei]; diplay_delay();
P2=0xfb;
P0=led_seg_code[baiwei]; diplay_delay(); } } else {
P2=0xfe;
P0=led_seg_code[gewei]; diplay_delay();
P2=0xfd;
P0=led_seg_code[shiwei]; diplay_delay();
P2=0xfb;
P0=led_seg_code[baiwei]; diplay_delay();
P2=0xf7;
P0=led_seg_code[qianwei]; diplay_delay(); } }
void led_show_2() {
if(qianwei==0)//判断高位是为0,若为0,则不显示。 {
if(baiwei==0) //判断高位是为0,若为0,则不显示。
{ P2=0xef; //位选通
P0=led_seg_code[gewei]; //段选通 diplay_delay();
P2=0xdf;
P0=led_seg_code[shiwei]&0x7f; // |0x08显示小数点。 diplay_delay(); } else {
P2=0xef;
P0=led_seg_code[gewei]; diplay_delay();
P2=0xdf;
P0=led_seg_code[shiwei]&0x7f; diplay_delay();
P2=0xbf;
P0=led_seg_code[baiwei]; diplay_delay(); } } else {
P2=0xef;
P0=led_seg_code[gewei]; diplay_delay();
P2=0xdf;
P0=led_seg_code[shiwei]&0x7f; diplay_delay();
P2=0xbf;
P0=led_seg_code[baiwei]; diplay_delay();
P2=0x7f;
P0=led_seg_code[qianwei]; diplay_delay(); } }
void delay(uint x)
…… 此处隐藏:1179字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




