ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:493.64KB ,
资源ID:4660034      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4660034.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机和FPGA的出租车计费系统毕业设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机和FPGA的出租车计费系统毕业设计.docx

1、基于单片机和FPGA的出租车计费系统毕业设计(此文档为word格式,下载后您可任意编辑修改!)Liaoning Normal University( 届)本科生毕业论文(设计)题 目: 基于单片机和FPGA的出租车计费系统学 院: 辽宁师范大学专 业: 电子信息工程学 号: 学生姓名: 指导教师: 年 月摘要本系统电源电压为+16V,速度传感器具有汽车每运行1提供1000个脉冲信号的特性。显示器可以采用LED数码管。系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等

2、待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。而且,单片机丰富的IO口和FPGA模块化的设计为系统功能的扩展提供了空间和便利。关键词:计费系统;单片机;FPGA芯片 AbstractThe

3、system power supply voltage of + 16V, speed sensor be used LED digital tube. The system adopts the single chip and FPGA binding system of the main design, control FPGA chip through the acquisition sensor pulse signal WCLK to mileage, metered, using an external pulse signal SCLK produces a standard c

4、lock signal, to calculate the waiting time, waiting cost, and generate the mileage signs ( LCBZ ), wait for the signs (DDBZ ), mark ( lights out XDBZ ) and other related control signal, at the same time according to the MCU by a start signal ( START ), time slot markers ( SDBZ ), transmission data s

5、election ( SEL ) and other control signals to be transmitted to the calculation results of FPGA chip. Single chip MCU in addition to the completion of the keyboard scanning, display control, through the P0 and FPGA data exchange, and to control FPGA chip emits the control signal. The design makes us

6、e of SCM and FPGA combination, play to their respective strengths, a clear division of labor, the actual application and operation in line with the general logic, is easy to be accepted by people. Moreover, SCM rich I O and FPGA modular design for system expansion provides space and facilities.Key w

7、ords:billing system;SCM;FPGA chip1绪论出租车是现代人类的重要交通工具,而出租车的计费系统的安全性和先进性是人们普遍关心的问题,要求计费器性能稳定,计费准确,以及预防司机作弊行为等等都关系到乘客的切身利益。因此,设计出符合人们普遍要求及放心的产品具有重要的意义。同时,设计该系统所应用的知识涉及范围广,通过设计可以牢固掌握所学理论知识,对电子信息工程专业的就业方向有初步认识,将理论与实际有机联系起来。应该是对以前所学知识的一次审核吧!本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。EDA技术应用,单片机的功能及应用,传感器检测技

8、术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制,等等。第一部分为绪论,第二部分为方案论证,第三部分为系统设计,第四部分是硬件及软件实现,第五部分系统检测及分析,第六部分是结论,第七部分是附录,第八部分是参考文献,第九部分是致谢.目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:防作弊功能,IC卡付费:顾客能在制定点购买一定额度的“顾客IC卡”,乘车后可用IC卡付帐,付帐是否成功有相应的提示。车主可定期将总营业额写入“车主IC卡”中,并据此IC卡向所属公司领取报酬。车票资料打印:顾客付

9、费后可打印发票,打印内容包括车主信息和车费信息等。可打印车主总营业额信息。语音播报:当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。增加的这些功能将会更好地为乘客服务。本系统设计也可应用于其他计费系统中,如电脑计费系统等等,其应用技术也有相当范围的应用面,如显示和播报部分也可应用于智能饭卡智能电动车机器人等电子相关产品中。可见掌握了该系统的设计和分析可实现对电子专业知识的具体应用,增强理论联系实际的能力。除此以外,所涉及的知识面也联系到现实生活中很多相关电子产品,也将对其他电子产品有一定理论基础。 2系统设计2.1 系统组成其中系统电源电压为+1

10、6V。速度传感器不需要进行设计,假设它具有汽车每运行1提供1000个脉冲信号的特性。显示器采用LED数码管。具体功能要求如图2-1:图2-1系统方框图2.1.1 计费及显示里程,即汽车行程里程,用四位数字显示,显示方式为“XXX.X”,单位为,精确到0.1。 单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元,根据每天不同的时间段有两种情况:当时间段为06:0023:00时单价为1.4元,其他时间段内单价为1.80元。 等候时间,用四位数字显示分钟和秒,显示方式为“XX:XX”,等候的定义是:当汽车行驶速度小于或等于12 Register)8051单片机内部将多个寄存器统称成S

