单片机原理及应用期末课程设计基于单片机的公交车报站器设计.docx
《单片机原理及应用期末课程设计基于单片机的公交车报站器设计.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用期末课程设计基于单片机的公交车报站器设计.docx(18页珍藏版)》请在冰豆网上搜索。
![单片机原理及应用期末课程设计基于单片机的公交车报站器设计.docx](https://file1.bdocx.com/fileroot1/2023-1/23/dc8fb1f6-71b4-4d7e-a558-d86e63bff2be/dc8fb1f6-71b4-4d7e-a558-d86e63bff2be1.gif)
单片机原理及应用期末课程设计基于单片机的公交车报站器设计
目录
第1节引言……………………………………………………………………………1
1.1公交车报站器设计概述…………………………………………………………1
1.2SPCE061A单片机简介…………………………………………………………1
1.3外扩存储器芯片简介……………………………………………………………1
1.4系统实现的主要功能……………………………………………………………2
1.5自动报站功能实现方案…………………………………………………………2
第2节系统主要硬件电路设计…………………………………………………………3
2.1硬件框图…………………………………………………………………………3
2.2主控板电路模块…………………………………………………………………3
2.2.1单片机工作电路及语音输出电路……………………………………3
2.2.2电源电路模块…………………………………………………………5
2.2.3存储器工作电路及下载线接口电路…………………………………5
2.2.4键盘显示电路模块……………………………………………………6
2.2.5无线收发电路模块……………………………………………………6
第3节系统软件设计…………………………………………………………………7
3.1系统主程序设计…………………………………………………………………7
3.2录音子程序设计………………………………………………………………13
3.3动态扫描显示子程序设计……………………………………………………15
第4节结束语…………………………………………………………………………16
参考文献…………………………………………………………………………17
基于单片机的公交车报站器设计
数理与信息工程学院08计算机专升本方莎娜
指导教师:
余水宝
第1节引言
随着城市交通的快速发展,公交汽车为外出的人们提供了方便快捷的服务。
而公交汽车的报站共识直接影响其服务的质量。
传统报站方式是由乘务人员进行人工报站,该方式因其效果太差和工作程度太大,在很多大城市已经被淘汰。
近年来,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得公交车报站器的实现成为可能,从而为市民提供了更加人性化得服务。
该公交车报站器的系统设计原理,提出了以61单片机为核心,控制SPR4096语音芯片电路以及LED数码管显示的硬件设计和软件设计方案。
该系统语音音质好,功能强,是提供公交服务的一种较好的手段。
1.1公交车报站器设计概述
集成有录音和语音提示功能的智能电子设备已经得到越来越多广泛的应用,比如电话的自动语音留言和提示功能、汽车的倒车提示、公交车和城市地铁的语音报站器、儿童玩具、智能门铃、节日礼品等等都集成有语音录放功能,目前实现语音录放功能一般都是通过集成语音芯片来实现的。
该设计就选用SPCE061A单片机,SPCE061A单片机是凌阳科技公司研发生产的一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放。
由于凌阳单片机强大的语音处理能力使得系统设计有所简化,外围电路较少;另外具有易学易用的效率较高的一套指令系统和集成开发环境。
在此环境中,支持环境C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。
1.2SPCE061A单片机简介
SPCE061A是凌阳科技公司研发的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放。
该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。
这为实现语音录入提供了方便的硬件条件。
两路10位精度的DAC,只需要外接功放SPY0030A即可完成语音的播放
1.3外扩存储器芯片简介
SPR4096芯片是一款性价比较高的512K*8位的高性能FLASH存储器,同时内嵌4K*8位的SRAM。
具有BMI(BusMemoryInterface)接口与SI(SerialInterface)接口。
SPR4096提供两种电源供电VDDI与VDDQ。
VDDI供电范围在2.25V到2.75V,是对内部的FLASH与逻辑控制器供电。
VDDQ供电范围在2.25V到3.6V,只对I/O口供电。
SPR4096的最大工作频率为5.0MHZ,最大读取电流为2mA,最大擦除、烧录电流为6mA。
图1-1设计方案图
1.4系统实现的主要功能
本设计完成的公交车报站器主要具有以下功能。
①可以设置上、下行路线。
②可以显示当前站数、时间和日期,并能进行对时间/日期设置。
③具有手动报站、自动报站两种哦那个功能。
④备有下载口,用户可直接下载更新站名和站数,更新快捷方便
1.5自动报站功能实现方案
自动报站是目前公交车报站器重要的发展方向之一,在此也考虑加入自动报站功能。
目前实现自动报站功能有多种方式,在此选择无线收发电路来实现。
该方式应用简单,报站准确。
第2节系统主要硬件电路设计
2.1硬件框图
本报站器以SPCE061A单片机为核心,划分为键盘输入、数码管显示、SPR4096存储、语音播放和无线收发电路几大部分,硬件框图如下图所示。
SPCE061A是整个设计的核心,主要负责控制数码管界面输出,键盘信息和无线信号的处理。
LED显示键盘模块主要起人机界面的作用,显示报站器的信息,同时向操作者提供操作界面。
无线收发电路的接入实现自动报站功能,从而无需人工操作。
图2-1单片机原理框图
2.2主控板电路模块
主控板电路包括:
单片机工作电路、电源电路、语音输出电路、存储器电路、下载线接口电路和近距离无线收发电路。
2.2.1单片机工作电路及语音输出电路
SPCE061A单片机的最小应用系统构成非常简单,只需在OSCO、OSCI端接石英晶体振荡器及谐振电容,在复位端接复位电路,在锁相环压控振荡器的阻容输入VCP端接上相应的电容、电阻后即可工作。
其它不用的电源端和接地端可接上104pF小电容和100μF的去耦电容,以提高抗干扰能力。
另外SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放,可以直接听到喇叭输出的声音。
图中的音频功放SPY0030也是凌阳公司的产品。
SPY0030仅需2.4V即可工作,其输出功率约700mW。
IOA0-IOA1
IOB0-IOB1
图2-2单片机工作及语音输出电路图
该部分程序主要完成放音操作,把获得的放音内容的地址送到SPCE061A中,完成放音。
下面给出的就是放音部分程序。
放音子程序:
PLAY:
ACALLPOWERUP;上电子程序
ACALLDELAY25;延迟子程序,至少延迟25ms
CLRP1.6;选中ISD4004
MOVPLAY2,#11100000B;存放SETPLAY命令
MOVA,PLAY0;送放音地址低8位
ACALLSEND;调用送地址子程序
MOVA,PLAY1;送放音地址高8位
ACALLSEND
MOVA,PLAY2;送SETPLAY命令
ACALLSEND
SETBP1.6
CLRP1.6
MOVPLAYING,#11110000B;送入放音指令
MOVAPLAYING
ACALLSEND
SETBP1.6
RET
POWERUP:
;送上电指令子程序
MOVPOWING,#00100000B;送入语音芯片上电信号
MOVA,POWUPING
CLRP1.6
ACALLSEND
SETBP1.6
RET
SEND:
;向ISD4004送指令,地址等的子程序
CLRMOSI
CLRP3.2
MOVR1,#8
OUTBIT1:
CLRP3.2;时钟下降
RRCA
MOVMOSI,C;输出1位
NOP
NOP
NOP
SETBP3.2;时钟上升沿到
NOP
NOP
NOP
DJNZR1,OUTBIT1
RET
2.2.2电源电路模块
61单片机的内核工作电压是3.3V,而I/O口电压可以是3.3V也可以是5V。
车载12V直流电压经过7805产生5V电压再经过SPY0029后产生3.3V电压分别给系统供电。
2.2.3存储器工作电路及下载线接口电路
下载口电路可单独对语音资源进行烧写,整机工作时通过SCK与SDA与单片机的IOB0和IOB1口相连,其中SPR4096的CF0~CF2接高电平,选择串行接口模式;CF7接低电平,选中FLASH。
下载线接口电路主要起到控制SCK、SDA的作用,完成对芯片的烧写。
2.2.4键盘显示电路模块
该模块提供人机界面作用,通过段码SGE、位选DIG和1*7KEY接口与主控板连接。
主要用于显示时间/日期、站数和提供设置操作界面。
其结构框图如下所示。
图2-3键盘模块结构框图
2.2.5无线收发电路模块
公交车报站器自动报站功能可以有效的减轻乘务人员的负担并能防止误操作,具有很强的应用价值。
目前采用的方法有很多,如GPS、门控自动报站等方式,这里我们采用无线收发电路实现。
收发电路由无线发射芯片TX-2B和无线接收芯片RX-2B组成。
无线发射电路安放在车站站牌里,当公交车行驶到靠近站台时,报站器接收到无线电信号就会自动播报当前车站站名,实现自动报站。
一片TX-2B可实现5路独立的无线电发射,若将多片TX-2B与多片RX-2B并联应用,仅需改变相配套的TX-2B/RX-2B电路外接ROSC的阻值,进而改变其基准频率,即可方便地实现10路、15路、20路甚至更多路的无线发射,这样就可以实现一个站台多路公交车自动报站的需要。
第3节系统的软件设计
同硬件设计一样,软件设计也是分模块进行的。
主要包括系统主程序、录音子程序模块、键盘扫描程序模块、时间/日期调整程序、动态扫描显示子程序模块等。
各部分程序由主程序调用,组成一个整体。
这里不一一举例,就说重点说系统主程序、录音子程序和动态扫描显示子程序。
3.1系统主程序设计
图3-1是系统总流程图。
首先需要进行系统初始化设置,初始化后就进入循环。
在这里通过判断相应的键值来进入各子程序。
N
Y
N
Y
图3-1是系统总流程图
系统程序清单:
SCLEQUP2.0
DATAEQUP2.1
RSTEQUP2.2
ORG0000H
LJMPMAIN;转主程序
ORG0003H;外部中断0中断服务程序入口地址
LJMPINTA;转外部中断0中断程序入口地址
ORG000BH;T0定时中断服务程序入口地址
LJMPT0-SEV
ORG0013H;外部中断1中断服务程序入口地址
LJMPINTB;转外部中断1中断服务程序
ORG001BH;T1定时中断服务程序入口地址
LJMPT1_SEV;转T1中断服务程序
ORG0030H;设置主程序起始地址=0030H
MAIN:
MOVSP,#60H;设置堆栈指针
MOVR7,#10H;系统初始化
MOVR0,#30H
MOVA,#0
MOV@R0,A
INCR0
DJNZR7,LOP
MOV35H,#01H;设置上电后的初始和日期
MOV36H,#01H
MOV37H,#06H
MOV38H,#00H
MOV3CH,33H
MOV3DH,34H
MOV3EH,#01H
MOV44H,#10H;LED位选择码
MOV45H,#20H
MOV46H,#40H
MOV47H,#80H
CLRRS1
CLRRS0
MOVR5,#00H
MOVR6,#00H
MOVR7,#06H
LCALLSET1302
SETBRS1
CLRRS0
MOVR0,#4AH
MOVTMOD,#10H;设置T0T1工作方式;定时器,工作方式1
MOVTH1,#3CH
MOVTL1,#0B0H;T1计数初值=3CB0H
MOVTH0,#40H
MOVTL0,#098H
MOVIP,#08H;设置中断优先级
MOVTCON,#40H;启动定时器T1
MOVIE,#8DH;开中断
LOP:
LCALLCHANGE;当前时间送显示缓冲区
LCALLDISPLAY;显示当前时间
SETBRS1
CLRRS0
MOV3AH,@R0
INCR0
MOV3BH,@RO;判断设置定时时间到否?
MOVA,3AH
CJNEA,#0,NT
MOVA,3BH;取当前时间与定时时间比较
CJNEA,#0,NT;判断定时时间到否?
NTM:
INCR0
INTR0
CJNER0,#59H,LOP
MOVR0,#4AH
SJMPBBX
NT:
MOVA,3BH
CJNEA,34H,NTM
MOVA,3AH
CJNEA,33H,NTM
DECR0
DECR0
MOV39H,@R0
INCR0
INCR0
INCR0
INCR0
CJNER0,#59H,NT1
MOVR0,#4AH
NTI:
MOVA,39H;若定时时间到
CJNEA,#05H,BBXX
LCALLYUYIN;发出语音提示
CLRP2.7;启动蜂鸣器发出“嘟嘟嘟”报警信号
SJMPLP-0
BBX:
SETBP2.7
SJMPLP-0
BBXX:
LCALLYUYIN
SJMPLP-0
LP-0:
JBP3.0,LP-6;扫描键盘,判断切换显示日期按键按下否?
LCALLDISPLAY
JBP3.0,LP-0
LP-1:
JNBP3.0,LP-1
SETBP2.7
MOV5EH,#06H
LP-1A:
MOV3CH,35H
MOV3DH,36H
LCALLCHANGE
LCALLDISPLAY;切换显示日、月
LP-1B:
JBP3.0,LP-1C
LCALLDISPLAY
JBP3.0,LP-1B
LP-1D:
JNBP3.0,LP-1B
SJMPLP-2
LP-1C:
MOVA,5EH
CJNEA,#00H,LP-1A
LJMPFUZHI
LP-2:
MOV5EH,#06H
LP-3A:
MOV3CH,38H
MOV3DH,#20H
LCALLCHANGE
LCALLDISPLAY;切换显示年份
LP-3B:
JBP3.0,LP-3C
LCALLDISPLAY
JBP3.0,LP-3B
LP-3D:
JNBP3.0,LP-3D
SJMPLP-4
LP-3C:
MOVA,5EH
CJNEA,#00H,LP-3A
LJMPFUZHI
LP-4:
MOV5EH,#06H
LP-5A:
MOV3CH,37H
MOV3DH,#0BBH
LCALLCHANGE
LCALLDISPLAY;切换显示星期
LP-5B:
JBP3.0,LP-5C
LCALLDISPLAY
JBP3.0,LP-5B
LP-5D:
JNBP3.0,LP-5D
LIMPFUZHI
LP-5C:
MOVA,5EH
CJNEA,#00H,LP-5A
LJMPFUZHI
LP-6:
JBP3.1,LP-6A
SJMPLP-6B
LP-6A:
LJMPLOP
LP-6B:
LCALLDISPLAY;切换显示当前时间
JBP3.1,LP-6
LP-7:
LCALLDISPLAY
JNBP3.1,LP-7
SETBP2.7
MOV3CH,32H
MOV3DH,#0FFH
LCALLCHANGE
LCALLDISPALY
JBP3.1,LP-7
LCALLDISPLAY
JBP3.1,LP-7
LP-8:
LCALLDISPLAY
JNBP3.1,LP-8
FUZHI:
MOV3CH,33H
MOV3DH,34H
LJMPLOP
CHANGE:
MOVA,3DH;将当前时间小时、分送显示缓冲区
PUSHA
ANLA,#0FH
MOV42H,A
POPA
SWAPA
ANLA,#0FH
MOV43H,A
MOVA,3CH
PUSHA
ANLA,#0FH
MOV40H,A
POPA
SWAPA
ANLA,#0FH
MOV40H,A
POPA
SWAPA
ANLA,#0FH
MOV41H,A
RET
YUYIN:
MOVA,3FH
CJNEA,#0,CC1
CLRP3.4
MOV3FH,#01H
CC1:
RET
3.2录音子程序设计
RECORD:
MOV3EH,#01H
RECORD1:
MOV3CH,3EH
MOV3DH,#0AFH
LCALLCHANGE
NEXTA:
LCALLDISPALY
JBP3.1,NEXTA
LCALLDISPLAY
JBP3.1,NEXTA
MOVA,3EH
CJNEA,#01H,TRY1
LJMPREC1
TRY1:
CJNEA,#02H,TRY2
LJMPREC2
TRY2:
CJNEA,#03H,TRY3
LJMPREC3
TRY3:
CJNEA,#04H,TRY4
LJMPREC4
TRY4:
CJNEA,#05H,TRY5
LJMPREC5
TRY5:
LJMPETB
REC1:
MOV58H,#40H
LCALLCLRP0
REC11:
LCALLRECM
CJNEA,#48H,REC11
LCALLCLRP0
INC3EH
SJMPNE1
REC2:
MOV58H,#48H
LCALLCLRP0
REC22:
LCALLRECM
CJNEA,#50H,REC22
LCALLCLRP0
INC3EH
SJMPNE1
REC3:
MOV58H,#50H
LCALLCLRP0
REC33:
LCALLRECM
CJNEA,#58H,REC33
LCALLCLRP0
INC3EH
SJMPNE1
REC4:
MOV58H,#58H
LCALLCLRP0
REC44:
LCALLRECM
CJNEA,#60H,REC44
LCALLCLRP0
INC3EH
SJMPNE1
REC5:
MOV58H,#60H
LCALLCLRP0
REC55:
LCALLRECM
CJNEA,#68H,REC55
LCALLCLRP0
INC3EH
SJMPNE2
NE1:
JNBP3.1,RECORD2
LCALLDISPLAY
JNBP3.1,NE1
SJMPNE1
NE2:
JBP3.1,ETB1
LJMPETB
ETB1:
LCALLDISPALY
JNBP3.1,NE2
SJMPNE2
RECORD2:
JNBP3.1,RECORDX
LJMPRECORD1
RECORDX:
LCALLDISPLAY
SJMPRECORD2
3.3动态扫描显示子程序设计
DISPLAY:
SETBRS1
SETBRS0
MOVR2,#04H
MOVR0,#40H
MOVR1,#44H
GO-ON:
MOVA,@R1
ADDA,@R0
MOVP1,A
LCALLDELAY1
INCR0
INCR1
DJNZR2,GO-ON
RET
DELAY1:
MOVR3,#14H
AGAIN:
MOVR4,#19H
DELAY:
DJNZR4,DELAY
DJNZR3,AGAIN
RET
结束语
随着国民经济的高速发展,城市公交事业发展的很快,很多城市都在实行无人售票,原来靠售票员报站的方式以不能满足实际需要。
如何实现报站的自动化是一个需要解决的问题。
本设计应用单片机技术和语音合成技术,鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,考虑到性价比和实用性设计的一种由单片机控制的公交车报站系统。
通过进站、出站播报站名及服务用语,为市民提供更人性化,更完善的服务。
通过这次期末课程设计,我感慨颇多,学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
的确,从选题到定稿,虽然只有两天时间,但是这短短的时间里,在很大程度上提高了自己的独立思考能力和对单片机的专业知识的了解,也深刻了解写一篇课程设计的步骤和格式,有过这样的一次训练,相信在以后我就不怕自己排版、设计,特别是格式方面。
因此感谢余老师给我们这次课程设计的机会,让我从中学到很多。
在课程设计过,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好等等。
通过这次课程设计之后,一定把以前所学过的知识重新温故。
同时,也感谢在这过程中帮助我的同学和老师。
参考文献
[1]张培仁,张志坚,高修峰等编.十六位单片微处理器原理及应用(凌阳SPCE061A).清华大学出版社,2005
[2]薛钧义等编.凌阳十六位单片机原理及应用.北京航天航空大学出版社,2003
[3]王庆利,刘奎,袁建敏.单片机设计标准教程.北京邮电大学出版社,2008
[4]张鑫主编.单片机原理及应用.电子工业出版社,2008,11
[5]求是科技.单片机典型模块设计实例导航.人民邮电出版社,2004
[6]王为青,程国钢.单片机KeilCx51应用开发技术.人民邮电出版社,2007
[7]黄俊.电力电子变流技术.机械工业出版社,2005
[8]王化祥.传感器原理及应用.天津大学出版社,2004
[9]温钢云,黄道平.计算机控制技术.华南理工大学出版社,2002
总体评价
得分
总体还不错,格式规范,态度端正,但拼凑痕迹很明显,给出的程序与单片机不配
15