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

上传人:b****6 文档编号:4660034 上传时间:2022-12-07 格式:DOCX 页数:36 大小:493.64KB
下载 相关 举报
基于单片机和FPGA的出租车计费系统毕业设计.docx_第1页
第1页 / 共36页
基于单片机和FPGA的出租车计费系统毕业设计.docx_第2页
第2页 / 共36页
基于单片机和FPGA的出租车计费系统毕业设计.docx_第3页
第3页 / 共36页
基于单片机和FPGA的出租车计费系统毕业设计.docx_第4页
第4页 / 共36页
基于单片机和FPGA的出租车计费系统毕业设计.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

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

《基于单片机和FPGA的出租车计费系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机和FPGA的出租车计费系统毕业设计.docx(36页珍藏版)》请在冰豆网上搜索。

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

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

(此文档为word格式,下载后您可任意编辑修改!

 

LiaoningNormalUniversity

(届)

 

本科生毕业论文(设计)

 

题目:

基于单片机和FPGA的出租车计费系统

学院:

辽宁师范大学

专业:

电子信息工程

学号:

学生姓名:

指导教师:

 

年月

 

摘要

本系统电源电压为+16V,速度传感器具有汽车每运行1㎞提供1000个脉冲信号的特性。

显示器可以采用LED数码管。

系统采用单片机和FPGA的结合进行系统的主体设计,测控FPGA芯片通过采集传感器脉冲信号WCLK进行里程计算,里程计费,利用外部脉冲信号SCLK产生标准时钟信号,以计算等待时间,等待费用,并产生里程标志(LCBZ),等待标志(DDBZ),熄灯标志(XDBZ)等有关控制标志信号,同时根据单片机发出的开始信号(START),时段标志(SDBZ),传输数据选择(SEL)等控制信号将有关计算结果传送给FPGA芯片。

单片机MCU除了完成键盘扫描,显示控制外,还通过P0口与FPGA进行数据交换,并向测控FPGA芯片发出有关控制信号。

本设计方案利用单片机和FPGA的结合,发挥它们各自的长处,分工清晰,实际使用和操作符合大众逻辑,容易被人接受。

而且,单片机丰富的IO口和FPGA模块化的设计为系统功能的扩展提供了空间和便利。

关键词:

计费系统;单片机;FPGA芯片

Abstract

Thesystempowersupplyvoltageof+16V,speedsensorbeusedLEDdigitaltube.ThesystemadoptsthesinglechipandFPGAbindingsystemofthemaindesign,controlFPGAchipthroughtheacquisitionsensorpulsesignalWCLKtomileage,metered,usinganexternalpulsesignalSCLKproducesastandardclocksignal,tocalculatethewaitingtime,waitingcost,andgeneratethemileagesigns(LCBZ),waitforthesigns(DDBZ),mark(lightsoutXDBZ)andotherrelatedcontrolsignal,atthesametimeaccordingtotheMCUbyastartsignal(START),timeslotmarkers(SDBZ),transmissiondataselection(SEL)andothercontrolsignalstobetransmittedtothecalculationresultsofFPGAchip.SinglechipMCUinadditiontothecompletionofthekeyboardscanning,displaycontrol,throughtheP0andFPGAdataexchange,andtocontrolFPGAchipemitsthecontrolsignal.ThedesignmakesuseofSCMandFPGAcombination,playtotheirrespectivestrengths,acleardivisionoflabor,theactualapplicationandoperationinlinewiththegenerallogic,iseasytobeacceptedbypeople.Moreover,SCMrichIOandFPGAmodulardesignforsystemexpansionprovidesspaceandfacilities.

Keywords:

billingsystem;SCM;FPGAchip

1绪论

出租车是现代人类的重要交通工具,而出租车的计费系统的安全性和先进性是人们普遍关心的问题,要求计费器性能稳定,计费准确,以及预防司机作弊行为等等都关系到乘客的切身利益。

因此,设计出符合人们普遍要求及放心的产品具有重要的意义。

同时,设计该系统所应用的知识涉及范围广,通过设计可以牢固掌握所学理论知识,对电子信息工程专业的就业方向有初步认识,将理论与实际有机联系起来。

应该是对以前所学知识的一次审核吧!

本设计主要介绍了出租车计费系统的设计思路和过程,并给出了所涉及的相关知识的详细介绍。

EDA技术应用,单片机的功能及应用,传感器检测技术,VHDL编程语言及汇编语言程序,显示系统设计及按键控制,等等。

第一部分为绪论,第二部分为方案论证,第三部分为系统设计,第四部分是硬件及软件实现,第五部分系统检测及分析,第六部分是结论,第七部分是附录,第八部分是参考文献,第九部分是致谢.

目前,普遍的出租车计费器仅仅具有时钟,起步价,里程计费,等待计费及显示几个功能。

其发展前景是可观的,将来的产品除具有这些功能外,另外还可增加如下功能:

防作弊功能,IC卡付费:

顾客能在制定点购买一定额度的“顾客IC卡”,乘车后可用IC卡付帐,付帐是否成功有相应的提示。

车主可定期将总营业额写入“车主IC卡”中,并据此IC卡向所属公司领取报酬。

车票资料打印:

顾客付费后可打印发票,打印内容包括车主信息和车费信息等。

可打印车主总营业额信息。

语音播报:

当乘客上车时,可自动问候乘客,当到达目的地,自动播报乘车费用并礼貌再见,表达希望下次乘坐的意思。

增加的这些功能将会更好地为乘客服务。

本系统设计也可应用于其他计费系统中,如电脑计费系统等等,其应用技术也有相当范围的应用面,如显示和播报部分也可应用于智能饭卡﹑智能电动车﹑机器人等电子相关产品中。

可见掌握了该系统的设计和分析可实现对电子专业知识的具体应用,增强理论联系实际的能力。

除此以外,所涉及的知识面也联系到现实生活中很多相关电子产品,也将对其他电子产品有一定理论基础。

2系统设计

2.1系统组成

其中系统电源电压为+16V。

速度传感器不需要进行设计,假设它具有汽车每运行1㎞提供1000个脉冲信号的特性。

显示器采用LED数码管。

具体功能要求如图2-1:

图2-1系统方框图

2.1.1计费及显示

①里程,即汽车行程里程,用四位数字显示,显示方式为“XXX.X”,单位为㎞,精确到0.1㎞。

②单价,即里程单价,用三位数字显示,显示方式为“X.XX”,单价为元㎞,根据每天不同的时间段有两种情况:

当时间段为06:

00~23:

00时单价为1.4元㎞,其他时间段内单价为1.80元㎞。

③等候时间,用四位数字显示分钟和秒,显示方式为“XX:

XX”,等候的定义是:

当汽车行驶速度小于或等于12㎞Register)

