《毕业设计(论文)基于单片机AT89S51液晶滚动显示系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机AT89S51液晶滚动显示系统.doc(24页珍藏版)》请在三一办公上搜索。
1、计算机信息系毕业设计论文题 目: 12864液晶显示汉字 专 业: 电子信息工程 班 级: 姓 名: 学 号: 指导老师: 20 年 月 日 目 录摘要3一、引言21.1 液晶模块的国内外研究现状和发展动态21.2 单片机的国内外研究现状和发展动态31.3 基于单片机控制液晶显示系统的设计任务摘要31.4 系统设计要求摘要31.5 系统设计思路摘要4二、 液晶显示控制电路与程序方案设计摘要42.1系统设计思路与框图62.2框图模块功能描述及技术指标分析7时钟振荡器模块:72.3 电路原理图摘要62.4 相关芯片介绍摘要72.5程序主流程图以及子流程图10三、ST7920指令说明15四、具体功能
2、程序及硬件实现184.1主要功能程序实现184.2实验步骤204.3毕业设计结果摘要204.5总结与体会24参考文献26摘要因为汉字本身的特点,显示汉字始终是计算机在我国应用普及的一个障碍。随着单片机和显示技术的发展,加上人们不满足单片机系统采用LED数码管的简单显示,利用单片机控制液晶显示成为当前显示系统的主流。本文主要介绍了89C51单片机为控制设备,液晶显示器为显示设备。实现的一个可以显示汉字、字符和动态显示汉字的液晶显示器设备。通过汉字显示程序的地址,接着运行相应的程序取汉字机内码和西文字符的ASCII码,并在存储器中进行寻址找出相对应的显示代码或汉字字模,提取后作为阵显示信息送液晶显
3、示器显示。再者通过按键控制可以实现显示的汉字左右移动。利用液晶显示器显示汉字操作灵活,汉字显示果可以大大提高。关键词 液晶显示 点阵显示 按键控制一、引言在电子行业中,越来越多的产品开始重视人机信息交换的输入输出设备。其中高像素液晶屏也越来越被广泛的采用。手机、GPS、PDA等电子设备均已使用320*240或更高像素的18位色屏幕。而目前大学生设计电子产品或毕业论文中常采用的显示电路却是LED数码管,虽然LED显示模块结构简单,使用也比较方便,价格也很低廉。但是LED显示效果不够美观,不能显示图形和汉字等数据。液晶显示则弥补了这个缺点,因此液晶显示模块的应用越来越广泛。比如电子表、计算机、数码
4、相机、计算机的显示器和液晶电视等。在现代的电子设计中,液晶显示模块应用得越来越多。它是一种集成度比较高的显示组件,它将液晶显示器件、控制器、PCB电路板、背光源和外部连接端口等组装在一起,可以方便地用于需要液晶显示的场合。它的英文名称一般为“LCD Module”,可以简称LCM。MCS-51单片机是美国INTE公司于1980年推出的产品,各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。虽然目前51系列单片机已无法满足目前某些功能或环境的要求,但是51系列的单片机仍然是最为成功的单片机芯片,它的影响力仍然延续到现在,以致于被越来越多的人所熟悉。而从目前市场价格及普及程
5、度等多方面因素考虑,决定采用AT89S52单片机作为显示模块的控制核心。1.1 液晶模块的国内外研究现状和发展动态目前众多电子类产品用于显示功能常用到数码管LED与液晶LCD。虽然数码管LED的结构简单、显示方便,但是功能比较单一,已无法满足科技进步而产生的显示要求。并且LED常用到动态显示,在复杂的系统中十分耗费系统资源,已逐渐被淘汰。而在液晶显示模块中,最主要的就是LCD液晶屏。根据LCD液晶屏显示内容的不同,液晶显示模块可以分为数显液晶模块、点阵字符液晶模块和点阵图型液晶模块3种。(1)数显液晶模块中的显示部件是段型LCD液晶显示器件。其中为了使用的方便,还集成了专用的控制器和其他集成电
6、路,其只能显示数字以及一些标识符号。(2)点阵字符液晶模块的显示部件是点阵字符液晶显示器件,同样,集成有专用的行、列驱动器,控制器及必要的连接件、结构件。这种液晶模块可以显示数字和西文字符,功能有所提高,但是不能显示图形1。 (3)点阵图型液晶模块的液晶显示器件是由连续的点阵像素构成的。因此不仅可以显示字符,而且可以显示连续、完整的图形。常见的型号有LCD1602,LCD12232,LCD12864等。LCD1602可以在LCD显示屏上完整显示32个英文字符和日文等一些字符,适合显示英文文字信息量较小的地方。可以应用在计算器、频率计、时钟等产品上。LCD12232也只适合文字量较少的场合。而L
7、CD12864的分辨率达到了128*64,对于16*16的字体可显示4行8列,已能满足大部分设备显示的要求。LCD12864在市场上主要分为两种,一种采用st7920控制器,它一般带有中文字库字模,价格略高一点。另一种是采用KS0108控制器,它只是点阵模式,不带字库3。1.2 单片机的国内外研究现状和发展动态目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势: 低功耗CMOS化MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机
8、功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集
9、成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公
10、司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。1.3 基于单片机控制液晶显示系统的设计任务设计一款基于单片机AT89S51液晶滚动显示系统。1.4 系统设计要求(1)通过单片机的控制使液晶进行滚动显示学校。(2)
11、通过单片机的控制使液晶进行滚动显示专业。(3)通过单片机的控制使液晶进行滚动显示姓名。(4)通过单片机的控制使液晶进行滚动显示学号。1.5 系统设计思路根据系统设计要求,初步思路如下:(1)通过单片机最小系统的控制使液晶进行滚动显示。(2)液晶模块采用LCD12864。(3)系统采用并口连接方式。(4)通过驱动ST7920控制器使用其自带字库来提取所需文字。二、 液晶显示控制电路与程序方案设计2.1系统设计思路与框图液晶显示器YM12864R 的控制器ST7920 可以显示字母、数字符号、中文字型及自定图形显示,只要一个最小的微处理系统,将液晶显示模块的接口作为I/O 设备直接与之连接,就可以
12、进行控制液晶显示器和数据传输,从而达到理想的显示效果。使用P3 口给液晶显示器提供控制信号,P0 口给液晶显示器传送数据。YM12864R 液晶显示器的控制信号有PSB、RS、R/W、E,其中RS、R/W、E分别对应接在AT89C51 的P3.0、P3.1、P3.2、P2.3 上,在本次设计中采用并行接口,故PSB接高电平,而8位数据口DB0 DB7对应接在P0 口上。背光灯的电源正极、液晶显示器模块的电源正极以及LCD 驱动电压输入端都接在+5V 的稳压电源上。背光灯负极和模块的电源负极统一接地。液晶显示器模块的复位脚连接开关按纽与地相连。选择按键接高电平,即可实现单片机对液晶显示汉字的控制
13、。系统设计图框如下图2.1所示,主要由单片机的最小系统AT89C51、YM12864R 液晶显示电路及外围电路构成。图2.1 系统设计框图2.2框图模块功能描述及技术指标分析时钟振荡器模块:利用晶体本身的特性,可以利用晶振与电容搭建振荡电路与AT89C51引脚XTAL1及XTAL2相连,向单片机提供一个频率定度较高的时钟脉冲,具体连接见原理图。开关复位电路模块:AT89C51 的复位引脚RST 外接开关复位电路,当电路工作后,闭合开关,只要在RST 引脚上出现2 个机器周期以上的高电平,单片机即可复位。若RST始终保持高电平,则可对AT89C51 循环复位。开关复位电路的组成如原理图电阻R2和
14、开关S1串联后与电容C3并联,然后与R1串联对+5V电压进行分压,R1一端接地另一端接复位信号引脚RST。AT89C51模块:作为核心组成部件之一,AT89C51单片机给YM12864R液晶显示提供控制信号和进行数据传输,从整体上实现液晶显示控制。AT89C51片内ROM全都采用Flash ROM,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。AT89C51片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,便于扩展,很容易组成一定规模的计算机应用系统。具
15、有丰富的控制指令,控制功能强。此外其体积小,功耗低,价格便宜。YM12864R液晶显示模块:YM12864R液晶显示模块,在其控制芯片ST7920调控下用来显示最终结果。除显示液晶块外,还包含两个重要外围电路开关复位电路及电源控制电路,具体如原理图所示。YM12684的复位引脚RET 外接开关复位电路,当开关闭合时,RET引脚接地,模块复位;当开关断开时,复位信号无效。此外,外接电源电路利用滑动变阻器分压分别给YM12864R的电源地引脚VSS和LCD驱动电压输入端引脚V0供电。2.3 电路原理图电路原理图如图2.2所示,其中单片机AT89C51引脚P3.0-P3.2与YM12864R中RS、
16、R/W、E的连接在图中以网络标签的形式给出。此外,相较于系统设计框图在液晶显示模块控制芯片的调控上,对复位引脚处以简单开关复位电路控制,而电压地VSS及LCD的操作电压以变阻器控制。图2.2 电路原理图2.4 相关芯片介绍AT89C51:AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型
17、计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51引脚图如图2.3,其内部I/O部件包括:1、 四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2、 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一个串行通信接口;(SCON,SBUF) 4、 一个中断控制器;(IE,IP)图2.3 AT89C51引脚图128X64HZ 引脚说明:引脚号 引脚名称方向 功能说明1 VSS - 模块的电源地2 VDD - 模块的电源正端3 V0 - LCD 驱动电压输入端4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选
18、信号5 R/W(SID) H/L 并行的读写选择信号;串行的数据口6 E(CLK) H/L 并行的使能信号;串行的同步时钟7 DB0 H/L 数据08 DB1 H/L 数据19 DB2 H/L 数据210 DB3 H/L 数据311 DB4 H/L 数据412 DB5 H/L 数据 513 DB6 H/L 数据614 DB7 H/L 数据715 PSB H/L 并/串行接口选择:H-并行;L-串行16 NC 空脚17 /RET H/L 复位低电平有效18 NC 空脚19 LED_A - 背光源正极(LED+5V)20 LED_K - 背光源负极(LED-OV)逻辑工作电压(VDD):4.55.
19、5V电源地(GND):0V 128X64引脚图ST7920:ST7920是台湾矽创电子公司生产的中文图形控制芯片,它是一种内置128*64-12汉字图形点阵的液晶显示控制模块,用于显示汉字及图形。该芯片共内置8192个中文汉字(16*16点阵)、128个字符的ASCII字符库(8*16点阵)及64*256点阵显示RAM(GDRAM)。为了能够简单、有效地显示汉字和图形,该模块内部设计有2MB的中文字型CGROM和64*256点阵的GDRAM绘图区域;同时,该模块还提供有4组可编程控制的16*16点阵造字空间;除此之外,为了适应多种微处理器和单片机接口的需要,该模块还提供了4位并行、8位并行、2
20、线串行以及3线串行等多种接口方式。利用上述功能可方便地实现汉字、ASCII码、点阵图形、自造字体的同屏显示,所有这些功能(包括显示RAM、字符产生器以及液晶驱动电路和控制器)都包含在集成电路芯片里,因此,只要一个最基本的微处理系统就可以通过ST7920芯片来控制其它的芯片。ST7920的主要技术参数和显示特性如下:电源:VDD (2.75.5V)5V(内置升压电路,一般无需负压);功耗:正常模式:450A,睡眠模式:3A,低功耗模式:30A;显示内容:128列*64行;显示颜色:黄绿;显示角度:6:00钟直视;LCD类型:STN;与MCU接口:8位并行/3位串行;配置有LED背光显示功能;带有
21、自动启动复位按钮(RESET);在对ST7920读或写时,会用到两个位的寄存器,一个是数据寄存器DR,另一个是指令寄存器IR。通过数据寄存器DR可以存取DDRAM、CGRAM、CGROM及IRAM的值。待存取的目标RAM的地址可通过命令来选择,每次数据寄存器DR的操作应以上次选择的目标RAM为主体来进行读出或写入。通过RS和RW的状态可以选择不同的读写模式,具体配置方法如表1所列。表1 ST7920的寄存器读写状态RSRW功能说明低电平0低电平0MPU 写指令到指令寄存器IR低电平0高电平1读出忙标志及地址计数器的状态高电平1低电平0MPU 写指令到数据寄存器DR高电平1高电平1MPU从数据寄
22、存器DR 读出指令2.5程序主流程图以及子流程图整个程序除主函数外包含以下几个子函数: ST7920初始化、写指令、写数据、汉字显示、延时、按键控制子程序。ST7920初始化子函数用来完成液晶显示模块的初始化操作并设置显示的方式及必要的参数,为显示操作做好必要的准备;写指令函数向指令寄存器写入不同的命令从而控制液晶显示芯片的显示。写数据函数向数据寄存器写入数据从而在液晶显示屏上显示相应的或字符字符或此外写指令操作与写数据操作的过程基本一致,区别在于写状态对RS及RW的状态选择不同;汉字显示函数包含设置所要显示的汉字或字符的显示的地址,向显示RAM(DDRAM)写入所要显示汉字区码的高八位及低八
23、位三个操作,从而实现在液晶屏上显示字符的功能;延时函数进行一定时间的等待,代替判断忙标志函数,使得上一个指令可以执行完毕,液晶屏处于空闲状态,以便于执行下一条指令;按键控制子程序是用按键控制单片机从而实现汉字的左右移动;汉字显示主程序包含初始化和调用汉字显示函数显示汉字,判断是或有按键安下而让汉字移动,三个操作,其完成整个汉字送液晶显示的调度。汉字显示子函数流程、ST7920初始化、写指令、写数据子函数流程、按键子程序流程图分别如图2.4、图2.5、图2.6、图2.7及图2.8所示。其中,图2.6流程向ST7920写各种操作指令,图2.6流程向ST7920写各种操作数据,区别在于写状态对RS及
24、RW的状态选择不同。图2.9为汉字显示主流程,其完成整个汉字送液晶显示的调度。 图2.4 汉字显示子函数 图2.5 ST7920初始化 图2.6 写指令子函数图2.7 写数据子函数有键按下否调延时,去抖动有键按下否键值加1返回开始YNNY键值送累加器A2.8按键子程序 调用主程序,显示文字系统判A值是否为1调用文字左移子程序判A值是否为2判A值是否为3调用文字右移子程序显示停止,键值A值复位零 初始化YNYNNY图2.9 汉字显示主流程三、ST7920指令说明ST7920的指令集包括基本指令和扩充指令,其中基本指令有11条,扩充指令有7条。每一个指令的长度都为8位。168点阵的ASCII字符代
25、码也是8位。但是1616点阵中文字符的代码为16位,必须分为两次传送,先传送高8位,再传送低8位。具体指令如下:1、清除显示清除显示(指令代码为01H)CODE:功能:清除显示屏幕,把DDRAM 位址计数器调整为“00H”位址归位(02H)CODE:功能:把DDRAM 位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM点设定(07H/04H/05H/06H)CODE:功能:设定光标移动方向并指定整体显示是否移动。I/D=1 光标右移,I/D=0 光标左移。SH=1 且DDRAM 为写状态:整体显示移动,方向由I/D 决定(I/D=1 左移,I/D=0 右移)SH=0 或DDRA
26、M 为读状态:整体显示不移动显示状态开/关(08H/0CH/0EH/0FH)CODE:功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON游标或显示移位控制(10H/14H/18H/1CH)CODE:功能:10H/14H:光标左/右移动;18H/1CH:整体显示左右移动,光标跟随移动,AC 值不变功能设定(36H/30H/34H)CODE:功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作设定CGRAM 位址(40H-7FH)CODE:功能:设定CGRAM 位址到位址计数器(AC)设定DDRAM 位址(80H-9FH)CODE:功能:设定 DDRA
27、M 位址到位址计数器(AC)读取忙碌状态(BF)和位址(BF=1, 状态忙)CODE:功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值写资料到RAMCODE:功能:写入资料到内部的 RAM(DDRAM/CGRAM/TRAM/GDRAM)读出RAM 的值CODE:功能:从内部 RAM 读取资料(DDRAM/CGRAM/TRAM/GDRAM)待命模式(01H)CODE:功能:进入待命模式,执行其他命令都可终止待命模式卷动位址或IRAM 位址选择(02H/03H)CODE:功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM 位址反白选择(04H05H)
28、CODE:功能:选择一、三行同时作反白显示,或者二、四行同时作反白显示睡眠模式(08H/0CH)CODE:功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式扩充功能设定(36H/30H/34H)CODE:功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘图显示OFF设定IRAM 位址或卷动位址(40H-7FH)CODE:功能:SR=1;AC5AC0 为垂直卷动位址 SR=0;AC3AC0 写ICONRAM 位址设定绘图RAM 位址(80H-FFH)CODE:功能:设定 GDRAM 位址到位址计数器(AC)当ST7920在接收指令前,MCU必须先确认ST
29、7920处于空闲状态。即读取BF=0,才能接收新的指令;如果在送出一条指令前不检查BF状态,则需要延时一段时间,确保上一条指令执行完毕。RE是基本指令集与扩充指令集的选择控制位,当更改RE的状态后,后续指令维持在最后状态。除非再次更改RE状态,否则使用相同指令集时,无需要重新设置RE。四、具体功能程序及硬件实现4.1主要功能程序实现 将要显示的汉字及字符在YM12864R数据手册中一一查出,定义于显示数据数组以便用于调用显示。具体如下:P2=0X00;P21=key;unsigned char mx32 2= /定义汉字字符数组0xb3,0xa5, /第一行0xd4,0xbb, 0x20,0x
30、20,0xb5,0xe7, /第二行显示数据0xd0,0xc5,0xd2,0xbb,0xb0,0xe0,0xd0,0xa1, /电信一班小组毕0xd7,0xe0,0xb1,0xcf,0xd2,0xb5, /第三行显示数据0xc9,0xe8,0xbc,0xc6,0xab,0xac,0xbb,0xb6,0xd3,0xad,0xc0,0xcf, /业设计,欢迎老师0xca,0xa6, 0xb2,0xce, /第四行显示数据0xb9,0xdb,0xa1,0xa3,0xd6,0xb8,0xb5,0xbc,0xa1,0xa4,0x20,0x20, /参观,指导。0x20,0x20; 通过改变RS和RW的状
31、态选择不同的读写模式,定义写指令及写数据子函数,以便调用来完成数据在液晶显示器上的显示,其中,通过延时调用来避开向液晶送数据的忙状态。子函数定义如下:void wcom(unsigned char d) /写指令子函数 delay(2); RW=0;/写选通 RS=0;/写指令 P0=d;/将要写的数据送给P1口 E=1;/使能有效 E=0;/关闭使能信号 delay(10); void dat(unsigned char d) /写数据子函数 delay(2); RS=1; /数据操作 RW=0; /写选通 P0=d; /将要写的数据送给P1口 E=1; /使能有效 E=0; /关闭使能信号
32、 delay(10); 清屏以便重新显示: void clearlcd()/清屏 wcom(0x01);/清除显示 对硬件端口及液晶显示器初始化: void init() /初始化子函数 E=0; /关闭使能信号 wcom(0x38); /功能设定 wcom(0x08); /关显示指令 wcom(0x06); /游标右移 wcom(0x0c); /开显示指令 clearlcd();/清屏 定义汉字显示子程序,以便调用向液晶显示器送显示数据: void hanzi (unsigned char w, unsigned char wb1,unsigned char wb2 ) wcom(w);/设
33、置起始地址 dat(wb1);/数据送液晶显示 dat(wb2); While(key) Delay(); /去抖,延时While(key) /计算A的值 K+; A=K;编写主函数以完成最终整个实现程序过程的调度: void main() int i; init(); /调用初始化函数进行初始化操作 while(1) for(i=0;i32;i+) hanzi(addri,mxi0,mxi1 );/调用汉字显示,向液晶送数据显示 4.2实验步骤 完成硬件电路的设计及焊接 完成软件的设计并编写具体程序1、新建工程 在菜单Project-New Project中新建工程my1.uv2;2、选择C
34、PU 根据对话框选择CPU类型(公司、型号等)本次课程设计采用 ATMEL公司的AT89S51,点击确定按钮后出现如下对话框,选择“否”。3、新建文件 点击File-New,新建文件,并保存为lcm.c;4、添加源文件 点击Project-Window中Target1文件夹右边的“”号,显示子文件夹Source Group 1,选中Source Group 1文件夹并点击鼠标“右键”,出现快捷菜单。点击Add Files To Group Source Group 1,在对话框中完成源文件向工程的添加。 添加完成后,在Project Workspace窗口的Source Group 1项前多了
35、“”号,点击“”号即可看到所添加的文件“lcm.c”5、编译 用快捷按钮Build target对工程进行编译,在Output Window中有编译提示信息,可根据该信息对源文件进行修改。6、软件仿真 点击Strat/Stop Debug Session,可对程序进行设置断点、单步、连续等执行操作。7、HEX文件设置 选中Target1文件夹并点击鼠标“右键”,选择快捷菜单中的Option for Target Target 1。在“Output”对话框中选中复选框(Create HEX File),即可使工程在编译时生成紧凑的机器码(my1.hex)。 调试 调试主要分为硬件调试和软件调试:
36、 硬件调试:主要是检测硬件电路是否有短路、断路、虚焊等。在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。当然,在设计的过程中也存在着失误和不足。具体步骤及测试结果如下:1、检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,测试结果所有连接线都已连接好;2、单片机的晶振是否起振,用示波器观察波形,测试结果波形都很好;3、检查各芯片的功能是否正常,检测按键的导通情况,测试结果正常。软件调试:软件部分是先参考书上的例子,然后自己根据硬件电路写程
37、序,由于以前所学是C语言,所以这个系统在编写程序过程中都采用C语言编写。刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。软件调试主要是程序调试,将整个显示程序按照实现功能分为各子模块进行调试。 ISPlay 1.3烧写软件使用 1、ISP JTAG硬件连接 将ISP JTAG分别与并口和目标板连接。2、ISPlay 1.3 JTAG类型设置(BYTEBLASTER II JTAG) (1)、主界面 点击 “ISPlay 1.3”快捷图标,进入ISPlay 1.3软件界面:(2)、 设置 点击程序界面左下角的“程序设置”按钮,弹出“设置”对话框,点击“”按钮,选择Alter_BYTE
38、BLASTLE类型JTAG配置文件后打开。按“确定”按钮后回到ISPlay1.3主界面,退出ISPlay 1.3程序后重启设置才有效。3、ISPlay 1.3使用 重启ISPlay 1.3后即可对AT89S51/52单片机进行在系统(ISP)编程。(1)、选择芯片(AT89S51/AT89S52),按检测按钮,会提示检测信息。(2)、打开“文件”按钮,载入所需烧写的*.hex文件。 (3)、先“擦除”芯片原数据,后“写”数据,写完后可“读”、“校验”数据。 也可以在“设置”对话框中设定自动执行流程。4.3毕业设计结果经过一个多月的紧张作业,我们不仅将实物电路图焊接完毕,并经仔细检查确定连接无误
39、,而且成功的将程序写入来51单片机,并将其功能实现,(即能显示汉字,并能显示符号,图形,且能实现其的左右移动)。虽然有显示时有闪动,经过我们的再次修正,检查,亦差不多将其解决。总的来说,这次毕业设计是成功的。4.4试验中遇到的问题整个毕业设计中我们遇到如下问题:1、器件方面.在为选课题之前,我们就很期待我们的毕业设计,当选好了这个题目后,我们便着手于课题的准备,从买元件器件,一回、两回、做着做着发现有缺乏东西了,经过几番努力以及在实验室伍老师的帮助下我们的元器件准备完备,我们也得以将实验板子焊接好、外接电路连接好。2、课题资料方面.书本知识是我们的主要来源、翻阅以前的书本、发掘大脑里面那残留的
40、记忆、一点一点的将知识复习、归纳、组合、然后将它们应用到课题中。互联网也是我们资料的来源之一,它资源丰富,却也让我们绞尽脑汁、多方查找,网吧、实验室、寝室、从百度、714e、51C51、hificat到各种论坛、求教电脑另一头的高手、在为毕业设计做准备的同时也收获颇多、在专业知识得到巩固的同时也结识了不少的良师益友。3.设计方面.仔细回忆,翻书查找51单片机的工作原理,上网查找液晶模块的驱动,在实验教绘制原理图,并仿真,期间遇到的最大问题是所学的东西忘记了,一点一点的回忆,一条条的温习,慢慢的我们在左右奔波中选好了元器件,焦头烂额的绘制好了原理图、然后修改、烧入、再修改、再烧入,我们五人一起,
41、共同作业,逐条程序一一解读、逐个错误一一修改、用什么方式、用什么定时器、汉字要往哪个方向移动,经过我们的一一修改,汉字左右移动显示终于实现成功。4.5总结与体会毕业设计已经做好、实验教里有我们太多,既有我们的喜悦的笑脸,也有我们失望的无赖,既有我们的愁眉苦脸,也有我们的喜笑颜开,泪水与汗水交织在一起,并且将持续很长时间。一个多月的设计,使我们小组五人共同努力的结果,也是我们学有所成的一点见证吧。设计心得:1、 购置元件时要慎重选择,充分考虑到其材料、特性、型号、适用范围等方面。不要等实验时出故障后在到处找原因,既浪费时间又耗费精力。而且购买材料之前要做好计划,必要元件多准备几份,避免来回购买带
42、来的不便。2、 实验最关键是要有耐心,有时实验电路和程序并不能一次成功,所以要有良好的心理素质,有克服一切困难的勇气,勇于寻找问题的根源,一次次反复的实验,才能达到目的。这同时也是一个学习与进步的过程,可以帮助我们自主寻找问题的根源,自主学习寻找解决问题的办法,最终实实在在地学到知识,提高本领,掌握技能。3、 要做好一个课程设计,最最关键的还是要自己真正的掌握技术与理论知识,加上熟练的操作技术,和好的合作团队,才能事半功倍。所以我们要积极主动地学习,并请教有关专业人士,以提高自己的能力。做毕业设计设计时我们五个人虽然投入很多时间和精力,但在动手操作的过程中我们提高了很多方面的能力,像动手操作、
43、程序改错、故障查找等,几乎将我们大学三年的所学全部像过筛子一样的过了一遍。及复习了以前的知识又在设计的同时开拓的自己的视野,真可谓一举多得。希望我们在以后的工作中能继续保持这种紧张的氛围,为自己的以后过得精彩而打算。管理方面的心得体会:1、 俗话说三个臭皮匠抵得上一个诸葛亮。我们这个小团队中的每一个人都能将整个团队的事当作自己的事来做,积极的出谋划策,你一个计,我一个策,汇合在一起,我们的设计就成功了一半。2、 实验的过程中,任何一个人都不可能单独的顺利且高效地完成任务,团队成员中的合理分工,可以充分发挥每个人的能力,也能大大提高整个团队的工作效率。如硬件、软件和论文等工作要根据个人擅长的情况进行分工,同时一个团队最好能同时工作,或者经常交流,做好不同部分之间的衔接工作,才能使整个实验设计工作顺利完成。3、 一个团队的合作精神会创造很大的力量,因为我们快毕业了,在以后的路上肯定是在一个团队里面生存,这也为我们即将走出去做一个铺垫吧。相信我们在这个五人小团队里所解决的问题,我们在社会上碰到了也一样的能从容的解决。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。通过毕业设计,我又一次领