11、FR,代表其特定的功能,甚至Port0、Port1、Port3也都是属SFR 的成员之一,在这些SFR 中有部分的寄存器可以进行位寻址,表 3-1是这些SFR 寄存器的整理,其中加(*)记号的寄存器可进行位寻址。SFR 寄存器部分可进行位寻址的寄存器算术运算寄存器Acc(*)、B(*)、PSW(*)指标类寄存器SP、DPL、DPH并行输入出端口P0(*)、P1(*)、P2(*)、P3(*)中断控制寄存器IP(*)、IE(*)定时计数寄存器TMOD、TCON(*)、TL0、TH0、TL1、TH1串行通信寄存器SCON(*)、SBUF表3-1 可进行位寻址的SFR 寄存器3.2.2 AT89S51

12、单片机简介AT89S5l是新型高档单片机。它的主要特性是:片内含有 32 KB的 Flash程序存储器,擦写周期为 1000次;片内数据存储器内含512字节的RAM;具有可编程32线IO口(P0,P1,P2和P3口);具有3个可编程定时器T0,T1和T2;中断系统是具有8个中断源、6个中断矢量、2级中断优先权的中断结构;具有一个全双工 UART串行口;低功耗工作方式为空闲模式和掉电模式;具有双数据指针DPTR0和DPTR1;具有3级程序锁定位;具有硬件看门狗定时器WDT;AT89S51工作电源为4.05.5V(AT89LV51RC为2.75.5V);AT89S51最高工作频率为33MHZ(AT

13、89LV51RC为12MHZ);具有断电标志POF3.2.3 AT89S5l与51系列单片机相比具有如下特点 程序存储器由 8 KB增加到32 KB; 片内数据存储器由256宇节增加到512字节; 数据指针由1个增加到2个; 增加了看门狗定时器,CPU在执行程序过程中,由于瞬时的干扰使程序陷入死循环状态,WDT(Watchdog Timer)是使CPU摆脱这种困境而自动恢复的一种方法; 退出掉电方式由单纯硬件复位方式增加到硬件复位和中断两种方式; 新增加了断电标志POF3.2.4 89S51的内部框图图3-5 89S51的内部框图引脚排列及功能:AT89S51有3种封装形式:PDIPPLCC和

14、TQFPPDIP封装的引脚排列如图所示。图3-6 单片机电路板口线P0口8位、漏极开路的双向 1O口。当使用片外存储器及外扩 IO口时,P0口作为低字节地址数据复用线。在编程时,P0口可用于接收指令代码宇节;在程序校验时,P0口可输出指令字节(这时需要加外部上拉电阻)。P0口也可作通用IO口使用但需加上拉电阻变为准双向口。当作为普通输入时,应将 输出锁存器置1 PO口可驱动8个 TTL负载P1口8位、准双向IO口,具有内部上拉电阻。P1口是为用户准备的 1O双向口。在编程和校验时,可用做输入低8位地址。用做输入时,应先将输出锁存器置1 P1口可驱动4个TTL负载。引脚替代功能说明P1.0T2定

15、时器2的外部事件输入端;可编脉冲输出端P1.1T2EX定时器 2的捕捉重装触发器输入端;定时器2的计数方向控制端表3-2 P1.0 P1.1替代功能P2口8位、准双向 1O口具有内部上位电阻当使用片外存储器或外扩1O口时P2口输出高8位地址。在编程校验时P2口可接收高字节地址和某些控制信号。P2口也可作普通IO口使用。用做输入时,应先将输出锁存器置1 P2口可驱动4个TTL负载。P3口8位、准双向 1O口,具有内部上拉电阻。 P3口可作为普通1O口。用做输入时,应先将输出锁存器置 1在编程校验时P3口接收某些控制信号。它可驱动4个TTL负载。P3口还提供各种替代功能。P3.0RXD(串行输入口

16、)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)表3-3 P3口替代功能 控制信号线RST复位输入信号,高电平有效。在振荡器稳定工作时,在RST脚施加两个机器周期(即24个晶振周期)以上的高电平,将器件复位。EA()VPP外部程序存储器访问允许信号EA(External Access Enable)。当EA()信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000HFFFFH;当EA()接地时,对ROM的读操作从内部程序存储器开始,

17、并可延续至外部程序存储器。在编程时,该引脚可接编程电压(AT89C51的VPP为5V或12V;AT89LV51的VPP为12 V)。在编程校验时,该引脚可接VCC。PSEN()片外程序存储器读选通信号用PSEN(Program Store Enable),低电平有效。在片外程序存储器取指令期间,当PSEN()有效时,程序存储器的内容被送至 PO口(数据总线);在访问外部RAM时,PSEN()无效。AIEPROG()低字节地址锁存信号 AlE(Address latch Enable)。在系统扩展时,AlE的下降沿将PO口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送

