资源描述
目 录
第1节 引 言………………………………………………………………………3
1.1 概述……………………………………………………………………………………3
1.2 设计任务………………………………………………………………………………3
第2节 系统的硬件构成及功能………………………………………………………4
2.1 MCS-51系列单片机……………………………………………………………………4
2.2 MCS-51系列单片机引脚……………………………………………………………6
2.3系列单片机最小系统最低配置………………………………………………………7
2.4点阵知识…………………………………………………………………………………8
第3节 LED 点阵显示数据编码………………………………………………10
3.1 5X7点阵显示数据编码……………………………………………………………10
3.2 16X16点阵显示数据编码………………………………………………………………12
第4节 串行接口芯片…………………………………………………………………13
4.1 串行接口芯片74HC595………………………………………………………………13
4.2 硬件电路图……………………………………………………………………………15
第5节 源程序……………………………………………………………………16
结束语………………………………………………………………………………20
参考文献 ………………………………………………………………………21
第1节 引 言
1.1概述
随着人们生活环境的不断改善和美化, 在许多场合可以看到彩色霓虹灯。L ED 彩灯由于其低廉的造价以及控制简单等特点而得到了广泛的应用, 用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上式样的L ED 彩灯控制器大多数用全硬件电路实现, 电路结构复杂、功能单一, 这样一旦制作成品只能按照固定的模式闪亮, 不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多,电路复杂,功率损耗大而且样式单调,缺乏用户可操作性。影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。
1.2 本设计任务
本文提出了一种基于A T 89C51 单片机的彩灯控制方案, 实现对L ED 彩灯的控制。本方案以A T 89C51 单片机作为主控核心, 与键盘、显示、驱动等模块组成核心主控制模块。在主控模块上设有8 个按键和5 位七段码LED 显示器, 根据用户需要可以编写若干种亮灯模式,利用其内部定时器T0 实现一个基本单位时间为5m s 的定时中断, 根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。
随着大规模集成电路的出现和发展,芯片生产厂家把中央处理器CPU(Central Processing Unit),随机存取内存RAM(Random Access Memory),只读存储器ROM(Read Only Memory),定时器/计数器以及I/O(Input/Output)接口电路等主要计算机部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片微型计算机(single chip microcomputer),直译为单片机。
虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义,又称微型处理部件MCU(Micro Controller Unit),单片机商品名称为微控制器单元。单片机具有优异的性能价格比、体积小、可靠性高、控制功能强,广泛应用在智能仪表、机电一体化、实时过程控制、机器人、家用电器、模糊控制、通信系统等领域。本文详细介绍了基于AT89S51单片微型计算机电子显示屏的硬件设计与软件编程。
第2节 系统的硬件构成及功能
2.1 MCS-51系列单片机:
根据单片机能够一次处理的数据的宽度(二进制位数),单片机分为1位机、4位机、8位机、16位机、32位机。
目前,应用最广的产品是8位单片机,其中又属Intel公司出品的MCS-51系列单片机应用最广。MCS-51系列单片机已经成为事实上的工业标准,其内部包含如下功能部件:
(1) 一个 8位的中央处理器CPU,完成运算和控制功能;
(2) 一个片内振荡器及时钟电路,外接石英晶体和微调电容需外接,为单片机产生时钟脉冲序列,系统允许的晶振频率0~33MHz;
(3) 256B RAM数据存储器,前128单元作内部数据存储器,可擦写的数据,后128单元为专用寄存器。
(4) 两个16位定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
(5) 可寻址的64KB外部数据存储器以及控制电路。
(6) 可寻址的64KB外部程序存储器以及控制电路。
(7) 21个特殊功能寄存器
(8) 32条可编程的I/O线(四个8位I/O并行端口)
(9) 一个可编程全双工串行口,可作全双工异步通信收发器使用,实现单片机和其它设备之的串行资料传送;也可作为同步移位器使用
(10) 五个中断源,外中断2个,定时/计数中断2个,串行中断1个;两个优先级,全部中断分为高级和低级共两个优先级。
(11) 根据内部程序存储器ROM多少,MCS-51系列主要芯片与差异
8031 片内无ROM
8051 片内4K掩膜ROM
8751 片内4K紫外线可擦除可编程程序存储器,EPROM
89C51 片内4K电可擦除可编程程序存储器,FLASH EEPROM
89S51 片内4K电可擦除可编程程序存储器,FLASH EEPROM,支持ISP
89S52 片内8K电可擦除可编程程序存储器,FLASH EEPROM,支持ISP
2.2 MCS-51系列单片机引脚:
MCS-51系列单片机是标准的40引脚双列直插式集成电路芯片,如下图。
a.外形图 b.引脚图
图1 MCS-51系列单片机图
2.3 MCS-51系列单片机最小系统最低配置:
MCS-51系列单片机最小系统是指单片机要工作所必须保证的最低配置,如图:
2.4 点阵知识:
采用8*8点阵显示汉字:如果亮用1表示、暗用0表示,共8*8=64个LED,用64个二进制表示,64/8=8个字节,即每个字需要8个字节记录。
采用16*16点阵显示汉字:如果亮用1表示、暗用0表示,共16*16=256个LED,用256个二进制表示,256/8=32个字节,即每个字需要32个字节记录。
LED 点阵显示器结构
第3节LED 点阵显示数据编码
3.1 5X7点阵显示数据编码
3.2 16X16点阵显示数据编码
第4节 串行接口芯片
单片机应用系统中除了CPU、内存,外部设备也是必不可少的。外部设备与外部设备之间、外部设备与CPU之间的工作电压和工作速度并不一定相同。于是出现了CPU与外部设备连接、匹配问题,不同的外部设备硬件接口电路、涉及到的软件程序都相应改变。
计算机接口技术就是研究CPU与外部设备、外部设备与外部设备之间最佳匹配的一门学科。MCS51单片机共有32个I/O口,都是双向口,可以作输入口也可以作输出口使用。32个I/O口划分为4个8位的并行I/O口,从0开始编码,分别称为P0、P1、P2、P3,在单片机内部数据存储器中的地址分别为 0x80、0x90、0xA0、0xB0,具有字节寻址和位寻址功能。
作为字节寻址时,一次性可以输出或输入8个二进制数据——并行口。作为位寻址时,一次性只能输出或输入1个二进制位信息——串行口。当外部设备比较多时,引脚不够用,需要用接口芯片进行扩展。
4.1 串行接口芯片74HC595:
引脚图
内部结构图
真值表
输入引脚
功能
备注
G
SCLR
SI
SCK
RCK
*
G=1, 输出禁止;G=0,输出允许
一般使用时
G接地线
SCLR接电源
*
为0清除所有移位寄存器中数据
*
二进制数据输入引脚
0->1
SI数据进入第一个移位寄存器
0->1
移位寄存器数据进入输出寄存器
4.2硬件电路图:
本电路采取6个74HC595,两个控制行,4个控制列。
第4节 源程序
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV R0,#00H
LOOP1: MOV R1,#00H
LOOP2: MOV A, R0
MOV B, #6
MUL AB
ADD A,R1
MOV DPTR,#TAB00
MOVC A,@A+DPTR
CALL DISPLAY
INC R1
CJNE R1,#06H,LOOP2 ;每行数据的个数
CLR P1.1
SETB P1.1 ;0-->1时,输出并行数据
CALL DELAY
INC R0
CJNE R0,#14H,LOOP1 ;共有几行数据
JMP MAIN
;输出一个字节的程序
DISPLAY: MOV R2,#00H
DISLOOP: RLC A
MOV P1.0,C
CLR P1.2
SETB P1.2 ;0-->1时,数据串行移位
INC R2
CJNE R2,#08H,DISLOOP ;1个字节等于8个二进制
RET
;延时程序
DELAY: MOV R5,#3
DEL01: MOV R6,#200
DEL02: MOV R7,#250
DEL03: DJNZ R7,DEL03
DJNZ R6,DEL02
DJNZ R5,DEL01
RET
TAB00: DB 0FFH,0FFH,0FFH,0FFH, 00H, 00H ;全亮
DB 00H, 00H, 00H, 00H, 00H, 00H ;全暗
DB 0FFH,0FFH,0FFH,0FFH, 00H, 00H ;全亮
DB 00H, 00H, 00H, 00H, 00H, 00H ;全暗
TAB01: DB 0FFH,0FFH,0FFH,0FFH,0ffH,0feH ;第0行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,0fdH ;第1行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,0fbH ;第2行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,0f7H ;第3行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,0efH ;第4行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,0dfH ;第5行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,0bfH ;第6行亮
DB 0FFH,0FFH,0FFH,0FFH,0ffH,07fH ;第7行亮
DB 0FFH,0FFH,0FFH,0FFH,0feH,0ffH ;第8行亮
DB 0FFH,0FFH,0FFH,0FFH,0fdH,0ffH ;第9行亮
DB 0FFH,0FFH,0FFH,0FFH,0fbH,0ffH ;第A行亮
DB 0FFH,0FFH,0FFH,0FFH,0f7H,0ffH ;第B行亮
DB 0FFH,0FFH,0FFH,0FFH,0efH,0ffH ;第C行亮
DB 0FFH,0FFH,0FFH,0FFH,0dfH,0ffH ;第D行亮
DB 0FFH,0FFH,0FFH,0FFH,0bfH,0ffH ;第E行亮
DB 0FFH,0FFH,0FFH,0FFH,07fH,0ffH ;第F行亮
END
结束语:
通过这次课程设计,我开始了解单片机的一些相应的周边知识。单片机是一门实践性很强的课程,光光一个单片机并不能发挥什么作用,必须要和其它的芯片一起才能最大可能的发挥它的各种各样的功能。为了做这个课程设计我查阅了不少单片机的资料,图书馆关于单片机的书基本上都被我们班同学借光了。上网查找相应的资料,某些地方不大明白就上网向别人请教。最后完成了这篇课程设计。在这次设计的过程中,软件编程是比较难的环节,因为用的是汇编语言,汇编语言是低级语言,不像高级语言哪么直观,算法的实现也比较困难,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,才能实现LED灯的相应的功能,在编程上需要花大量的时间在里面。我决定以后要多看看编程方面的书,做出更好的设计。
参考资料:
1、 张有德,单片微型机,复旦大学出版社,2000.6
2、 蔡美琴,MCS-51系列单片机系统及应用,高等教育出版社,1981.12
3、 何力明,MCS-51系列单片机应用系统设计,北航出版社,1998.11
4、 李广第,单片机基础,北京航空航天大学出版社,1994.6
5、 周航慈,单片机应用程序设计,北京航空航天大学出版社,1991.8
6、 张有得.涂时亮.赵志英,实用子程序及其应用,复旦大学出版社,1988.3
7、 戳生辉等,单片机原理及其应用,西安电子科技大学出版社,1988
8、 何立民,MCS-51系列单片机应用系统设计-系统配置与接口技术,航空航天大学出版社 1900
展开阅读全文