单片机技术课程设计16X16点阵说明书孙源.docx
- 文档编号:9452391
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:26
- 大小:434.25KB
单片机技术课程设计16X16点阵说明书孙源.docx
《单片机技术课程设计16X16点阵说明书孙源.docx》由会员分享,可在线阅读,更多相关《单片机技术课程设计16X16点阵说明书孙源.docx(26页珍藏版)》请在冰点文库上搜索。
单片机技术课程设计16X16点阵说明书孙源
郑州华信学院
课程设计说明书
题目:
16×16点阵LED汉字显示器设计
姓名:
孙源
院(系):
机电工程学院
专业班级:
11级电气工程及其自动化一班
学号:
1102120108
指导教师:
宋东亚
成绩:
时间:
2013年12月17日至2013年12月28日
郑州华信学院
课程设计任务书
题目:
16×16点阵LED汉字显示器设计
专业、班级:
11级电气工程及其自动化一班
学号:
1102120108姓名:
孙源.
主要内容、基本要求、主要参考资料等:
主要内容:
利用单片机控制16×16点阵LED汉字显示屏汉字、数字、字母的多样化显示。
基本要求:
1.实现LED点阵屏核心功能即汉字、数字、字母的多样化显示;
2.利用proteus软件完成设计电路和仿真,要求显示“郑州华信学院”字样,并且能够调整显示字样;
3.掌握SPI串口进行数据传输的应用,并学会使用外部芯片辅助项目设计;
4.通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实践能力和理论联系实际的能力。
主要参考资料:
[1]李全利,单片机原理及接口技术[M],高等教育出版社
[2]王文杰,单片机应用技术[M],冶金工业出版社
[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社
[4]单片机实验指导书,天煌教仪
[5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社
完成期限:
指导教师签名:
课程负责人签名:
年月日
目录
第一章引言1
1.1概述1
1.2LED显示屏简介1
1.3设计目的1
第二章设计方案及内容2
2.1设计任务2
2.2设计内容2
第三章硬件设计3
3.1设计框图及介绍3
3.2电路分析4
3.3点阵电路原理图4
3.4LED点阵介绍4
3.5LED显示方式6
3.780C51单片机结构介绍8
3.874HC154结构介绍9
第四章软件设计11
4.1单片机延时子程序11
4.2软件设计流程图12
4.3取字模软件介绍14
4.4汇编语言程序16
第五章测试数据及性能分析19
5.1HEX文件的生成19
5.2仿真调试19
附录22
附录1元器件清单22
参考文献22
结论23
致谢23
第一章引言
1.1概述
单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。
单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。
20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。
由于单片机功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。
本课题研究的内容就是以单片机为主要控制元件驱动LED点阵显示所想要显示的文字。
1.2LED显示屏简介
LED点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。
目前,LED显示屏已被广泛应用于商场、车站等公共场合的文字图形显示,并取得了很好的效果。
LED显示屏的种类较多,大致有以下四种分类法:
一是按室内室外分类,二是按工作方式分类,三是按颜色的数量分类,四是按LED管的单位密度大小分类。
不同类型的显示屏用途不同,各有优缺点,室内LED显示屏与户外LED显示屏差别很大,可根据需要侧重选择。
首先是亮度不同,室内屏的发光亮度要比户外屏低出几倍到几十倍,因此,户外屏必须采用超高亮度LED,而且为了进一步提高亮度和增加可视距离,在一个像素内往往要封装多只超高亮度LED。
其次,户外屏必须防雨水、阳光直射、防尘、防高温、及防雷击等,而室内屏则无须考虑这些问题。
此设计是基于单片机89C51对点阵16×16汉字显示的设计,在实际生活中得到了广泛的应用。
1.3设计目的
加强对51系列单片机的构造了解及应用,熟悉汇编语言或C语言编程,综合掌握和理解设计各部分的工作原理、设计过程、芯片器件的选择方法、模块化编程等多项知识。
(1)用单片机模拟实现具体应用使个人设计系统能够真正使用;
(2)把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼;
(3)提高利用已学的知识分析和解决问题的能力;
(4)提高动手实践能力。
第2章设计方案及内容
2.1设计任务
结合教材及参考资料,用80C51单片机模拟实现LED点阵屏核心功能即汉字、数字、字母的多样化显示。
2.2设计内容
(1)填写设计任务书;
(2)进行总体设计,画出设计原理图;
(3)用PROTEUS软件画出设计电路图;
(4)用Keil软件编写程序;
(5)在PROTEUS里模拟并调试程序达到期望功能。
第三章硬件设计
3.1设计框图及介绍
LED点阵总体框图如下图所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。
控制电路部分包括一个52CUP和一些外围电路。
在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给屏体电路部分发送命令。
点阵显示屏体、以及它的行和列的各个驱动电路。
由于两部分的电路在制板时可以放到一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。
此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
由列译码器给出的列选通信号,从第一列开始,按顺序依次对各列进行扫描(把该列与电源的一端接通)。
另一方而,根据各行锁存的数据,确定相应的行驱动器是否将该行与电源的另一端接通。
接通的行,就在该列该列点燃相应的LED;未接通的行所对应的LED熄灭。
图3.1.1点阵显示的总体框图
3.2电路分析
该电路主要将单片机发送来的输出点阵数据,通过锁存器芯片扩展的I0口,来控制LED点阵的16个列线端。
本设计中用的是1片4/16译码器74LS154对LED点阵的16行进行扫描。
通过74LS154将数据一起送到LED点阵的各列。
3.3点阵电路原理图
图3.3.1点阵电路原理图
3.4LED点阵介绍
8×8单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。
本设计是一种实用的汉字显示屏的制作,制作的是单色点阵。
考虑到元器件的易购性,使用4个8×8的点阵发光二极管模块,组成了16行16列的发光点阵。
实际使用时可以根据原理自行扩充显示的字数。
对比下面的8×8单色点阵和8×8双色点阵可以看出,其实8×8双色点阵就是两块8×8单色点阵组合在一起的。
要实现用两种颜色显示,只要在电路的设计中适当的连线就可以了。
8×8单色点阵LED结构分别如下图所示:
图3.4.18×8点阵外观及引脚图
图3.4.28×8单色点阵内部图
3.5LED显示方式
汉字显示屏用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。
下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。
为了降低成本,使用了4块8×8的LED点阵发光管的模块,组成了一个16×16的LED点阵显示屏,图2.5.1所示。
在实际的使用中可以自行的扩展显示的汉字,下面是介绍汉字显示的原理。
图3.5.116×16的LED点阵
LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;?
.第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要有锁存功能。
对于列数据准备来说,它应能实现串入并出的移位功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串行移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
LED点阵显示模块进行的方法有两种:
(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):
此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该行上那哪个LED亮(相当于段码)。
能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。
(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):
此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。
能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。
3.780C51单片机结构介绍
80C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上[2]。
如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
1.微处理器
该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
2.数据存储器
片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
3.程序存储器
由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。
4.中断系统
具有5个中断源,2级中断优先权。
5.定时器/计数器
片内有2个16位的定时器/计数器,具有四种工作方式。
6.串行口
1个全双工的串行口,具有四种工作方式。
可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
7.P1口、P2口、P3口、P4口
为4个并行8位I/O口。
8.特殊功能寄存器
共有21个,用于对片内的个功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
由上可见,80C51单片机的硬件结构具有功能部件种类全,功能强等特点。
特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。
1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。
MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。
3.874HC154结构介绍
74HC1544线-16线译码器/解调器
·将4个二进制编码输入译成16个彼独立的输出之一
·将数据从一个输入线分配到16个输出的任意一个而实现解调功能
·输入箝位二极管简化了系统设计
·与大部分TTL和DTL电路完全兼容
74154这种单片4线—16线译码器非常适合用于高性能存储器的译码器。
当两个选通输入G1和G2为低时,它可将4个二进制编码的输入译成16个互相独立的输出之一。
实现解调功能的办法是:
用4个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。
当任何一个选通输入是高时,所有输出都为高。
第四章软件设计
4.1单片机延时子程序
延时程序在单片机编程中使用非常广泛,也很重要,在本毕业设计的程序中用到了延时子程序,所以在此详细的叙述一下。
在弄清延时程序指令的用法之前,要清楚的了解延时程序的基本概念,机器周期和指令周期的区别和联系、相关指令的用法等。
我们知道程序设计是单片机开发最重要的工作,而程序在执行过程中常常需要完成延时的功能。
例如在本设计中,行向的扫描要控制每行的扫描时间,还有所有的字移动有一定的时间间隔,而在所有的字移动一遍结束的一瞬间到下一遍移动开始的一瞬间要有延时,这时的延时可以和移动的时间相同以保持移动的连贯性,也可以不同作为每次从头开始的停顿,在上述就可以通过延时程序来完成。
4.1.1.机器周期和指令周期
(1)机器周期是指单片机完成一个基本操作所花费的时间,一般使用微秒来计量单片机的运行速度,51单片机的一个机器周期包括12个时钟振荡周期,也就是说如果51单片机采用12MHz晶振,那么执行一个机器周期就只需要1μs;如果采用的是6MHz的晶振,那么执行一个机器周期就需要2μs。
(2)指令周期是指单片机执行一条指令所需要的时间,一般利用单片机的机器周期来计量指令周期。
在51单片机里有单周期指令(执行这条指令只需一个机器周期),双周期指令(执行这条指令只需要两个机器周期),四周期指令(执行这条指令需要四个机器周期)。
除了乘、除两条指令是四周期指令,其余均为单周期或双周期指令。
也就是说,如果51单片机采用的是12MHz晶振,那么它执行一条指令一般只需1~2微秒的时间;如果采用的是6MHz晶振,执行一条指令一般就需2~4微秒的时间。
以12MHZ晶振为例,指令周期、机器周期与时钟周期的关系是:
指令周期:
CPU执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的,指令不同,所需的机器周期也不同。
时钟周期:
也称为振荡周期,一个时钟周期=晶振的倒数。
MCS-51单片机的一个机器周期=6个状态周期=12个时钟周期。
MCS-51单片机的指令有单字节、双字节和三字节的,它们的指令周期不尽相同,一个单周期指令包含一个机器周期,即12个时钟周期,所以一条单周期指令被执行所占时间为12×(1/12000000)=1μs。
了解以上概念后,那么可以依据单片机器件手册中89C51的指令执行周期和其所用晶振频率来完成需要精确延时时间的延时程序。
4.1.2.延时指令
在单片机编程里面并没有真正的延时指令,从上面的概念中我们知道单片机每执行一条指令都需要一定的时间,所以要达到延时的效果,只须让单片机不断地执行没有具体实际意义的指令,从而达到了延时的效果。
(1)数据传送指令MOV
数据传送指令功能是将数据从一个地方复制、拷贝到另一个地方。
如:
MOVR7,#80H;将数据80H送到寄存器R7,这时寄存器R7里面存放着80H,就单这条指令而言并没有任何实际意义,而执行该指令则需要一个机器周期。
(2)空操作指令NOP
空操作指令功能只是让单片机执行没有意义的操作,消耗一个机器周期。
(3)循环转移指令DJNZ
循环转移指令功能是将第一个数进行减1并判断是否为0,不为0则转移到指定地点;为0则往下执行。
如:
DJNZR7,KK;将寄存器R7的内容减1并判断寄存器R7里的内容减完1后是否为0,如果不为0则转移到地址标号为KK的地方;如果为0则执行下一条指令。
这条指令需要2个机器周期。
循环转移指令(DJNZ)除了可以给定地址标号让其跳转外,还可以将地址标号改成$,这样程序就跳回本指令执行。
例如:
DJNZR7,$;R7内容减1不为0,则再次执行本指令;为0则往下执行,当R7的值改为10时,则执行完该条程序所需的时间为2*10=20μs。
利用以上三条指令的组合就可以比较精确地编写出所需要的延时程序。
4.2软件设计流程图
4.3取字模软件介绍
图像,参数设置:
例如:
“郑州华信学院”六字,参数设置为横向取模,取模方式为A51格式,其对应的点阵为。
在设计中由于用到的是两个16*16的LED点阵,需要显示十七个字,如果单是手工对字体取模,将会花费很多时间,于是就用到了12864取字模软件,取字模界面如图2.8所示。
该软件简单方便易操作,省了很多工作量。
下面为取字模软件的简要说明:
1.文字输入区输入的文字可以多行输入,每一行的文字数目不限
2.文字输入完毕后,用Ctrl+Enter结束输入,不再提供工具按
3.取模原则:
以字节为单位,若不符合8的倍数时,补足位数。
。
4.取模方式:
可根据字体显示移动的方向自行选择是横向取模还是纵向取模。
5.当横向取模时是宽度满足上述原则;当纵向取模时是高度满足上述原则。
6.新建图像本为建图标而设,但也可以新建不超过1000x1000的图象(理论上如此,实际要看机器配置)。
7.提供图象保存,数据保存为文本文件的功能。
8.点阵生成区的数据在生成后就进入到剪贴板;您也可以使用右键菜单。
9.如果要汉字和字母混合输入,第一个文字请输入汉字,程序取您输入的第一个文字以决定宽度。
在软件文字输入区输入某个字,按下Ctrl+Enter在点阵生成区就会有相对应字的点阵生成,软件中还可以自行设置字模的取模方式,修改
DB0F0H,00FH,010H,008H,010H,008H,010H,008H;
DB000H,008H,000H,008H,000H,008H,000H,000H;
DB080H,010H,080H,018H,090H,00CH,090H,006H;
DB0F8H,0FFH,0FCH,0FFH,04CH,026H,040H,024H;"郑",0
DB000H,000H,000H,000H,000H,000H,000H,000H;
DB000H,000H,000H,000H,000H,000H,000H,000H;
DB000H,000H,000H,000H,000H,000H,000H,000H;
DB000H,000H,000H,000H,000H,000H,000H,000H;"州",1
DB000H,008H,040H,00CH,040H,006H,0FEH,07FH;
DB0FEH,07FH,020H,023H,020H,032H,000H,01CH;
DB0E0H,00FH,0F0H,003H,0D0H,00FH,0F0H,01FH;
DB030H,010H,000H,010H,000H,01CH,000H,01CH;"华",2
DB000H,000H,000H,000H,0E0H,001H,0E0H,007H;
DB020H,007H,020H,005H,0FEH,03FH,0FEH,07FH;
DB090H,042H,010H,042H,0F0H,043H,0F0H,041H;
DB000H,040H,000H,078H,000H,038H,000H,000H;"信",3
DB000H,000H,000H,010H,000H,010H,000H,010H;
DB020H,010H,020H,010H,020H,010H,0E0H,01FH;
DB0F0H,00FH,010H,008H,010H,008H,010H,008H;
DB000H,008H,000H,008H,000H,008H,000H,000H;"学",4
DB080H,010H,080H,018H,090H,00CH,090H,006H;
DB0F8H,0FFH,0FCH,0FFH,04CH,026H,040H,024H;
DB070H,025H,078H,025H,048H,03FH,0E8H,03FH;
DB0B8H,012H,0B8H,012H,000H,010H,000H,010H;"院",5
4.4汇编语言程序
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVDPTR,#TAB;字码表初址赋值
MOVR1,#00H;列控制码
MOVR4,#64;移动"华信学院"4个字符,共64列
CM:
MOVR5,#3;每屏反复显示3次
MOVR3,#16;列数
C1:
MOVR2,#0;取码指针
C16:
MOVP0,#00H
MOVP2,#00H;关显示
CLRP3.0
MOVA,R2
MOVCA,@A+DPTR;取当前列显示字码的第一个字节
DJNZR5,C1;未显示5次,继续
INCDPTR;一屏反复显示3次完,字码表初值加2
INCDPTR
DJNZR4,CM;96列未移动完,继续MOVP0,A;送1~8行控制口
INCR2
MOVA,R2
MOVCA,@A+DPTR;取当前列的显示字码的第二个字节
MOVP2,A;送9~15行控制口
INCR2
MOVP1,R1;送列控制码
INCR1
ACALLD1MS;显示2MS
ACALLD1MS
DJNZR3,C16;一屏16列是否显示完
MOVR3,#16
AJMPMAIN;96列移动完,返回,重新从""开始显示
D1MS:
MOVR6,#2
MOVR7,#248
DJNZR7,$
DJNZR6,$-4
RET
TAB:
DB000H,000H,000H,000H,000H,000H,000H,000H;
DB20H,00H,10H,04H,08H,04H,0FCH,05H;
DB03H,04H,02H,04H,10H,04H,10H,0FFH;
DB7FH,04H,88H,04H,88H,04H,84H,04H;
DB86H,04H,0E4H,04H,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 技术 课程设计 16 X16 点阵 说明书
![提示](https://static.bingdoc.com/images/bang_tan.gif)