16X16点阵设计课程设计Word文件下载.docx
- 文档编号:18511881
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:16
- 大小:146.51KB
16X16点阵设计课程设计Word文件下载.docx
《16X16点阵设计课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《16X16点阵设计课程设计Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
图2.1AT89C51引脚图
①VCC:
供电电压
②GND:
接地
③P0口
P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
④P1口
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入”1”后,电位被内部上拉为高可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
⑤P2口
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流
当P2口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址”1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
⑥P3口
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入”1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,同时P3口同时为闪烁编程和编程校验接收一些控制信号。
⑦RST:
复位输入端。
当振荡器复位时,要保持RST两个机器周期的高电平时间。
⑧PSEN
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
⑨EA/VPP
当EA保持低电平时,访问外部ROM;
注意加密方式1时,EA将内部锁定为RESET;
当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
单片机是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
8051单片机的基本结构见图2.2。
图2.28051单片机的基本结构
2.1.1AT89C51的功能特性
AT89C51提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个十六位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位[4]。
2.1.2AT89C51的主要性能参数
AT89C51主要性能参数如下:
1)与MC-51产品指令系统完全兼容
2)4K字节可重擦写Flash闪速存储器
3)1000次擦写周期
4)全静态操作:
0Hz—24Hz
5)三级加密程序存储器
6)128×
8字节内部RAM
7)32个可编程I/O口线
8)2个16位定时/计数器
9)6个中断源
10)可编程串行UART通道
11)低功耗空闲和掉电模式
2.2单片机的最小系统
图2.3单片机最小应用系统原理图
注:
该最小系统由按键复位RESET电路、晶体振荡电路以及I/O接口电路组成。
2.2.1上电复位电路的设计
复位的实现通常用2种方式:
开机上电复位和外部手动复位,本设计用的是外部手动复位。
电路图2.4如下:
图2.4单片机复位图
2.2.2电源电路设计
AT89C51工作电压VCC=5V,其EA引脚需接高电平,5V电源电路如图2.5所示。
该电源电路主要模块为IC7805,它能输出稳定的5V电源,图中整流桥是将市电转变为直流电,电容起到虑波作用由7805的OUT引脚输出5V电压。
图2.5单片机电源原理图
2.3LED点阵介绍及取模
8×
8单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。
本设计是一种实用的汉字显示屏的制作,制作的是双色点阵。
考虑到元器件的易购性,没有使用8×
8的点阵发光二极管模块,而是直接使用了256个高亮度发光管,组成了16行16列的发光点阵。
实际使用时可以根据这个原理自行扩充显示的字数。
8*8点阵内部结构如图2.6
图2.6点阵内部构造
4个8*8点阵级联构成16*16点阵如下图2.7
图2.716*16点阵的构成
LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×
16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;
再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;
….第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。
显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的[5]。
2.4LED点阵显示模块进行的方法有两种:
(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):
此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该行上那哪个LED亮(相当于段码)。
能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。
(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):
此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码决定该行上哪些LED灯亮(相当于段码)。
能亮的行从上向下扫描完16行即显示一帧完整的图像[6]。
点阵的驱动
需要靠锁存器(74LS373)将这两组显示信号锁住,如图2.8
图2.8点阵的驱动电路
3系统软件设计
3.1程序设计流程图
3.2程序设计
[7]。
以下为用汇编语言编写的字符显示控制程序:
;
***************************************
**
*单个16x16的点阵电子屏字符显示器*
*ATA89C5212MHz晶振*
.11LRM*
显示字用查表法,不占用内存,字符用16x16共阳LED点阵,
效果:
向上滚动显示5个字,再重复循环。
R1:
查表偏址寄存器,B:
查表首址,R2:
扫描地址(从00~0FH)。
R3:
滚动显示时控制移动速度,单字显示可控制静止显示的时间。
*************;
中断入口程序;
ORG0000H
LJMPSTART
ORG0003H
RETI
ORG000BH
LJMPINTTO
ORG0013H
ERTI
ORG001BH
ORG0023H
ORG002BH
***********;
初始化程序;
主程序;
START:
MOV20H,#00H;
清零标志,00H为第16行开始扫描标志,01为1帧
;
扫描结束标志
MOVA,#0FFH;
端口初始化
MOVP1,A
MOVP1,A
MOVP3,A
MOVP0,A
CLRP1.6;
串行寄存器输入打入输出控制位
MOVTMOD,#01H;
使用T0做16位定时器,行扫描用。
MOVTH0,#0FCH;
1ms初值(12MHz)
MOVTL0,#18H
MOVSCON,#00H;
串口0方式传送显示字节
MOVIE,#82H;
T0中断允许,总中断允许
MOVSP,#70H
MOVDPTR,#TAB
LCALLMOVDISP;
向上滚动显示一页(8个字)
INCDPH
LACLLMOVDISP;
AJMPMAIN
***********************;
多字滚动显示程序;
每次8个字,入口时定义好DPTR值
MOVDISP:
MOVB,#00H;
向上移动显示,查表偏值暂存(从00开始)
DISLOOP:
MOVR3,#07H;
移动速度
DISMOV:
MOVR2,00H;
第0行开始
MOVR1,B
SETBTR0;
开扫描(每次一帧)
WAITMOV:
JBC01H,DISMOV1;
标志为1扫描一帧结束(16ms为1帧,每行1ms)
AJMPWAITMOV
DISMOV1:
DJNZR3,DISMOV;
1帧重复显示(控制移动速度)
INCB;
显示字的下一行(每行2字节)
INCB
MOVA,R1;
R1为0,8个字显示完
JZMOVOUT
AJMPDISLOOP
MOVOUT:
RET;
移动先是结束
****************;
单字显示程序;
显示表中某个字;
DIS1:
MOVR3,#5AH;
静止显示时间控制(16ms*#=1.6s)
DIS11:
MOVR2,#00H;
一帧扫描初始值(行地址从00~0FH)
MOVDPTR,#TAB;
取表首址
MOVR1,#00H;
查表偏址(显示第一个字)
SETBTR0;
WAIT11:
JBC01H,DIS111;
为1,扫描一帧结束
AJMPWAIT11
DIS111:
DJNZR3,DIS11
RET
************;
扫描程序;
1ms刷新一次,每行显示1s
INTT0:
PUSHACC
1ms初值重装
JBC00H,GOEND;
16行扫描标志为1,结束
INCR1;
取行右边字节偏址
MOVA,R1
MOVCA,@A+DPTR;
查表
MOVSBUF,A;
串口0方式发送
WAIT:
JBCTI,GO;
等待发送完毕
AJMPWAIT1
GO:
DECR1;
取行左边字节偏址
MOVCA,@A+DPTR
MOVSBUF,A
WAIT1:
JBCT1,GO1
GO1:
SETBP1.7;
关行显示,准备刷新
NOP;
串口寄存器数据稳定
SETBP1.6;
产生上升沿,行数据打入输出端
NOP
恢复低电平
MOVA,R2;
修改显示行地址
ORLA,#0F0H;
MOVR2,A;
MOVA,P1;
ORLA,#0FH;
ANLA,R2;
MOVP1,A;
修改完成
CLRP1.7;
开行显示
INCR2;
下一行扫描地址值
INCR1
下一行数据地址
MOVA,R2
ANLA,#0FH
JNZGO2
SETB00H;
R2为01H,现为末行扫描,置标志
GO2:
POPACC
GOEND:
CLRTR0;
一帧扫描完毕,关扫描
SETB01H;
一帧扫描完毕,置结束标志
POPACC
RETI;
退出
***************;
扫描文字表;
TAB:
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH;
黑屏
DB
0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H;
我
0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH;
0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H;
爱
0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH;
0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H;
单
0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB
0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH;
片
0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH
0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H;
机
0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH;
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;
END
总结
本文设计的16x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示的图形和文字较稳定、清晰。
图形或文字向上滚动显示。
本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
经过近多日的努力,终于将本次课程设计做完了,但由于水平有限,文中肯定有很多不恰当的地方,请老师指出其中的错误和不当之处,使我能做出改正,我会虚心接受。
在本次课程设计过程中,我增强了自己的动手能力和分析能力。
通过跟老师和同学的交流,也通过自己的努力,我按时完成了这次课程设计。
在此过程中,我学会了很多,也看到了很多自己的不足之处。
在以后的学习生活中,我会努力学习专业知识,完善自我,为将来的发展做好充分的准备。
总之,在这次课程设计中,我受益匪浅,学到了很多书本上所没有的东西,懂得了理论和实际联系的重要性。
在以后的学习中,我不仅要把理论知识掌握牢固,更要提高自己的动手能力和分析能力。
致谢
通过一周的努力,终于将单片机课程设计完成了,在完成课程设计的这一周中,付老师给予了我很大的帮助。
她不仅是指导我完成了设计,还教会了我做设计的一般步骤、设计思想和设计方法。
当我对此课程设计无从下手的时候付乐老师专心地为我讲解,为我解决了很多实际存在的困难和问题。
她在单片机实验室里为我们梳理流程,讲解原理,使我对此次的课程设计能圆满完成增添了很多信心,真正的从心理和解决实际问题上为我树立了很好的榜样,我为能有这样的好老师而感觉到骄傲,每每对课程设计的撰写产生疑问时,她为我提纲挈领、梳理脉络,使我确立了本文的框架。
在此我衷心的感谢一直不辞辛劳为我指明方向的付老师。
通过这次的课程设计,不仅使我学到了很多专业方面的知识,也让我明白了不畏困难、勇于攀登艰难的重要性,这对我未来的学习和生活产生很大的影响。
在此,再次感谢我的学校和付老师。
参考文献
[1]胡汉才.单片机原理与接口技术[M].北京:
清华大学出版社,1995.6.
[2]楼然苗等.51系列单片机设计实例[M].北京:
北京航空航天出版社,2003.3.
[3]何立民.单片机高级教程[M].北京:
北京航空航天大学出版社,2001.
[4]赵晓安.MCS-51单片机原理及应用[M].天津:
天津大学出版社,2001.3.
[5]肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002.8.
[6]夏继强.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2001.
[7]于凤明.单片机原理及接口技术[M].北京:
中国轻工业出版社.1998.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 X16 点阵 设计 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)