18、。此外,ALE端连续输出正脉冲频率为晶振频率的16,可用做外部定时脉冲使用。但要注意,每次访问外RAM时要丢失一个ALE脉冲。在编程期间该引脚输入编程脉冲(PROG())。 电源线VCC电源电压输入。GND接地。 外部晶振引线XTAL1片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡器时,连接外部石英晶体和微调电容。XTAL2片内振荡器反相放大器的输出端。当使用片内振荡器时,外接石英晶体 和微调电容。当使用外部振荡器时,引脚XTAL1接收外振荡器信号,XTAIL2悬空。3.2.5 中断控制可采用中断的时机: 当计数值数完时要做一个特定的动作。 当外部信号有一个脉冲信号产生时要做某种特定

19、的运算。 当外部某些信号成立时,必须立即处理。 当收到通信界面上的一个特定值时,必须立即反应。 当程序必须处理数个小程序,且这些程序必须几乎同时都在执行中。 当程序必须随时更新某项数据或显示值。 当程序必须自动且随时去检查系统中的状态值时。上述的情形亦可采用平常的程序,以持续或经常询问的写法来应付,但是若系统有多个条件要询问时,写法就会变得相当的复杂。假如改用程序中断的写法,则程序的写法就会变得较单纯些,中断程序通常有以下一个或一个以上的特征,假使我们的应用中发现有这些特征时,在程序规划前就要考虑是否采用中断的写法。特征1:每隔一个时间间隔就必须做某件特定的事情。特征2:当某个条件(不论软件或

20、硬件线路)成立时,就让CPU立即处理。特征3:CPU 正以多任务(Multi-task)的模式,同时处理数个程序或信号。特征4:某项状态可能平时均不成立,可是一成立时,CPU 必须立即停止原先的动作,马上来处理这个状态。3.2.6 单片机控制程序设计单片机模块包括单片机AT89S51及其控制的显示和键盘系统,AT89S51对FPGA的数据进行计算,计算出用车总费用并送入显示系统显示,同时它接收键盘信息并处理显示切换。系统采用6+1显示,6个数码管作常规显示,一个数码管作状态显示。按键共有5个,分别是功能切换键,确定键,修改键,启动模拟键和空车牌压下模拟键。图3-7 主程序流程图图 3-8 按键

21、处理流程图图3-9 显示子程序流程图图3-10 里程显示子程序流程图图3-11 乘车费用显示子程序流程图3.2.7 单片机汇编语言源程序;CZJFXT.ASMLED8 EQU 7FHLED7 EQU 7EH ;时间显缓LED6 EQU 7DHLED5 EQU 7CHLED4 EQU 7BHLED3 EQU 7AHLED2 EQU 79HLED1 EQU 78HFUNKEY EQU P1.0 ;功能SELKEY EQU P1.1 ;选择 FIXKEY EQU P1.2 ;修改RUN EQU P1.4 ;运行信号(传感器)RUNBZ EQU 28H.4ZK EQU P1.5 ;载客信号-单片机(传

22、感器)ZKBZ EQU 28H.2 ;载客标志SZKBZ EQU P2.7 ;送FPGA的载客标志INT_R1 EQU 46HINT_R0 EQU 47HINT_R2 EQU 48HKEYNUM EQU 49HADA EQU P2.0ADB EQU P2.1ADC EQU P2.2SDBZ EQU P2.3 ;时段标志LCBZ EQU P2.4 ;里程标志DDBZ EQU P2.5 ;等待标志DDBZC EQU 28H.5XDBZ EQU P2.6 ;等待超过1小时标志FYDY8 EQU 3FH ;费用显缓FYDY7 EQU 3EHFYDY6 EQU 3DHFYDY5 EQU 3CHFYDY4

23、 EQU 3BHFYDY3 EQU 3AHFYDY2 EQU 39HFYDY1 EQU 38H;主程序START: JMP MAIN ;转移到主程序 ORG 000BH ;中断服务入口地址 LJMP PIT0 ORG 30HMAIN:CLEAR:MOV R0,#00H MOV R1,#128 MOV A,#00HL1: MOV R0,A INC R0 DJNZ R1,L1 MOV P2,#00H MOV SP,#60H ;开辟堆栈区 MOV TMOD,#01H ;定时器0,定时工作方式1,16位 MOV TL0,#0B0H ;初值为4C00H,50MS MOV TH0,#03CH SETB T

