毕业论文基于单片机的公交报站系统.doc

上传人:yyf 文档编号:3942105 上传时间:2019-10-10 格式:DOC 页数:48 大小:4.65MB
返回 下载 相关 举报
毕业论文基于单片机的公交报站系统.doc_第1页
第1页 / 共48页
毕业论文基于单片机的公交报站系统.doc_第2页
第2页 / 共48页
毕业论文基于单片机的公交报站系统.doc_第3页
第3页 / 共48页
毕业论文基于单片机的公交报站系统.doc_第4页
第4页 / 共48页
毕业论文基于单片机的公交报站系统.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《毕业论文基于单片机的公交报站系统.doc》由会员分享,可在线阅读,更多相关《毕业论文基于单片机的公交报站系统.doc(48页珍藏版)》请在三一文库上搜索。

1、毕业设计(论文)题目:基于单片机的公交报站系统 专业: 应用电子技术 班级: 10223 学号: 31 姓名: 陈剑锋 指导老师: 高燕 成都工业学院二一三年五月论 文 摘 要 为了提高公交车服务质量,满足各类乘客需求,设计了一个带有语音播放的公交车报站系统。系统通过4个按键控制实现起始站、上一站、下一站、终点站的控制功能。系统主要由AT89C51单片机、语音模块ISD4004、按键和LCD12864显示器组成。ISD4004语音模块存放报站信息,按键控制语音播放,播放的信在液晶上显示。本系统是以单片机的基本语言C语言来进行软件设计,51的编程语言常用的有二种,一种是汇编语言,一种是C 语言。

2、汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C 语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C 语言的开发周期通常要小于汇编语言很多。综合以上C 语言的优点,我在学习时选择了C 语言指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。关键词: 公交报站 89c51lcd12864 ISD4004Abstract in order to

3、improve the quality of bus service, meet all kinds of passenger demand, have designed a voice broadcast system of bus stops. Control system with four buttons on the originating station, station, next stop, terminal control functions. System mainly consists of AT89C51, ISD4004 voice module, keys and

4、LCD12864 display. ISD4004 voice modules for the stops information, key control voice broadcast, broadcast letter displayed on the LCD.This system based on single chip microcomputer C language for software design, 51 commonly used programming language there are two, one is the assembly language, C la

5、nguage is a kind of. Assembly machine code generating efficiency is very high but is not readable, complicated process is more difficult to read, and the C language in most cases the machine code generating efficiency and assembly language, but the readability and portability is far more than assemb

6、ly language, and can also be embedded C language compiled to solve the problem of high timeliness of coding. For development cycle, the medium of software written in C language development cycle usually is much less than assembly language. All of the advantages of the C language, I chose when learni

7、ng C language instruction execution speed, saving storage space. To facilitate the expansion and change, the design of software adopts modular structure, make the program design more concise and clear logical relations, make coordination of hardware under software control.Key Words: The bus stops 89

8、c51lcd12864 ISD4004II目录论 文 摘 要IAbstractII第一章 绪论11.1课题背景及研究意义11.1.1课题背景11.1.2研究意义11.2报站器的发展趋势2第二章 硬件电路设计32.1硬件电路设计思路和框图32.2 硬件电路设计32.3AT89C51芯片52.3.1AT89C51芯片简介52.3.2 AT89C51管脚说明52.4液晶模块AWPIRE128646第三章 系统软件设计103.1系统流程图设计103.1.1 ISD4004语音模块录放音113.2.1 LCD12864显示143.2.2按键部分15第四章 仿真过程、结果分析164.1 软件仿真调试过程1

9、64.2Proteus ISIS仿真系统基本知识204.2.1系统概述204.2.2进入Proteus ISIS204.2.3Proteus工作界面及窗口说明214.2.4 Proteus绘图流程举例214.3 KEIL Cx51软件的使用244.3.1创建项目244.3.2 为项目新建文件264.3.3生成.HEX文件274.3.4汉字字模提取2851单片机公交车报站系统设计心得体会30致 谢31附件32参考文献43第一章 绪论1.1课题背景及研究意义1.1.1课题背景从1831英国人沃尔特汉考克为他的国家制造出了世界上第一辆装有发动机的公共汽车起,到今天,公交车已经历经了将近200年的发展

