您的当前位置:首页正文

2021年单片机点阵优秀课程设计

2024-07-16 来源:小奈知识网

目录
1 课题名称…… … … … … … … … … … … … … … 12 设计任务及要求…… … … … … … … … … … … 13 工作原理… … … … … … … … … … … … … … … 2 3. 1 阵屏原理… … … … … … … … … … … … … .2 3. 2 8 9 S C 5 1 引脚及相关功效…… … … … .. 3 4 方案选择… … … … … … … … … … … … … … … 4 4. 1 方案一…… … … … … … … … … … … … … … 4

4 . 2 方案二… … … … … … … … … … … … … … . . . 5 4 . 3 方案选择 … … … … … … … … … … … … … . . 6

5. 1 . 1 硬件设计…… … … … … … … … … … … 6 5. 1 . 2 软件设计…… … … … … … … … … … … 7 5. 2 绘制电路图及印刷板图…… … … … … … .. 1 1 5. 3 计算机仿真…… … … … … … … … … … … .. 1 1 6课设总结… … … … … … … … … … … … … … … 14

7 参考文件 … … … … … … … … … … … … … … … 1 4

1 课题名称



LED点阵显示器设计

2 设计任务及要求
1、掌握LED显示器控制系统显示原理,学习LED点阵显示数字和字符编程方法。

2、结合微机原理、单片机技术知识,查阅相关资料,设计一个以单片机为关键LED点阵显示器系统,采取点阵LED作为显示器显示0-9及其它字符(比如显示"X")

3.1 阵屏原理
3 工作原理

8*8 点阵为单色共阳模块,单点正向工作电压为(Vf=1.8V,


正向电流是(If=8~10mA。静态点亮器件时(64 点全部亮)总



电流是640mA,总电压是1.8V,总功率为1152mW。动态时取决和扫描频率(1/8s1/16s),单点瞬间电流可达80~160mA

点阵内部结构及外形如上,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线交叉点上,当对应某一行置1电平,某一列置0电平,则对应二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;假如要将第一行点亮,则第9脚要接高电平,而(1334106111516)这些引脚接低电平,那么第一行就会点亮;

如要将第一列点亮,则第13 脚接低电平,而(914812 1725)接高电平,那么第一列就会点亮 。


3.2 89SC51 引脚及相关功效

40个引脚按引脚功效大致可分为4个种类:电源、时钟、控制和I/O引脚。如右图
)电源:
⑴VCC - 芯片电源,接+5V
⑵VSS - 接地端;
注:用万用表测试单片机引脚电流通常为
0v5v,这是标准TTL电平,但有时候
在单片机程序正在工作时候测试结果并

不是这个值而是介于0v-5v 之间,其实 这之是万用表反应没这么快而已,在某

电路反相输入端和输出端。

)控制线:控制线共有4根,
⑴ALE/PROG:地址锁存许可/片内EPROM编程脉冲
①ALE 功效:用来锁存P0口送出低8位地址
②PROG 功效:片内有EPROM芯片,在EPROM编程期间,

此引脚输入编程脉冲。

PSEN:外ROM 读选通信号。



RST/VPD:复位/备用电源。

RSTReset)功效:复位信号输入端。

VPD功效:在Vcc掉电情况下,接备用电源。

EA/Vpp:内外ROM选择/片内EPROM编程电源。 ①EA 功效:内外ROM选择端。

②Vpp 功效:片内有EPROM芯片,在EPROM编程期间,施加编程电源Vpp

)I/O 线

80S51 共有4 8 位并行I/O 端口个引脚。P3 口还含有第二功效,用于特殊信号输入输出和控制信P0P1P2P3 口,共32

4方案选择
4.1方案一
4.1.1方案原理图:



4.1.2方案分析:

LED 通常采取扫描式显示,实际利用分为三种方法: 点扫
描 、行扫描、 列扫描

列施加高电平信号,其它各列均为低压信号。行施加对应该列数

