电子本汉字显示屏.docx
- 文档编号:17261399
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:19
- 大小:526.70KB
电子本汉字显示屏.docx
《电子本汉字显示屏.docx》由会员分享,可在线阅读,更多相关《电子本汉字显示屏.docx(19页珍藏版)》请在冰点文库上搜索。
电子本汉字显示屏
电子系统课程设计任务书
电子信息工程系2014~2015学年第1学期2014年12月25日
指导教师
张志恒
职称
副教授
专业班级
电子本11级
设计题目
汉字显示屏
学生人数
设计目的:
本课题要求设计一汉字显示屏,即用单片机和数字技术根据要求显示汉字。
通过设计一汉字显示屏,使学生对单片机、模拟及数字电子技术理论知识在生产实际中的应用有一个初步的认识。
加深学生对所学的理论知识与实际的应用的结合。
通过设计,全面提高学生分析、判断、解决问题的能力。
使学生对所学知识的应用能力、查询资料能力及书写报告能力,有一个较大的提高,为毕业设计打下一定的基础。
原始资料:
单片机教材、模拟电子技术教材、数字电子技术教材、电子元器件手册、图书馆、网上及各种可能的渠道查询各种资料。
设计内容:
1.设计一汉字显示屏。
2.对给定的电路原理框图进行原理图设计,分单元进行设计。
对电路参数进行必要的计算,选择元器件参数。
3.画出完整的电路原理图。
4.条件许可时,对设计的电路进行仿真验证。
设计要求:
1.要求用16×16点阵高亮度发光二极管点阵流动显示“山西大学”
2.每一位学生对设计内容都应根据自己所学知识、水平及能力独立完成,不得有雷同。
3.写出完整的设计报告。
进度安排
设计时间为一周,具体时间安排如下:
第1~3天熟悉资料进行元器件的查询。
第4~9天进行电路的原理分析及设计、写出报告。
第10天交报告,进行答辩。
教研室意见
教研室主任14年12月25日
山西大学课程设计报告
课程名称:
汉字显示屏
系部:
电子信息工程系
专业班级:
电子本1117班
学生姓名:
指导教师:
张志恒
学号:
完成时间:
2015/1/14
报告成绩:
评阅意见:
评阅教师日期
论文题目:
汉字显示屏
姓名:
班级:
指导教师:
张志恒
摘要:
此次设计为汉字显示屏。
通过设计一汉字显示屏,使学生对单片机、模拟及数字电子技术理论知识在生产实际中的应用有一个初步的认识。
此次设计主要使用AT89c51单片机,使16*16点阵高亮度发光二极管点阵流动显示“山西大学”。
电路的主要硬件有AT89c51单片机,74HC245缓冲器,74HC154译码器,4片8*8点阵及外围电路等。
AT89c51主要用于控制点阵的显示,74HC245主要用于数据锁存、给点阵LED提供足够的电流以及保护单片机,74HC154的作用是拓展I/O口以及保护单片机。
此次设计采用列扫描方式逐列扫描,进行汉字显示。
关键字:
AT89c51单片机、16*16LED点阵、汉字流动显示
目录
一、硬件电路设计
1.AT89c51单片机的功能及使用…………………………………………………6
2.74HC245缓冲器的功能及使用…………………………………………………6
3.74HC154译码器的功能及使用…………………………………………………7
4.电源电路的设计…………………………………………………………………9
5.8*8LED点阵的功能及使用……………………………………………………9
二、软件设计
1、单片机延时程序………………………………………………………………10
2、汉字取模………………………………………………………………………10
3、点阵左移显示…………………………………………………………………13
4、proteus仿真…………………………………………………………………15
三、程序代码………………………………………………………………………16
四、结论与体会……………………………………………………………………17
五、参考文献………………………………………………………………………18
汉字显示屏
一、硬件电路设计
1.AT89c51单片机的功能及使用
单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
8051单片机的基本结构见图1.1。
图1.18051单片机的基本结构
此次设计主要使用单片机的I/O口的简单操作。
2.74HC245缓冲器的功能及使用
74HC245是可控的八路缓冲器,典型的CMOS型三态缓冲门电路,主要用于实现数据总线的双向异步通信。
为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。
第1脚AB/BA,为输入输出端口转换用,AB/BA=“1”高电平时信号由“A”端输入“B”端输出,AB/BA=“0”低电平时信号由“B”端输入“A”端输出。
第2~9脚“A”信号输入输出端,A0=B0,A7=B7,A0与B0是一组,如果AB/BA=“1”OE=“0”则A1输入B1输出,其它类同。
如果AB/BA=“0”OE=“0”则B1输入A1输出,其它类同。
第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。
第19脚CE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。
第10脚GND,电源地。
第20脚VCC,电源正极。
3.74HC154译码器的功能及使用
74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。
74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。
该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。
任选一个使能输入端作为数据输入,74HC154可充当一个1-16的多路分配器。
当其余的使能输入端置低时,地址输出将会跟随应用的状态。
引脚说明:
1-1113-17:
输出端。
(outputs(activeLOW))
12:
Gnd电源地(ground(0V))
18-19:
使能输入端、低电平有效(enableinputs(activeLOW))
20-23:
地址输入端(addressinputs)
24:
VCC电源正(positivesupplyvoltage)
4.电源电路的设计
该电源电路主要模块为IC7805,它能输出稳定的5V电源,图中整流桥是将市电转变为直流电,电容起到虑波作用由7805的OUT引脚输出5V电压。
5.8*8LED点阵的功能及使用
8*8LED点阵用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。
由单片机控制汉字的显示内容。
使用了四块8×8的LED点阵发光管的模块,组成了一个16×16的LED点阵显示屏。
LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;….第16列之后,又重新燃亮第1列,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
二、软件设计
1、单片机延时程序
时钟周期:
时钟周期T是时序中最小的时间单位具体计算的方法就是1/时钟源,此次设计使用的是11.0592M晶振,所以时钟周期=1/11059200秒。
机器周期:
我们的单片机完成一个操作的最短时间。
51单片机系列,在其标
准架构下一个机器周期是12个时钟周期,也就是12/11059200秒。
在单片机编程里面并没有真正的延时指令,从上面的概念中我们知道单片机每执行一条指令都需要一定的时间,所以要达到延时的效果,只须让单片机不断地执行没有具体实际意义的指令,从而达到了延时的效果。
延时程序如下:
voiddelay(void)
{
unsignedinti=300;
while(i--);
}
2.汉字取模
此次设计中要让“山西大学”四个字流动显示,这四个字的数据要转换到程序中去,这个时候要用取模软件。
下面介绍取模软件如何使用,先看一下操作界面,如图3.1所示。
图3.1字模提取软件界面
鼠标点一下“新建图形”,根据我们需要点阵,把宽度和高度分别改成16,然后点确定,如图3.2所示。
图3.2新建图像
接下来打开“参数设置”菜单里的“其他选项”,如图3.3所示。
图3.3选项设置
这个选项设置,要根据我们的电路图对照来看,在proteus仿真图中,我们的P0和P2总线,控制的是一列,所以我们用的是“纵向取模”,如果控制的是一行,就要选“横向取模”。
点确定后,我们点左侧的“模拟动画”菜单,点击“放大格点”选项,一直放大到最大,然后在下面的文字输入区输入我们想要提取字模的汉字,然后按Ctrl+Enter组合键。
如图3.4所示。
图3.4字模软件提取字形
然后,选择“取模方式”这个菜单,点一下“C51格式”后,在“点阵生成区”自动产生了32个字节的数据,这32个字节的数据就是对应取出来的“模”。
如图3.5所示。
图3.5取模
提取出来的字模为:
山“0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,
0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,”
西“0x02,0x02,0xE2,0x22,0x22,0xFE,0x22,0x22,0x22,0xFE,0x22,0x22,0xE2,0x02,0x02,0x00,
0x00,0x00,0xFF,0x48,0x44,0x43,0x40,0x40,0x40,0x43,0x44,0x44,0xFF,0x00,0x00,0x00,”
大“0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x80,0x00,”
学“0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00,”
2、点阵左移显示
图3.5片共有64列,每16列组成一张点阵图片,并且每向左移动一行就出现了一张新图片,一共组成了48张图片。
用一个变量index来代表每张图片的起始位置,每次从index起始向右数8列代表了当前的图片,41.7ms改变一张图片,然后不停的动态刷新,这样图片就变成动画了。
如:
第一幅图的输入的字模为
“0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,
0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,”
则第二幅图输入的字模向左移一列,如下:
“0x00,0xF0,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x02
0x00,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,0x00”
仿真如下:
3、proteus仿真
Proteus仿真时,单片机需要加载程序,加载程序为.HEX文件。
本设计利用KeilμVision4,在新建Keil项目时选择AT89C52单片机作为CPU,将源程序导入,在“OptionsForTarget”对话窗口中,选中“Output”选项中的“CreateHEXFile”,编译链接后就可以生成.HEX文件。
在ProteusISIS中,选中AT89C51并单击鼠标左键,对AT89C51进行设置,设置单片机时钟频率为11.0592MHz,按照正确的文件路径加载.HEX文件。
对单片机设置完毕后就可以开始仿真了。
仿真过程中如有硬件问题可在ProteusISIS中直接修改,如有软件问题可在KeilμVision4中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。
利用Proteus实现了对点阵式LED滚动汉字显示屏的仿真,说明程序和电路图都没有问题。
三、程序代码
#include
unsignedcharcodegraph1[]=
{0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,
0x02,0x02,0xE2,0x22,0x22,0xFE,0x22,0x22,0x22,0xFE,0x22,0x22,0xE2,0x02,0x02,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00};
unsignedcharcodegraph2[]=
{0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,
0x00,0x00,0xFF,0x48,0x44,0x43,0x40,0x40,0x40,0x43,0x44,0x44,0xFF,0x00,0x00,0x00,
0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x80,0x00,
0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00,
0x00,0x00,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x7F,0x00,0x00,0x00};
unsignedcharindex=0;//图片刷新索引
voiddelay(void)//延时
{
unsignedinti=300;
while(i--);
}
voidmain(void)
{
unsignedcharj=0;
unsignedchartmr=0;
P0=0xFF;//P0口初始化
P1=0xFF;//P0口初始化
P2=0xFF;//P2口初始化
while
(1)
{
switch(j)
{
case0:
P1=0xF0;break;//扫描第一列
case1:
P1=0xF1;break;//扫描第二列
case2:
P1=0xF2;break;//.
case3:
P1=0xF3;break;//.
case4:
P1=0xF4;break;//.
case5:
P1=0xF5;break;//.
case6:
P1=0xF6;break;//.
case7:
P1=0xF7;break;
case8:
P1=0xF8;break;
case9:
P1=0xF9;break;
case10:
P1=0xFA;break;
case11:
P1=0xFB;break;
case12:
P1=0xFC;break;
case13:
P1=0xFD;break;
case14:
P1=0xFE;break;
case15:
P1=0xFF;break;
default:
break;//扫描完一幅图片
}
P0=graph1[index+j];//输入第index+j列的字模
P2=graph2[index+j];//输入第index+j列的字模
j++;
if(j>=16)//从第1列扫描到第16列→即从j=0扫描到j=15,当j=16时,
{
j=0;//令j=0,重新从第一列扫描
}
tmr++;//图片刷新频率控制
if(tmr>=32)//图片刷新2次,36/16=2
{
tmr=0;
index++;//刷新下一幅图片
if(index>=64)
{
index=0;
}
}
delay();
}
}
四、结论与体会
本设计的是一个室内用16x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。
图形或文字显示有静止、移入移出等显示方式。
本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。
并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。
并证实了自己的思路:
“查资料→思考总结→运用→找出差错,再查资料和向别人询问→再次运用”的正确性。
通过这次课程设计,重新复习并进一步增强了动手的能力,学以致用,把只是运用到实际生活中才是根本目的。
总体来说这次的课程设计很成功,达到了预想的目的:
学到了知识,提高了能力,完成了任务。
五、参考文献
1、宋雪松《手把手教你学单片机》
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 汉字 显示屏