西安航空职业技术学院 毕 业 设 计(论 文)
论文题目: 用单片机实现液晶公交报站系统
所属系部: 电子工程系
指导教师: 李茜 职 称:
学生姓名: 学 号:
专 业:
应用电子技术
西安航空职业技术学院制
西安航空职业技术学院 毕业设计(论文)任务书
题目: 用单片机实现液晶公交报站系统
任务与要求:
时间: 年 月 日 至 年 月 日 共 周 所属系部: 学生姓名: 专业:
指导单位或教研室: 指导教师:
李茜
职 称:
西安航空职业技术学院制
电系工程系 学 号: 应用电子技术
摘要
本设计主要是利用 S51单片机作为 CPU 来进行总体控制,通过语音芯片 ISD4004 组成的语音控制电路能够建立多段语音库信息,并且可以对这些段的语音信息进行自由的组合,形成变化多样的语音提示信息,同时使用OCM4X8C 液晶显示电路进行汉字显示,能够实现公交车的语音报站及汉字显示。在CPU 控制模式下,键盘电路采用中断扫描模式,当有键按下时,系统产生中断,CPU 响应中断后,即查询键号,通过软件来实现该键号所对应键的功能。因此当公交车到达某站时通过键盘来控制本系统进行工作,通过语音输出电路进行语音报站和提示,CPU 同时通过程序读取汉字信息送入LCD 液晶显示电路进行汉字提示。
通过本设计主要解决了如何方便、准确的指示乘客到站的问题,另外,该系统还可以为乘客提供各种各样的提示或警示服务,使得乘客能愉快、安全地上下车。
关键词:单片机;语音控制电路;液晶显示
Abstract
This design is mainly to use S51microcontroller as CPU to carry out over all controls through the voice chip ISD4004 component of voice control circuit to build multi-segment voice library information, and can combine these segments speech information free , form a diverse voice prompts , meanwhile it uses OCM4X8C character LCD display circuit to achieve the bus station and character voice message display. In the CPU control mode, the keyboard interrupt scan mode circuit, the system generates an interrupt when a key pressed , CPU response to failure, the key number is inquired by the software to achieve the key number corresponding to the function keys. So when the bus reaches a certain point, through the keyboard to control the system to work, through the voice output circuit Sound Station and tips, CPU while the information through the program reads characters into the LCD liquid crystal display circuit character prompt.
This design mainly addresses the problem that how to direct the passengers to the stations conveniently and accurately .In addition, this system can provide all kinds of points and warns to the passengers, ensure the secure of the passengers when they get on board or get off the bus.
Key words: Microcontroller; Voice Control Circuit; LCD
目 录
第1章 绪 论.......................................................... 1
1.1 论文背景及研究意义 .................................................... 1 1.2 发展趋势 .............................................................. 1 第2章 总体设计方案 .................................................... 2
2.1 系统的总体框图 ........................................................ 2 2.2 系统使用S51 的介绍 .................................................. 2
2.2.1 选用S51 的原因 ................................................ 2 2.2.2 S 51管脚说明 .................................................. 3 2.3 语音芯片ISD4004 ....................................................... 5
2.3.1 选用ISD4004 的原因 .............................................. 5 2.3.2 ISD4004 引脚图及引脚描述 ......................................... 5 2.4 SPI(串行外设接口) ..................................................... 7
2.4.1 信息快进及上电顺序............................................... 9 2.4.2 SPI 控制寄存器 ................................................. 10 2.5 LCD 液晶显示器 ....................................................... 11
2.5.1 OCM4X8C 液晶显示器的管脚图及管脚定义 ............................ 11 2.5.2 OCM4X8C 2线串行工作模式介绍..................................... 12 2.5.3 字符显示 ....................................................... 13 2.5.4应用说明........................................................ 14
第3 章 系统的硬件部分设计 ............................................. 14
3.1 直流稳压电源设计 ..................................................... 14
3.1.1 直流稳压电源的选取.............................................. 14 3.1.2 +9V直流稳压电源的设计 .......................................... 15 3.2 S51的复位电路 ...................................................... 15 3.3 74LS373锁存器驱动 .................................................... 16 3.4 振荡器和时钟电路 ..................................................... 17
3.4.1 时钟电路的抗干扰设计 ............................................ 17 3.4.2 S51 振荡电路 ................................................. 17 3.5 键盘电路的设计 ....................................................... 18 3.6 看门狗芯片X5045 ...................................................... 19
3.6.1 X5045功能简介 .................................................. 19 3.6.2 X5045 外部电路设计.............................................. 20 3.7 74LS138和62的介绍 ................................................. 20 第四章 系统的软件设计 ................................................. 21
4.1 放音键对应子流程图 ................................................... 21 4.2 语音芯片放音程序流程图 ................................................ 21 4.3 LCD 汉字显示流程图 ................................................... 22 第5章 系统抗干扰的设计 ............................................... 23 结束语 ....................................................................... 24 参考文献 ..................................................................... 25 附录......................................................................... 26
用单片机实现液晶报站系统
第1章 绪 论
1.1 论文背景及研究意义
作为一个城市的公交企业,它既要代表体现当地城市的形象,又要尽一切力量减少投资,创造良好的社会效益和经济效益。而传统的公交运营系统的装备和管理模式较难达到这两者的完美结合。随着科学技术的发展,公交应用系统带给公交企业的将不仅是形象的提升,也是效益的增长。所以一个城市的公交车的发展也体现一个城市的发展。
现在是一个高科技发达的时期,人们提倡的是智能设备,用科技来改变人们生活水平与方式,所以现在在人们的生活中都感受到了科技给我们带来的方便.现在的城市里的公交车都装上了语音报站系统,从而提高人们的工作效率。
本文正是一个研究如何利单片机来设计一种适合在公交车上用的语音报站系统。对此的研究我们不仅能够对公交车行业的发展起到一个非常重要的作用,还能够为我们的社会进步作出一定的贡献。
1.2 发展趋势
公交车行驶在现代文明程度高的市区,它是一道流动的风景线,因而对整车外形乃至色彩都有更高的要求。作为公交车还要求有醒目和减少乘务人员劳动强度的电子报站器,电子显示路牌,无人售票装置,前后电视监视系统等新技术的采用也将越来越普及。
公交车报站在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。目前公交车报站有形式,一种是利用 GPS 全球卫星地位系统的公交车报站系统,在司机座位后面隔板上,安装了一台英寸的液晶电视和 GPS 信号接收器,公交车在语音报站的同时,通过液晶电视还可以显示在站站名的字幕,如果没听清报站的话,通过显示屏,乘客也可以一目了然。当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的行驶传到显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复。目前在美国部分城市 GPS 卫星定位系统已经投入使用,国内也有子类唱片的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受的。另外两种也是手动电子报站和人工报站的方式。从便捷和价格考虑手动电子报站比较普遍
1
用单片机实现液晶报站系统
第2章 总体设计方案
2.1 系统的总体框图
本系统主要有三部分组成:单片机控制部分、放音部分和显示部分。
图2.1 系统的总体框图
2.2 系统使用S51 的介绍
2.2.1 选用S51 的原因
MCS- 51系列是功能极强的8 位单片机,它既可以应用于简单的测控系统,又用于复杂的测控系统,特别适用于逻辑控制。由于它功能/价格比高,组成应用系统灵活、方便,所以是当前国内普遍使用的机种。另外 S51单片机还具有指令多、功能强、速度快、可靠性高等优点。
2
用单片机实现液晶报站系统
2.2.2 S 51管脚说明
2.2 ATS51 引脚图
管脚的功能介绍如下: Vcc:电源电压 GND:接地
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4 毕业设计(论文) 5 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问8位地址的外部
3
用单片机实现液晶报站系统
数据存储器(如执行:MOVX @Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表2.1。
表2.1 P3口的第二功能 端口功能 RXD(P3.0) TXD(P3.1) INT0(P3.2) INT1(P3.3) 第二功能 串行输入口 串行输出口 外中断0 外中断1 端口引脚 第二功能 T0(P3.4) 定时/计数器0外部输入 T1(P3.5) 定时/计数器1外部输入 WR(P3.6) 外部数据存储器写选通 RD(P3.7) 外部数据存储器读选通 RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后, 只有一条MOVX 和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 ATS51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。
EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000H- FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程, 毕业设计(论文) 6 复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp。
XTAL1:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端
4
用单片机实现液晶报站系统
2.3 语音芯片ISD4004
2.3.1 选用ISD4004 的原因
ISD4004 的功能和特点
(1) 单片8 至16 分钟语音录放。 (2) 采用第一3V 工作电压。
(3)低功耗:典型的录音工作电流为25mA; 典型的放音工作电流15mA; 典型待机节能状态电流1mA。
(4)高质量自然的声音/音频回放。
(5)自动静音电路可以再无声状态时消除背景噪音。 (6)不需考虑实现算法。
(7)具有微控制器SPI 串行接口。 (8)可以对多段信息寻址控制。
(9)可以通过SPI 或Microwire 控制寄存器控制功耗。 (10)语音数据断电不丢失,可以保存100 年。 (11)允许反复录音10 万次。
(12)片内免调整时钟,可选用外部时钟。
ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用 CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或 Microwire)送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和\"金属声\"。采样频率可为 4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。
2.3.2 ISD4004 引脚图及引脚描述
5
用单片机实现液晶报站系统
图2.3 ISD4004 芯片图
引脚描述:
电源:(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。
地线:(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。 相同模拟输入(ANA IN+):这是录音信号的相同输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰值32mV,耦合电容和本端的3KΩ 电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰值16mV,为ISD33000 系列相同。
反相模拟输入(ANA IN-):差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰值16mV。
音频输出(AUD OUT):提供音频输出,可驱动5KΩ 的负载。
片选(SS):此端为低,即向该ISD4004 芯片发送指令,两条指令之间为高电平。
串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD 输入。
串行输出(MISO):ISD 的串行输出端。ISD 未选中时,本端呈高阻态。 串行时钟(SCLK):ISD 的时钟输入端,由主控制器产生,用于同步 MOSI 和 MISO 的数据传输。数据在SCLK 上升沿锁存到ISD,在下降沿移出ISD。
中断(/INT) :本端为漏极开路输出。ISD 在任何操作(包括快进)中检测到EOM 或OVF 时,本端变低并保持。中断状态在下一个SPI 周期开始时清除。中断状态也可用RINT 指令读取。OVF 标志----指示ISD 的录、放操作已到达存储器的末尾。 EOM标志----只在放音中检测到内部的EOM标志时,此状态位才置1。
行地址时钟(RAC):漏极开路输出。每个RAC 周期表示ISD 存储器的操作进行了一行(ISD4004 系列中的存贮器共 2400 行)。该信号 175ms 保持高电平,低电平为25ms。快进模式下,RAC 的218.75μ s 是高电平,31.25μ s 为低电
6
用单片机实现液晶报站系统
平。该端可用于存储管理技术。
外部时钟(XCLK) :本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内,频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。
自动静噪(AMCAP) :当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接 1mF 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减 6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA 则禁止自动静噪。
放音部分主要有ISD4004 构成,包括配套的电压电路和功放电路等。单片机的P10~P13、P20 引脚接按键控制报站器工作过程中是否放音和放音的内容;P26 接 ISD4004 的片选信号/SS,控制 ISD4004 是否被选通;P27 接 ISD4004 的串行输入引脚 MOSI,从此引脚读入放音的地址;P24 和 P25 控制外围显示电路在报站器工作中显示当前的站号;P32 和P33 分别接 ISD4004 的串行时钟引脚SCLK 和中断引脚/INT。ISD4004 芯片所需要的连接还有音频信号输出引脚AUDOUT,该引脚通过一个滤波电容与扬声器连接;AMCAP 是自动静音端,使用时通过一个电容接地。此外由于 ISD4004 的工作电压是3V 而直流电源模块所提供的供电电压是5V,因此需要采用变压器得到3V 电压供ISD4004 使用。在放音电路的调试过程中,首先测量 ISD4004 的工作电压是否是 3V,如果是则进入下级调试。再看是否可以送入放音地址,对此可以测量AUDOUT 引脚的电压,若为1.2V 则说明可以读入放音地址,再后是测量是否可以放音,可以测量 AUDOUT 引脚电压,若为 1.2V 则说明 ISD4004 芯片正常工作,可以放音。如果没有听到放音则调试后级放音电路,看是否后级电路有问题。
2.4 SPI(串行外设接口)
ISD4004 的串行操作是通过SPI 串行接口实现的。SPI 串行接口协议如下:
数据传输协议设定微控制器 SPI 的移位寄存器是串行时钟 SCLK 的下降
7
用单片机实现液晶报站系统
沿驱动。而对ISD4004 数据输入时有MOSI 引脚上的上升沿驱动,数据输出时由MISO 引脚上的下降沿驱动。
(1)所有串行数据传输开始于SS 下降沿。
(2)SS 在传输期间必须保持为低电平,在两条指令之间则保持为高电平。 (3)数据在时钟上升沿移入,在下降沿移出。
(4)SS 变低,输入指令和地址后,ISD 才能开始录放操作。 (5)指令格式是(8 位控制码)加(16 位地址码)。
(6)ISD 的任何操作(含快进)如果遇到EOM 或OVF,则产生一个中断,该中断状态在下一个SPI 周期开始时被清除。
(7)使用\"读\"指令使中断状态位移出ISD 的MISO 引脚时,控制及地址数据也应同步从 MOSI 端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个 SPI 周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。
(8)所有操作在运行位(RUN)置1 时开始,置0 时结束。 (9)所有指令都在SS 端上升沿开始执行。
SPI 控制寄存器用于各个期间功能的控制,这些控制包括放音、录音、报文插入、上电和掉电、启动和停止操作及忽略地址指针等。
以下是控制寄存器的说明:
(1) N 控制寄存器:用于控制操作。当其为1 时,启动操作:当其为0 时,停止操作。
(2) R 控制寄存器:用于选择放音和录音操作。当其为1 时选择放音操作:当其为0 时,选择录音操作。
图2.4 SPI 端口及其相关控制位示意图
(3) MC 控制寄存器:用语空盒子保温插入功能。当其为1 时,允许报文插入:当其为0 时,关闭报文插入功能。
8
用单片机实现液晶报站系统
(4) PU 控制寄存器:用于主电源控制。当其为1 时,控制上电;当其为0 时,掉电进入节能状态。
(5) IAB 控制寄存器:忽略地址控制位。当其为 1 时,忽略输入地址寄存器的内容A9-A0/A15-A0。当其为0 时,使用在操作上使用的输入地址寄存器的内容A9-A0/A15-A0。当IAB 被清0 时,放音或录音操作就从地址A9-A0/A15-A0 开始。为了连续放音或录音,IAB 应该在相应行结束前变为1,否则将会从同一行的地址处重复操作。存储器管理时,RAC(行地址时钟)引脚和 IAB 可以用来绕着存储器分段移动。
(6) P9-P0/P15-P0:行指针寄存器的输出。 (7) A9-A0/A15-A0:输入地址寄存器。
2.4.1 信息快进及上电顺序
用户不必知道信息的确切地址,就能快进跳过一条信息。信息快进只用于放音模式。放音速度是正常的1600 倍,遇到EOM后停止,然后内部地址计数器加1,指向下条信息的开始处。
器件延时TPUD(8kHz 采样时,约为25 毫秒)后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。
例如,从00 处发音,应遵循如下时序: (1)发POWER UP 命令; (2)等待TPUD(上电延时);
(3)发地址值为00 的SET PLAY 命令; (4)发PLAY 命令。
器件会从此00 地址开始放音,当出现EOM时,立即中断,停止放音。 如果从00 处录音,则按以下时序: (1)发POWER UP 命令; (2)等待TPUD(上电延时); (3)发POWER UP 命令; (4)等待2 倍TPUD;
(5)发地址值为00 的SET REC 命令; (6)发REC 命令。
器件便从00 地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。
9
用单片机实现液晶报站系统
表2.2 指令表
指令 POWERUP SET PLAY
8 位控制码<16 位地址> 00100XXX 停止当前操作并掉电 读状态:OVF 和 EOM PLAY SET REC REC SET MC MC STOP STOP WRDN RINT 2.4.2 SPI 控制寄存器 SPI 控制寄存器控制器件的每个功能,如录放、录音、信息检索(快进)、上电/ 掉电、开始和停止操作、忽略地址指针等。 位 值 功 能 位 值 功 能 RUN = = 1 0 允 许 / 禁止操作 开始 停止 PU = = 1 0 电源控制 上电 掉电 P/-R = = 1 0 录 / 放模式 放音 录音 IAB = = 1 0 10 用单片机实现液晶报站系统 操作是否使用指令地址 忽略输入地址寄存的内容 使用输入地址寄存的内容 MC = = 1 0 快 进模式 允 许快进 禁止 P15-P0 A15-A0 行指针寄存器输出 输入地址寄存器 注:IAB 置0 时,录、放操作从A9-A0 地址开始。为了能连贯地录、放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI 指令将IAB 置1,否则器件在同一地址上反复循环。这个特点对语音提示功能很有用。RAC 脚和IAB 位可用于信息管理。 2.5 LCD 液晶显示器 液晶显示器的介绍:液晶显示器简称LCD,它具有功耗低、体积小、美观、方便、使用寿命长的特点。液晶显示器中最主要的物质就是液晶,它是一种规则 毕业设计(论文) 14 性排列的有机化合物,是一种介于固体和液体之间的物质,在电场的作用下,晶体排列发生改变,从而影响液体液晶的光折射特性,造成某些部分的视觉变化,从而达到显示的目的。 2.5.1 OCM4X8C 液晶显示器的管脚图及管脚定义 图2.5 OCM4X8C 芯片图 11 用单片机实现液晶报站系统 表2.3管脚定义 引脚 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 名称 VSS VDD V0 RS(CS) R/W(SID) E(SCLK) DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 PSB NC RST NC LEDA LEDB 方向 - - - O O O I I I I I I I I O - O - - - 说明 GND(0V) 逻辑电源(+5V) LCD电源(悬空) H:数据,L:指令 H:读,L:写 使能 数据0 数据1 数据2 数据3 数据4 数据5 数据6 数据7 H:并行,L:串行 空脚 复位(低电平有效) 空脚 背光源正极(LED+5V) 背光源负极(LED-0V) 2.5.2 OCM4X8C 2线串行工作模式介绍 2线串口接口方式:当模块的PSB脚接低电平时,模块即进入串行接口模式。串行模式使用串行数据线SID与串行时钟线SCLK来传送数据来构成2线串行模式。下图是二线串行工作模式操作时序的介绍。 12 用单片机实现液晶报站系统 图2.6OCM4X8C的2线串行工作模式操作时序 有图可以看出,单片机与液晶模块之间传送一个字节的数据需要24个时钟脉冲,首先,单片机要给出数据起始位置,这里是五个连续的1作为数据起始位,如果模块受到连续的5个1,则内部传输被重置并且串行传输被同步。紧接着,“RW”位用于选择数据的传输方向,“RS”位用于选择内部数据寄存器,最后的第8位固定为0。在接受到起始位及“RW”和“RW”的第一个字节后,下一个字节的数据和指令将被分为两个字节来串行发送和接收,数据和指令的高4位,被放在第2个字节串行数据的高4位,其低4位则置为“0”,数据或指令的低4位被在第3个字节串行数据的高4位,其低4位则置“0”。如此完成一个字节数据或指令的传输。需要注意的是当有多个数据或指令必须等到一个指令完成后在执行下一个指令和数据,否则会造成指令或数据的丢失,这是因为液晶内部没有接收和发送的缓冲区。 2.5.3 字符显示 OCM4X8C按照每个中文字符16x16点阵将显示屏分类4行8列,共32个区。每个区可显示1个中文字符或2个16x8点阵全显示ASCII码字符,即每屏最多可实现32个中文字符或个ASCII码字符的显示。OCM4X8C内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通入将字符显示编码写入该字符显示RAM实现的。根据显示内容的不同,可分别在液晶显示屏上显示CGROM(中文字符)、HCGRAM(ASCII码字库)及CGRAM(自定义字型)内容。三种不同字符/字型的选择编码范围;0000H~0006H显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字型。字符显示RAM在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显区域有着一一对应的关系。 13 用单片机实现液晶报站系统 2.5.4应用说明 用OCM4X8C显示模块时的注意事项: (1)欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。 (2)显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,有模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有个空ASCII字符位置。 (3)当字符编码为2字节时,应先写入高位字节,再写入低位字节。 (4)模块在接收指令钱,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,才可接受新的指令。如果在送出一个指令前不检查BF标志,则一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。 (5)“RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均设“RE”位。 第3 章 系统的硬件部分设计 3.1 直流稳压电源设计 3.1.1 直流稳压电源的选取 一个系统想要稳定工作,首先必须保证直流稳压电源可靠稳定。 系统电路至少要±9V以上的电源才有意义,电源电压的提高可以增大输出动态,令运放能发挥最佳状态,对音质提高有绝对意义 ,一般音响电路制作中都使用±15V甚至更高些,,这样对于运放的选取灵活性就很大了,在±15V下很多发烧运放都不能发挥应有的素质。所以本次设计要求直流电源是±9V。 7805是个三端集成稳压器,他仅有输入,输出端和公共端三个引脚、芯片内部设有过流,过热保护以及调整安全保护电路,其所需外接元件少、使用方便、可靠,广泛应用于各种电子设备中,作为电压稳定器。 在输入输出电压共地的情况下,按输出电压为正电压和负电压来分,三端固定电压稳压器可分为三端固定正电压和负电压稳压器两类。78系列为三端固定正电压器,79系列为三端固定伏电压器。而我们需要的是正电压,所以选用78 14 用单片机实现液晶报站系统 系列。 3.1.2 +9V直流稳压电源的设计 直流稳压电源设计如下:首先将家庭电压220V交流电经变压器变压,再经过不可控桥式整流电路整流,然后经过滤波电容后送入稳压芯片7805.,再进行滤波就得到了系统所需的+9V的直流电源,见图3.1: 图3.1 +9V直流稳压电源的设计 3.2 S51的复位电路 单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。 单片机复位电路主要有四种类型:微分型复位电路、积分型复位电路、比较器型复位电路、看门狗型复位电路。 单片机的复位引脚RST(全称RESET)出现2个机器周期(24个震荡周期)以上的高电平时,单片机就执行复位操作。CPU响应次信号进行内部复位,并将ALE和PSEN两引脚置为输入方式(他们为准双向口)。主机在RST为高电平的第二个机器周期开始执行内部复位,并且在RST变为低电平的每个周期均重复执行内部复位。执行内部复位后各个寄存器变成如下状态: 15 用单片机实现液晶报站系统 寄存器 PC A B PSW SP DPTR 状态 0000H 00H 00H 00H 07H 0000H 寄存器 P0-P3 IP IE TMOD TCON TH0 状态 0FFH (****0000) (0**00000) 00H 00H 00H 寄存器 TL0 TH1 TL1 SCON SBUF PCON 状态 00H 00H 00H 00H 不变 (0*******) 复位不影响内部RAM。当VCC接通电源时,除了在VCC断电前已经把后备电源加在VPD端外,内部RAM中的内容将不定。 复位后的程序计数器PC值全为“0”,所以程序从“0000H”号单元开始重新执行。 图3.2 复位电路图 COMOS型单片机内部复位引脚仅起复位作用,并不向内部RAM供电。COMOS型单片机的备用电源是由VCC引脚提供的。 3.3 74LS373锁存器驱动 74LS373 是一种8D锁存器,具有三态输出,其引脚图如图所示: 16 用单片机实现液晶报站系统 图3.3 74LS373锁存器 它实质是一个是带三态缓冲输出的8D触发器,锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。 当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q0~Q7 状态与输入端D1~D7状态相同;当C发生负的跳变时,输入端D0~D7 数据锁入Q0~Q7。51单片机的ALE信号可以直接与74LS373的C连接。 3.4 振荡器和时钟电路 3.4.1 时钟电路的抗干扰设计 S51的XTAL1和XTAL2引脚分别为单片机内反向放大器输入/输出端,其频率范围1.2——12MHz。XTAL2又是内部时钟发生器的输入端,当采用石英晶体振荡器时,C=30±10PF;当采用陶瓷谐振振荡器时,C=40±10PF。 时钟电路产生CPU的工作时序脉冲,是正常工作的关键。时钟信号被干扰后将导致CPU的工作时序发生紊乱,使得系统不能正常。单片机时钟电路在实际设计应用过程中,可以采取以下措施: (1)时钟脉冲电路尽量靠近CPU,引线尽量短而粗。 (2)用地线包围振荡电路,晶体外壳接地。 (3)晶振电路电容性能稳定,容量准确且远离发热元件。 (4)印刷电路板上大电流信号线、电源变压器远离晶振信号的连线。 (5)对于外部时钟源电路,对其芯片电源采取滤波措施。 (6)时钟电路为其他芯片提供时钟信号时,采用隔离和驱动措施。 3.4.2 S51 振荡电路 本系统在其两端各并上一个C=30PF的石英晶体瓷片电容,就可以与 17 用单片机实现液晶报站系统 CPU内部完成完整的振荡电路,其接线如图: 图3.4 S51振荡电路 在任何情况下,振荡器始终驱动内部时钟发生器向主机提供时钟信号。因为时钟发生器德尔输入时个而分频触发器,所以对外部振荡器信号的脉冲宽度无特殊要求,但必须保证高低电平的最小宽度。 时钟发生器的二分频,为芯片提供一个二相时钟信号:相位1信号(P1)在每个时钟周期的前半部有效;而相位2信号(P2)则在每个时钟周期的后半部有效。 3.5 键盘电路的设计 键盘的基本功能是通过单手或双手的击键操作进行信息和指令输入,键盘无非是一种输入设备。可分为编码式键盘和非编码式键盘两类。编码式键盘是通过数字电路直接产生对应于按键的ASCII码;非编码键盘是用软件方法来分析键的闭合与否,它通过周期性的对一组按键进行扫描,查询是否有键闭合。前者多用于专用的微型计算机系统;后者常用于小型单片机系统。 本设计采用了键盘按键接口非编码键盘,键盘与ISD4004单片机相连来控制语音的报站。设计电路如图: 18 用单片机实现液晶报站系统 图3.5 键盘设计电路 对于非编码矩阵式键盘,单片机对它的控制可采用程序控制扫描方式和中断扫描方式。键扫描过程中应注意: (1)当操作者按下或抬起键盘时,按键会产生机械振动(由弹簧产生),这种抖动一般在按下或抬起的瞬间要持续几十秒(随按键的结构不同而不同)。为防止错误识别,必须采用克服误识别的措施,如用软件进行延时在识别已确定有效。 (2)在键盘扫描下,键按一次的过程应当是从某键按下,直到该键已经抬起的整过程。 3.6 看门狗芯片X5045 3.6.1 X5045功能简介 X5045是一种集看门狗、电压监控和串行EEPROM 三种功能于一身的可编程电路。X5045中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU 作出反应。X5045提供了三个时间值供用户选择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。其引脚图为: 图3.6 X5045芯片图 CS :电路选择端,低电平有效; SO :串行数据输出端; SI :串行数据输入端; SCK:串行时钟输入端; WP :写保护输入端,低电平有效; RESET :复位输出端; 19 用单片机实现液晶报站系统 VCC :电源端; VSS :接地端。 X5045的功能描述: (1) 低电压监视 工作时, X5045对VCC 电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认RESET,从而避免微处理器在电源失效或断开的情况下工作。当RESET 被确认后,该RESET 信号将一直保持有效,直到电压跌到低于1V 。而当VCC 返回并超过Vtrip达200ms时,系统重新开始工作。 (2) 看门狗定时器 看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。由于微处理器必须周期性的触发CS/WDI引脚以避免RESET 信号激活而使电路复位,所以CS/WDI引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。 (3) 重新设置VCC 门限 X5045/45出厂时设置的标准VCC 门限电压为Vtrip,但在应用时,如果标准值不恰当,用户可以重新调整。 (4) SPI串行存储器 器件存储器部分是带块锁保护的CMOS串行EEPROM 阵列,阵列的内部组织是x8 位。X5045可提供最少为1000,000次擦写和100年的数据保存期,并具有串行外围接口(SPI)和软件协议的特点,允许工作在简单的四总线上X5045主要是通过一个8 位的指令寄存器来控制器件的工作,其指令代码通过SI输入端(MSB在前)写入寄存器。 3.6.2 X5045 外部电路设计 图3.7X5045 外部电路设计 3.7 74LS138和62的介绍 20 用单片机实现液晶报站系统 图3.8 74LS138 芯片图 一般将地址线的高三位(P2.5、P2.6、P2.7)与74LS138的A、B、C端口相连,E3接+5V,E1和E2接地。这样,用3根地址线就可译码出Y0~Y7共8为地址选通线,分别选通8个外扩部件。每根选通线占8K地址空间。 第四章 系统的软件设计 4.1 放音键对应子流程图 开始 发POWERUP命令 等待TPUD(上电延时) 发地址值为00的SETPLAY命令 发PLAY命令 N EOM? Y 继续放音 停止放音 图4.1 放音键对应子流程图 4.2 语音芯片放音程序流程图 21 用单片机实现液晶报站系统 上电 初始化 按键查询 放音键按? 执行放音对 对应子流程 执行加一键对应子流程 执行减一键对应子流程 执行特殊键对应子流程 执行停止键对应子流程 加一键按? 减一键按下? 特殊语音键? 停止键按? 图4.2 语音芯片放音程序流程图 4.3 LCD 汉字显示流程图 显示流程图说明:首先程序线初始化,然后通过延时程序来检测系统忙还是不忙,若不忙则开始位定位,写入初始地址。然后系统在进行一次忙信号检测。若不忙,加开始去第一个数据,直到最后写完,结束。 22 用单片机实现液晶报站系统 取下一个数据 初始化 N 不忙? Y N 写入初始地址 不忙? Y 取第一个数据 写入数据 写完? N Y 结束 图4.3 LCD汉字显示流程图 第5章 系统抗干扰的设计 电子设备的性能在很大程度上与干扰和噪声有关。所谓干扰(或噪声),就是除有用信号以外的一切不需要的信号及各种电磁骚动的总称。干扰(或噪声)可以分为外部干扰和内部干扰;习惯上把外部干扰叫干扰,内部干扰叫噪声。 为了避免干扰,可以采用以下措施: 晶振电路要和51单片机的18和19引脚紧靠在一起,电容性能要稳定,容量值准确,且远离发热的器件。 23 用单片机实现液晶报站系统 印刷电路板上的空闲区域要敷铜,并与地相接。 晶振两端加上30P的瓷片电容,防止晶振停振。 在安放去耦电容时的注意事项: (1)在印制电路板的电源输入端接100uF左右的电容,如果体积允许的话,电容量大一些好。 (2)原则上每个集成电路芯片的旁边都需要放置一个0.01uF的瓷片电容,如果电路板的空隙太小而放置不下,可以每10个芯片左右放置一个1~10的钽电容。 (3)对于抗干扰能力弱、关断时电流变化大的元件和RAM、ROM等存储元件,应该在电源线和地线间接入去耦电容。 (4)电容引线不要太长,特别是高频路旁不能带引线。 结束语 该设计主要有三部分组成:单片机控制部分、放音部分和显示部分。控制部分由S51组成,包括必要的按键电路、复位电路和看门狗电路等外围电路。显 24 用单片机实现液晶报站系统 示部分由OCM4X8C的LCD液晶显示器完成。放音部分主要由ISD4004构成,包括配套的电压电路和功效电路等。 系统的软件设计用汇编语言进行编写,完成了一些重要程序(如键盘显示子程序和报站子程序)的编写工作。具有设计快、效率高、成本低鞥特点。 在公交车语音报站的设计中,我综合应用了单片机原理及应用、模拟电子、数字电子,计算机控制系统等专业理论课,并且熟练应用PROTEL99绘图软件,而且通过我也明白了自己的不足,受益匪浅。这次设计对我来说是一笔不小的财富。是我更加了解了单片机的结构与功能,最重要的事应用,我将一直学习到底,深入实践,不断提高自我。 参考文献 【1】 肖金球.单片机原理与接口技术.北京:清华大学出版社,2004:17-21 【2】 童诗白,华成英.模拟电子技术基础.北京:高等教育出版社,2005:36-39 【3】 张文中.单片机发展.北京:清华大学出版社,2003:30-45 25 用单片机实现液晶报站系统 【4】 王峰.基于单片机的公交车语音报站器www.automaionit.cn 【5】 梅丽凤.单片机原理及接口技术.北京:清华大学出版社,2004:75-87 【6】 王建国.ATS51单片机的设计系统.无线电,2007:36-45 【7】 何立民.单片机高级教程,北京:北京航空航天大学出版社,2006:72- 【8】 先锋工作室.单片机程序设计实例.北京:清华大学出版社,2003:108-121 【9】 安德宁.单片微型计算机原理接口与应用.北京:北京邮电大学出版社,2009:108-123 【10】 张伟人.MCS-51系统单片机使用子程序集锦.北京:清还大学出版社,2006:35-37 【11】 张毅刚.MCS-51单片机原理及应用.天津:天津大学出版社,2007:103-108 【12】 徐永龙.单片机发生器原理及应用.北京:北京航空航天大学出版社,2008:129-133 【13】 徐亲知,陈淑华.单片机应用技术.哈尔滨:黑龙江人民出版社,2003:56-78 【14】 张义和陈敌北.例说8051.人民邮电出版社,2006:207-209 【15】 张小莉.单片机实验与实践教程.北京:北京航空航天大学出版社,2007:45-56 【16】 崔宏耀.公共汽车运营状态记录及自动报站装置.现代电子技术,2009年第03期 附录1 ORG 0000H AJMP MAIN ;转主程序 MAIN: PLAY0 DB #00H 26 用单片机实现液晶报站系统 PLAY1 DB #00H NOW STOP0 DB #11H NOW STOP1 DB #12H SPECIAL DB #50H PLAY: ACALL POWERUP ;上电子程序 ACALL DELAY 25 ;延时子程序,至少延迟 CLR P2.6 MOV PLAY2,#11100000B MOV A ACALL STEND MOV A , PLAY1 ACALL SEND SETB P2.6 CLR P2.6 MOV PLAYING MOV A ACALL SEND SETB P2.6 RET POWERUP MOV POWERING MOV A CLR P2.6 ACALL SEND SETB P2.6 RET SEND: 子程序 CLR MOST CLR P3.2 MOV R1 OUTBIT1: CLR P3.2 ,PLAY0 ,#11110000B ,PLAYING ,#00100000B ,POWERING ,#8 ;选中ISD4004 ;存放SETPLAY命令 ;送放音地址低8位 ;调用送地址子程序 ;送放音地址高8位 ;送入放音指令 ;送上电指令子程序 ;向ISD4004送指令、地址等的;时钟下降 27 ;送入语音芯片上电信号 用单片机实现液晶报站系统 RRC A MOV MOSI,C ;输出1位 NOP NOP NOP DJNZ R1,OUTBIT1 RET 延时子程序 DELAY 1:MOV R7,#25 DELAY 2:MOV R6,#100 DELAY 3:NOP NOP NOP DJNZ R6 ,DELAY 3 DJNZ R7 ,DELAY 2 RET 当前站报站 NOW STOP: MOV A ,PLAY0 MOV NOW STOP0,A MOV A ,PLAY1 MOV NOW STOP1,A CALL PLAY RET 下一站报站 NEXT STOP: MOV A ,NOW STOP0 MOV PLAY 0,A MOV A,NOW STOP1 MOV PLAY1,A MOV A,PLAY1 ADD A,#00H MOV PLAY1,A ACALL PLAY 28 1ms 25ms ;延时;延时 用单片机实现液晶报站系统 RET 特殊语键 SPECIAL: MOV A,SPECIAL MOV PLAY0,A MOV A ,#00H MOV PLAY1,A CALL PLAY RET 停止键 STOP: SETB P2.6 RET 附录2 LCD 显示子程序 位定义 SID BIT P2.4 SCLK BIT P2.5 ; 内存数据定义 ;串行数据线 ;串行时钟线 29 用单片机实现液晶报站系统 START EQU 30H ;起始字节 COM EQU 31H ;命令/数据 HDATA EQU 32H ;命令/数据字节高位 LDATA EQU 33H ;命令/数据字节低位 ASC EQU 34H ;ASCII 数据单元 初始化子程序: INLCM: LCALL DL40ms MOV COM, #30H LCALL WRITE MOV COM, #0CH LCALL WRITE MOV DL1ms MOV COM, #01H LCALL WRITE LCALL DL40MS MOV COM,#06H LCALL WRITE LCALL DL1MS RET 模块写入子程序 WRITE: MOV A,COM MOV A,#0F0H MOV HDATA,A MOV A,COM SWAP A MOV A,#OFOH MOV LDATA,A MOV A,START LCALL SENDBYTE LCALL DL1MS MOV A,HDATA LCALL SENDBYTE 30 ;延时等待内部复位 8位控制界面 ;整体显示ON A ;屏蔽低4位 4位送HDATA单元 4位 ;高低4位互换 4位送LDATA单元 ;取起始地址 ;延时1ms ;使用;清屏;显示右移;送待发数据命令;将高;取低;将低;发送 用单片机实现液晶报站系统 LCALL DL1MS RET 显示汉字子程序 HZDISP: MOV START ,#0F08H ;写入命令 MOV COM,#80H ;设定显示位置 LCALL WRITE MOV DPTR,#TABLE MOV A,#00H LOOP2: MOV A,@A+DPTR CJNE A,#0,DISP RET 写完一行则结束 DISP: MOV START,#0FAH MOV COM,A LCALL WRITE INC DPTR AJMP LOOP2 TABLE: DB “中文图形点阵” 0 DB “液晶显示模块” 0 串行字节数据发送子程序; SENDBYTE: MOV R7 #08H LOOP1: RLC A MOV SID,C CLR SCLK SETB SCLK DJNZ R7,LOOP1 RET 延时1MS: DELAY1: MOV R7,#100 ;指向文字型代码表 ;取汉字代码低位; ;遇“0”结束显示 ;写数据 ;写入显示模块 ;取汉字代码高位 ;未显示完则继续 ;汉字代码表 ;发送8位 ;数据送数据线 ;产生同步时钟 ;未发送完8位继续 31 用单片机实现液晶报站系统 DELAY2: NOP NOP NOP DJNZ R7,DELAY2 ;延时1MS RET 附录3 32 液晶显示原理图 用单片机实现液晶报站系统 语音报站原理图 33 西安航空职业技术学院 毕 业 设 计(论文)审 查 意 见 书 指导教师对学生 所完成的题目为 的毕业设计(论文)进行情况、完成质量的审查意见: 成绩: 指导教师: 年 月 日 西安航空职业技术学院 毕 业 设 计(论文)评 阅 意 见 书 评阅人对学生 所完成的题目为 的毕业设计(论文)评阅意见为: 成绩: 评阅人: 年 月 日 西安航空职业技术学院 毕 业 设 计(论文)答 辩 结 果 毕业设计(论文)答辩委员会对学生 所完成的题 目为 的毕业设计(论文)及答辩评语为: 经答辩委员会研究,确定成绩为: 毕业设计(论文)答辩委员会主任: 答辩委员会委员: 年 月 日 该生毕业设计(论文)最终成绩评定: 审阅成绩(权重评阅成绩(权重0.4) 0.3) 答辩成绩(权重0.3) 最终成绩 答 辩 记 录 答辩人姓名 答辩时间: 答辩人学号 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务