据信号,低电平有效。

8x8 LED 点阵列显示器为例说明字符显示原理,8列次序扫描结束后,将完成一帧字符显示。一帧扫描结束后,列扫描从第一行重新开始,周而复始。若行数据保持不变,则显示静态字符。反之,行数据发生改变,则显示内容将发生改变,假如保持 前后帧内容连贯性,就能够显示动态字符。


4.2方案二
4.2.1方案原理图:


4.2.2 方案分析:
248*8 点阵led组成一块大屏幕,单片机控制进行循环
扫描,用多块移位寄存器控制输出内容,并由单片机串行输出显
示内容行编码,显示器会滚动显示数字、字母。汉字等内容。

4.3方案选择

第一个方案,选择器件较少,控制比较简单,显示内容比较丰
富,能满足课程设计要求。第二种方案,显示内容丰富,显示效


果好,但所用器件较多,控制比较复杂,所以我们选择第一个方案

5设计和仿真
5.1软硬件设计
5.1.1硬件设计
方案一中系统电路图可知系统整体由两大部分组成:以单片机AT89S51为关键模块;由18*8LED点阵显示器组成显示模

块; 以下是各单元电路具体设计:

脉冲、复位电路和程序存放器设定电路,只是接收少许数字和字符,不用外接存放扩展。

时钟脉冲:AT89S51单片机最高时钟脉冲频率已经达成了24MHz,它内部已经含有了振荡电路,只要在AT89S51两个引脚(即1918脚)连接到简单石英振荡晶体2个管脚即可,同时

晶体2 个管脚也要用30pF 电容耦合到地。


复位电路:89S51 复位引脚(RESET)是第9 脚,当此引脚


连接高电平超出2个机器周期,即可产生复位动作。以12MHz时钟脉冲为例,每个时钟脉冲为0.5μS,两个机器周期为1µS,所以,在第9脚上连接一个2μS高电平脉冲,即可产生复位动作。最简单就是只有一个电阻跟一个电容就可可靠复位电路,电阻通常选择10K,电容通常选择10µF

程序存放器设定电路:31脚接VCC,默认采取内部程序存放器。

2LED显示模块

5.1.2 软件设计此次设计中8*8LED 电子显示器制作。相对而言是比较简单。

1 2 3 4 5 6 7 8





00 00 3E 41 41 41 3E 00

所以,形成列代码为00h,00h,3eh,41h,41h,41h,3eh,00h;只要把这些代码按扫描次序分别送到对应列线上面,即可实现“0”数字显示。其它列代码用类似方法设计。

送显示代码过程以下所表示

行线为“1”,延时2ms 左右,送第二列线代码到P3 端口,同时
送第一列线代码到P3 端口,同时置第一行线为“0”,其它

睛看到是完整数字。则类似可得其它数字及字符编码。2)程序设计
1.步骤图



程序采取循环扫描显示,
中止刷新显示内容方法,
字符转换周期为1秒,
行扫描和字符控制用查
表程序完成。


2.程序设计

TIM
CNTA
CNTB

EQU 30H
EQU 31H
EQU 32H

ORG 00H
LJMP START

ORG0BH //中止入口
LJMPT0X
ORG30H

START:

MOV TIM,#00H

//初始化

MOVCNTA,#00H
MOVCNTB,#00H
MOVTMOD,#01H
MOVTH0,#(65536-4000)/256//中止赋值

MOV TL0,#(65536-4000) MOD 256 SETB TR0 //开中止

SJMP$ //循环等候

T0X: MOV TH0,#(65536-4000)/256 //中止程序
MOVTL0,#(65536-4000) MOD 256//恢复

t0 计数初值

MOV DPTR,#TAB


//查表,找到行


选通信号
MOVA,CNTA
MOVCA,@A+DPTR
MOVP3,A //行选通信号给p3
MOVDPTR,#DIGIT
MOVA,CNTB
MOVB,#8