24、R0 ;启动定时器工作 SETB IE.7 ;中断总允许 SETB IE.1 ;允许定时中断 MOV 30H,#14H ;中断循环次数初值为20次ML2:LCALL KKEYIMLL3:CJNE A,#04H,ML4 SETB RUNBZ SJMP ML2 ;调用键盘扫描程序ML4: CJNE A,#00H,MLL1 CLR 28H.0 CLR 28H.6 LCALL SJJZ LCALL KKEYI CJNE A,#00H,MLL3 LCALL LCDJDISP LCALL KKEYI CJNE A,#00H,MLL3 CLR 28H.0 LJMP ML6 LCALL KKEYIMLLL1:

25、CJNE A,#00H,MLL3 LJMP ML5MLL1:JNB RUNBZ,ML2 CJNE A,#05H,ML2 SETB ZKBZ SETB SZKBZ NOP LCALL DELAY3 CLR SZKBZ ;LCALL QJDISP ;起价显示ML5:LCALL FYDISP ;费用显示 LCALL KKEYII JNB 28H.3,ML3 ;有键按下转ML3 LJMP ML5 ;没键按下继续刷新费用显示ML3:LJMP MLL3ML6:LCALL LCDISP LCALL KKEYII JNB 28H.3,MLLL1 LJMP ML6DDDISP: ;等待时间显示子程序 MOV F

26、YDY8,#0DH MOV FYDY7,#12H MOV FYDY6,#12H RET;时间校正子程序SJJZ:MOV R6,#03H MOV 40H,#LED6SJL0:LCALL KKEYI CJNE A,#01H,NEXT3SJL3:LCALL KKEYISJL1:CJNE A,#02H,NEXT3 MOV A,R6 CJNE A,#03H,SL0 MOV R0,40H LCALL DAAD1 MOV A,R2 ;是否到了60S? XRL A,#24H JNZ SJL4 ;不到,转RET1返回 LCALL CLR0 ;到了60S,则秒显示缓冲单元清0 LJMP SJL4SL0:CJNE

27、A,#02H,SL1 MOV R0,40H LCALL DAAD1 MOV A,R2 ;是否到了60S? XRL A,#60H JNZ SJL4 ;不到,转RET1返回 LCALL CLR0 ;到了60S,则秒显示缓冲单元清0 LJMP SJL4SL1:CJNE A,#01H,SJL4 MOV R0,40H LCALL DAAD1 MOV A,R2 ;是否到了60S? XRL A,#60H JNZ SJL4 ;不到,转RET1返回 LCALL CLR0 ;到了60S,则秒显示缓冲单元清0 LJMP SJL4SJL4:LCALL KKEYI CJNE A,#01H,SJL1 DEC 40H DE

28、C 40H DJNZ R6,SJL3NEXT3:RET;起价显示参数子程序QJDISP:SETB 28H.0 MOV FYDY8,#0FH MOV FYDY7,#12H MOV FYDY6,#12H JB 28H.1,NEXT9 MOV FYDY5,#00H MOV FYDY4,#00H MOV FYDY3,#05H MOV FYDY2,#00H MOV FYDY1,#00HNEXT9:RET;里程单价显示子程序LCDJDISP:SETB 28H.0 MOV FYDY8,#0DH MOV FYDY7,#12H MOV FYDY6,#12H MOV FYDY5,#12H MOV FYDY4,#1

29、2H JNB SDBZ,DJL1 MOV FYDY3,#01H MOV FYDY2,#04H MOV FYDY1,#00H LJMP DJL2DJL1:MOV FYDY3,#01H MOV FYDY2,#08H MOV FYDY1,#00HDJL2:RETLCDISP: ANL P2,#0F8H SETB P2.2 SETB P2.1 MOV R0,#4FH ;读入数据 MOV R3,#02H ;读3次P0口LCDL0:MOV A,P0 MOV R0,A DEC R0 MOV A,P2 INC A ;指向CPLD下一个数据ADRC ADRB ADRA= MOV P2,A DJNZ R3,LCD

30、L0 ANL P2,#0F8HIF 1=5 MOV 4FH,#0AAH MOV 4EH,#00HENDIF MOV 58H,4EH ;另存 MOV 59H,4FH MOV 22H,4DH MOV 21H,4EH MOV 20H,4FH LCALL HEXBCD2 SETB 28H.6 MOV FYDY8,#13H MOV FYDY7,#12H MOV FYDY6,#12H MOV FYDY5,#12H RETFYDISP: ANL P2,#0F8H SETB P2.1 MOV R0,#4FH ;读入数据 MOV R3,#02H ;读3次P0口FYL1: MOV A, P0 MOV R0, A DEC R0 MOV A, P2 INC A ;指向CPLD下一个数据ADRC ADRB ADRA= MOV P2, A DJNZ R3, FYL1 ANL P2, #0F8HIF 1=4 MOV

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1