基于52单片机控制LCD汉字滚动显示

基于52单片机控制LCD汉字滚动显示
基于52单片机控制LCD汉字滚动显示

基于52单片机控制LCD汉字滚动显示.doc

基于单片机汉字化LCD滚动显示的设计

毕业论文

系部:

学生姓名:

专业班级:

学号:

指导教师:

2012年 10 月 05 日

声明

本人所呈交的基于单片机汉字化LCD滚动显示的设计是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。

作者签名:

日期:2012年10月05日

基于单片机汉字化LCD滚动显示的设计

摘要

电子技术的日新月异,使我们的生活更加方便、快捷。任何一个领域,技术总是在不停地向前发展。而随着技术的发展,新的产品应用也会跟着出现,然后成熟和普及。正如在显示器领域,由球面CRT到纯平CRT,由纯平CRT到如今主流的LCD液晶显示,而LCD汉字滚动显示更是应用广泛。本文设计了一种以AT89C51单片机为核心的低成本、高精度、微型化LCD汉字滚动显示系统,并使用一些常用芯片如:AMPIRE128×64、SMG12864A 等。系统由单片机、外围电路、单片机最小系统以及显示电路构成。本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。

本文论述了由单片机控制的LCD汉字滚动显示系统的基本原理,并阐述了运用Proteus软件实现系统的设计与仿真以及该系统所应用的领域。

关键词:单片机,LCD,Proteus.

ABSTRACT

Rapid development of electronic technology, make our life more convenient and quick. Any field, technology is constantly forward development. But with the development of technology, new product application will also follow appear, then the mature and popularity. As in the display field, by spherical CRT to flat-screen by flat-screen CRT CRT to now mainstream LCD display, and LCD characters displayed is wide application. This paper introduces a design of AT89C51 with low cost, high precision, miniaturization LCD display system, and Chinese scroll use some common chips such as: AMPIRE128 x 64, SMG12864A etc. System consists of SCM, peripheral circuit, single chip minimize system and display circuit constitutes. This system is easy to install detection, software function perfect, reliable operation, high accuracy advantages.

Keywords: Single-chip microcomputer, LCD, Proteus

目录

一、引言 (5)

(一)课题研究背景 (5)

(二)课题设计过程及工艺要求 (5)

1、基本功能 (5)

2、主要技术参数 (5)

3、设计的重点与难 (6)

二、系统设计框图 (6)

三、硬件电路设计 (6)

(一)AT89C52单片机概述 (6)

1.主要特性 (7)

2.引脚功能说明 (7)

3.AT89C52单片机的内部结构 (8)

4.AT89C52单片机的最小系统 (10)

(二)LCD显示屏介绍 (11)

1、LCD的定义及作用 (11)

2、LCD显示器的工作原理 (11)

3、LCD的分类 (12)

4、LCD的特点 (13)

(三)系统硬件设计电路组成 (13)

1、时钟电路的设计 (13)

2、复位电路的设计 (14)

四、软件程序实现 (14)

五、源程序 (15)

(一)、子函数的调用: (15)

(二)、主函数: (15)

(三)、LCD初始化程序: (16)

(四)、LCD写命令程序: (17)

(五)、写汉字程序: (18)

总结 (19)

参考文献 (20)

致谢 (21)

附录 (22)

一、引言

(一)课题研究背景

在现实社会中亮丽实用的广告牌可以给我们的生活添加光彩、可以给店铺招揽生意。传统的广告牌都是固定的汉字,并且时间长了会掉色,使汉字模糊难认,这给我们的生活带来很多的不便。尤其是到了晚上传统的广告牌就失去了作用。因此我们需要一种造价低廉、使用方便、可以发光、可以方便改变汉字且比较耐用的电子显示广告牌。。亮丽实用的广告牌可以给我们的生活添加光彩、可以给店铺招揽生意。传统的广告牌都是固定的汉字,并且时间长了会掉色,使汉字模糊难认,这给我们的生活带来很多的不便。尤其是到了晚上传统的广告牌就失去了作用。因此我们需要一种造价低廉、使用方便、可以发光、可以方便改变汉字且比较耐用的电子显示广告牌。本文主要介绍LCD汉字化滚动显示的基本原理及制作流程来解决以往的传统的广告牌并且做到节约资源来达到比以往更好的效果。本课题设计了一种以AT89C51单片机为核心的低成本、高精度、微型化LCD汉字滚动显示系统且具有易安装检测、软件功能完善,工作可靠、准确度高等优点来实现以往广告牌所达不到的效果。

(二)课题设计过程及工艺要求

1、基本功能

①可以发光

②可以滚动

③可以用电脑改变汉字

2、主要技术参数

①单片机选择AT89C52

② LCD显示器选择SMG12864A或AMPIRE128×64

③晶振选择12MHz

④两个输出电容选择30pF

⑤两个外围电阻选用10K和100Ω

3、设计的重点与难

本设计的主要任务是显示标语,因此在硬件安装方面需要有适当的面积来安装电子显示屏,并且还要通过数据线把电子显示屏和电脑连起来。

软件设计的难点是:

①所需汉字程序的编译

②整体电路的设计与调试

③ Proteus与Keil uVision两种软件的运用

二、系统设计框图

系统框图如图1所示。本篇论文以单片机AT89C52单片机为核心加各种接口电路组成,共有六个主要组成部分:AT89C52芯片、复位电路、外围电路、电源电路、编译程序模块以及LCD液晶显示器模块。

图1 系统框图

三、硬件电路设计

(一)AT89C52单片机概述

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写

的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用

1.主要特性

?兼容MCS51指令系统

?8k可反复擦写(大于1000次)Flash ROM;

?32个双向I/O口;

?256x8bit内部RAM;

?3个16位可编程定时/计数器中断;

?时钟频率0-24MHz;

?2个串行中断,可编程UART串行通道;

?2个外部中断源,共8个中断源;

?2个读写中断口线,3级加密位;

?低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

?有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求

2.引脚功能说明

引脚图如图2所示:

图2 AT89C52引脚图

AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,

红外遥控信号IR的接收解码及与主板CPU通信等。

?电源引脚:

VCC(40):+5V电源

GND(20):接地。

?时钟引脚:

XTAL1(19):反向振荡放大器的输入,

XTAL2(18):来自反向振荡器的输出。

?控制引脚:

RST(9):复位输入。当振荡器复位时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG(30):地址锁存有效信号输出端。

/PSEN(29):外部程序存储器的选通信号。

/EA/VPP(31):当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

? I/O引脚:

