




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上智能电子产品设计与制作 课 程 设 计(论文)题 目: 出租车计价器系统设计学 院: 电气与电子信息工程学院 专业名称: 学 号: 学生姓名: 同组成员: 指导教师: 教师评语:等级课设时间: 2011年5月23日2011年6月10日目 录一设计目的 2 二设计要求 2三系统结构 2四功能模块设计 3 五软件设计 5六电路组装与调试 6七电路仿真 7 八总结 8八附录 9出租车计价器课程设计一、设计目的随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟
2、电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以红外对管测转速,对实际里程的模拟,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。二、设计要求出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费
3、值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟)三、系统结构根据设计的要求选择实验的方案:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用A
4、T89S51单片机为主控器,以红外对管和电机测转速(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管,相对液晶显示价格便宜,利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。器系统结构图如下:四、功能模块 1、单片机模块Flash 存储器。使用Atmel 公司高密度非 技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效
5、的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。2、模拟里程原理图测转速原理图红外对管测转速的电路图采用外部中断进行计数,红外对接管每受到一次发射管发来的红外,就产生一次
6、中断,计数器加1,计数超过1000次时,里程加1,计数清零,从新开始计数.3、掉电保护模块AT24C02存储单元AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。功能简介AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件
7、控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。只有一片时,A0A1A2要接地。工作参数工作温度工业级-55 +125 商业级0 +75 贮存温度-65 +150 各管脚承受电压-2.0 Vcc+2.0V Vcc管脚承受电压-2.0 +7.0V 封装功率损耗(Ta=25) 1.0W 焊接温度(10 秒) 300 输出短路电流100mA芯片图封装图和引脚功能管脚名称功能管脚名称功能A0 A1 A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护Vcc+1.8V 6.0V 工作电压Vss地存储单元电路原理图4、键盘调整单
8、元当单价等信息需要进行修改时,就要用到键盘进行修改。由于调节信息不多,故采用4个独立键盘即可,分别实现清零、切换、增大、减小和功能等作用。S1:接P1.0口,对上一次的计费进行清零,为下次载客准备S2:接P1.1口,实现白天和夜晚单价的切换;当功能键S4按下时,S2可对数据进行增大。S3:接P1.2口,当功能键S4按下时,S3可对数据进行减小。S4:接P1.3口,按1次,进入调整白天单价;按2次,进入调整夜晚单价;按3次,进入调整等待单价;按4次,进入调整起步价;按5次,返回。5、显示单元显示单元由7个8段共阳数码管组成,采用动态扫描进行显示。前三个数码管分别接P3.0、P3.1和P3.2,用
9、于显示总金额;中间两个分别接P3.4和P3.5,用于显示里程;后边两个分别接P3.6和P3.7,用于显示单价。数码管显示图五、软件设计(1)系统主程序 在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。当电机运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结
10、果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价送数码管显示出来。程序流程如图(2)里程计数中断程序 每当红外接收端输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。(3)中途等待中断程序 在中途等待中断程序中,每1ms产生一次中断,将当前里程值送入某个缓存变量,每5分钟将缓存变量中的值和当前里程值比较,当汽车停止,霍尔传感器5分钟没有输出信号,当前里程值和缓存变量内的值相同,则进入等待计时,每5分钟
11、记一次价格。(4)计算程序 计算程序根据里程数分别进入不同的计算公式。如果里程大于3公里,则执行公式:总金额=起步价+(里程-3)*单价+等待时间*等待单价;否则,执行公式:总金额=起步价+等待时间*等待单价。(5)显示程序 显示程序利用定时器每1ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。(6)键盘程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。流程图如图键盘程序流程图六、电路的组装与调试先按照电路图从
12、小而且低的元器件开始安装,然后焊接然后依次焊接其他由小到大,由低到高的元器件,直到全部安装完毕再次进行电路检测和调试 调试时按照以下步骤进行调试:1、调试动态显示电路。查看数码管是否显示正常。2、调试AT24C02存储单元。尝试写入读出指定数据看是否符合要求。3、调试键盘控制电路。结合程序调试按键抖动,查看是否符合程序要求。4、整体调试。结合实际效果对程序进行优化七、电路的仿真 八、总结 这次课程设计给我最大的启迪就是,一定要对知识点熟悉并且十分熟练才有可能完全正确的做出自己的产品。协同工作很重要,一个人不可能很好的完成完整的项目。对于这次出租车计价器的,使我更加清晰的掌握单片机的各种功能,特
13、别是外部中断的应用,还有就是单片机对I/O口对数码管的控制功能,通过对数码管的动态扫描和键盘的防抖的综合编程,能过很好的实现数据的动态显示。在实际的操作过程中还是遇到和很多问题,主要体现在对单片机外部中断的的应用理解的不够深刻,以及在程序调用方面的欠缺,而导致功能不能完全实现;还有是关于默写硬件应用不够了解,而在编程中出现了很大麻烦。通过最终的调试和苦想,以及同学的帮助下,还是解决了问题。通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中
14、的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握,凡事都要自己去动下手,去实践一下,遇到困难,永远不要沮丧气馁。在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识;这次设计给了我极大的鼓舞和信心,相信在以后的学习中可以通过不断的摸索和实践来提高其他方面的知识。九、附录附录1元器件清单:名称数量AT89S52单片机111.0592M时钟晶体122P瓷片电容2轻触开关622uF电解电容11K电阻84.7K电阻29015三极管8共阳四合一2AT24C010外部EEPROM1电机1红外对管1导线若干附录2:原理图附录三PCB和源程序附录四实物图附件3实物图 模拟计程车起步:实
15、物图: 单价 里程 金额 模拟行驶3km内: 模拟行驶4km后 附件 五系统源程序Include<reg52.h>#include<instrins.h>#define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();_nop_();uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;sbit exter=P33; /外部中断sbit key0=P
16、10; /清零sbit key1=P11; /切换/+sbit key2=P12; /-sbit key3=P13; /功能键sbit P3_0=P30; /数码管各位控制sbit P3_1=P31;sbit P3_2=P32;sbit P3_4=P34;sbit P3_5=P35;sbit P3_6=P36;sbit P3_7=P37; sbit SDA=P23; /IIC引脚sbit SCL=P22;uint inter,aa,bb,temp,temp1; /变量的定义uint zongjine,licheng,dengdai;uint key3num,qiehuantemp,delayt
17、emp;uchar danjia1,danjia2,danjia3,danjia,qibu; void delay(unsigned char t) unsigned char j,i; for(i=0;i<t;i+) for(j=0;j<255;j+);void start() /IIC开始位 SDA = 1; SCL = 1; delayNOP(); SDA = 0; delayNOP(); SCL = 0; void stop() / IIC停止位 SDA = 0; delayNOP(); SCL = 1; delayNOP(); SDA = 1; void respons(
18、) /IIC应答位 uchar i; SCL=1; delayNOP(); while(SDA=1)&&(i<250) i+; SCL=0; delayNOP(); uchar read_byte() / 从EEPROM读到MCU uchar i,j; for(i=0;i<8;i+) SCL=1; j<<=1; j|=SDA; SCL=0; return(j);void write_byte(uchar date) / 从MCU写到EEPROM uchar i,temp; temp=date; for(i=0;i<8;i+) temp=temp&l
19、t;<1; SCL=0; delayNOP(); SDA=CY; delayNOP(); SCL=1; delayNOP(); SCL=0; delayNOP(); SDA=1; delayNOP();void write_data(uchar addr, uchar date) / 在指定地址addr处写入数据date start(); write_byte(0xa0); respons(); write_byte(addr); respons(); write_byte(date); respons(); stop(); uchar read_data(uchar addr) / 在
20、指定地址addr读取数据 uchar date; start(); write_byte(0xa0); respons(); write_byte(addr); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date; void display(uint zongjine0,uint licheng0,uint danjia0) uchar z; uint jbai,jshi,jge,lshi,lge,dshi,dge; jbai=zongjine0/100; jshi=zon
21、gjine0%100/10; jge=zongjine0%100%10; lshi=licheng0/10; lge=licheng0%10; dshi=danjia0/10; dge=danjia0%10; for(z=0;z<7;z+) P3=0xff; switch(z) case 0:P3_0=0;P0=tablejbai;break; case 1:P3_1=0;P0=tablejshi&0x7f;break; case 2:P3_2=0;P0=tablejge;break; case 3:P3_4=0;P0=tablelshi;break; case 4:P3_5=0
22、;P0=tablelge;break; case 5:P3_6=0;P0=tabledshi&0x7f;break; case 6:P3_7=0;P0=tabledge;break; delay(3); void keyscan() /键盘扫描 if(key3=0) /功能键调节 delay(5); if(key3=0) key3num=1; while(!key3); delay(5); while(!key3); while(key3num) if(key3num=1) /调白天单价 if(key1=0) delay(5); if(key1=0) danjia1+; if(danj
23、ia1=100) danjia1=0; while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia1-; if(danjia1=-1) danjia1=99; while(!key2); delay(5); while(!key2); display(1,0,danjia1); if(key3num=2) /调夜晚单价 write_data(1,danjia1); if(key1=0) delay(5); if(key1=0) danjia2+; if(danjia2=100) danjia2=0;
24、while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia2-; if(danjia2=-1) danjia2=99; while(!key2); delay(5); while(!key2); display(2,0,danjia2); if(key3num=3) /调等待单价 write_data(2,danjia2); if(key1=0) delay(5); if(key1=0) danjia3+; if(danjia3=100) danjia3=0; while(!key1); delay(
25、5); while(!key1); if(key2=0) delay(5); if(key2=0) danjia3-; if(danjia3=-1) danjia3=99; while(!key2); delay(5); while(!key2); display(3,0,danjia3); if(key3num=4) /调起步价 write_data(3,danjia3); if(key1=0) delay(5); if(key1=0) qibu+; if(qibu=100) qibu=0; while(!key1); delay(5); while(!key1); if(key2=0) delay(5); if(key2=0) qibu-; if(qibu=-1) qibu=99; while(!key2); delay(5); while(!key2); display(4,0,qibu); if(key3num=5)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏省南通市中考数学试题真题(含答案详解)
- 2025年事业单位工勤技能-湖南-湖南动物检疫员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北中式烹调师一级(高级技师)历年参考题库典型考点含答案解析
- 2025-2030中国紫外线净水仪行业市场运营模式及未来发展动向预测报告
- 2025年事业单位工勤技能-浙江-浙江园林绿化工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南计算机文字录入处理员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南经济岗位工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南兽医防治员二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-江苏-江苏经济岗位工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西园林绿化工四级(中级工)历年参考题库典型考点含答案解析
- 年级组工作职责
- 2025年第三季度思想汇报参考范文
- 查对制度 课件
- 餐饮开票购销合同(2篇)
- 《国际传播学概论(双语)》教学大纲
- 中科曙光公司在线测评题
- 2024年高中语文议论文思维方法解析19:归谬
- 代办户口迁出委托书
- 人教版小学英语单词表(完整版)
- 2023年临沧市市级单位遴选(选调)考试真题
- DL-T 1476-2023 电力安全工器具预防性试验规程
评论
0/150
提交评论