10、过程。从最初的“闷罐头”到如今配套的空调系统;从专人售票到无人售票;从人工报站到半自动语音报站,公交车向着越来越人性化的方向发展。 单片机体积小,重量轻,具有很强的灵活性而且价格便宜,得到越来越广泛的运用,例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品中都有重要的用途。20世纪80年代中期,Intel公司将8051内核使用权以专利互换或出售的形式转给世界许多著名IC制造厂商,这样8051就变成有众多制造厂商支持的,发展出上百个品种的大家族。到目前为止,其它任何一个单片机系列均未发展到如此的规模。正因为51单片的运用是如此广泛,因此学习单片机的运用是非常重要的。

11、学好单片机也是学习其他嵌入式控制器如ARM、DSP的基础,任何嵌入式控制器都离不开单片机种所涵盖的如中央处理器,定时器、中断控制器,IO口控制器, 串行通讯控制器,I2C总线控制器,片内外存储控制器,汇编语言,C语言,操作系统的概念。因此说学好单片机,再去学习其他嵌入式控制器如ARM、DSP是比较简单的。可以说学好单片机是其它进阶微处理器的一个台阶。1.1.2研究意义 随着城市化进程的加快,公交车作为城市建设的基础设施之一,仍然是绝大多数出行者的首选交通方式。传统由乘务人员人工报站,该方式由于效果太差和工作强度太大,在绝大多数城市已经被淘汰。随着科学技术的日益发展和进步,微型计算机已经在很多领

12、域得到广泛应用。LCD与微机技术结合,比传统的LED显示效果更佳。结合公交车报站的使用特点和运营环境,设计一种由单片机控制、LCD显示的公交车报站显示系统。公交车报站显示系统的设计应用单片机,LCD显示,使到站信息及提示信息以显示的方式告知市民,为市民提供人形化、完美的服务。(3) 管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用等五个方面组成。 MIS包括计算机、网络通信设备等硬件成分,也包括操作系统、应用软件包等软件成分,并随着计算机技术和通信技术的迅速发展还会出现更多的内容。1.2报站器的发展趋势公共汽车行驶在现代文明程度高的市区,它是一道流动的风景线,因

13、而对整车外形乃至色彩都有更高的要求。作为公共汽车还要求有醒目和减少乘务人员劳动强度的电子报站器,电子显示路牌,无人售票装置,前后电视监视系统等新技术的采用也将越来越普及。公交车报站器在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。目前公交车报站有三种方式,一种是利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台15英寸的液晶电视和 GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式传送到

14、显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复。目前在美国部分城市GPS卫星定位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。另外两种是手动电子报站和人工报站的方式,而它们都离不开司务人员,加大司乘人员的工作强度。手动电子报站一般有司机或者乘务员控制,经常出现错报,误报的情况。城市公共交通是市民出行的主要交通工具之一。提供舒适,安全、便捷的乘车环境,对于公交企业来说,不仅是应尽的责任,亦是不断追求的目标。第二章 硬件电路设计2.1硬件电路设计思路和框图公交车液晶报站显示主要解决汉字的液晶显示和按键报站1

15、-4。LCD液晶显示模块AMPIRE12864可以显示字母、数字符号、中文字型及自定图形,只要一个最小的微处理系统,将液晶显示模块的I/O设备直接与之连接,就可以进行控制液晶显示器和数据传输,从而达到理想的显示效果。使用P2口给液晶显示器提供控制信号,P0口给液晶显示器传送数据。由于公交车报站系统有起始站、终点站、上一站和下一站的差别,所以4个采用独立式按键分别进行控制,按键电路从p4口输入信号。系统设计框图如图2-1所示。主要采用单片机的最小系统AT89C51、LCD液晶显示模块AMPIRE12864及外围电路组成。按键电路Lcd12864显示电路At89C51单片机+5v电源图2-1 系统

