24乘24点阵汉字显示设计.docx
《24乘24点阵汉字显示设计.docx》由会员分享,可在线阅读,更多相关《24乘24点阵汉字显示设计.docx(19页珍藏版)》请在冰豆网上搜索。
24乘24点阵汉字显示设计
HUBEINORMALUNIVERSITY
综合课程设计
(二)
IntegratedCurriculumDesign
(2)
所在院系
教育信息与技术学院
专业名称
信息工程
班级
1102
题目
LED点阵(24*24)汉字系统设计
指导教师
成员
完成时间
2013.6.27
一、设计任务及要求:
设计任务:
LED点阵(24*24)汉字系统设计
要求:
1.通过设计实现24*24点阵汉字系统。
2.依次开始显示“教育信息与技术学院”字体。
3.通过Proteus进行电路仿真,以及使用Keil软件编程。
4.提交实物。
指导教师签名:
2013年月日
二、指导教师评语:
指导教师签名:
2013年月日
三、成绩
验收盖章
2013年月日
LED点阵(24*24)汉字系统设计
1设计目的
(1)熟悉Proteus仿真软件的使用,了解各元件的功能及作用;
(2)熟悉LED点阵的行与列的判别方法,以及熟悉一般设计过程。
(3)熟悉AT89C52单片机的基本结构、引脚功能、存储器结构等基本知识。
(4)掌握74HC138芯片的引脚功能及使用方法,芯片的级联方法,以及掌握电路的基本调试能力。
(5)掌握Keil软件的使用方法,以及如何创建文件和编写程序。
2设计思路
本次设计采用Proteus单片机仿真平台对用9个8*8点阵组成的24*24点阵式LED显示屏进行仿真设计,实现汉字显示。
在设计中共有6个模块,其分别是时钟电路模块,复位电路模块,单片机控制模块,显示器模块,列控制模块,行控制模块。
在Proteus中完成硬件的设计,同时采用Keil开发平台软件设计程序,最终实现点阵显示屏的特定汉字显示。
3设计过程
LED点阵汉字系统主要有6个模块,每个模块都有自己特定的功能,是不可缺少的组成部分。
在设计前的首要条件是先对LED点阵汉字系统的实现过程有深入的了解,然后按功能分模块设计电路,最后组成完整的工作电路。
本次设计由AT89C52作为主控单元,显示屏选用9个8*8点阵显示模块来组成24*24点阵显示器,行控制直接使用单片机的引脚控制,列控制选用3个移位寄存器74HC138来控制,汉字的字模是使用取模软件实现的。
本系统的总体设计图1所示。
图1总体设计图
3.1时钟电路模块
AT89C52单片机芯片内部设有一个由反向放大器过程的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端,时钟可由内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激震荡,系统采用的定时元件为石英晶体和电容组成的并联震荡回路。
晶振频率选择12MHz,C1,C2的电容值取30pF,电容的大小起频率微调的作用。
时钟电路如图2所示。
图2时钟电路模块
3.2复位电路模块
单片机有多种复位电路。
本系统采用电平式开关复位与上拉复位方式,如图3所示。
当上电时,C1相当于短路,使单片机复位,按下复位键时单片机复位。
在有时碰到干扰时会造成错误复位,但在一般情况下,不会出现单片机错误复位,而
可能会引起内部某些寄存器错误复位,如果复位端加一个去耦电容,则会得到很好的效果。
图3复位电路模块
3.3单片机控制模块
图4是单片机的I/O口连接电路,P0口作为连接74HC138的片选使能和译码数字,P1,P2以及P3端口直接用以控制显示屏的行。
图中RP1为上拉电阻。
图4单片机控制模块
3.4显示模块
由于Proteus软件中没有24*24点阵显示屏,所以该系统的显示屏选用9块8*8点阵显示模块来组合成24*24点阵显示屏,如图5所示。
此点阵按共阴式组合,控制列选端低电平有效。
P0~P23为列控制端,A00~A07,A10~17,A20~A27为行数据端。
在汉字进行显示时,所显示的汉字从左向右滚动。
图5点阵显示模块
3.5列控制模块
列控制器由3个374HC138组合构成,如图6所示。
74HC138是3-8译码器,它具有三个使能端,三个数据输入端,只有当使能端E1为高电平,而E2与E3都为低电平时,才能正常工作,输出端低电平有效。
图6列控制模块
3.6行控制模块
行数据传输电路采用AT89C52单片机的P1,P2以及P3的8个端口直接控制,因此此系统是直接用单片机的端口控制,因此减少了芯片的用量,使的该系统在功能完整的前提下,原理图简单,美观。
3.7汉字取模
在确定所需要进行显示的汉字时,就可以使用取模软件PCtoLCD2002:
(1)打开取模应用软件,在字宽和字高处都设为24.
(2)单击菜单栏中的“选项”,对其进行设置。
如图7所示。
图7字模选项设置窗口
(3)由于汉字显示时从左想右移动,所以在输入框中输入“院学术技与息信育教”,单击‘生成字模’项。
便可得到所需到的字模。
如图8所示。
图8字模生成窗口
生成的字模见仿真分析。
4电路仿真与分析
4.1仿真结果显示
汉字取模编码:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,
0x08,0x00,0x00,0x08,0x02,0x00,0xC8,0x05,0x01,0x78,0x08,0x43,
0x18,0xF0,0x41,0x80,0x21,0x20,0xF0,0x20,0x20,0x20,0x22,0x10,
0x20,0x22,0x0E,0x20,0xE2,0x03,0x24,0x22,0x00,0x38,0x22,0x00,
0x20,0xE2,0x3F,0x20,0x22,0x20,0x20,0x23,0x20,0xE0,0x22,0x20,
0x70,0x10,0x20,0x20,0x00,0x3E,0x00,0x00,0x20,0x00,0x00,0x00,/*"院",0*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x01,0x80,0x07,0x01,
0x00,0x01,0x01,0x04,0x09,0x01,0x18,0x09,0x01,0x70,0x09,0x01,
0x00,0x09,0x21,0x00,0x09,0x21,0x04,0x09,0x61,0x78,0xC9,0x7F,
0x30,0xC9,0x3F,0x00,0x29,0x01,0x80,0x18,0x01,0x40,0x19,0x01,
0x30,0x0D,0x01,0x1C,0x09,0x01,0x04,0x05,0x01,0x00,0x83,0x00,
0x80,0x83,0x00,0x80,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,/*"学",1*/
0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x01,0x08,0x00,0x01,0x04,
0x00,0x01,0x06,0x00,0x01,0x03,0x00,0x81,0x01,0x00,0xC1,0x00,
0x00,0x31,0x00,0x00,0x19,0x00,0x00,0x0F,0x00,0xFE,0xFF,0x7F,
0xFC,0xFF,0x7F,0x00,0x07,0x00,0x00,0x19,0x00,0x08,0x61,0x00,
0x08,0xC1,0x00,0x10,0x81,0x01,0x30,0x01,0x03,0x00,0x01,0x06,
0x80,0x00,0x0C,0x80,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x00,/*"术",2*/
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x80,0x20,0x20,
0x80,0x20,0x60,0xFE,0xFF,0x7F,0xFC,0xFF,0x3F,0x80,0x10,0x00,
0x80,0x08,0x40,0x40,0x08,0x40,0x80,0x08,0x40,0x80,0x08,0x20,
0x80,0x38,0x20,0x80,0xC8,0x10,0x80,0x08,0x0B,0xFC,0x0F,0x0C,
0x84,0x08,0x0E,0x80,0x88,0x13,0x80,0xE8,0x30,0x80,0x38,0x20,
0x40,0x08,0x60,0x40,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,/*"技",3*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,
0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x1E,0x01,0xFC,0x1F,0x01,
0x44,0x10,0x01,0x40,0x10,0x01,0x40,0x10,0x01,0x40,0x10,0x01,
0x40,0x10,0x01,0x40,0x10,0x01,0x40,0x10,0x21,0x40,0x90,0x21,
0x40,0x10,0x61,0x40,0x10,0x70,0x40,0x10,0x3E,0x40,0xF8,0x0F,
0x60,0x08,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"与",4*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x30,
0x00,0x00,0x0E,0x00,0x00,0x00,0xF0,0xFF,0x00,0x10,0x49,0x3F,
0x10,0x49,0x7F,0x10,0x49,0x40,0x1E,0x49,0x40,0x14,0xC9,0x40,
0x10,0x49,0x43,0x10,0x49,0x46,0x10,0x49,0x40,0x10,0x49,0x40,
0x10,0x49,0x68,0xF0,0xFF,0x70,0x10,0xC0,0x21,0x00,0x00,0x02,
0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,/*"息",5*/
0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x06,0x00,
0x80,0x03,0x00,0xE0,0xFF,0x7F,0x3C,0x00,0x00,0x2C,0x00,0x00,
0x20,0x00,0x00,0x20,0x10,0x00,0x20,0x92,0x7F,0x20,0x12,0x11,
0x20,0x12,0x11,0x24,0x12,0x11,0x3C,0x12,0x11,0x38,0x12,0x11,
0x20,0x12,0x11,0x20,0x12,0x11,0x20,0x92,0x10,0x20,0x99,0x7F,
0x20,0x10,0x00,0x30,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,/*"信",6*/
0x00,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,
0x10,0x00,0x00,0x10,0x03,0x00,0x10,0xFB,0x7F,0x90,0x92,0x04,
0x50,0x92,0x04,0x70,0x92,0x04,0x32,0x92,0x04,0x14,0x92,0x04,
0x1C,0x91,0x04,0x10,0x91,0x24,0x10,0x91,0x24,0x50,0x91,0x64,
0x90,0x89,0x64,0x90,0xF9,0x3F,0x10,0x03,0x00,0x10,0x03,0x00,
0x18,0x00,0x00,0x18,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,/*"育",7*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x06,0x20,0x4A,0x06,
0x20,0x2A,0x22,0x20,0x2A,0x42,0xFE,0x19,0xC2,0xFC,0xCD,0x7F,
0x20,0xEE,0x3F,0x20,0x1B,0x01,0xC0,0x1A,0x81,0x60,0x0A,0x41,
0x30,0x31,0x40,0x00,0x09,0x20,0x00,0x07,0x10,0xF0,0x3C,0x08,
0xBC,0xC0,0x05,0x84,0x00,0x07,0x80,0xE0,0x0D,0x80,0x3F,0x30,
0x80,0x00,0x60,0xC0,0x00,0x60,0x80,0x00,0x00,0x00,0x00,0x00,/*"教",8*/
};
图9汉字显示
4.2仿真分析
在设计的过程中,最初我们的构想是用3片74HC595芯片控制显示屏的行,在仿真的过程中虽然比较难以控制,但是还是得以实现。
考虑到焊实物时会比较困难,若是用单片机直接控制则在实现相同的功能的情况下,能减少芯片的使用量,为焊接实物减少一定的麻烦,所以我们最终决定行数据传输电路采用AT89C52单片机的P1,P2以及P3的8个端口直接控制。
既然需要显示汉字,那么必然要使用取模软件,然而在刚接触到取模软件PCtoLCD2002时有点不知所措,在不断地摸索中,最终学会了使用这个软件。
尤记得在第一次取模测试成功时的激动心情。
在显示汉字的显示过程中,第一次只能显示一个字,在修改程序之后,仿真时可以显示多个字了。
在和老师的交流中,老师建议将汉字滚动显示,由于汉字需要滚动会有扫描时间的测试,最后在经过多次尝试之后,最终得到了满意的结果。
由仿真结果可知,到仿真这部分,汉字滚动显示功能基本完成。
字虽然有点闪动,只需在程序中将时间部分稍作小改即可适应于实物的显示。
实物完成后再做适当的修改。
5焊接实物
5.1点阵部分
图10点阵部分
5.2最小系统
图11最小系统
5.3整体实物图
图12整体实物图
5.4焊接线路图
图13焊接线路图
6总结
此次课程设计我们选择了24x24的点阵汉字显示系统。
需要8x8点阵9个。
在仿真软件Protues中连接电路图还比较简单。
后来到程序的编写,起初的汉字我们采用的是静态显示,即一个一个字的显示,后来改进为滚动显示。
期间还是遇到了一些问题,类似于扫描时间控制不好,出现一个字间断的显示。
在不断改进中,成功滚动显示“教育信息与技术学院”几个字。
这次的课程设计的难点在于焊接实物。
对于没有过经验的人还是比较难的。
主要体现在9个8*8点阵的焊接。
我们采用的是LD78BS-SS22型号的点阵,体积小,引脚密,造成了一定的难度。
细致谨慎的一排排焊接又一排排的检测最后用了三天焊接成功。
最后将程序编译进去时也不算一帆风顺。
原因在于一个点阵的内部错误,导致整体效果不是很好。
不过基本结果还是显示成功。
通过本次课程设计,深刻体会了任何小细节都不能放过,都需要认认真真的检测每一部分。
不然会导致最后的失败。
同伴和我都深有领悟,希望广大同学也不要重蹈覆辙。
参考文献
[1]路勇.《电子电路实验与仿真》[M].北京:
清华大学出版社,2004
[2]康华光.《电子技术基础数字部分》(第五版)[M].北京:
高等教育出版社,2006.01
[3]张宪,何宇斌.《电子电路制作指导》[M].北京:
化学工业出版社,2006
[4]谢自美.《电子线路设计实验测试》[M].武汉:
华中科技大学出版社,2006
[5]康华光.《电子技术基础模拟部分》(第五版)[M].北京:
高等教育出版社,2006.01
附件
1、电路完整图:
图14仿真电路完整图
2、控制程序代码:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetab1[]={0x08,0x0c,0x0a,0x0e,0x09,0x0d,0x0b,0x0f,
0x10,0x14,0x12,0x16,0x11,0x15,0x13,0x17,
0x20,0x24,0x22,0x26,0x21,0x25,0x23,0x27,};
uintcodetab3[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,
0x08,0x00,0x00,0x08,0x02,0x00,0xC8,0x05,0x01,0x78,0x08,0x43,
0x18,0xF0,0x41,0x80,0x21,0x20,0xF0,0x20,0x20,0x20,0x22,0x10,
0x20,0x22,0x0E,0x20,0xE2,0x03,0x24,0x22,0x00,0x38,0x22,0x00,
0x20,0xE2,0x3F,0x20,0x22,0x20,0x20,0x23,0x20,0xE0,0x22,0x20,
0x70,0x10,0x20,0x20,0x00,0x3E,0x00,0x00,0x20,0x00,0x00,0x00,/*"院",0*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x01,0x80,0x07,0x01,
0x00,0x01,0x01,0x04,0x09,0x01,0x18,0x09,0x01,0x70,0x09,0x01,
0x00,0x09,0x21,0x00,0x09,0x21,0x04,0x09,0x61,0x78,0xC9,0x7F,
0x30,0xC9,0x3F,0x00,0x29,0x01,0x80,0x18,0x01,0x40,0x19,0x01,
0x30,0x0D,0x01,0x1C,0x09,0x01,0x04,0x05,0x01,0x00,0x83,0x00,
0x80,0x83,0x00,0x80,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,/*"学",1*/
0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x01,0x08,0x00,0x01,0x04,
0x00,0x01,0x06,0x00,0x01,0x03,0x00,0x81,0x01,0x00,0xC1,0x00,
0x00,0x31,0x00,0x00,0x19,0x00,0x00,0x0F,0x00,0xFE,0xFF,0x7F,
0xFC,0xFF,0x7F,0x00,0x07,0x00,0x00,0x19,0x00,0x08,0x61,0x00,
0x08,0xC1,0x00,0x10,0x81,0x01,0x30,0x01,0x03,0x00,0x01,0x06,
0x80,0x00,0x0C,0x80,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x00,/*"术",2*/
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x80,0x20,0x20,
0x80,0x20,0x60,0xFE,0xFF,0x7F,0xFC,0xFF,0x3F,0x80,0x10,0x00,
0x80,0x08,0x40,0x40,0x08,0x40,0x80,0x08,0x40,0x80,0x08,0x20,
0x80,0x38,0x20,0x80,0xC8,0x10,0x80,0x08,0x0B,0xFC,0x0F,0x0C,
0x84,0x08,0x0E,0x80,0x88,0x13,0x80,0xE8,0x30,0x80,0x38,0x20,
0x40,0x08,0x60,0x40,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,/*"技",3*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,
0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x1E,0x01,0xFC,0x1F,0x01,
0x44,0x10,0x01,0x40,0x10,0x01,0x40,0x10,0x01,0x40,0x10,0x01,
0x40,0x10,0x01,0x40,0x10,0x01,0x40,0x10,0x21,0x40,0x90,0x21,
0x40,0x10,0x61,0x40,0x10,0x70,0x40,0x10,0x3E,0x40,0xF8,0x0F,
0x60,0x08,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"与",4*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x30,
0x00,0x00,0x0E,0x00,0x00,0x00,0xF0,0xFF,0x00,0x10,0x49,0x3F,
0x10,0x49,0x7F,0x10,0x49,0x40,0x1E,0x49,0x40,0x14,0xC9,0x40,
0x10,0x49,0x43,0x10,0x49,0x46,0x10,0x49,0x40,0x10,0x49,0x40,
0x10,0x49,0x68,0xF0,0xFF,0x70,0x10,0xC0,0x21,0x00,0x00,0x02,
0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,/*"息",5*/
0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x06,0x00,
0x80,0x03,0x00,0xE0,0xFF,0x7F,0x3C,0x00,0x00,0x2C,0x00,0x00,
0x20,0x00,0x00,0x20,0x10,0x00,0x20,0x92,0x7F,0x20,0x12,0x11,
0x20,0x12,0x11,0x24,0x12,0x11,0x3C,0x12,0x11,0x38,0x12,0x11,
0x20,0x12,0x11,0x20,0x12,0x11,0x20,0x92,0x10,0x20,0x99,0x7F,
0x20,0x10,0x00,0x30,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,/*"信",6*/
0x00,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,
0x10,0x00,0x00,0x10,0x03,0x00,0x10,0xFB,0x7F,0x90,0x92,0x04,
0x50,0x92,0x04,0x