P0口:无片外存储器时,可作通用I/O口使用,访问外存储器时,用作地址总线的低8位和数据总线。

P1口:仅用作I/O口。

P2口:无片外存储器时,作通用I/O口使用,访问外存储器时,用作地址总线的低8位。

P3口:用作I/O口,用于串行口、中断源输入、计数器、片外RAM选通。

3.AT89C52单片机的内部结构

AT89C52的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C52各部分的组成及功能如图3所示:

图3MCS-52系列单片机的内部结构

(1)、特殊功能寄存器

在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFR),SFR 的地址空间映象。

并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。

不应将数据写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。

AT89C52除了有AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON、T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。

(2)、数据存储器

AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。

当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也

即寻址方式决定是访问高128 字节

RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。

例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。

MOV 0A0H,#data

间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。

MOV @R0,#data

堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。

·定时器0和定时器1:

AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。

(3)、时钟振荡器

AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。

4.AT89C52单片机的最小系统

从本质上讲,单片机本身就是一个最小应用系统。AT89C52虽然有内部振荡电路,但要形成时钟,必须外部附加电路。由于晶振、开关等器件无法集成到芯片内部,这些器件又是单片机工作所必需的器件,因此,由单片机与晶振电路及由开关、电阻、电容等构成的复位电路就是单片机的最小应用系统。AT89C52单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。

本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值。所以本设计中,振荡晶体选择12MHZ,电容选择30pF。如图4所示,AT89C52片内有Flash程序存储器,由它构成的最小应用系统简单可靠。

图4 AT89C52单片机最小应用系统

(二)LCD显示屏介绍

1、LCD的定义及作用

① LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其稍贵。

② LCD主要应用于电脑的显示屏,随着电子技术的发展越来越多的手写手机也大量使用LCD做显示屏,还有一些广告牌、标语栏等也都用LCD来显示。

2、LCD显示器的工作原理

从液晶显示器的结构来看,无论是笔记本电脑还是桌面系统,采用的LCD显示屏都是由不同部分组成的分层结构。LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材

料的5μm均匀间隔隔开。因为液晶材料本身并不发光,所以在显示屏两边都设有作为光

源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源。

背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。在液晶材料周边是控制电路部分和驱动电路部分。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。

液晶显示技术也存在弱点和技术瓶颈,与CRT显示器相比亮度、画面均匀度、可视角度和反应时间上都存在明显的差距。其中反应时间和可视角度均取决于液晶面板的质量,画面均匀度和辅助光学模块有很大关系。

对于液晶显示器来说,亮度往往和他的背板光源有关。背板光源越亮,整个液晶显示器的亮度也会随之提高。而在早期的液晶显示器中,因为只使用2个冷光源灯管,往往会造成亮度不均匀等现象,同时明亮度也不尽人意。一直到后来使用4个冷光源灯管产品的推出,才有很大的改善。

信号反应时间也就是液晶显示器的液晶单元响应延迟。实际上就是指的液晶单元从一种分子排列状态转变成另外一种分子排列状态所需要的时间,响应时间愈小愈好,它反应了液晶显示器各像素点对输入信号反应的速度,即屏幕由暗转亮或由亮转暗的速度。响应时间越小则使用者在看运动画面时不会出现尾影拖拽的感觉。有些厂商会通过将液晶体内的导电离子浓度降低来实现信号的快速响应,但其色彩饱和度、亮度、对比度就会产生相应的降低,甚至产生偏色的现象。这样信号反应时间上去了,但却牺牲了液晶显示器的显示效果。有些厂商采用的是在显示电路中加入了一片IC图像输出控制芯片,专门对显示信号进行处理的方法来实现的。IC芯片可以根据VGA输出显卡信号频率,调整信号响应时间。由于没有改变液晶体的物理性质,因此对其亮度、对比度、色彩饱和度都没有影响,这也是为什么华硕、三星、LG等技术型厂商的液晶产品画面效果更好的原因,但是这种方法的制造成本也相对较高。

由上便可看出,液晶面板的质量并不能完全代表液晶显示器的品质,没有出色的显示电路配合,再好的面板也不能做出性能优异的液晶显示器。随着LCD产品产量的增加、成本的下降,液晶显示器会大量普及。

3、LCD的分类

液晶显示器按照控制方式不同可分为被动矩阵式LCD及主动矩阵式LCD两种。

段码式显示和点阵式显示。段码是最早最普通的显示方式,比如计算器,电子表这

些。自从有了MP3,就开发了点阵式,如MP3,手机屏,数码相框这些高档消费品。

被动矩阵式LCD在亮度及可视角方面受到较大的限制,反应速度也较慢。由于画面质量方面的问题,使得这种显示设备不利于发展为桌面型显示器,但由于成本低廉的因素,市场上仍有部分的显示器采用被动矩阵式LCD。被动矩阵式LCD又可分为TN-LCD(Twisted Nematic-LCD,扭曲向列LCD)、LCD (Super TN-LCD,超扭曲向列LCD)和DSTN-LCD(Double layer STN-LCD,双层超扭曲向列LCD)。

目前应用比较广泛的主动矩阵式LCD,也称TF-LCD (Thin Film Transistor-LCD,薄膜晶体管LCD)。液晶显示器是在画面中的每个像素内建晶体管,可使亮度更明亮、色彩更丰富及更宽广的可视面积。与CRT显示器相比,LCD显示器的平面显示技术体现为较少的零件、占据较少的桌面及耗电量较小,但CRT技术较为稳定成熟。

4、LCD的特点

低压微功耗、平板型结构、被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳)、显示信息量大(因为像素可以做得很小)、易于彩色化(在色谱上可以非常准确的复现)、无电磁辐射(对人体安全,利于信息保密)、长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。

(三)系统硬件设计电路组成

1、时钟电路的设计

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。

因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us[5]。如图2所示为时钟电路。

图2 时钟电路图

2、复位电路的设计

复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后, 在RESET端持续给出2个机器周期的高电平时就可以完成复位操作[6]。例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us[7]。本设计采用的是外部手动按键复位电路。如图3示为复位电路。

图3 复位电路图

四、软件程序实现

主程序工作流程图:如图3:

五、源程序

(一)、子函数的调用:

void lcd_cmd_wr(uchar cmdcode,uchar f); /调用写命令函数/

void lcd_data_wr(uchar ldata,uchar f); /调用写数据函数/

void chech_busy(uchar f); /调用读忙函数/

void lcd_hz_wr(uchar posx,uchar posy,uchar *hz); /调用写汉字函数/

