




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机系统课程设计报告 完成日期:2010 年 12 月 28 日 系:电子信息工程系 专业:通信工程 班级:071 班 设计题目:出租车计价器 学生姓名:谢明七王勉 指导教师:董玉华、许爽目录 、设计任务和性能指标 2 1.1 设计任务 2 1.2 性能指标 2 二、设计方案 3 2.1 任务分析 3 2.2 系统设计 4 三系统硬件设计 6 3.1 电源电路 6 3.2 单片机的最小系统 7 3.3DS1302 寸钟电路8 3.4 显示电路的设计 9 3.5 按键控制的设计 1Q 3.7 复位电路 12 四、系统软件设计 13 4.1 主程序设计 1.3. 4.2子程序设计14 4.2.1
2、 DS130 莎程序 14. 4.2.1 DS130 莎程序流程图 14. 4.2.2 显小子程序 16 4.2.2 显小子程序流程图 18 4.3 修改时间子程序 19 五、调试及性能分析 20 5.1 调试步骤 2Q 5.1.1 硬件调试 2Q 5.1.2 软件调试:20 5.2 性能分析 20 六、心得体会 22. 七、参考文献公 八、附录 24 附录 1、程序活单 24 附录 2 系统硬件电路图 34大连民族学院2007级电子信息工程专业单片机系统课程设计报告 2 一、设计任务和性能指标 1.1设计任务 出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最
3、重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。 出租车计价器的主要功能是计价显示、时钟显示、根据白天、黑夜、途中等待来调节营运参数、计量数据查询等。要求用 Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要求的功能),印刷电路板(要求布局合理,线路活晰),绘出程序流程图,并给出程序活单(要求思路活晰,尽量简洁,主程序和子程序分开,使程序有较强的可读性)。 1.2性能指标 1. 不同情况具有不同收费标准:白天、晚上、途中等待(10min 开始收费); 2. 数据输出:单价输出、路程输出、总金额输出; 3. 按键:启动
4、计时开关、数据显示切换、白天/晚上切换、复位; 4. 能手动进行修改单价,但单价设定需密码进入。大连民族学院2007级电子信息工程专业单片机系统课程设计报告 3 二、设计方案 2.1任务分析 出租车计价器基本功能部分是根据里程数来完成总金额的输出。实现方法有 两种。 方案一:采用数字电路控制。其原理方框图如图 2.1 所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过丁简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。 金额显 示 单价显 示 图 2.1 数字电路实现框图 方案二:采用单片机控制。利用单片机丰富的IO
5、 端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。本方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。大连民族学院2007级电子信息工程专业单片机系统课程设计报告 4 2.2系统设计 键盘电路= 里程输入 图2.1电路系统构成框图 主控芯片使用51 系列AT89C52 单片机,采用高性能的静态80C51 设计,由先进工艺制造,并带有非易失性 Flash 程序存储器。它是一种局性能、低功耗的 8 位 COMS 微处理芯片,市场应用最多。 时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗
6、、带RAM的实时时钟芯片DS1302。采用 DS1302 作为主要计时芯片、可以做到计时准确。更重要的是,DS1302 可以在很小的电流的后备电源(2.55.5V 电源,在 2.5V 时耗电小丁 300nA)下继续计时,并可编程选择多种充电电流对后备电源进行慢速充电,可以保证后备电源基本不耗电。采用申行数据传输,与单片机硬件连接简单,如果使用时钟芯片 DS12887,将采用并行数据传输,占用更多的硬件资源。因此为节省单片机端口,时钟芯片采用 DS1302。 它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件以霍尔效应为其工作基础。霍尔器件具有许多优点,它们的结构牢固,体积小,重
7、量轻,寿命长,安装方便,功耗小,频率高(可达 1MHZ),耐振动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。活儿现行器件的精度高、线性度好;霍尔开关器件无触点、无磨损、输出波形活晰、无抖动、无回跳、无知重复精度高(可达 Im 级)。采用了各种步长和保护措施的霍尔器件的工作温度范围宽,可达-55 摄氏度150 摄氏度。 数据显示模块采用的是 LED 数码管显示,LCD 虽然也能实现显示功能,但在距屏幕 1 米之外就无法看活数据,不能满足要求,而且在白天其对比度也不能满足要求,因此建议采用 LED数码管显示。数码管总共用了 12 个,其中第一行显示小时和分钟,第二行第一个显示单价,后面 3 个显示
8、里程数,最后一行显示总价。 按键控制模块使用了 3 个脉冲开关,其中一个开关负责换位,另一个负责改 数,第三个按键负责切换至等待时间掉电保护= 单片机 7 =显示电路 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 5 三系统硬件设计 3.1电源电路 因为出租车上的电压时12V,而芯片所需供电电压是5V,所以选择LM7805的经典电路电源电路完成 12V 转 5V 的目的。电源电路图如下图 3.1 所示: 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 6 3.2单片机的最小系统 单片机最小系统采用的是 STC89C54 芯片,STC89C54 是一种低功耗、高新能
9、 CMOS8 为微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业80C51铲平指令和引脚完全兼容。偏上FLASH允许程序存储器在系统可编程,亦适丁常规编程器。在单芯片上,拥有平桥的 8 为 CPU 何在系统可编程 Flash,使得 STC89C54 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C54具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2 个数据指针,三个 16 为定时器/计数器,一个 6 向量 2 级终端结构,全双工申行口,片内晶振及时钟电路。另外,AT8
10、9S52 可降至 0HZ 静态逻辑操作,支持 2 中软件可选择节点模式。空闲模式下,CPU 停止工作, 允许 RAM、定时器/计数器、申口、终端继续工作。掉电保护方式下,RAM 内 容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。单片机最小系统电路图如下图 3.2 所示: 图 3.2 单片机最小系统电路图 POO P1I FQ) P12 PQ2 P03 PQ4 F07 BESET 29 JtXD TXD P22 INTO P23 INTIINTI TO P25 11 P26 WR 虫心 X2 vcavca XI ALBT 3ND PSEN 5PM F5IPOT SP2
11、0 1 Hl P4 rx 40 .30 z ,29 % 盘 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 7 3.3DS1302时钟电路 若采用单片机计时,一方面需要采用计数器,占用阴问资源,另一方面需要设置终端、查询等,同样耗费单片机的资源,并且使用单片机的时钟误差比较大,当长时间使用后会,会出现很大错误,而在系统中采用 DS1302 则能很好的解决 这个问题。DS1302 时钟电路图如图 3.3 所示: 图 3.3DS1302 寸钟电路图 3.4显示电路的设计 在显示模块需要对时间、单价、总价、路程、等待时间进行显示,采用的是 LED数码管,数码管总共用了 12 个,其中第
12、一行显示小时和分钟,第二行第一个显示单价,后面 3个显示里程数,最后一行显示总价。 显示电路图(一个数码管)如下图 3.4 所示: 32768kiz 1Y21Y2 CJND X2X2 R5TR5T 1010 SCLK*SCLK* &P12&P12 rPM 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 8 图 3.4 显示电路图大连民族学院2007级电子信息工程专业单片机系统课程设计报告 9 3.5按键控制的设计 按键的设置是为了能够手动更改时间和单价,还有就是手动切换到等待时间的地 方,按键采用的是脉冲按键。 按键设置电路图如图 3.5 所示: GNDGND 图3.5按键控制电
13、路图 十5 P0P0 T_ 1 2 2 P21 P22 P23 J 4 4 5 P24 、 6 7 S Header8 S1 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 10 3.6掉电保护 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。掉电 保护的芯片较多,如AT24C02 是ATMEL 公司的2KB字节的电可擦除存储芯片,采用两线申行的总线和单片机通讯,电压最低可以到 2.5V,额定电流为 1mA,静态电流 10Ua(5.5V),芯片内的资料可以在断电的情况下保存 40 年以上,而且 采用 8 脚的 DIP 封装,使用方便。掉电保护电路图如下图 3.6 所
14、示: U7U7+5+5 AOVCCAOVCCr rAlAlWPWP- - A2A2SCLSCL- - -UNDSDAUNDSDA- - 图 3.6 掉电保护电路图8T8T I|GND 5 P25 q periE7 GiWGiW 掉电保护电路 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 11 3.7复位电路 复位功能采用的是 MAX813L 芯片。MAX813L 是具有监控电路的微处理芯片,它具有 4 个功能:1 具有独立的看门狗计时器,如果看门狗输入在 1.6 秒内无变化,就会产生看门狗输出;2掉电或电源电压低丁1.25V时,产生掉电输出;3上电时能自动产生200ms宽的复位
15、脉冲;4具有人工复位功能,当人工复位端输入低电平时,产生复位信号输出。 复位电路如图 3.7 所示: 图 3.7 复位电路图OO SW-EB_ PFO WDI VCC WDO PFI GNI) RST GNI) KLAX813GND 看门狗复位 U9 6 S 1 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 12 四、系统软件设计 4.1主程序设计 程序的难度主要就是在数码管的显示和外部脉冲的采集部分,分别采用74LS273 芯片对数码管进行段选,使数码管显示对应的数,另外使用 74LS154 对数码管进行位选,选择哪个数码管亮,采用的是动态显示。还有外部脉冲的收集,需要对里程
16、数进行显示,所以必须要先进行脉冲的采集。 程序流程图如图 4.1 所示: 而邱恨 1 1 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 13 图 4.1 程序流程图 4.2子程序设计 4.2.1DS1302子程序 4.2.1DS1302子程序流程图 显示单价、总价、路程、时间等数据,循环扫描进行显示。(如果在一分钟 内没有脉冲,开启终端,显示秒分子程序。 DS1302 子程序流程图如 4.2.1 所小:大连民族学院2007级电子信息工程专业单片机系统课程设计报告 14 图 4.2.1DS1302T 程序流程图 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 15
17、4.2.2显示子程序 voidsett()显示等待时间及单价、总价、路程子程序 TAB0=Read1302(0 x83)/10; TAB1=Read1302(0 x83)%10; TAB7=Read1302(0 x81)/10; TAB6=Read1302(0 x81)%10;TAB8=3; TAB2=Coo/100;TAB3=Coo/10%10; TAB4=Coo%10; if(TAB4=3&TAB2=0&TAB3=0) TAB11=8; else TAB11=(8+(Coo-3)*TAB8)%10; TAB5=TAB2*TAB8/10; TAB9=Coo/100*TAB8+Coo%100*
18、TAB8/100; TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10;voidmmm()显示时间子程序 TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0 x83)/10; TAB6=Read1302(0 x83)%10;TAB8=3; TAB11=(8+(Coo-3)*TAB8)%10; TAB5=TAB2*TAB8/10; TAB9=Coo/100*TAB8+Coo%100*TAB8/100; TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10; voidmm(
19、)/月 E 计价时的显示时间 TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0 x83)/10; 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 16 TAB6=Read1302(0 x83)%10;TAB8=3; TAB2=Coo/100;TAB3=Coo/10%10; TAB4=Coo%10; if(TAB40;Delay-) (for(I=0;I0;i-)0IR8 次移位 ( 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 25 temp=addr; DIO=(bit)(temp
20、&0 x01);每次传输低字节 addr=1; SCLK=0;/佑移一位 SCLK=1; 发送数据 for(i=8;i0;i-) ( temp=dat; DIO=(bit)(temp&0 x01); dat=1; SCLK=0; SCLK=1; CE=0; unsignedcharRead1302(unsignedcharadd/)C 据读取子程序 ( unsignedchari,temp,dat1,dat2; CE=0; SCLK=0; CE=1;大连民族学院2007级电子信息工程专业单片机系统课程设计报告 26 /读取数据 for(i=8;i0;i-) ( ACC7=DIO; ACC=1;
21、 SCLK=1; SCLK=0; CE=0; dat1=ACC; dat2=dat1/16; dat1=dat1%16; dat1=dat1+dat2*10; return(ACC); voidInitial()/仞始化 DS1302 ( Write1302(0 x8E,0 x00);禁止写保护 Write1302(0 x80,0 x00);/秒位初始化 Write1302(0 x82,0 x20);分钟初始化 /发送地址 for(i=8;i0;i-) ( temp=addr; DIO=(bit)(temp&0 x01); addr=1; SCLK=0; SCLK=1; 循环 8 次移位 每次
22、传输低字节 右移一位 /数据进制转换 十六进制转十进制 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 27 Write1302(0 x84,0 x10); Write1302(0 x86,0 x23); Write1302(0 x88,0 x05); Write1302(0 x8c,0 x10);小时初始化 Write1302(0 x8E,0 x80);允许写保护 voidset()修改时间 Write1302(0 x8E,0 x00);禁止写保护 Write1302(0 x82,TAB7*16+TAB6);分钟初始化 Write1302(0 x84,TAB0*16+TAB1)
23、; Write1302(0 x8E,0 x80); voidss()/l 示子程序 inti;uchar*p;p=TAB; for(i=0;i1;i+) det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1; P14=0;P15=0;P16=0;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp; P20=0;P20=1;P14=1;P15=0;P16=0;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=0;P17=0;p+; det=*p;
24、tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=0;P17=0;p+; det=*p; tmp=DispTabdet; 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 28 P0=tmp; P20=0;P20=1;P14=0;P15=0;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=1
25、;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=1;P17=0;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=0;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=1;P16=0;P17=1;p+; det=*
26、p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=1;P15=1;P16=0;P17=1;p+; det=*p; tmp=DispTabdet; P0=tmp;P20=0;P20=1;P14=0;P15=0;P16=1;P17=1;p+; voidsett()显示等待时间及单价、总价、路程子程序TAB0=Read1302(0 x83)/10; TAB1=Read1302(0 x83)%10; TAB7=Read1302(0 x81)/10; 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 29 TAB6=Read1302(0 x81)%10;TA
27、B8=3; TAB2=Coo/100;TAB3=Coo/10%10; TAB4=Coo%10; if(TAB4=3&TAB2=0&TAB3=0)TAB11=8;else TAB11=(8+(Coo-3)*TAB8)%10;TAB5=TAB2*TAB8/10; TAB9=Coo/100*TAB8+Coo%100*TAB8/100; TAB10=(Coo/10*TAB8+Coo%10*TAB8/10)%10;voidmmm()显示时间子程序TAB0=Read1302(0 x85)/10; TAB1=Read1302(0 x85)%10; TAB7=Read1302(0 x83)/10; TAB6=
28、Read1302(0 x83)%10;TAB8=3;voidqie(intj)/修改时间、单价子程序uchari;switch(j)case4:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB8+; if(TAB8=10)TAB8=0;break;case3:ss(); if(P22=0) (for(i=0;i!=1;) i=P22;ss(); TAB6+; if(TAB6=10) TAB6=0;break; case2:ss(); if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB7+; if(TAB7=6) TAB7=0;break; case1:ss(); 大连民族学院2007级电子信息工程专业单片机系统课程设计报告 30 if(P22=0) for(i=0;i!=1;) i=P22;ss(); TAB1+; if(TAB0=2&TAB1=4)|TAB1=10) TAB1=0;break; case0:ss(); if(P22=0) for(i=0;i!=1;) i=P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 过户车位合同协议书
- 海报印刷合同协议书
- 摄影合作合同协议书
- 画室转让合同协议书
- 美发合同股份协议书
- 餐厅改造合同协议书
- 解除酒店合同协议书
- 家具类合同协议书
- 合同解除变更协议书
- 汽车分期合同协议书
- (广东二模)2025年广东省高三高考模拟测试(二)历史试卷(含答案)
- 做最勇敢的自己
- 护理新技术新业务盆底疼痛
- 2024-2025年江苏专转本英语历年真题(含答案)
- 工商企业管理毕业论文范文(4篇)
- 化工企业安全风险辨识分级管控清单
- DB11_T1833-2021 建筑工程施工安全操作规程(高清最新版)
- 大地构造学派及其构造单元汇总
- 丽声北极星分级绘本第二级上Dinner for a Dragon 课件
- 车辆维护保养制度
- 速腾轿车前驱动桥毕业设计(全套图纸)
评论
0/150
提交评论