16、设计框图2.2 硬件电路设计控制电路选用单片机AT89C51,本电路接高电平,没有扩展ROM。利用晶体本身的特性,可以利用晶振和电容搭建震荡电路与AT89C51的XTAL1和XTAL2相连,向单片机提供一个频率较高的时钟脉冲,具体连接见电路连接图。AT89C51的复位引脚外接开关复位电路。将液晶的数据输入端DB0DB7与单片机的P0口相连,进行数据传输操作。因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻,这样就用到排阻。排阻就是好多电阻连载一起,他们有一个公共端1端为公共端接VCC或地,看你是上拉还是下拉呢,其他接要操作的端口。本电路中P0口需要接上拉电阻,所以排阻的公共端接VC

17、C。将P25,P26,P27分别与液晶的RS,RW,E端连接,用其组合来控制向LCD中进行数据和指令的读与写操作,P21和P22分别和CS1和CS2端连接,用来控制液晶左右屏的显示。另外背光灯的电源正极、液晶显示模块的电源正极以及LCD驱动电压输入端都接在+5V的稳压电源上,背光灯负极和模块的电源负极统一接地。为了便于司机操作,采用4个独立式按键对显示进行控制,分别与单片机的P30P33相连,分别代表4种功能:起点站、上一站、下一站和终点站。报站系统液晶显示的电路连接图如图2-2所示图2-2 仿真电路2.3AT89C51芯片2.3.1AT89C51芯片简介 AT89C51是一种带4K字节FLA

18、SH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.

19、3.2 AT89C51管脚说明 AT89C51的引脚排列如图2.3.2所示。图2.3.2 AT89C51引脚排列图 下面对设计中用到的管脚进行简要的介绍: P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.