void lcd_str_wr(uchar row,uchar col,uchar n,uchar *str);/调用写结构/ void lcd_rol(); /调用滚屏程序/

void lcd_init(); /调用初始化/

void delay(uint n); /延调用时/

LCD12864的汉字显示是利用不同的子函数共同构成的,子函数调用是其一个特点。(二)、主函数:

void main() /主函数/

{

while(1)

{

lcd_init();

lcd_str_wr(0,0,8,hz0); /汉字0的结构/

delay(100); /延时100/

lcd_str_wr(1,0,8,hz1); /汉字1的结构/

delay(100); /延时100/

lcd_str_wr(2,0,8,hz2); /汉字2的结构/

delay(100); /延时100/

lcd_str_wr(3,0,8,hz3); /汉字3的结构/

delay(100); /延时100/

lcd_rol(); /滚屏程序/

delay(1000); /延时1000/

lcd_rol(); /滚屏程序/

delay(1000); /延时1000/

}

}

主函数是程序的开始部分。主函数意味着建立一个独立进程,且该进程成为了程序的入口,对其它各函数进行调用,当然其它被调用函数也可以再去调用更多函数。主函数既是程序的入口,又是程序的出口。

(三)、LCD初始化程序:

void lcd_init() /LCD初始化程序/

{

uint i;

lcd_cmd_wr(0x3f,0);

lcd_cmd_wr(0xc0,0);

lcd_cmd_wr(0xb8,0);

lcd_cmd_wr(0x40,0);

lcd_cmd_wr(0x3f,1);

lcd_cmd_wr(0xc0,1);

lcd_cmd_wr(0xb8,1);

lcd_cmd_wr(0x40,1);

for(i=0;i<256;i++) /循环256/

{

lcd_data_wr(0x00,0);

lcd_data_wr(0x00,1);

}

lcd_cmd_wr(0xb8+4,0);

lcd_cmd_wr(0xb8+4,1);

for(i=0;i<256;i++) /循环256/

{

lcd_data_wr(0x00,0);

lcd_data_wr(0x00,1);

}

}

LCD初始化程序是为第一次显示做准备,初始化要做的有:显示模式设置,显示开、关和光标设置,清屏,显示光标移动设置,显示开及光标设置……

(四)、LCD写命令程序:

void lcd_cmd_wr(uchar cmdcode,uchar f) /LCD写命令程序/

{

chech_busy(f); /读忙/

if(f==0) LLCD_CMD_WR=cmdcode;

else RLCD_CMD_WR=cmdcode;

}

将汉字代码写入程序。

读忙程序:

void chech_busy(uchar f) /读忙程序/

{

if(f==0) LLCD_CMD_RD; /左屏读命令/

else RLCD_CMD_RD; /右屏读命令/

while(busy);

}

这是检测LCD忙否的函数,如果是1说明数据还没传完,此时LCD忙碌,否则 LCD空闲。

void lcd_str_wr(uchar row,uchar col,uchar n,uchar *str) /写结构函数/