8051单片机内部将多个寄存器统称成SFR,代表其特定的功能,甚至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.2AT89S51单片机简介

AT89S5l是新型高档单片机。

它的主要特性是:

片内含有32KB的Flash程序存储器,擦写周期为1000次;

片内数据存储器内含512字节的RAM;

具有可编程32线IO口(P0,P1,P2和P3口);

具有3个可编程定时器T0,T1和T2;

中断系统是具有8个中断源、6个中断矢量、2级中断优先权的中断结构;

具有一个全双工UART串行口;

低功耗工作方式为空闲模式和掉电模式;

具有双数据指针DPTR0和DPTR1;

具有3级程序锁定位;

具有硬件看门狗定时器WDT;

AT89S51工作电源为4.0~5.5V(AT89LV51RC为2.7~5.5V);

AT89S51最高工作频率为33MHZ(AT89LV51RC为12MHZ);

具有断电标志POF.

3.2.3AT89S5l与51系列单片机相比具有如下特点

①程序存储器由8KB增加到32KB;

②片内数据存储器由256宇节增加到512字节;

③数据指针由1个增加到2个;

④增加了看门狗定时器,CPU在执行程序过程中,由于瞬时的干扰使程序陷入死循环状态,WDT(WatchdogTimer)是使CPU摆脱这种困境而自动恢复的一种方法;

