51单片机汉字显示
- 格式:doc
- 大小:265.50 KB
- 文档页数:27
单片机课程设计报告—8×8 LED点阵屏显示“大”字第一章设计内容及要求 (3)第二章总体设计 (3)2.1 系统框图.........................................................3、4 2.2 设计步骤 (4)第三章各部分电路设计 (4)3. 1 复位电路………………………………………………4 、5 3.2时钟电路……………………………………………5、 63.3显示电路.........................................................6、7 3. 4大字取模 (7)3.5 LED 引脚连接方式..........................................8、9 3.6总体电路 (9)第四章程序设计 (9)4.1软件流图......................................................9、10 4.2大字的模 (10)4.2主程序......................................................10、11 4.3 C51单片机开发工具:keil 4 Proteus使用方法...11、16 第五章仿真结果 (16)第六章总结与体会................................................17、18 第七章参考文献 (18)附录程序清单……………………………………………19、20基于C51单片机的8×8 LED点阵屏汉字显示一设计要求1、设计一个8*8点阵LED电子显示屏2、要求在目测条件下LED显示屏各点亮度均匀、充足,可静态显示一个大字。
二总体方案设计2.1系统框图根据设计要求与设计方案,硬件电路的设计框图如图1所示。
硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。
引言单片微型计算机(Single-Chip Microcomputer)简称单片机。
它是在一块芯片上集成了中央处理器、随机存储器、只读存储器、定时/计时器及I/O接口电路等部件,构成一个完整的微型计算机。
8051是MCS-51系列单片机的典型产品,包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
本文是利用MCS-51系列单片机及LED电子显示管组成的16*16汉字显示硬件电路及软件程序来显示所想要显示的汉字第一章概述1.1 MCS-51系列单片机简介1.1.1MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,其内部结构图如图1-1所示。
图1-1 8051内部结构图现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。
51单片机YM12864汉字图形点阵液晶显示模块­本文以AT89C51单片机控制使用比较普遍的YM12864液晶显示器为基础,介绍了一种采用分页原理实现多级中文菜单操作的方法。
给出了YM12864主要技术参数、显示特性和核心的程序。
设计的中文菜单具有一定的通用性,只需更改其中的菜单项即可将此设计应用到家电、仪器仪表等设备上,为操作者提供友好方便的中文操作界面。
51单片机YM12864汉字图形点阵液晶显示模块-_典型应用电路图。
目前小型的显示器主要有LCD和LED,LED显示器只能显示数字和有限个英文字符,不能显示汉字,显示内容不直观,操作人员只能根据约定格式了解显示内容。
而LCD则可显示各种汉字和图形,尤其能实现中文菜单显示,为操作者提供方便友好的操作界面,并且功耗低,因此LCD得到广泛应用。
而现在市面上带中文字库的LCD比比皆是,价格适中,且大部分具有与MUC统一的标准接口,为使用LCD实现中文菜单操作提供了很大的方便。
相信更多的电子产品在提升性能的同时,设计更加人性化的中文菜单交互界面,将会使产品具有更广阔的前景。
二、YM12864液晶显示模块简介YM12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:电源:VDD 3.3V~+5V(内置升压电路,无需负压)显示内容:128列×64行与MCU接口:8位或4位并行/3位串行多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。
其引脚功能为通用20脚LCD接口,用户指令集也为通用128*64LCD用户指令集,相关资料很容易获取。
因其内置中文字库,省去了自己造字库的工作量,而只需写入相应的汉字和字符内码即可显示所需要的汉字和字符,这在许多程序开发软件中很容易实现,如:WAVE、KEIL等。
51单片机实现多级液晶显示中文菜单一、引言目前小型的显示器主要有LCD和LED,LED显示器只能显示数字和有限个英文字符,不能显示汉字,显示内容不直观,操作人员只能根据约定格式了解显示内容。
而LCD则可显示各种汉字和图形,尤其能实现中文菜单显示,为操作者提供方便友好的操作界面,并且功耗低,因此LCD得到广泛应用。
而现在市面上带中文字库的LCD比比皆是,价格适中,且大部分具有与MCU统一的标准接口,为使用LCD实现中文菜单操作提供了很大的方便。
相信更多的电子产品在提升性能的同时,设计更加人性化的中文菜单交互界面,将会使产品具有更广阔的前景。
二、YM12864液晶显示模块简介YM12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:电源:VDD 3.3V~+5V(内置升压电路,无需负压)显示内容:128列×64行与MCU接口:8位或4位并行/3位串行多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。
其引脚功能为通用20脚LCD接口,用户指令集也为通用128*64LCD 用户指令集,相关资料很容易获取。
因其内置中文字库,省去了自己造字库的工作量,而只需写入相应的汉字和字符内码即可显示所需要的汉字和字符,这在许多程序开发软件中很容易实现,如:WAVE、KEIL等。
所以使用带中文字库的LCD来实现中文菜单操会更加简便。
三、原理分析通常的人机交互界面有两种方式,选择菜单和输入参数,为了便于分析,本文使用三级树状菜单结构,如图1所示,来阐述中文菜单的显示原理。
因YM12864满屏能显示四行、每行八个汉字,故将四个选择或参数输入菜单项编为一页,不足一页的补空格。
补空格的目的是为了归一化操作,可大大简化程序。
每一个菜单、参数输入、空格都为固定的八个汉字空间。
图1中顶级菜单1、顶级菜单2、顶级参数输入3、顶级4构成一级菜单,四个菜单项为一页同时显示在液晶屏幕上;一级菜单1-1、一级菜单1-2、一级参数输入1-3、一级空格1-4构成了顶级菜单1下的二级菜单,也组成一页同时显示在液晶屏幕上,三级菜单也是如此。
课题LED 16*16点阵的汉字显示专业:班级:姓名:学号:一、设计任务显示静止的汉字或者是滚动显示的汉字。
二、设计原理原理:点阵内部结构及外形如下,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;所用到的单片机为8255和273,对单片机的简单介绍:8255单片机有A,B,C三个端口,都是8位的输入/输出锁存器,默认状态下为输出状态,还有控制口其地址为8003H。
8255有读写使能端口WR 和RD接受由CPU发来的控制信号,来判断是读还是写。
还有复位信号RESET。
本次实验基本上用到这些引脚。
对于273单片机主要用到它的端口地址0A000H。
连线方式为:●8255CS 接Y0,273CS 接Y2,●WR 接XWR,RD 接XRD,●A0 接XA0,A1接XA1,●RESET接RST, D0...D7接XD0...XD7三、设计所用软件与硬件16*16点阵的设计用到的硬件是电脑一台,8255单片机一个,273单片机一个。
所用到的软件是字模提取软件和单片机。
字模提取软件主要的功能就是将所要显示的汉字代码提取出来。
四、设计程序和代码程序为:#include<reg51.h>#include<absacc.h>#define PA XBYTE[0X8000H]#define PB XBYTE[0X8001H]#define PC XBYTE[0X8002H] //对单片机8255和273的#define PD XBYTE[0X8003H] //定义#define PE XBYTE[0XA000H] unsigned char code taa[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0 xff,0xff,0xff};unsigned char code tab[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0x fb,0xfd,0xfe}; //定义0的时候亮1的时候灭tbb[]={0xF0,0x00,0x1F,0x10,0x88,0x30,0x92,0x09,0x54,0x04,0x24,0x2 2,0x10,0x60,0xFF,0x11,0x10,0x28,0x38,0x64,0x58,0x20,0x94,0x11,0x92,0x08,0x11,0x06,0x90, 0x01,0x10,0x00} //’好’字的代码int x,i,j,k;void delayms(x){for(i=x;i>0;i--)for(j=10;j>0;j--);// 表示延时系统}void main(){PD=0x80; //对端口的初始化while(1){for(k=0;k<16;k++){PA=tbb[2*k];PB=tab[k];PC=tbb[2*k+1];PE=taa[k];delayms(3); //主程序}}}五、设计的优缺点设计的优点:本次设计是制作的静态的汉字,所编写的程序与代码简单易懂,适合于初级学员的理解与学习,在提取汉字的代码时直接用到的字模提取软件,很方便的就能获得其代码。
基于51单片机的汉字式LCD滚动显示作者:胡立波来源:《消费电子》2012年第12期摘要:本文设计了一种以AT89C51单片机为核心的低成本、高精度、微型化LCD汉字滚动显示系统,并使用一些常用芯片如:AMPIRE128×64、SMG12864A等。
系统由单片机、外围电路、单片机最小系统以及显示电路构成。
本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。
本文论述了由单片机控制的LCD汉字滚动显示系统的基本原理,并阐述了运用Proteus软件实现系统的设计与仿真以及该系统所应用的领域。
关键词:AT89C51单片机;LCD;Proteus中图分类号:TN702 文献标识码:A 文章编号:1674-7712 (2012) 12-0046-02一、引言亮丽实用的广告牌可以给我们的生活添加光彩、可以给店铺招揽生意。
传统的广告牌都是固定的汉字,并且时间长了会掉色,使汉字模糊难认,这给我们的生活带来很多的不便。
尤其是到了晚上传统的广告牌就失去了作用。
因此我们需要一种造价低廉、使用方便、可以发光、可以方便改变汉字且比较耐用的电子显示广告牌。
二、设计过程及工艺要求(一)基本功能1.可以发光;2.可以滚动;3.可以用电脑改变汉字。
(二)主要技术参数1.单片机选择AT89C51;2.LCD显示器选择SMG12864A或AMPIRE128×64;3.晶振选择12MHz;4.两个输出电容选择30pF;5.两个外围电阻选用10K和100Ω。
本设计的主要任务是显示标语,因此在硬件安装方面需要有适当的面积来安装电子显示屏,并且还要通过数据线把电子显示屏和电脑连起来。
三、系统的总体设计(一)系统设计本设计是基于51单片机的LCD汉字滚动显示,该设计是以AT89C51基本系统为核心的一套应用系统,其中包括单片机、复位电路、外围电路、显示电路、系统软件等部分的设计【1】。
(二)芯片AT89C51介绍AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器, 该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
(整理)基于51的LED汉字显⽰系统设计制作LED汉字点阵显⽰系统1.课题任务:基本要求:采⽤单⽚机和LED点阵显⽰模块设计实现组合点阵信息显⽰。
提⾼要求:具有显⽰内容⾃动更新的功能以完成对任意存储的信息内容进⾏完整的显⽰。
设计内容:设计⼀块16x48的组合点阵显⽰屏,能够平滑滚动显⽰编程设定的数量较多的汉字,并在⼀段时间间隔内循环显⽰时间、年、⽉、⽇与星期。
2、⽅案⽐较与选择:⽅案⼀:1、采⽤89C52单⽚机为核⼼器件;2、显⽰屏由三块16×16LED点阵显⽰器组成,可⼀次动态显⽰,实现静⽌、移⼊移出等多种显⽰⽅式可显⽰四个或更多的汉字;3、⾏扫描采⽤74HC154 4-16线译码器。
列驱动采⽤SN74HC595 8位传⼊并处移位寄存器。
4、通过编程能够随时对汉字进⾏修改、调整。
5、采⽤DS1302进⾏实时时间的存取。
⽅案⼆:1、采⽤89C52单⽚机为核⼼器件;2、显⽰屏由12个8×8的点阵显⽰器组成1个16×48点阵LED电⼦显⽰器,可动态显⽰,使⽂字能够平滑左移显⽰;3、通过89C52单⽚机控制⼀个由两⽚74LS138组成的⾏驱动器和六个列驱动器74HC595来驱动显⽰屏显⽰;4、通过编程能够随时对汉字进⾏修改、调整。
5、采⽤DS1302进⾏实时时间的存取。
⽅案实现:设计思路:从尽可能降低成本的⾓度考虑,由于8×8的点阵更经济,74HC138与74HC154相⽐仅需要增加2~3根连线即可实现相同功能且价格很低,并且能够达到相同的显⽰效果,故采⽤⽅案⼆,⽤12个8×8的点阵显⽰器组成1个16×48点阵LED电⼦显⽰器。
具体实现⽅法如下:1)⽤两⽚74LS138作为16×48点阵LED显⽰器的⾏选通信号,六⽚级联的74HC595作为列选通信号;2)P0⼝作为I/O⼝;3)P1⼝⽤来驱动74LS138;4)P3.5、P3.6、P3.7分别作为SN74HC595的串⾏输⼊端、串⾏输⼊时钟端和并⾏输出时钟端;5)通过取模软件来得到所需显⽰汉字的阳码显⽰字模,替换程序相应位置,来实现汉字的显⽰。
基于单片机的液晶汉字显示屏的设计摘要:本课题为基于51单片机的LCD汉字显示技术。
基于在对单片机研究的基础上,本文提出了一种以AT89C51为核心的单片机构成液晶显示器的方法。
该钟的显示电路采用160128点阵的图形点阵的液晶屏。
关键字:单片机,LCD1引言............................................................................................................................................. - 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)1引言1.1 课题背景目前单片机已渗透到生活的各个领域,几乎很难找到哪个领域没有单片机的足迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说全自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的工程师和科学家。
科技越发达,智能化的东西就越多。
看来学习单片机是社会发展的必然需求。
单片机即单片微型计算机,又称为微控制器,它的体积小,功能强,可靠性好,价格又便宜,成为传统工业技术改造和新产品更新换代的理想品种,具有广阔的发展前景,其中最具有代表性的就是Intel公司的8051系列单片机。
本文在对单片机研究的基础上,以AT89C51为核心控制芯片,对汉字显示屏进行设计与应用,通过对其原理深入分析,探讨以AT89C51单片机构成LCD液晶显示屏的实现方法。
1.2 8051单片机输入输出口8051有4组8位1/0口:P0, P1,P2和P3口,P1、P2和P3为准双向口,PO 口则为双向三态输入输出口,下面分别介绍这几个口线:PO口和P2口:PO口和P2口电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/0扩展口,而不能像Pl、P3直接用作输出口。
它们一起可以作为外部地址总线,PO口身兼两职,既可作为地址总线,也可作为数据总线[5][7]。
P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15。
PO口由ALE选通作为地址总线的低8位输出ABO-AB7。
外部的程序存储器由PSEA信号选通,数据存储器则由WR和RD读写信号选通, 8051最大可外接64kB的程序存储器和数据存储器。
P1口:P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,内上拉电阻将电位拉至“1”,此时该口输出为1,当0写入锁存器,Q(非)=1,输出则为0。
作为输入口时,锁存器置l, Q(非)=0,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况,其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读一修改一写操作,像JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
其二是:读P1口线状态时,打开三态门G2,将外部状态读入CPU。
P3口:P3口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。
由于第二功能信号有输入输出两种情况,分别加以说明。
P3口的输入输出及P3口锁存器、中断、定时/计数器、串行口和特殊功能寄存器有关,P3口的第一功能和P1口一样可作为输入输出端口,同样具有字节操作和位操作两种方式,在位操作模式下,每一位均可定义为输入或输出。
着重讨论P3口的第二功能,P3口的第二功能各管脚定义如下:P3.0 串行输入口(RXD)P3.1 串行输出口((TXD)P3.2 外中断0 (INTO)P3.3 外中断1(INT1)P3.4 定时/计数器0的外部输入口(TO)P3.5 定时/计数器1的外部输入口(T1)P3.6 外部数据存储器写选通(WR)P3.7 外部数据存储器读选通(RD)第二功能为输出引脚,当作I/0口使用时,第二功能信号线应保持高电平与非门开通,以维持从锁存器到输出口数据输出通路畅通。
当作第二功能口线用时,该位的锁存器置高电平,使与非门对第二功能信号的输出是畅通,从而实现第二功能信号的输出。
对于第二功能为输入的信号引脚,在口线上的输入通路增设了一个缓冲器,输入的第二功能信号即从这个缓冲器的输出端取得。
而作为I/0口线输入端时,取自三态缓冲器的输出端。
这样,不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线均应置“1”。
1.3 8051单片机的指令时序时序是用定时单位来描述的,8051的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来分别加以说明。
节拍与状态:把振荡脉冲的周期定义为节拍 (为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍定义为1(P) ,后半周期对应的节拍定义为2(P)。
机器周期: 8051有固定的机器周期,规定一个机器周期有6个状态,分别表示S1-S6。
而一个状态包含两个节拍,那么一个机器周期就有12个节拍,可以记着SIP2,SIP2...... S6P1, S6P2,一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频,显然,如果使用6MHZ的时钟频率,一个机器周期就是2us,而如使用12MHz的时钟频率,一个机器周期就是lus。
指令周期:执行一条指令所需要的时间称为指令周期,8051的指令有单字节、双字节和三字节的,所以它们的指令周期不尽相同,也就是说它们所需的机器周期不相同,可能包括一到四个不等的机器周期。
8051的指令时序:8051指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。
执行这些指令需要的时间是不同的,也就是它们所需的机器周期是不同的,有下面几种形式:单字节指令单机器周期;单字节指令双机器周期;双字节指令单机器周期;双字节指令双机器周期;三字节指令双机器周期;单字节指令四机器周期(如单字节的乘除法指令)。
单字节单周期指令:单字节单周期指令只进行一次读指令操作,当第二个ALE信号有效时,PC并不加1,读出的还是原指令,属于一次无效的读操作。
双字节单周期指令:这类指令两次的ALE信号都是有效的,只是第一个ALE信号有效时读的是操作码,第二个ALE信号有效时读的是操作数。
单字节双周期指令:两个机器周期需进行四次读指令操作,但只有一次读操作是有效的,后三次的读操作均为无效操作。
单字节双周期指令有一种特殊的情况,像MOVX这类指令,执行这类指令时,先在ROM中读取指令,然后对外部数据存储器进行读或写操作,头一个机器周期的第一次读指令的操作码为有效,而第二次读指令操作则为无效的。
在第二个指令周期时,则访问外部数据存储器,这时,ALE信号对其操作无影响,即不会再有读指令操作动作。
外部程序存储器(ROM)读时序: 8051外部程序存储器读时序图时PO口提供低8位地址,P2口提供高8位地址,S2结束前,PO口上的低8位地址是有效的,之后出现在PO口上的就不再是低8位的地址信号,而是指令数据信号。