{

uchar i;

for(i=0;i

{

lcd_hz_wr(row,col,str+i*32); /写汉字/ delay(50); /延时50/

col++;

}

}

(五)、写汉字程序:

void lcd_hz_wr(uchar posx,uchar posy,uchar *hz) /写汉字程序/ {

uchar i;

if(posy<4)

{

lcd_cmd_wr(0xb8+2*posx,0); /写命令/ lcd_cmd_wr(0x40+16*posy,0); /写命令/

for(i=0;i<16;i++) lcd_data_wr(hz[i],0); /循环16写数据/ lcd_cmd_wr(0xb8+2*posx+1,0); /写命令/

lcd_cmd_wr(0x40+16*posy,0); /写命令/

for(i=16;i<32;i++) lcd_data_wr(hz[i],0); /循环16写数据/ }

else

{

lcd_cmd_wr(0xb8+2*posx,1); /写命令/ lcd_cmd_wr(0x40+16*(posy-4),1); /写命令/

for(i=0;i<16;i++) lcd_data_wr(hz[i],1); /循环16写数据/ lcd_cmd_wr(0xb8+2*posx+1,1); /写命令/

lcd_cmd_wr(0x40+16*(posy-4),1); /写命令/

for(i=16;i<32;i++) lcd_data_wr(hz[i],1); /循环16写数据/ }

}

实现汉字的写入及汉字滚屏。

void lcd_data_wr(uchar ldata,uchar f) /写数据程序/

{

chech_busy(f); /调用读忙/

if(f==0) LLCD_DATA_WR=ldata; /左屏写数据/

else RLCD_DATA_WR=ldata; /右屏写数据/

}

滚屏程序:

void lcd_rol() /滚屏程序/

{

uchar i;

for(i=0;i<64;i++) /循环/

{

lcd_cmd_wr(0xc0+i,0); /写命令/

lcd_cmd_wr(0xc0+i,1);

delay(10); /延时10/

}

}

作用是使汉字显示后能够以一定的时间间隔滚动。

延时程序:

void delay(uint n) /延时程序/

{

uint i;

for(;n>0;n--)

for(i=1256;i>0;i--);

}

功能是能根据需要进行延时。

总结

本设计系统采用了美国ATMEL公司生产的单片机AT89C51芯片。以及其它常用芯片如:SMG12864A、AMPIRE128×64等来设计LCD汉字滚动显示电路,实现了汉字的滚动和显示。本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。

这次毕业设计给我的感受很深刻,使我第一次系统全面的回顾了大学三年所有的课程:模拟电路、数字电路、编程、电子EDA等等。从中我还体会到了所学理论知识的重要性:知识掌握得越多,设计得就更全面、更顺利、更好。再有学会了怎样查阅资料和利用工具书。由于一个人不可能什么都学过,什么都懂,更加不可能一学就通,因此,当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料。在设计过程中,通过大量的查阅资料,认真研究教材,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,按着各部分模块编写程序。毕业设计培养了我严肃认真和实事求是的科学态度和吃苦耐劳的精神以及严谨的作风,提高了自身的交流沟通和团体协作能力。这些对我以后的工作都非常有帮助的。

这次课程设计的时间虽然不算很长,但使我对很多东西有了更深刻的认识。总结如下:

1.单片机基础知识要熟练掌握。

2.查阅资料和阅读相关文献的重要性,充分利用网络这个大的资料库。

3. 勤动手的重要性,自己动手,丰衣足食!在一次次调试代码的过程中,我才明白“代码不是写出来的,是调试出来的”的道理。

4. 对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。

通过本次课程设计,我更深刻的认识到了教学实践在大学课程中的重要性,同时也发觉到了自己在学习方面存在的许多不足之处,在以后的学习中我会努力改进这些不足,不断提高自己的动手实践能力。

参考文献

[1] 李光飞.单片机课程设计实例指导(第2版).北京航空航天出版社,2005

[2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.

[3]陈海宴.51单片机原理及应用[M].北京航空航天大学出版社,2010.

[4]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.

[5]钟富昭等.8051单片机典型模块设计与应用[M].人民邮电出版社,2007.

单片机课程设计---16×16点阵式汉字显示

目录 摘要 (1) Abstract (2) 1设计原理 (3) 1.1 MCS-51单片机的结构及编程方法 (3) 1.2 16*16点阵LED原理 (5) 1.3 3-8译码器原理 (6) 2.设计方案介绍 (7) 2.1 设计总体思路 (7) 2.2 与题目相关的具体设计 (7) 2.3程序设计流程图 (8) 3.源程序,原理图和仿真图 (9) 3.1程序清单(见附录) (9) 3.2电路图 (9) 3.2.1电路原理图 (9) 3.2.2电路图分析 (9) 3.3仿真图 (9) 4性能分析 (10) 5.总结和心得 (11) 6.参考文献 (12) 附录:程序代码 (13)

摘要 LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。 关键词:MCS-51;LED;单片机

Abstract As a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This paper introduces a kind of simple 16x16 LED display screen design process based on MCS-51 single chip minicomputer . The detail hardware scheme, software flow and assemble language programmer design and so on is followed. The display part can be cascaded to meet the need. The practice proves the design is low-cost and effective. Key words: MCS-51;LED;MCU

单片机点阵汉字显示_

目录 摘要 (1) 引言 (1) 1、背景介绍 (1) 1.1LED 及 LED 显示屏 (1) 2 、MCS-51 系列单片机简介 (2) 2.1MCS-51 系列单片机及其特点 (2) 2.2单片机的发展历史简介 (2) 3、功能要求 (3) 4、方案实现 (3) 4.1系统硬件电路的设计 (4) 4.1.1单片机系统及外围电路 (4) 4.1.2列驱动电路 (5) 4.1.3行驱动器 (5) 4.2.系统程序的设计 (6) 4.2.1显示驱动程序 (6) 4.2.2系统主程序 (7) 5、性能分析与仿真调试 (7) 5.1性能分析 (7) 5.2仿真结果 (7) 5.3焊接后实物效果图 (9) 6、总结 (10) 参考文献................................................ 错误!未定义书签。附录A 四个8*8点阵构成的16x16的点阵LED汉字显示屏的硬件原理图.. (10) 附录 B 程序清单.........................................................

14

摘要 本设计是基于MCS-51的16x16点阵LED电子显示屏的设计,16x16的点阵共有256个发光二极管,我们采用动态扫描的显示方法,更节省锁存器也就节省了成本。扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16x16的点阵来说,把所有同1行的发光管的阴极连在一起,把所有同1列的发光管的阳极连在一起(即我们采用共阴极的接法)。采用扫描方式进行显示时,每一行和每一列都有一个行驱动器和列驱动器,各行的同名列和各列的同名行共用一个驱动器。我们采用四个74HC595驱动集成块。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。单片机的P2口低3位与行驱动器相连,高3位于列驱动器相连,P2.5(P2.0) 为串行数据输入口,P2.6(P2.1)为移位时钟脉冲控制口,P2.7(P.2)为输出锁存器控制脉冲口。 我们通过淘宝网和跑电子元件商店购买设计所需元器件,再编写点阵显示程序,利用proteus画出电路原理图并装入程序仿真调试,仿真成功后完成电路焊接并装入程序完成实物设计。整个设计过程让我们学到许多实践知识! 基于 MCS-51 的 16x16 点阵 LED 电子显示屏的设计 引言 LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车 站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。本文设计的是一个室内用16x16的点阵LED图文显示屏,图形 或文字显示有静止、移入移出等显示方式。 1、背景介绍 1.1LED及LED显示屏 LED 就是Light Emitting Diode(发光二极管)的缩写。在某些半导体材料的PN 结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。发光二极管是由p 型和n 型半导体组成的二极管。在LED 的p - n 结附近,n 型材料中多数载流子是电子,p 型材料中多数载流子是空穴。p -n 结上未加电压时构成一定的势垒,当加正向偏压时,在外电场作用下,p 区的空穴和n 区的电子就向对方扩散运动,构成少数载流子的注入,从而在p - n结附近产生导带电子和价带空穴的复合,同时释放出相对应的能量hν(h 为普朗克常数,ν为光子频率)而发光。该能量相当于半导体材料的带隙能量Eg(Ev) ,其与发光波长λ(nm)的关系为λ= 1239. 6PEg。

简单单片机汉字显示..

目录 1.课程设计目的 (1) 2.课程设计题目和要求 (1) 3.设计内容 (1) 3.1设计概述 (1) 3.2单元电路设计 (2) 3.2.1单片机选型 (2) 3.2.2 驱动单元 (5) 3.2.3 显示单元 (8) 4.系统的掉电,复位信号生成电路 (10) 5.电源 (11) 6.软件设计 (13) 7.设计总结 (16) 附录Ⅰ (18) 附录Ⅱ (27) 参考文献 (28)

1.课程设计目的 通过对课题的研究,更加深入,具体的复习所学的有关单片机的知识,从而实现学以致用的根本目标。在设计中,可以全面检查设计者的知识结构以及对知识的掌握情况,从而更好的促进设计者进行二次学习,巩固基础知识。通过设计,学生的动手能力得到提高,对单片机最小系统控制下的LED显示方式有了全面了解。本次设计主要应用的知识有:单片机I/O的应用,8位串行输入并行输出寄存器的应用以及LED汉字显示的扫描方式。 2.课程设计题目和要求 (1)课程设计题目:基于单片机的LED动态显示 (2)要求 ○1用16×16 LED点阵显示,静态显示“同一个世界,同一个梦想”10个字。 ○2硬件设计避免繁琐,达到所需功能即可。 ○3软件设计采用模块化设计。 3.设计内容 3.1设计概述 本系统采用AT89C51单片机作控制器,整个电路主要由单片机控制及驱动显示电路、电源电路等部分组成。通常LED点阵显示应该准备用于存储点阵码的字库存储器,但是为了简化显示屏电路,降低成本,本系统在单片机部分不加字库存储器。而采用软件编程的方式生成字库,并通过扫描驱动的方式将字库中的信息反映到LED阵列的行和列上,从而实现字符的显示。工作前需要用过编程软件将要显示的字符以程序代码的形式生成字库并存入单片机的存储器中,以便系统工作时调用字库,完成显示。工作时,字库中的数据通过AT89 C51的P1.0管脚与P1.4管脚串行输出,数据传输到两组由两个74HC959级联而成的寄存器中。在数据的传输过程中P1.1管脚与P1.5管脚用来以输出脉冲的方式控制两组寄存器中数据的位移,P1.2管脚用来控制寄存器内数据的更新与输出,P1.3管脚用来将寄存器内的数据清零。采用扫描驱动时,两组寄存器内的数据以高低电平的形式同时输出,使得符合导通条件的LED导通发光,不断重复这样的发光过程并利用人眼的视觉惰性达到显示字符的目的(设计框图见图1)。

单片机汉字显示控制

摘要 LED显示器由于其价格低廉、体积小、功耗低、可靠性好得到广泛使用,LED点阵显示电子广告牌随处可见。现在市场上各类基于LED的显示屏较多,但大部分产品为单一模式的LED显示屏,其在显示内容的更换及显示屏的重组等方面都存在不便之处。随着信息化社会的迅速发展,LED显示屏正在向显示内容丰富、信息更改方便等方面发展。本系统基于单片机(AT89C51)控制显示汉字采用16×16 LED点阵。 关键词:LED点阵;汉字;信息;单片机

目录 1 课题描述 (1) 2 设计过程 (2) 2.1硬件电路设计 (2) 2.12硬件电路组成 (2) 2.14汉字显示原理及字库代码获取方法 (3) 2.2 程序设计 (5) 2.21 程序流程图 (5) 2.22程序清单 (6) 3 测试 (9) 4总结 (10) 参考文献 (11)

1 课题描述 目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。 本课题基于单片机(AT89C51)控制汉字显示采用16×16 LED点阵。 开发工具:DICE-51仿真开发系统,Proteus仿真软件。

51单片机汉字显示

基于单片机的液晶汉字显示屏的设计 摘要:本课题为基于51单片机的LCD汉字显示技术。基于在对单片机研究的基础上,本文提出了一种以AT89C51为核心的单片机构成液晶显示器的方法。 该钟的显示电路采用160128点阵的图形点阵的液晶屏。 关键字:单片机,LCD 1引言............................................................................................................................................. - 2 -1.1课题背景 .. (2) 1.28051单片机输入输出口 (2) 1.38051单片机的指令时序 (4) 2单片机的编程软件及仿真软件介绍......................................................................................... - 6 - 2.1.1Proteus的简介........................................................................................................... - 6 - 2.1.2Keil软件及其调试功能简介..................................................................................... - 7 - 2.1.3软件连接使用 ............................................................................................................ - 9 -3控制系统硬件设计....................................................................................................................- 11 -3.1硬件电路图 .. (11) 3.2显示部分 (12) 4软件设计................................................................................................................................... - 12 -4.1程序仿真 (12) 5结论......................................................................................................................................... - 13 -6谢辞......................................................................................................................................... - 14 -7参考文献................................................................................................................................... - 14 -附录:程序 (15)

基于单片机的点阵汉字显示(附C语言程序)资料

湖南科技大学测控技术与仪器专业 单片机课程设计 题目基于单片机的点阵汉字显示设计姓名 学号 指导教师 成绩____________________ 湖南科技大学机电工程学院

二〇一五年十二月制 摘要 LED显示屏在我们的周围随处可见,它的应用已经普及到社会中的方方面面。作为一种新型的显示器件,在许多场合都可以见到它的身影,不仅是它的应用使呈现出来的东西更加美观,更重要的是它的应用方便,成本很低,除了能给人视觉上的冲击外,更能给人一种美的享受。LED显示屏是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等各种信息。本设计是基于STC89C51单片机的16*16点阵式显示屏,该LED显示屏能实现16*16个汉字,简单的显示图像, 然后一直循环着显示下去。该设计包含了硬件、软件、调试等方案,只需简单的级联就能实现显示屏的拓展,但要注意不要超过负载能力。本次设计的作品体积小、功能多、方便实用、花费小,电路具有结构简单、操作方便、精度高、应用广泛的特点。 关键词: LED,STC89C51单片机,显示屏

目录 摘要 (i) 第一章系统功能要求 (1) 1.1系统设计要求 (1) 第二章方案论证 (1) 2.1方案论证 (1) 第三章系统硬件电路设计 (1) 3.1 STC89C51芯片的介绍 (1) 3.1.1 系统单片机选型 (1) 3.1.2 STC89C51引脚功能介绍 (2) 3.1.374LS595的总体特点和工作原理..........................................3.2 LED点阵介绍 (2) 3.2.1LED点阵 (2) 3.3系统各硬件电路介绍 (3) 3.3.1系统电源电路设计介绍 (3) 3.3.2复位电路 (3) 3.3.3晶振电路 (4) 3.4系统的总的原理图 (4) 第四章系统程序设计 (5) 4.1基于PROTEUS的电路仿真 (5)

全中文中语言微电脑单片机编程系统使用教程

中语言微电脑编程系统使用说明 ---中国人自已的微电脑编程语言 - 1 -

最近几年,中国的微电子迅猛发展,微电脑应用已进入千家万户,所有的家电几乎每台都装有微电脑芯片,例如电饭煲,电视机,电风扇等。不只是在民用方面,各个行业的微电脑应用也是是新月异:工业应用,医疗器械,航天应用等等。可以说,现在社会微电脑应用已是无所不在! 然而,中国的微电脑编程语言一直是英文为主的,这给一些英文基础不太好的微电子爱好者设定了一定的障碍。在中国,有数亿万计的微电子爱好者,但从事微电脑编程的人员占不到十分之一,很大一部分就是因为编程语言的缘故。不只是工作方面,这些微电子爱好者有好多想法,如果得以实现,可以发明出很多产品,但是就是因为英文基础不态好的原因造成的微电脑编程不能进行,从而给研发产品造成了一定的困扰,大的方面说,也阻碍了我国的电子信息化的发展。在美国等一些国家,普通人员不要专业知识就可以学编程,因为编程语言是他们的,所以就和写文章一样,很容易的。 为此,我们经过多年努力,终于开发出一套完整的中文微电脑编程系统,取名中语言微电脑编程系统。中语言微电脑编程系统是基于C语言基础上结合中文特点而开发的一套完整的微电脑单片机 - 2 -

中文编程系统,希望能给我国电子信息化发展尽一份微薄之力! 中语言微电脑编程系统有以下特点: 1,全中文语法结构与变量,完全符合中国人的书写与阅读习惯。 2,基于C语言但结合了中国人的语法词汇,无需生记硬背语法,用的时候看一下立即明白意思。 3,无论年龄,无论专业,无论性别,只要是微电子爱好者即可学会。人人可学,人人可用。 4,一天入门,三天上手,简单易学。 5,重简去繁,在C语言上一些复杂的用不上的语法完全去掉,只留下简单实用而且常用的,当 - 3 -

单片机汉字显示系统的设计

万方数据

万方数据

10.21mm,因此,此装置完全可以满足日常测量要求。 6.结束语 本装置不仅实现了日常生活中微小位移的测量显示,还实现了对预置位移的自动控制。它具有制作简单、操作简便、精度高、线形度好、性价比高等优点。但是在更高精度方面还存在一定程度的局限性,特别是在激励电路部分还有待提高。此外,本装置还可以增加语音播报[41,灯光提示等功能,以便更好地实现人机互动。 参考文献: 【1】吴学军.基于LabVIEW的直线住移测量装置的设计【J】.襄樊学院学报,2008,29(I1):39-41. [2】康华光等.电子技术基础模拟部分(第五版)[M】.北京:高等教育出版社,2006:434-450. 【3】李群芳,肖看.单片机原理、接口及应用【M】.北京:清华大学出版社.2007:165一170. 【4】陈培锋.基于PSD的便携式微位移测量系统设计【D】.华中科技大学,2007:5-7. TheDesignofClosed--loopMicro--displacementMeasurementandControlDevice BasedonDifferentialTransformer XuYanhongJiaGuoqiang (ChinaCentralNormalUniversity,Wuhan430079.Hubei) 【Ah岫时】Fortheproblemthattraditionalmicro-displacementmeasurementmethodstepsaleverycomplicated,time—consuming,laboriousandpooraccuracy,thispaperdescribeaclosed-loopmicro—displacementmeasurementandcontroldevicebasedondifferentialtransformer.ThedeviceovercomestheshortcomingsoftraditionalmeasurementmethodsandhasaIotofadvantagessuchassimpletomake,easytooperate,highprecision,welllineardegree,cost-effectiveandSOon.Thetestresultsshowthatthetargetsofday-to—daymeasurementrequirementscanbeachieved. 【盈狮啊幽】displacementmeasurement;excitationSOurce;differentialtransformer;single—chipmicrocomputer (上接第7l页) 图3YMl2864R的读写时序图 参考文献: 【l】苗裕,郑喜风,许开欢等.利用C8051们23单片机对点阵型液晶模块的低温测试【J】.液晶与显示,2006,21:63-66. 【2】艾红,王捷,厉红等基于串行接口的汉字液晶显示模块应用与开发【J].液晶与显示.2006,21(3):254—259 【3】李维提.郭强.液晶显示应用技术【M】.北京:电子工业出版社.2003. 【4】张毅刚。彭喜元,姜守迭,乔立岩.新编MCS一51单片机应用设计【M】.哈尔滨工业大学出版社,2004. 【5】深圳市耀宇科技有限公司.ST7920中文字型点矩阵LCD控制/驱动[EB/OL].http://www.yaoyu-lena.com. [6]6深圳市耀宇科技有限公司.YMl2864K图形点阵液晶显示模块使用手册[Ea/OL].http://www.yaoyu.1cra.tom. TheDesignofSCMChineseCharacterDisplaySystem ZhongChengyaoYahShisheng (HamanNormalUniversity,Haikou571158,Hainaa) 【^h嘲】ThispaperdesignsatypeofLCDChinesecharacterdisplaysystem,withSCMAT89C51asthecore,ST7920asthe controllingchip,andLCDYMl2864asthe displaysection.Subsequently,theextractionprocessofChinesecharacterbitmapfontis analyzedandexperimented.Thesystem,whichhastheChinesecharacterdisplayfunctionbycallingbuilt—infontsandcustomfonts,displaysconvenientlyandefficiently,andhasmuchpracticalsignificance. 【蜀碉啊矗】SCM;LCD;Chinesecharacter ?-——74?-—— 万方数据

51单片机控制LED显示汉字

51单片机控制LED显示汉字 用51单片机控制led显示汉字,电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。如没有排阻,也可用8个普通的4.7k 1/8w电阻。为提供负载能力,接16个2n5551的NPN三极管驱动。 列方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制。同样,驱动部分则是16个2N5401的三极管完成的。 电路的供电为一片LM7805三端稳压器,耗电电流为100ma左右。 采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象,更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来,列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉。

然后找一个电脑硬盘的数据线,截取所需的长度,分别将行,列线引出至电路的相关管脚即可。原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管,实际上发光管为256只,三极管行列方向各16只,一共32只。焊接过程认真仔细一天时间即可完成全部制作。将程序编译后烧写入89c51, 插入40pin Ic座,即可看到屏幕轮流显示:“倚天一出宝刀屠龙”。 当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字。 程序清单: ORG 00H LOOP: MOV A,#0FFH ;开机初始化,清除画面 MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$

单片机液晶汉字显示

89C52单片机液晶汉字显示c语言程序 *液晶屏分为4行*12列汉字,全部使用模拟接口方式。 /* TGLCMLIMIT64A接口程序(模拟方式) ;**********************单片机液晶汉字显示c语言程序***************************************************** ;连线图: ;*LCM---89C52* *LCM---89C52* *LCM-------89C52* *LCM----------89C52* * ;*DB0---P0.0* *DB4---P0.4* *D/I-------P2.6* *CS1----------P2.4* * ;*DB1---P0.1* *DB5---P0.5* *R/W-------P2.7* *CS2----------P2.5* * ;*DB2---P0.2* *DB6---P0.6* *RST--------VCC* *CS3----------P3.2* * ;*DB3---P0.3* *DB7---P0.7* *E---------P2.3* * ;注:89C52的晶振频率为12MHz * ;*****************************单片机液晶汉字显示c语言程序**********************************************/ //画线部分请参照avr的c程序。 /*#pragma src /*生成ASM文件开关,必要时打开*/ #include #include #include #define Uchar unsigned char /***********液晶显示器接口引脚定义***************/ sbit Elcm= P2^3; // sbit CS1LCM= P2^4; // sbit CS2LCM= P2^5; // sbit CS3LCM= P3^2; /*这个连接只是做实验的临时接法。*/ sbit Dilcm= P2^6; // sbit Rwlcm= P2^7; // sfr Datalcm= 0x80; //数据口 unsigned char testi[]={"浸渠叁绳漱塔烃威牺晓玄瑶"}; /***********常用操作命令和参数定义***************/ #define DISPON 0x3f /*显示on */ #define DISPOFF 0x3e /*显示off */ #define DISPFIRST 0xc0 /*显示起始行定义*/ #define SETX 0x40 /*X定位设定指令(页)*/

基于51单片机的汉字式LCD滚动显示

基于51单片机的汉字式LCD滚动显示 系别:电气电子工程系 学生姓名: 专业班级: 学号: 指导教师: 2 年4月25 日 独创性声明

本人声明所呈交的毕业论文是我个人在导师指导下进行的研究工作及取得的成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 论文作者签名: 日期:年月日 毕业论文版权使用授权书 本毕业论文作者完全了解学校有关保留、使用毕业论文的规定,即:学校有权保留并向有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权郑州职业技术学院要以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文。 保密□,在________年解密后适用本授权书. 本论文属于 不保密□。 (请在以上方框内打“√”) 毕业论文作者签名:指导教师签名: 日期:年月日日期:年月日

摘要 电子技术的日新月异,使我们的生活更加方便、快捷。任何一个领域,技术总是在不停地向前发展。而随着技术的发展,新的产品应用也会跟着出现,然后成熟和普及。正如在显示器领域,由球面CRT 到纯平CRT,由纯平CRT到如今主流的LCD液晶显示,而LCD汉字滚动显示更是应用广泛。本文设计了一种以AT89C51单片机为核心的低成本、高精度、微型化LCD汉字滚动显示系统,并使用一些常用芯片如:AMPIRE128×64、SMG12864A等。系统由单片机、外围电路、单片机最小系统以及显示电路构成。本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。 本文设计了一种以AT89C51单片机为核心的低成本、高精度、微型化LCD汉字滚动显示系统,并使用一些常用芯片如:AMPIRE128×64、SMG12864A等。系统由单片机、外围电路、单片机最小系统以及显示电路构成。本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。 本文论述了由单片机控制的LCD汉字滚动显示系统的基本原理,并阐述了运用Proteus软件实现系统的设计与仿真以及该系统所应用的领域。 关键词:单片机AT89C51;LCD汉字滚动显示;Proteu

单片机控制系统中英文对照外文翻译文献

中英文对照外文翻译 (文档含英文原文和中文翻译) 单片机控制系统 广义地说,微型计算机控制系统(单片机控制系统)是用于处理信息的,这种被用于处理的信息可以是电话交谈,也可以是仪器的读数或者是一个企业的帐户,但是各种情况下都涉及到相同的主要操作:信息的处理、信息的存储和信息的传递。在常规的电子设计中,这些操作都是以功能平台方式组合起来的,例如计数器,无论是电子计数器还是机械计数器,都要存储当前的数值,并且按要求将该数值增加1。一个系统例如采用计数器的电子钟之类的任一系统要使其存储和处理能力遍布整个系统,因为每个计数器都能存储和处理一些数字。 现如今,以微处理器为基础的系统从常规的处理方法中分离了出来,它将信息的处理,信息的存储和信息的传输三个功能分离形成不同的系统单元。这种主要将系统分成三个主要单元的分离方法是冯-诺依曼在20世纪40年代所设想出来的,并且是针对微计算机的设想。从此以后基本上所有制成的计算机都是用这种结构设计的,尽管他们包含着宽广的物理形式与物理结构,但从根本上来说他们均是具有相同基本设

计的计算机。 在以微处理器为基础的系统中,处理是由以微处理器为基础的系统自身完成的。存储是利用存储器电路,而从系统中输入和输出的信息传输则是利用特定的输入/输出(I/O)电路。要在一个以微处理器为基础的时钟中找出执行具有计数功能的一个特殊的硬件组成部分是不可能的,因为时间存储在存储器中,而在固定的时间间隔下由微处理器控制增值。但是,规定系统运转过程的软件却规定了包含实现计数器计数功能的单元部分。由于系统几乎完全由软件所定义,所以对微处理器结构和其辅助电路这种看起来非常抽象的处理方法使其在应用时非常灵活。这种设计过程主要是软件工程,而且在生产软件时,就会遇到产生于常规工程中相似的构造和维护问题。 图1.1 微型计算机的三个组成部分 图1.1显示出了微型计算机中这三个单元在一个微处理器控制系统中是如何按照机器中的信息通信方式而联接起来的。该系统由微处理器控制,微处理器能够对其自身的存储器和输入/输出单元的信息传输进行管理。外部的连接部分与工程系统中的其余部分(即非计算机部分)有关。 尽管图中显示的只有一个存储单元,但是在实际中却有RAM和ROM两种不同的存储器被使用。在每一种情况下,由于概念上的计算机存储器更像一个公文柜,上述的“存储器”一词是非常不恰当的;信息被存放在一系列已数字标记过的的“箱子”中,而且可以按照问题由“箱子”的序列号进行相关信息的参考定位。 微计算机控制系统经常使用RAM(随机存取存储器),在RAM中,数据可以被写入,并且在需要的时候,可以被再次读出。这种数据能以任意一种所希望的次序从存储器中读出,而不必按照写入时的相同次序读出,所以有“随机”存取存储器。另一类型ROM(只读存储器)是用来保持信息的,它们是不受微处理器影响的固定的信息标本;这些信息在电源切断后不会丢失,并通常用来保存规定微处理器化系统运转过程的程序。ROM可像RAM一样被读取,但与RAM不一样的是不能用来存储可变的信息。有些ROM在制造时将其数据标本放入,而另外的则可通过特殊的设备由用户编程,所以称为可编程ROM。被广泛使用的可编程ROM可利用特殊紫外线灯察除,并被成为E

基于单片机的LED汉字显示屏软件设计及制作

目录 1 引言 (1) 1.1 单片机简介 (1) 1.2 单片机发展史 (2) 1.3 单片机的发展趋势 (3) 1.4 单片机的应用 (5) 1.5 关于本设计 (6) 1.6 小结 (6) 2 硬件电路设计 (7) 2.1硬件电路设计 (7) 2.2 各硬件的原理介绍 (8) 2.3小结 (13) 3 汉字的点阵显示原理及字库代码获取方法 (14) 3.1汉字的点阵显示原理 (14) 3.2字库代码的获取方法 (15) 3.3小结 (15) 4程序设计与调试 (16) 4.1程序流程图 (16) 4.2程序设计 (17) 4.3程序调试 (20) 4.4小结 (23) 5 结束语 (24) 参考文献 (25) 致谢 (26)

1 引言 单片机,又称微控制器( MicroController Unit, MCU),自20世纪70年代问世以来,已经对人类社会的各个方面产生了巨大的影响。单片机技术开发和应用水平已经成为一个国家工业化发展水平的重要标志。近年来,由于单片机在国防、工业、医疗、交通、通信、机器人等高精尖技术领域的广泛应用,促进了单片机技术的迅猛发展。为了适应广泛要求,各种新型的速度快、体积小、功能全、功耗低的单片机不断涌现出来。比较有代表性的主要有Intel公司的MCS-51系列以及其他公司的基于51内核的兼容机、PIC公司的PIC系列单片机、Atmel 公司的AVR系列单片机以及32位ARM单片机等等。[1] 1.1单片机简介 我国开始使用单片机是在1982 年,短短五年时间里发展极为迅速。1986 年在上海召开了全国首届单片机开发与应用交流会,有的地区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。截止今日,单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜索,将会看到上万个介绍单片机的网站,这还不包括国外的。与它相应的专业杂志现在也有很多,比如由单片机界的权威何立民主编的《单片机与嵌入式系统应用》杂志现以风靡电子界,在2003年7月,https://www.360docs.net/doc/101576141.html,(91 猎头网)在上海、广州、北京等大城市所做的一次专业人才需求报告中,单片机人才的需求量位居第一。 一块小小的片子,为何有这样的魔力?我们首先从它的构成说起:单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中随处可见的商店、电信、邮政大厅、营业部、车站、机场、港口、体育场馆等发布信息用的广告牌和广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,

51单片机12864显示汉字画图画点常用例程

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 ////////////////////////////////画点例程////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////以下是主文件main.c 的内容 #include #include"lcd12864.h" //--声明全局函数--// void Delay10ms(unsigned int c); //延时10ms /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main() { while(1) { LCD12864_ClearScreen(); LCD12864_DrowPoint(127,63); while(1); } } /****************************************************************************** * * 函数名: Delay10ms * 函数功能: 延时函数,延时10ms * 输入: 无 * 输出: 无 ******************************************************************************* / void Delay10ms(unsigned int c) //误差0us

在单片机系统中建立GBK汉字库

在单片机系统中建立GBK汉字库 一北京军事医学科学院实验仪器厂王晓宁 使用过液晶的电子工程师普遍达成这样一个共识:当设计有大量汉字的显示系统时,愿意选取自带汉字库的液晶模块(LCM),如果必须要自行设计汉字库,总是比较头疼。其实自制硬件汉字库也不是很困难,只是对存储单元有一定的要求。常见的带字库液晶模块,所带字库一般都是一二级字库,如果需要显示罕见字(即扩展字库独有的汉字),目前市面上还没有相应的液晶产品。本文介绍了一套单片机显示系统,可以解决上述种种问题,而且硬件结构明晰,软件设计精简合理。 1GBK汉字内码扩展规范 正常使用的汉字有15000个左右,其中高频字、常用字、次常用字约7ooO个,罕见字约8ooo个。根据GB2312—80国家标准,把高频字、常用字、次常用字集合成汉字基本字符集,在该字符集中按照汉字使用的频度,又将其分为一级汉字3755个,二级汉字3008个,再加上西文字母、数字、图形符号等700个。罕见字并不在此国标中。 GBK全名为汉字内码扩展规范,英文名ChineseIn—ternalCodeSpecification。K即“扩展”所对应的汉语拼音(KuoZhan)中“扩”字的声母。GBK采用双字节表示,总体编码范围为8140~FEFE,首字节在81~FE,尾字节在40~FE,剔除xx7F。总计23940个码位,共收入21886个汉字和图形符号,其中汉字(包括部首和构件)21003个,图形符号883个。GBK汉字库通常被称为“扩展字库”,该标准基本上已经将所有汉字都包括在内了。 在互联网上可以找到一个名字为GBKl6的文件,这就是16×16点阵的GBK国家标准扩展汉字库,大小为770112字节。 2设计思路 本设计充分考虑了系统的可扩展性,所以选取器件时,在容量和性能上留出了足够的空间。单片机选取AT89C51RD2,有64KB的程序空间。片外存储器选用Samsung公司的NANDFlashK9F5608,有32MB存储空间,扩展字库占用不到1MB空间,其余空间可作它用。液晶使用带中文字库图形点阵液晶显示模块TNS—G320240FTDEW一1W,可显示320×240个点阵,内建512KBROM,提供一、二级筒繁体中文字库。 一个16×16点阵的汉字(如喁,发音为wdi),使用存储单元存储该汉字信息时,需要占用32个字节: OOOO01F8790849E8492849284BFC4A04 4AF47A944A9402F40294020402140208 当需要在液晶上显示这个汉字时,先要根据相对应的双字节GBK国标码(q—oX86,w—oxB7),然后根据汉字内码的调用公式: 字库中的位置一HANZIKU—ADDRESS+(q—ox81)×(16×12—1)+(w/Oxlq一4)×16+w%0x10 式中:q为内码低8位,w为内码高8位。得出“HANz—IKU-ADDRESs+OX8640”,在Flash中找到数据地址后连续读取32个字节,然后发送到液晶指定位置显示。 再来介绍一下如何将GBK汉字库文件GBKl6装载到NANDF1ash中。这里介绍两种方法,都比较简单易行。第一种是使用专用编程器直接对Flash进行数据写入,需要指定汉字库的起始地址HANZIKU—ADDRESS,笔者使用的是WellonVP一48B通用编程器。第二种是在硬件系统中加入串口,通过Pc机上的第三方串口调试工具“串口调试助手SComAssistantV2。1”向单片机系统发送汉字库文件GBKl6,单片机将收到的数据按照F1ash的存储规则,存入存储器的指定起始空间内,起始地址HANzIKU—ADDRESS。该方法对硬件要求低,使用简便,能够按照实际需要在系统中随意调整字库的位置。 3系统硬件电路 单片机选取AT89C51RD2,片外存储器选用Samsung公司的NANDFlashK9F5608,液晶使用带有中英文文字与绘图模式点矩阵液晶显示控制器RA8802的液晶显示模块TNS—G320240眦W一1W。具体电路如图1所示。 4系统软件部分 由于篇幅有限,这里只给出主程序部分,在KEILCuvision3下编译成功。如果对具体功能子程序或全部程序感兴趣,可以与笔者联系。 paper@mesnet.com.cn(投稿专用)Micr。c。ntr。llers&Embeddedsystems63  万方数据

相关文档
最新文档