天津理工大学2015届本科毕业设计说明书
图3.15 PCB板设计
17
天津理工大学2015届本科毕业设计说明书
第四章 报站系统软件设计
4.1 显示系统设计
4.1.1 系统显示流程图
当站台发射出无线信号时,车载上的装置就会收到,此时会把它传入MCU中,通过单片机识别该站台的信号,从而把预先设好的LCD12864显示模块的程序调用,之后再由显示模块显示出来站台汉字。
LCD12864的用户指令集由表4.1可表示:
表4.1 LCD用户指令集
指令码 指令 R R DB DB DB DB DB DB DB DB 说明 S W 7 6 5 4 3 2 1 0 清除显 0 0 0 0 0 0 0 0 0 1 将DDRAM填满,并且设定DDRAM示 的地址计数器到“00H” 地址归 0 0 0 0 0 0 0 0 1 X 设定DDRAM的地址计数器到“00H”位 并且将游标移到开头原点地址位置,这个指令并不改变DDRAM的 内容 进入点0 0 0 0 0 0 0 1 I/D X 指定在资料的读取与写入时,设设定 定游标移动方向及指定显示的移位 显示状0 0 0 0 0 0 1 D C B D=1,整体显示ON 态开/关 C=1,游标ON B=1,游标位置ON 游标或0 0 0 0 0 1 S/ R/ X X 设定游标的移动与显示的移位控显示移C L 制位元;这个指令并不改变DDRAM位控制 的内容 功能设0 0 0 0 1 DL X 0 X X DL=1 定 RE RE=1,扩充指令集动作 RE=0,基本指令集动作 设定0 0 0 1 AC AC AC AC AC AC 设定CGRAM地址到地址计数器 CGRAM5 4 3 2 1 0 地址 设定0 0 1 AC AC AC AC AC AC AC 设定DDRAM地址到地址计数器 DDRAM6 5 4 3 2 1 0 地址 读取忙0 1 BF AC AC AC AC AC AC AC 读取忙碌标志(BF)可以确认内部碌标志6 5 4 3 2 1 0 动作是否完成,同时可以读出地和地址 址计数器的值 18
天津理工大学2015届本科毕业设计说明书
写数据1 0 D7 D6 D5 D4 D3 D2 D1 D0 写入资料到内部的RAM 到RAM 读出1 1 D7 D6 D5 D4 D3 D2 D1 D0 从内部RAM读取 资料 RAM的值 下面是显示流程图,可由图4.1所展示:
图4.1 显示流程图
4.1.2 LCD显示程序
LCD初始化时液晶屏显示的内容的程序如下: void LCD12864_ks() {
LCD12864_NoWaitIdle_COM_Write(0x80); LCD12864_write_word(\公交车报站系统 \ LCD12864_NoWaitIdle_COM_Write(0x90); LCD12864_write_word(\车开了请站稳扶好\
LCD12864_NoWaitIdle_COM_Write(0x88); LCD12864_write_word(\起始站:理工大学\ LCD12864_NoWaitIdle_COM_Write(0x98);
LCD12864_write_word(\终点站:师范大学\ }
19
//第一行显示内容//第二行显示内容//第三行显示内容//第四行显示内容
天津理工大学2015届本科毕业设计说明书
4.2 语音模块设计
4.2.1 语音播报流程图
要想自动报站,就必须先将录音文件烧录到芯片中,给ISD4004录音的方法就是利用ISD4004助手,通过上位机把需要的语音录入到指定的地址,并且保存起来以便以后调用。
语音模块其中部分指令如表4.2所表达:
表4.2 ISD4004指令
指令 POWERUP SET PLAY PLAY SET REC REC SET MC MC STOP STOP WRDN RINT 8位控制码 00100XXX 11100XXX 11110XXX 10100XXX 10110XXX 11101XXX 11111XXX 0X110XXX 0X01XXXX 0X110XXX 操作摘要 上电:等待TPUD后器件可以工作 从指定地址开始放音,后跟PLAY指令可使放音继续进行下去 从当前地址开始放音(直至EOM或OVF) 从指定地址开始录音,后跟REC指令可使录音继续进行下去 从当前地址开始录音(直至EOM或OVF) 从指定地址开始快进,后跟MC指令可使快进继续进行下去 执行快进,直到EOM。若再无信息,则进入OVF状态 停止当前操作 停止当前操作并掉电 读状态:OVF和EOM 语音播报流程图可由图4.2所表示:
图4.2 语音播报流程图
20
天津理工大学2015届本科毕业设计说明书
4.2.2 语音播报程序
从指定地址开始播放本段语音程序: void upkey_treat(void) {
isd_powerup(); //AN键按下,ISD上电并延迟50ms
isd_stopwrdn(); isd_powerup();
isd_setplay(st_add&0x00ff,st_add>>8); }
isd_play(); //发送放音指令 DelayUs(20);
while(INT==1); //等待放音完毕的EOM中断信号 isd_stop();
st_add=adds[fy_count];//送当前语音的起始地址
4.3发射模块的系统设计
4.3.1发射模块的流程图
无线收发模块是用SPI访问寄存器的,他有二十五个寄存器,可由表4.3所表达:
表4.3 寄存器功能
地址 0 1 2 3 4 7 0A-0F 10 11-16
寄存器名称 CONFIG EN_AA EN_RXADDR SETUP_AW SETUP_RETR STATUS RX_ADDA_P0-P5 TX_ADDR RX_PW_P0-P5 功能 设置工作模式 设置接收通道及自动应答 使能接收通道地址 设置地址宽度 设置自动重发数据时间和次数 状态寄存器,用来判断工作状态 设置接收通道地址 设置发送地址 设置接收通道的有效数据宽度 站台发射信号时,第一步先将NRF调整为发射方式;第二步经过SPI把需要的地址和有用的数据送给NRF;地址送一遍而数据要一直送入;第三步把让CE输出高电压并发送信号。如果它处在自动回答状态,那么在发送信号时的同时能够马上变成接收状态来接收信号。如果NRF收到信号,那么意味着这次无线收发信号完成。若没有收到信号,它会自动再次发送
21
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的车站自动报站系统设计(5)在线全文阅读。
相关推荐: