




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学单片机原理与嵌入式系统课程设计题目基于51单片机的出租车计价器设计学院控制与计算机工程学院专业测控技术与仪器学号学生姓名指导教师华北电力大学单片机原理与嵌入式系统课程设计2摘要随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。于是,出租车行业以低价高质的服务给人们带来了出行的享受。但是总存在着买卖纠纷困扰着行业的发展。而在出租车行业中解决这一矛盾的最好方法就是改良计价器。用更加精良的计价器来为乘客提供更加方便快捷的服务。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。本课设主要了解应用单片机的定时器/计数器,以及中断。这是一个比较小的系统,故采用汇编语言来编辑。汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具有一定的助记可读性等特点。关键字出租车计价器电子线路51单片机华北电力大学单片机原理与嵌入式系统课程设计3目录1出租车计价器的方案设计及实现11设计方案及电路6111AT89C51单片机及最小系统6112振荡电路5113按键单元5114显示单元6115存储单元7116里程测试单元813系统总程序9131系统总程序132行驶路程子程序9133等待时间子程序1014主要电路图及工作原理122仿真结果分析133分析测试数据144收获、体会、建议145元器件清单1551单片机主板BOM清单1552显示部分器件176主要参考文献资料27附录19华北电力大学单片机原理与嵌入式系统课程设计41出租车计价器的方案设计及实现出租车计价器是利用单片机计算总价并送显示端显示的智能仪器。89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能为设计电路提供了很好的选择。此设计可分为五部分考虑,显示用驱动后的数码管,主控制用单片机芯片,掉电保护用E2PROM24C02,外加复位电路,霍尔感应电路即可完成功能的分配。在对显示的控制上,我采取的是按钮扫描控制,不同的按钮对应不同的显示模式,分别显示等候时间、里程以及总金额。11方案的设计及电路11151单片机及最小系统51单片机51具有如下特点40个引脚,8KBYTESFLASH片内程序存储器,256BYTES的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,3个16位可编程定时计数器,全双工串行口,看门狗(WDT)电路,片内时钟振荡器。1、单片机最小系统复位电路和晶振电路是51单片机工作所需的最简外围电路。单片机最小系统电路图如图所示。51单片机的复位端是一个史密特触发输入,高电平有效。RST端若由低电平上升到高电平并持续2个周期,系统将实现一次复位操作。在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接110592M晶振和两个30PF电容组成系统的内部时钟电路。华北电力大学单片机原理与嵌入式系统课程设计5图(13)单片机最小系统112振荡电路单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容(电容和一般取33PF)。这样就构成一个稳定的自激振荡器。振荡电路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。振荡电路如图所示图(13)振荡电路113按键单元本次课设采用三个按键来控制显示单元,S1为启动按钮,S2为等待按钮,华北电力大学单片机原理与嵌入式系统课程设计6S3为调整计费按钮。每个按键占用一个IO口线,每个按键电路相对独立,IO端口通过按键与地相连,IO口有上拉电阻,无按键按下时,引脚端为高电平,有按键按下时,引脚电平被拉低。电路图如下所示图(14)按键单元电路114显示单元显示单元为数码管,四个数码管,其中每位数码管是由8个发光二极管演变而来,其中7个发光二极管构成7笔字形,另一个构成小数点,称为8段数码管。8段数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示09等10个数字和小数点,使用非常广泛,它的外观如图所示图(15)数码管这类数码管可以分为共阳极8个发光二极管的阳极接在起与共阴极8个发光二极管阴极连在一起两种,共阳极就是把所有LED的阳极连接到共同接点,而每个LED的阴极分别为A、B、C、D、E、F、G及DP(小数点);共阴极则是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为A、B、C、D、E、F、G及华北电力大学单片机原理与嵌入式系统课程设计7DP(小数点),如图所示图(16)共阳和共阴数码管结构通过控制这个公共端,可使该位亮或暗。如共阴极端接地或共阳极接高电平,则该位显示器有效,反之无效。本设计采用共阴数码管。华北电力大学单片机原理与嵌入式系统课程设计8图(17)显示单元115存储单元存储单元的作用是储存上一次的里程、金额和等待时间。采用NE555芯片,作为速度检测,并且能够输出方波。开关的断开,显示器能够锁存行驶里程、暂停时间和所需金额。开关闭合,显示器继续显示里程、暂停时间和所需金额。图(18)存储单元116里程测试部分里程计算是通过安装在车轮旁的霍尔传感器检测到的信号,送到单片机,经处理计算,送给显示单元的。而由于用里程(霍尔)传感器价格昂贵而且本次实验室的局限不能利用霍尔传感器,所以我们利用按键来代替霍尔传感器,通过按一次键代表汽车行驶了1公里,当在行驶过程中,停止按键代表行驶进入了等待时间。通过在程序中设置的里程和金额的信息,在加上驱动电路的设计,就可以在数码管上分别显示总金额和总里程。13系统总程序本系统的软件设计主要分为系统主程序、里程计算子程序和等待时间子程华北电力大学单片机原理与嵌入式系统课程设计9序三个模块,下面对每一块进行介绍。131系统主程序本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。在MAIN函数编写开始,要进行初始化,包括对系统初始化和对硬件设备进行初始化,并使硬件处于就绪状态。在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。系统流程图如下图。图(19)系统主程序流程图132行驶里程计费子程序每当NE555芯片构成输出一个低电平信号就使单片机中断一次,在计数中断服务程序,里程和金额都相应变化,计算程序根据里程数分别进入不同的计算公式。程序流程图如图所示开始初始化数据处理数码显示结束开始初始化华北电力大学单片机原理与嵌入式系统课程设计10图(110)行驶里程计费子程序133等待时间计时子程序开始Y30,计算路程路程/定义和初始部分SBITDRIVEP17/发动机运行信号SBITMODEL0P20/第一列第1个按键,里程显示SBITMODEL1P21/第一列第2个按键,时间显示SBITMODEL2P22/第一列第3个按键,价格显示SBITBUTTONLISTP24/第一列按键的总选端CHARCODEBITE0X08,0X04,0X02,0X01/0为最高位,以从左到右顺序排序,方便使用CHARCODENUMBER0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90/对应的共阳极数码管数字编码09INTI,MODEL2/MODEL用于显示模式选择,0为里程,1为等待时间,2为价格UNSIGNEDCHARMINUTE0,S0LONGINTLENGTH,TIMEPRICE0,PRICE0,MS0/里程和价格分别以米和角为单位INTTH10,TL10/用于存储计时的历史值,完成断点计时功能CHARLENGTHDATA4,TIMEDATA4,PRICEDATA4/定义三个数组分别为三个模式的显示缓冲序列/华北电力大学单片机原理与嵌入式系统课程设计21延时子程序/VOIDDELAYINTZ/利用FOR循环通过Z值选取实现延时CHARX,YFORX100X0XFORYZY0Y/显示数据处理函数分别置入里程数、时间、价格显示的个位数据/VOIDDISPLAYPROVOIDLENGTHTH0256TL0LENGTHDATA0NUMBERLENGTH/100000/单位为KM的百位LENGTHDATA1NUMBERLENGTH100000/10000/十位LENGTHDATA2NUMBERLENGTH10000/1000/个位LENGTHDATA3NUMBERLENGTH1000/100/小数点后第一位TIMEDATA0NUMBERMINUTE/10/显示十位分TIMEDATA1NUMBERMINUTE10/显示个位分TIMEDATA2NUMBERS/10/显示秒TIMEDATA3NUMBERS10华北电力大学单片机原理与嵌入式系统课程设计22TIMEPRICEMINUTE/37/等待时间造成的价格增值IFLENGTH1000PRICE30TIMEPRICEELSEIFLENGTH1500PRICE40TIMEPRICEELSEIFLENGTH2000PRICE50TIMEPRICEELSEIFLENGTH2500PRICE60TIMEPRICEELSEIFLENGTH3000PRICE70TIMEPRICEELSEPRICE70LENGTH3000/5007TIMEPRICE/起步价3元,三公里内每公里2元,三公里外每公里14元。时间造成的价格增值每三分7角。PRICEDATA0NUMBERPRICE/1000/单位为元的百位PRICEDATA1NUMBERPRICE1000/100/十位PRICEDATA2NUMBERPRICE100/10/个位PRICEDATA3NUMBERPRICE10/小数点后第一位/显示三模式子程序/VOIDDISPLAYLENGTHVOID/显示里程数FORI0I4IP1BITEI/位选。P0LENGTHDATAI/段选。DELAY2/时间稍作延迟。华北电力大学单片机原理与嵌入式系统课程设计23VOIDDISPLAYTIMEVOID/显示时间值。FORI0I4IP1BITEIP0TIMEDATAIDELAY2/时间稍作延迟。VOIDDISPLAYPRICEVOID/显示价格FORI0I4IP1BITEIP0PRICEDATAIDELAY2/时间稍作延迟。/模式选择并显示程序/VOIDDISPLAYVOIDSWITCHMODEL华北电力大学单片机原理与嵌入式系统课程设计24CASE0DISPLAYLENGTH/模式0显示里程数BREAKCASE1DISPLAYTIME/模式1显示等待时长BREAKCASE2DISPLAYPRICE/模式2显示价格BREAK/中断初始化子程序/VOIDINITIALVOIDTMOD0X05/定时器0在方式1下用于方波计数即里程统计TH00/初值TL00ET01TR01/启动定时器0TMOD0X10/定时器1在方式1下用于停车计时TH1655361000/256/初值为1000,取高八位TL1655361000256/取低八位ET11/开启定时器1中断TR10/启动定时器1/华北电力大学单片机原理与嵌入式系统课程设计25中断子程序INT0/VOIDINT0VOIDINTERRUPT3/中断计时器1,用于计时中断TH1655361000/256/初值为1000,取高八位TL1655361000256/取低八位MS/毫秒进位IFMS865MS0S/秒进位IFS60S0MINUTE/分进位IFMINUTE60MINUTE0/停车检测程序功能当停车,即方波停止输入时,定时器1开始计时;车子启动时,计时停止。/华北电力大学单片机原理与嵌入式系统课程设计26VOIDSTOPTESTVOIDIFDRIVE0TR11ELSETR10/按键检测程序功能在单片机相应按键按下时,实时显示当前对应的三个模式/VOIDBUTTONTESTVOIDBUTTONLIST0IFMODEL0/开始逐一检测,检测里程按钮D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物学基因工程知识重点试题
- 农村绿色生态农业开发共建契约书
- 文学作品赏析与文学创作测试题
- 机器人与自动化生产线研发协议
- 专业音乐演出排演及经纪代理合作协议
- 行政管理专业经济法知识点试题及答案
- 2025年工程经济统计分析试题及答案
- 电子商务法规与合规管理知识题库建设
- 落花生教学设计
- 相交线的课件
- 钢筋网检验批质量验收记录表
- 国家通用手语日常会话:手指语课件
- 停电施工安全技术交底
- 2022年山东省青岛市中考数学试卷及答案
- VMWare VSAN软件定义的超融合解决方案
- “小风筝大创意”小学STEM项目式学习活动案例
- 生态环境执法大练兵练习(行政处罚法、新固废法、大气法)
- 现浇箱梁混凝土浇筑方案计划
- 青霉素皮试液的配制PPT学习教案
- 热菜加工流程图
- RAL 劳尔色卡电子版
评论
0/150
提交评论