MUL AB ADD A,CNTA

p1
INCCNTA
MOVA,CNTA
CJNEA,#8,NEXT
MOVCNTA,#00H

NEXT:

INC TIM


MOV A,TIM



CJNEA,#250,NEX //一秒后调整显示值
MOVTIM,#00H
INCCNTB
MOVA,CNTB
CJNEA,#10,NEX
MOVCNTB,#00H

NEX:

RETI

TAB:

DB

0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH //行选通 DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00H

//1
DB00H,00H,27H,45H,45H,45H,39H,00H //2
DB00H,00H,22H,49H,49H,49H,36H,00H //3

//4

DB 00H,00H,0CH,14H,24H,7FH,04H,00H


DB00H,00H,72H,51H,51H,51H,4EH,00H //5
DB00H,00H,3EH,49H,49H,49H,26H,00H //6
DB00H,00H,40H,40H,40H,4FH,70H,00H //7
DB00H,00H,36H,49H,49H,49H,36H,00H //8

//9 DB 00H,00H,32H,49H,49H,49H,3EH,00H

调试程序采取KeiluVision3,首先开启keil软件集成开发环境,点击“Project—>NewProject”建立新工程,选择AT89S51作为目标芯片。建立新源文件,将程序输入并将源文件添加到工程中。



编译程序并更正程序中错误,当程序没错误后点击“Debug—>Start/Stop Debug ”进入程序动态调试状态,验

证程序能不能正确实施,不能则从新修改源程序,假如能则调试 工作结束。

5.2 绘制电路图及印刷板图
protell99SE画出电路原理图以下:

5.3 计算机仿真





(1) 打开Keil uVision3,新建Keil 项目,选择AT89S51


片机作为CPU,新建C语言源文件,编写程序,并将其导入到“SourceGroup”中。在“Optionfor Target”对话窗口中,选中“Output”选项卡中“CreateHEX”选项和“Debug”选项卡中“UseProteusVSM Simulator”选项。编译源程序,更正程序中错误。

(2)ProteusISIS 中,选中AT89S51并单击鼠标左键,打 “EditCompoment”对话窗口,设置单片机晶振频率为12MHZ,开
在此窗口中“ProgramFile”栏中,选择先前用Keil生成.HEX

件。在Proteus ISIS 菜单栏中选择“File”->“Save Design” 项,保留设计。在Proteus ISIS 菜单栏中,打开“Debug”下拉

(3)Keil菜单栏中选择“Debug”->“Star/StopDebug Session”选项,或直接单击工具栏“Debug>Star/StopDebug Session”图标,进入程序调试环境。按“F5”键,次序运行程序。

调出“Proteus ISIS”界面,能够看到以下图显示内容。

仿真结果


1显示数字





2显示字符






6 课设总结



单片机是目前流行控制技术,使用简单、功效强大、成本也很低,对于我们以后工作有很大用处,这次课设我们用单片机来完成不仅提升了我们对单片机爱好,而且使我们所学知识在实际中得到应用,提升了我们应用能力。

课设使用了点阵,我们上课并没有学习这方面内容,经过我们查资料,很快领会了点阵使用方法,课设使用了多个软件帮助设计,让我们对设计方法有了深入了解,而且我们设计了不一样显示内容,让我们对点阵显示有了基础掌握,我们感觉很有成就

感。 我在这个学期做了一个单片机小项目,对单片机已经比较熟

仿真结果做了出来。作出结果可能不能让老师十分满意,但我们已经为我们结果欢呼雀跃了。这只是一次简单课设,在实际中应用还会更难,这全部需要我们不停学习新技术,不停提升自己应用能力。



7参考文件
1、郑初华主编 汇编语言、微机原理及接口技术 第2版北京:电子工业出版社 20XX
2、张友德等单片微型机原理、应用和试验 第五版 上海:复旦大学出版社20XX
3、网站:电子工程师之家





显示全文