⑤退出掉电方式由单纯硬件复位方式增加到硬件复位和中断两种方式;

⑥新增加了断电标志POF.

3.2.489S51的内部框图

图3-589S51的内部框图

引脚排列及功能:

AT89S51有3种封装形式:

PDIP.PLCC和TQFP.PDIP封装的引脚排列如图所示。

图3-6单片机电路板

①IO口线

P0口——8位、漏极开路的双向1O口。

当使用片外存储器及外扩IO口时,P0口作为低字节地址数据复用线。

在编程时,P0口可用于接收指令代码宇节;在程序校验时,P0口可输出指令字节(这时需要加外部上拉电阻)。

P0口也可作通用IO口使用.但需加上拉电阻.变为准双向口。

当作为普通输入时,应将输出锁存器置1.PO口可驱动8个TTL负载.

P1口——8位、准双向IO口,具有内部上拉电阻。

P1口是为用户准备的1O双向口。

在编程和校验时,可用做输入低8位地址。

用做输入时,应先将输出锁存器置1.P1口可驱动4个TTL负载。

引 脚

替代功能

说 明

P1.0

T2

定时器2的外部事件输入端;

可编脉冲输出端

P1.1

T2EX

定时器2的捕捉重装触发器输入端;

定时器2的计数方向控制端

表3-2P1.0P1.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.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

(外部中断0)

P3.3