20、4液晶模块AWPIRE12864 液晶显示器件(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能像西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。选择LCD液晶显示模块AMPIRE12864的汉字图形型液晶显示模块,可显示汉字及图形,图形液晶显示显示器如图2-3所示。 图2-3 LCD电路图 其引脚功能如表2-1所示5。 表2-1 AMPIRE12864管脚说明序号管脚名称功 能1CS1左半屏片选端,低电平有效2CS2右半屏片选端,低电平有效3

21、GND地4VCC逻辑电源5V0调节对比度6RS数据/指令控制信号:1为数据输入,0为指令输入7R/W数据/指令读写控制信号:1为读出,0为写入8E允许控制信号,R/W为0时,E信号下降沿锁存DB7DB0916DB0DB7数据总线17RST复位信号,低电平有效18Vout驱动电压 其指令描述如下: (1)显示开/关设置 CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLLLHHHHHH/L 功能:设置屏幕显示开/关。 DB0=H,开显示;DB0=L,关显示。不影响显示RAM(DD RAM)中的内容。 (2)设置显示起始行 CODE:R/W RS IDB

22、7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLHH行地址(063) 功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。 (3)设置页地址 CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LLHLHHH页地址(07) 功能:执行本指令后,下面的读写操作将在指定页内,直到重新设置。页地址就是DD RAM 的行地址,页地址存储在X地址计数器中,A2-A

23、0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号(RST)可把页地址计数器内容清零。 DD RAM地址映像表如表2-2所示。 表2-2 RAM地址映像表Y 地址 0 1 2 61 62 63 DB0 PAGE0 DB7 X=0 DB0 PAGE1 DB7 X=1 DB0 PAGE6 DB7 X=7 DB0 PAGE7 DB7 X=8 (4)设置列地址 CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLH列地址(063) 功能: DD RAM 的列地址存储在Y地址计数器中,读写数据对列地址有影响,在对DD RAM进行读写操作后,

24、Y地址自动加一。 (5)状态检测 CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HLBFLON/OFF RST LLLL功能:读忙信号标志位(BF)、复位标志位(RST)以及显示状态位(ON/OFF)。BF=H:内部正在执行操作; BF=L:空闲状态。RST=H:正处于复位初始化状态; RST=L:正常状态。ON/OFF=H:表示显示关闭; ON/OFF=L:表示显示开。 (6)写显示数据 CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0L HD7D6D5D4D3D2D1D0 功能:写数据到DDRAM,DDRAM

25、是存储图形显示数据的,写指令执行后Y地址计数器自动加1。D7-D0位数据为1表示显示,数据为0表示不显示。写数据到DDRAM前,要先执行“设置页地址”及“设置列地址”命令。 (7)读显示数据 CODE:R/W RS IDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HHD7D6D5D4D3D2D1D0 基本操作时序: 读状态:输入:RS=L,R/W=H,CS1 或CS2=H,E=H 输出:D0D7=状态字 写指令:输入:RS=L,R/W=L,D0D7=指令码,CS1或CS2=H,E=高脉冲输出:无 读数据:输入:RS=H,R/W=H,CS1 或CS2=H,E=H 输出:D0D7=

26、数据 写数据:输入:RS=H,R/W=L,D0D7=数据,CS1 或CS2=H,E=高脉冲 输出:无RAM 地址映射图到LCD 显示屏由两片控制器控制,分别用和控制。每个内部带有64X64 位(512字节)的RAM 缓冲区,对应关系如下图2-4所示。图2-4 LCD地址映射图 (8)操作 1.设定开始页地址和列地址 2.设定读写模式,进行读写操作第3章 系统软件设计3.1系统流程图设计软件设计的主要功能是完成公交车语音报站,采用AT89C51单片机作为主控芯片,对ISD4004数码语音芯片与LCD12864进行控制,实现语音报站,同时显示站名。键盘采用通用按键开关,简单易行且控制方便。在本次软

27、件设计中,主要设计了4站,通过四个按键进行控制。具体如下:k1键起始键现象:ISD4004播报“欢迎乘坐”,同时LCD12864上显示“欢迎乘坐”。k2键上一站,k3键下一站,现象:num=1,ISD4004播报“欢迎乘坐”,同时LCD12864上显示“欢迎乘坐”。num=2,ISD4004播报“电子高专站到了,请从后门下车,下车请当心;车辆起步,请拉好扶手,前方停靠西区公交站”,同时LCD12864上显示“西区公交站到了”。num=3,ISD4004播报“西区公交站到了,请从后门下车,下车请当心;车辆起步,请拉好扶手,前方停靠茶店子站”,同时LCD12864上显示“茶店子到了”。num=4,

28、ISD4004播报“茶店子到了,请从后门下车,下车请当心;车辆起步,请拉好扶手,前方停靠金沙站”,同时LCD12864上显示“茶店子到了”。num=5,ISD4004播报“金沙站到了,请从后门下车,下车请当心;”,同时LCD12864上显示“金沙站到了”。num=6,ISD4004播报“谢谢乘坐本次公交车”,同时LCD12864上显示“谢谢乘坐”。系统上电后,液晶显示模块LCD12864与语音模块ISD4004进行初始化,当检测到有按键按下时,进行键值的判断,根据键值,跳转到相应的显示程序和语音播放程序并执行,从而实现公交车语音报站功能。软件主流程图如图3.1所示。图3.1软件主流程图3.2.

29、1 ISD4004语音模块录放音在本次软件程序设计中,我总共设置了5个按键,录音键(k1=P2.5),放音键(k2=P2.6),停止键(k3=P2.7),录放音地址移位键(k4=P2.0),复位键(k5=P2.1)。当按下k1键时,语音模块就从0X05开始录音,录好一段音后,按下k3键,停止录音。按下k2键,开始播放之前所录的声音。按下k4键,录音地址往后移100,此时再按下k1键,开始第二段录音。如此,便可实现多段录音,而且每段录音所存放的地址都通过计算得出。若是不满意当前的录音,可以按下k5键,重新录音。图3.3.1为录音流程图。图3.4.2为放音流程图。图 3.1.1 录音程序流程图图3

30、.1.2 放音程序流程图3.2.1 LCD12864显示系统上电后,液晶显示模块进行初始化。同时液晶显示部分按照数组序号显示字符程序,程序中table为要显示的数组序号,按照数组的次序依次显示每站的站名。图3.2.1为本次设计的液晶显示12864的程序流程图。图 3.2.1LCD12864程序流程图3.2.2按键部分按键部分采用扫描法,当检测到按键按下时,进行键值判断,并进行相应的显示程序以及语音播放程序的跳转,实现公交车语音报站功能。图3.2.2是本次设计的按键程序流程图。44图 3.2.2按键程序流程图第4章 仿真过程、结果分析4.1 软件仿真调试过程本次单片机软件仿真系统我选择了Prot

31、eus。在整个系统软件设计中,依旧从语音,液晶显示以及按键这三大部分进行综合考虑。由于Proteus软件的限制,无法对ISD4004语音芯片进行仿真,从而在此处我选用了LED灯来代替语音芯片,当按键按下时,相对应的LED灯点亮。在仿真时,由于语音模块不能进行仿真,为了增加点难度,在液晶显示模块方面我选择了可以显示汉字的12864模块。下面主要介绍一下12864的工作原理Error! Reference source not found.。LCD12864液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。其实用LCD显示一个字符时比较复杂,因为

32、一个字符由1616点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的64字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。在本次设计中,LCD12864液晶显示模块的rs,rw,e分别与51单片机的P35,P36,P37端口连接,进行程序的读写数据,字符操作。而D0D7分别与51单片机的P0口进行连接,用来输出数据与字符,这样就可以在液晶

33、上显示出自己想要的字符Error! Reference source not found.。在此次仿真过程中,总共设计了4个按键,k1:欢迎乘坐,k2:上一站,k3:下一站,k4:谢谢乘坐。当按下k1键时,LCD上显示“欢迎乘坐”;如果当前的站是“电子高专到了”,当按下k2键时,LCD上显示“西区公交站到了”,;当按下k3键时,LCD上显示“茶店子到了”。当按下k4时,LCD上显示“谢谢乘坐”。实现的效果图如下图4.6,4.7,4.8,4.9,4.10,4.11所示按下k1键 LCD12864液晶显示“欢迎乘坐”。图 4.1 “欢迎乘坐”按下k2或者k3键显示,k2键逆向显示,k3键顺向显示N

34、um=1 LCD12864液晶显示“电子高专到了”。图 4.2 “电子高专到了”Num=2 LCD1602液晶显示“西区公交站到了”。图 4.3 “西区公交站到了”Num=3 LCD12864液晶显示“茶店子到了”。图 4.4 “茶店子站到了” Num=4 LCD12864液晶显示“金沙到了”。图 4.5 “金沙站到了”按下k4键 LCD12864液晶显示“谢谢乘坐”。图 4.6 “谢谢乘坐”4.2Proteus ISIS仿真系统基本知识4.2.1系统概述Proteus是英国Labcenter公司开发的电路分析与实物仿真软件6。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种

35、模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。Proteus软件所提供了30多个元

36、件库,数千种元件。元件涉及到数字和模拟、交流和直流等。对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus 软件包中,不存在同类仪表使用数量的问题。Proteus 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片

37、机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。4.2.2进入Proteus ISIS双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,出现如图4.2.2所示屏幕,表明进入Proteus ISIS集成环境。 图4.2.2 启动时的屏幕4.2.3Proteus工作界面及窗口说明Proteus的工作界面是一种标准的Windows界面,如图4.2.2所示。单

38、击对象选择按钮P会出现如图4.2.4对话框。在keywords中输入需要的元器件型号如89C51会出现对话框在Results下选中需要的元器件然后按右下脚的OK关闭对话框,这时元器件列表中就会列出89c51。这时在原件列表中左键选取89c51,在原理图编辑窗口中单击左键,这样89c52就被放到原理图编辑窗口中了。同样放置其他元器件。4.2.4 Proteus绘图流程举例1.元件设置,首先按刚才所述选取放置一元件电阻,然后在图形编辑窗口中右键选取电阻,然后单击左键会出现如图4.2.4对话框然后按需要进行设置即可。图4.2.4 Proteus工作界面图4.2.5 对象选择界面图4.2.6 修改元器

39、件属性界面2.添加仿真文件(.hex文件) 图4.2.7 添加十六进制文件界面连好电路图后右键单击图中的单片机选中,然后单击左键出现如图4.2.7对话框在program file中单击浏览图标,找到所需要的.hex文件最后单击ok退出。4.3 KEIL Cx51软件的使用Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。下面介绍Keil C51软件的使用方法。4.3.1创建项目启动后进入keil c的编辑界面如图4.3.1。此时点击projectNew Project菜单选项可创建一个新的项目

40、文件。此时会弹出一个标准的Windows对话框,询问新建项目文件的名字,建议每个项目都使用一个独立的文件夹。文件名写好后单击确定会出现如图4.3.1对话框要求选择单片机型号,keil c51几乎支持所有的51核的单片机,选好单片机后只要点击确定即可。图4.3.1 keil c的编辑界面 图4.3.2 CPU选择界面4.3.2 为项目新建文件点击菜单FileNew File此时屏幕如图4.4.2此时在弹出的Text窗口中写入自己的程序,写完后点击FileSave As将文件保存。注意,如果用语言编写程序,则扩展名为.c,如果用汇编语言编写程序,则扩展名必须为.asm。此时回到编辑界面单击“Tar

41、get 1”前面的“”号,然后在“Source Group 1”上单击右键,在弹出的下拉菜单中单击“Add File to Group Source Group 1”再在出现的对话框中选择自己需要.c文件或.asm文件,单击Add然后关闭此对话框。此时编辑界面如下图4.4.3所示。图4.4.2 新建文件界面图4.4.3 编辑界面4.3.3生成.HEX文件在生成.hex文件前要对程序进行编译看程序是否有误,单击图4.4.3中的编译按钮即可,如显示无误则右击“Target 1” 再在下拉菜单中单击“Options For Target target1,此时单击“Output”选中“Create H

42、EX File” 选项,最后单击确定。此时再次点击编译按钮进行编译则自动生成保存.hex文件,此时只需按刚才Proteus介绍所说,将.hex文件添加到单片机中就可以在Proteus进行仿真了。4.3.4汉字字模提取液晶显示模块中按字节为单位划分,单个屏幕中,共分为8个页,每页为8行,而每一行为64个位(即64列)。同计算机一样,单片机控制液晶点阵显示中的数据也是以“0 和“1”代码来表示的。一般地,“0”代表不显示数据,“1代表有显示数据,根据编码的不同,最终会显示出不同的字符。显示器上的显示点与驱动控制芯片中的显示缓存RAM 是一一对应的,即字模当中的一个位代表LCD显示中的一个像素点,取

43、点方式为从左到右,自上到下的顺序。这里采用1616的点阵输出显示每个汉字,那么就需要屏幕上的256个点组成的方块来显示。一个字节对应8个点,所以一个汉字需要32个字节来存储显示7,8。“汉字字模点阵数据批量生成工具”就是运用这个原理来实现汉字编码的软件。 图4.4.4 汉字字模点阵数据批量生成软件本文采用PCtoLCD2002汉字提取软件,打开窗口,如图4.4.4所示,设置好字体、字号等格式参数,在汉字输入区,输入汉字或其他字符,即得到需要的代码。将本设计所涉及的汉字用软件取模批量生成1616点阵代码,放入ROM 区的TABLE表格中,通过逻辑控制,最终可将代码读出到硬件驱动电路上,显示出不同的汉字。51单片机公交车报站系统设计心得体会时间过得很快,现在回想起这三个多月的毕业设计, 终于可以画上一个句号了。一路走来,感受颇多。曾经有过失落;有过成功; 有过沮丧;有过喜悦;这已不重要了,重要的是我一路走来,历炼了我的心志,考验了我的能力。最初看到这个课题,不知如何下手,所以就去网上找了许多资料,尽管有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,于是就请教同学。通过对公交车报站系统资料的研究,渐渐有了一个大体的构思。功夫不负有心人,在大家共同的努力下,尽管经历了不少的艰辛,但给我们积累了一点设计的经验,最后也有点小小的成就感。在整个设计过程中,我是担任组长的职位,这对

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1