当前位置:文档之家› 毕业设计34基于AT89C51单片机和keilc软件的流水灯设计

毕业设计34基于AT89C51单片机和keilc软件的流水灯设计

目录摘要 (1)关键词 (1)Abstract (2)Keyword (2)1 AT89C51单片机简介 (3)1.1 单片机的发展 (3)1.2 单片机的分类 (3)1.3 AT89C51的介绍 (3)1.3.1 AT89C51的结构 (3)1.3.2 AT89C51主要特性 (4)1.3.3 AT89C51的管脚说明 (4)2 keilc软件及ledkey控件介绍 (6)2.1 keilc软件介绍 (6)2.2 ledkey控件介绍 (7)2.2.1 ledkey控件的开发 (7)2.2.2 ledkey控件原理图 (7)2.2.4 ledkey控件的使用 (7)2.2.5举例说明 (8)3多花样流水灯硬件设计 (9)3.1 Ledkey控件原理图 (9)3.2 功能介绍 (9)4多花样流水灯软件设计 (11)4.1程序功能 (11)4.2程序流程图 (12)5 多花样流水灯的仿真 (13)结语 (14)参考文献 (15)附录1:花样流水灯的程序代码 (16)附录2:花样流水灯功能表 (19)附录3:keilc软件和ledkey控件介绍相关图片 (20)基于AT89C51单片机和keilc软件的流水灯设计摘要:本文介绍了花样流水灯的软件设计过程,重点给出了其软件编程的方法,使学者对汇编语言有个初步了解。

通过对单片机发展、分类、硬件原理图的介绍,特别是AT89C51的介绍,具体到其结构、特性、管脚说明等,让单片机学者对51系列单片机有了初步的认识。

在程序实现方面通过文字说明和相应的图片又充分的介绍了keil软件及控件使用方法。

关键词:单片机;编程;控件;仿真Design of glide light base on single chip of AT89C51 and keilcsoftwareAbstract:This paper introduces an software design procedure for multiform pomadeng,especially lies out the method of the program software, so that scholars can have a preliminary understand for program language. According to introduce the development, sort of single chip and hardware illustrative diagram, especially the introduce of AT89C51, in particular , referring to the explain of its structure , specialty ,pin’ instruction. For this introduce , the scholars of single chip can have an initial understand for the sort of single chip. And then We have sufficient introduce for the keil software and widget of using method by means of the words and pictures, in aspect of the program’ realization.Key word: single chip; program; widget; emulate1 AT89C51单片机简介1.1单片机的发展单片机(又称为微控制器)的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占熬头。

51系列单片机是国内目前应用最广泛的8位单片机之一,经过二十多年的推广与发展,51系列单片机形成了一个规模庞大、功能齐全、资源丰富的产品群。

随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51单片机的发展又进入了一个新的阶段。

特别是近年来,基于单片机的嵌入式实时操作系统的出现和推广,表明了51系列单片机在今后的许多年中依然会活跃如故,而且在很长一段时间中将占据嵌入式系统产品的低端市场。

1.2 单片机的分类MCS-51系列单片机品种很多,如果按照存储器配置状态,可划分为:片内ROM型,如80(C)5X;片内EPROM,如87(C)5X;片内FlashEEPROM型,如89C5X;内部无EPROM型,如80(C)3X。

如果按照其功能,可分为:(1)基本型,有8031、8051、8031AH、8751、89C51和89S51等。

(2)增强型,有8052、8032、8752、89C52和89S52等。

(3)低功耗型,有80C5X、80C3X、87C5X和89C5X等。

(4)高级语言型,如,8052AH-BASIC芯片内固化有MCS BASIC52解释程序,其BASIC语言能与汇编语言混用。

(5)可编程记数阵列(PCA)型。

(6)A/D型。

(7)DMA型。

(8)多并行接口型。

(9)在系统可编程(ISP)型。

(10)JTAG调试型。

1.3 AT89C51的介绍AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。

具体体现在以下几点:1.3.1 AT89C51的结构(1)8位微控制器。

8位指的是微控制器内部数据总线、寄存器宽度。

比如计算机(PC)所用的CPU,第一代PC的CPU8088/8086到第二代PC的CPU80286都为16位CPU;而从80386到目前的Pentium4都属于32位的CPU。

尽管如此,目前所采用的单片机微控制器,仍是以8位为主,只有在特殊场合,才会采用16位的单片机,如8096等。

(2)程序存储器ROM:内部有4KB、外部最多可扩充至64KB。

(3)数据存储器ROM:内部有128B、外部最多可扩充至64KB。

(4)4组可位寻址的8位输入/输出端口,即P0、P1、P2及P3。

(5)一个全双工串行口,即UART。

(6)5个中断源,即INT0、INT1、T0、T1、RXD或TXD。

(7)111个指令。

1.3.2 AT89C51主要特性(1)8031 CPU与MCS-51 兼容(2)4K字节可编程FLASH存储器(寿命:1000写/擦循环)(3)全静态工作:0Hz-24KHz(4)三级程序存储器保密锁定(5)128*8位内部RAM(6)32条可编程I/O线(7)两个16位定时器/计数器6个中断源(8)可编程串行通道(9)低功耗的闲置和掉电模式(10)片内振荡器和时钟电路1.3.3 AT89C51的管脚说明(1)VCC:供电电压。

(2)GND:接地。

(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

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

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下列所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

(7)RST:复位输入。

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

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

(8)/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

(9)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电(VPP)。

(10)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

(11)XTAL2:来自反向振荡器的输出。

相关主题