(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

(外部数据存储器写选通)

P3.7

(外部数据存储器读选通)

表3-3P3口替代功能

②控制信号线

RST——复位输入信号,高电平有效。

在振荡器稳定工作时,在RST脚施加两个机器周期(即24个晶振周期)以上的高电平,将器件复位。

EA(——)VPP——外部程序存储器访问允许信号EA(ExternalAccessEnable)。

当EA(——)信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H~FFFFH;当EA(——)接地时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。

在编程时,该引脚可接编程电压(AT89C51的VPP为5V或12V;AT89LV51的VPP为12V)。

在编程校验时,该引脚可接VCC。

PSEN(————)——片外程序存储器读选通信号用PSEN(ProgramStoreEnable),低电平有效。

在片外程序存储器取指令期间,当PSEN(————)有效时,程序存储器的内容被送至PO口(数据总线);在访问外部RAM时,PSEN(————)无效。

AIEPROG(————)——低字节地址锁存信号AlE(AddresslatchEnable)。

在系统扩展时,AlE的下降沿将PO口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。

此外,ALE端连续输出正脉冲.频率为晶振频率的16,

可用做外部定时脉冲使用。

但要注意,每次访问外RAM时要丢失一个ALE脉冲。

在编程期间.该引脚输入编程脉冲(PROG(————))。

③电源线

VCC——电源电压输入。

GND——接地。

④外部晶振引线

XTAL1——片内振荡器反相放大器和时钟发生线路的输入端。

使用片内振荡器时,连接外部石英晶体和微调电容。

XTAL2——片内振荡器反相放大器的输出端。

当使用片内振荡器时,外接石英晶体和微调电容。

当使用外部振荡器时,引脚XTAL1接收外振荡器信号,XTAIL2悬空。

3.2.5中断控制

可采用中断的时机:

①当计数值数完时要做一个特定的动作。

②当外部信号有一个脉冲信号产生时要做某种特定的运算。

③当外部某些信号成立时,必须立即处理。

④当收到通信界面上的一个特定值时,必须立即反应。

⑤当程序必须处理数个小程序,且这些程序必须几乎同时都在执行中。

⑥当程序必须随时更新某项数据或显示值。

⑦当程序必须自动且随时去检查系统中的状态值时。

上述的情形亦可采用平常的程序,以持续或经常询问的写法来应付,但是若系统有多个条件要询问时,写法就会变得相当的复杂。

假如改用程序中断的写法,则程序的写法就会变得较单纯些,中断程序通常有以下一个或一个以上的特征,假使我们的应用中发现有这些特征时,在程序规划前就要考虑是否采用中断的写法。

特征1:

每隔一个时间间隔就必须做某件特定的事情。

特征2:

当某个条件(不论软件或硬件线路)成立时,就让CPU立即处理。

特征3:

CPU正以多任务(Multi-task)的模式,同时处理数个程序或信号。

特征4:

某项状态可能平时均不成立,可是一成立时,CPU必须立即停止原先的动作,马上来处理这个状态。

3.2.6单片机控制程序设计

单片机模块包括单片机AT89S51及其控制的显示和键盘系统,AT89S51对FPGA的数据进行计算,计算出用车总费用并送入显示系统显示,同时它接收键盘信息并处理显示切换。

系统采用6+1显示,6个数码管作常规显示,一个数码管作状态显示。

按键共有5个,分别是功能切换键,确定键,修改键,启动模拟键和空车牌压下模拟键。

图3-7主程序流程图

图3-8按键处理流程图

图3-9显示子程序流程图

图3-10里程显示子程序流程图

图3-11乘车费用显示子程序流程图

3.2.7单片机汇编语言源程序

;CZJFXT.ASM

LED8EQU7FH

LED7EQU7EH;时间显缓

LED6EQU7DH

LED5EQU7CH

LED4EQU7BH

LED3EQU7AH

LED2EQU79H

LED1EQU78H

FUNKEYEQUP1.0;功能

SELKEYEQUP1.1;选择

FIXKEYEQUP1.2;修改

RUNEQUP1.4;运行信号(传感器)

RUNBZEQU28H.4

ZKEQUP1.5;载客信号-单片机(传感器)

ZKBZEQU28H.2;载客标志

SZKBZEQUP2.7;送FPGA的载客标志

INT_R1EQU46H

INT_R0EQU47H

INT_R2EQU48H

KEYNUMEQU49H

ADAEQUP2.0

ADBEQUP2.1

ADCEQUP2.2

SDBZEQUP2.3;时段标志

LCBZEQUP2.4;里程标志

DDBZEQUP2.5;等待标志

DDBZCEQU28H.5

XDBZEQUP2.6;等待超过1小时标志

FYDY8EQU3FH;费用显缓

FYDY7EQU3EH

FYDY6EQU3DH

FYDY5EQU3CH

FYDY4EQU3BH

FYDY3EQU3AH

FYDY2EQU39H

FYDY1EQU38H

;主程序

START:

JMPMAIN;转移到主程序

ORG000BH;中断服务入口地址

LJMPPIT0

ORG30H

MAIN:

CLEAR:

MOVR0,#00H

MOVR1,#128

MOVA,#00H

L1:

MOV@R0,A

INCR0

DJNZR1,L1

MOVP2,#00H

MOVSP,#60H;开辟堆栈区

MOVTMOD,#01H;定时器0,定时工作方式1,16位

MOVTL0,#0B0H;初值为4C00H,50MS

MOVTH0,#03CH

SETBTR0;启动定时器工作

SETBIE.7;中断总允许

SETBIE.1;允许定时中断

MOV30H,#14H;中断循环次数初值为20次

ML2:

LCALLKKEYI

MLL3:

CJNEA,#04H,ML4

SETBRUNBZ

SJMPML2

;调用键盘扫描程序

ML4:

CJNEA,#00H,MLL1

CLR28H.0

CLR28H.6

LCALLSJJZ

LCALLKKEYI

CJNEA,#00H,MLL3

LCALLLCDJDISP

LCALLKKEYI

CJNEA,#00H,MLL3

CLR28H.0

LJMPML6

LCALLKKEYI

MLLL1:

CJNEA,#00H,MLL3

LJMPML5

MLL1:

JNBRUNBZ,ML2

CJNEA,#05H,ML2

SETBZKBZ

SETBSZKBZ

NOP

LCALLDELAY3

CLRSZKBZ

;LCALLQJDISP;起价显示

ML5:

LCALLFYDISP;费用显示

LCALLKKEYII

JNB28H.3,ML3;有键按下转ML3

LJMPML5;没键按下继续刷新费用显示

ML3:

LJMPMLL3

ML6:

LCALLLCDISP

LCALLKKEYII

JNB28H.3,MLLL1

LJMPML6

DDDISP:

;等待时间显示子程序

MOVFYDY8,#0DH

MOVFYDY7,#12H

MOVFYDY6,#12H

RET

;时间校正子程序

SJJZ:

MOVR6,#03H

MOV40H,#LED6

SJL0:

LCALLKKEYI

CJNEA,#01H,NEXT3

SJL3:

LCALLKKEYI

SJL1:

CJNEA,#02H,NEXT3

MOVA,R6

CJNEA,#03H,SL0

MOVR0,40H

LCALLDAAD1

MOVA,R2;是否到了60S?

XRLA,#24H

JNZSJL4;不到,转RET1返回

LCALLCLR0;到了60S,则秒显示缓冲单元清0

LJMPSJL4

SL0:

CJNEA,#02H,SL1

MOVR0,40H

LCALLDAAD1

MOVA,R2;是否到了60S?

XRLA,#60H

JNZSJL4;不到,转RET1返回

LCALLCLR0;到了60S,则秒显示缓冲单元清0

LJMPSJL4

SL1:

CJNEA,#01H,SJL4

MOVR0,40H

LCALLDAAD1

MOVA,R2;是否到了60S?

XRLA,#60H

JNZSJL4;不到,转RET1返回

LCALLCLR0;到了60S,则秒显示缓冲单元清0

LJMPSJL4

SJL4:

LCALLKKEYI

CJNEA,#01H,SJL1

DEC40H

DEC40H

DJNZR6,SJL3

NEXT3:

RET

;起价显示参数子程序

QJDISP:

SETB28H.0

MOVFYDY8,#0FH

MOVFYDY7,#12H

MOVFYDY6,#12H

JB28H.1,NEXT9

MOVFYDY5,#00H

MOVFYDY4,#00H

MOVFYDY3,#05H

MOVFYDY2,#00H

MOVFYDY1,#00H

NEXT9:

RET

;里程单价显示子程序

LCDJDISP:

SETB28H.0

MOVFYDY8,#0DH

MOVFYDY7,#12H

MOVFYDY6,#12H

MOVFYDY5,#12H

MOVFYDY4,#12H

JNBSDBZ,DJL1

MOVFYDY3,#01H

MOVFYDY2,#04H

MOVFYDY1,#00H

LJMPDJL2

DJL1:

MOVFYDY3,#01H

MOVFYDY2,#08H

MOVFYDY1,#00H

DJL2:

RET

LCDISP:

ANLP2,#0F8H

SETBP2.2

SETBP2.1

MOVR0,#4FH;读入数据

MOVR3,#02H;读3次P0口

LCDL0:

MOVA,P0

MOV@R0,A

DECR0

MOVA,P2

INCA;指向CPLD下一个数据ADRCADRBADRA=

MOVP2,A

DJNZR3,LCDL0

ANLP2,#0F8H

IF1=5

MOV4FH,#0AAH

MOV4EH,#00H

ENDIF

MOV58H,4EH;另存

MOV59H,4FH

MOV22H,4DH

MOV21H,4EH

MOV20H,4FH

LCALLHEXBCD2

SETB28H.6

MOVFYDY8,#13H

MOVFYDY7,#12H

MOVFYDY6,#12H

MOVFYDY5,#12H

RET

FYDISP:

ANLP2,#0F8H

SETBP2.1

MOVR0,#4FH;读入数据

MOVR3,#02H;读3次P0口

FYL1:

MOVA,P0

MOV@R0,A

DECR0

MOVA,P2

INCA;指向CPLD下一个数据ADRCADRBADRA=

MOVP2,A

DJNZR3,FYL1

ANLP2,#0F8H

IF1=4

MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

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

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