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