基于单片机的LED流水灯控制系统设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《单片机应用技术》

课程设计报告

2015 ~ 2016 学年第 2 学期

题目:基于单片机的LED流水灯控制系统设计专业:电气工程及其自动化

班级: 13电气(2)班

姓名:杨光单亚

指导教师:陆媛宋洪儒

成绩:

电气工程学院

2016年 6月9 日

任务书

摘要 (1)

第一章 AT89S51单片机硬件介绍 (2)

1.1 AT89S51单片机硬件组成 (2)

1.2 AT89S51管脚说明 (3)

1.2.1 电源及时钟引脚 (4)

1.2.2控制引脚 (4)

1.2.3并行I/O口引脚 (4)

第二章硬件电路设计 (6)

2.1 时钟电路设计 (6)

2.2复位电路设计 (7)

2.3 LED灯显示电路 (7)

2.4 LED流水灯总硬件图 (8)

第三章软件设计 (9)

3.1软件设计流程图 (9)

3.2 延时程序 (9)

3.3 主程序 (9)

3.4LED流水灯总程序 (10)

第四章 Proteus虚拟设计与仿真 (11)

4.1 Proteus虚拟设计与仿真流程 (11)

4.2 Proteus ISIS下电路设计 (11)

4.3源程序设计与生成目标代码文件 (12)

4.3.1 源程序输入 (12)

4.3.2源程序编译与调试 (14)

4.4 Proteus ISIS与Keil Vision2 联调 (15)

第五章电路板制作 (16)

5.1元器件清单 (16)

5.2 元器件布局 (16)

5.3 元器件焊接 (17)

5.4电路板验收 (17)

总结 (18)

参考文献 (19)

单片机(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

学习单片机就免不了要编写程序,目前使用较为广泛的是C语言。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

目前使用较多的单片机芯片为AT89S51.AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。

关键词:单片机 C语言 AT89S51

第一章 AT89S51单片机硬件介绍

单片机应用的特点是编写程序来控制硬件,所以,首先熟知并掌握AT89S51单片机片内硬件的基本结构和特点。

1.1 AT89S51单片机硬件组成

AT89S51单片机的片内硬件组成结构如图1-1所示,它把那些作为控制应用所必需的基本外围部件都集成在一个集成芯片上。AT89S51具有如下外围部件:

图1-1 AT89S51单片机片内结构

1、4k Bytes Flash片内程序存储器;

2、128 bytes的随机存取数据存储器(RAM);

3、32个外部双向输入/输出(I/O)口;

4、2个中断优先级、2层中断嵌套中断;

5、5个中断源;

6、2个16位可编程定时器/计数器;

7、2个全双工串行通信口;

8、看门狗(WDT)电路;

9、片内振荡器和时钟电路;

10、与MCS-51兼容;

11、全静态工作:0Hz~33MHz;

12、三级程序存储器保密锁定;

13、可编程串行通道;

14、低功耗的闲置和掉电模式。

1.2 AT89S51管脚说明

AT89S51单片机多采用40只引脚的塑料双列直插封装方式,如图1-2所示。40只引脚按功能可以分为如下3类:

(1)电源及时钟引脚:v cc、v ss、XTAL1、XTAL2;

(2)控制引脚:PSEN、ALE/PROG、EA/VPP、RST

(3)I/O口引脚:P0、P1、P2、P3

图1-2 AT89S51双列直插封装方式的引脚

1.2.1 电源及时钟引脚

VCC(40引脚):电源电压输入端

GND(20引脚):电源地

XTAL1(19引脚):片内振荡器反相放大器和时钟发生器的输入端。

XTAL2(18引脚):片内振荡器反相放大器的输出端。

1.2.2控制引脚

ALE/PROG(30引脚):地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE 只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA/VPP:外部程序存储器访问允许。当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

1.2.3并行I/O口引脚

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作

相关文档
最新文档