毕业设计34基于AT89C51单片机和keilc软件的流水灯设计
基于单片机AT89C51控制的键控流水灯课程设计报告
基于单片机AT89C51控制的键控流水灯课程设计报告————————————————————————————————作者:————————————————————————————————日期:宁波技师学院课程设计报告论文题目键控流水灯专业班级 ___学生姓名指导教师 _____宁波技师学院电气技术系二零一三9年21月摘要:单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括定时计数器、串口通信口、显示驱动电路,脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统.这些电路在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务.键控流水灯设计通过编写代码实现16个LED灯5种流水灯显示方式。
在设计中主要采用AT89C51这款芯片作为控制主体,用按钮来切换流水灯的发光方式来显示流水灯的发光模式。
系统通过P1口外接16个发光二极管,P3口接2个按键,一个按键进行方式选择,数码管显示方式编号;用一个键来控制流水灯流动的速度。
数码管接在AT89C51的P0和P2口上,而流水灯的发光二极管经过电阻接在P1口上。
设计中辅以简单的设备和必要的电路,设计了一款流水灯,最终达到预期的目的。
目录概述 .......................................................................................................... 错误!未定义书签。
1引言 ......................................................................................................... 错误!未定义书签。
2课题综述 .................................................................................................................... 错误!未定义书签。
基于AT89C51单片机花式流水灯的设计与实现
科技风2019年1月电子信息4通过protus 软件设计的电路图如下图示:基于AT 89C 51单片机花式流水灯的原理图输出部分电路:发光二极管采用共阳极接法,阴极通过限 流电阻R 与+5v 电源连接,阴极连接到单片机的H ) 口的引脚 上。
要实现发光二极管的点亮,考虑到二极管的单向导电性, 若P 0 口输出低电平,二极管点亮,若P 0 口输出髙电平,则二极 管熄灭。
输入电路部分:在P 1.0接控制电路,按下S 1键时,P 1.0引 脚接地,所以P 1.0引脚电平被降为低电平,因此,可以通过检 测P 1.0引脚的电平判断按键S 1是否按下。
if (k %2= = l ) //若奇数次按下按钮,则流水灯执行第二 种状态| P 0 = 0xA A ; //01、03、05、1)7亮,02、1)4、06、08灭delay (30000);P 0 = 0x 55; //02、1)4、1)6、08亮,01、03、05、07灭delay (30000);m其中k 的值通过按键S 1控制,每按下S 1时,k 就自增1;当 k %2 = 0时,说明k 为偶数,执行流水灯依次点亮的程序,当k % 2 = 1时,说明k 为奇数,执行流水灯4亮4灭闪烁的程序。
若 需要在3种状态之间切换,则对3求余即可,以此类推。
按下按键时,通常都会有抖动,表面上看来是按按键一次, 但是因为按键的抖动,单片机会判断出按按键很多次,从而输 入不可控。
此问题可以用“软件消抖”来解决。
当第一次检测 到按键按下时,不采取动作,延时一段时间后,按键按下信号依 然存在,则认为按键被按下,再执行相应的动作。
3总结本以AT 89C 51单片机为主控芯片,以8个发光二极管 为载体,设计流水灯的硬件电路和软件程序,通过k e il 和Proms 软件仿真对结果进行验证,达到了预期的效果。
参考文献:[1] 王东锋,王会良,董冠强.单片机C 语言应用100例•电 子工业出版社,2009,07.[2] 吴文兵,脱建智.基于51单片机的流水灯的设计与实 现[J ].电子技术与软件工程,2016(08) :258.作者简介:范昭君(1987-),女,硕士,讲师,研究方向为智 能机器人。
流水灯控制系统设计
目录第1章方案的论述以与与最终方案的确定......................... - 1 -1.1第一种方案的论述. (1)1.2第二种方案的论证 (1)1.3第三种方案的论述 (1)1.4最终方案的确定 (2)第2章硬件设计.................................................. - 3 -2.1总体方案设计分析. (3)2.2系统逻辑框图 (3)2.3主要元器件简介 (3)2.3.1 8086CPU ························································································- 3 -2.3.2 地址锁存器74LS373的内部电路与工作原理························- 6 -2.3.3 可编程外围接口芯片8255A的简介.........................................- 8 -第3章软件设计.................................................- 13 -3.1程序流程设计.. (13)3.1.1 主程序流程·················································································· - 13 -3.1.2 程序流程图·················································································· - 14 -3.1.3 系统硬件连接图········································································· - 15 -3.1.4 源程序设计(附录) ....................................................................... - 15 -3.2设计最终理想结果与原理.. (15)3.2.1 左向移动流水灯········································································· - 15 -3.2.2 右向移动流水灯········································································· - 15 -设计心得·························································- 17 -参考文献·························································- 18 -附录······························································- 19 -第1章方案的论述以与与最终方案的确定1.1 第一种方案的论述第一种方案,使用AT89C51单片机实现流水灯闪烁设计。
基于单片机AT89C51的彩灯循环控制系统的设计
目录摘要 (1)第1章绪论 (2)第2章系统设计方案 (3)2.1设计方案介绍 (3)2.2组成方案各部分的功能介绍 (3)第3章硬件电路设计 (5)3.1电源电路 (5)3.2主控器 (5)3.2.1 单片机的引脚及相关功能 (5)3.2.2 8051单片机内部结构 (7)3.3单片机最小系统的介绍 (8)3.3.1 单片机最小系统组成 (8)3.3.2 复位电路 (9)3.3.3 时钟电路 (10)3.4彩灯循环和数码管显示电路 (11)3.5模式控制电路 (12)3.6整机电路工作原理 (13)第4章系统软件设计 (14)4.1主程序设计流程图 (14)4.2彩灯循环模式转换程序设计 (15)4.3中断程序设计 (18)第5章电路仿真与调试 (20)5.1用K EIL C51软件编译程序 (20)5.2电路仿真 (21)总结 (25)参考文献 (26)附录1 整机电路原理图 (27)附录2 元件明细表 (28)附录3 源程序设计 (29)摘要本设计提出了一种基于AT89C51单片机的彩灯循环控制的方案,实现对LED灯的控制。
本方案以89C51单片机作为主控核心,以按键、显示、驱动等模块组成核心主控制模块。
进一步熟悉和掌握89C51单片机的结构及工作原理,掌握单片机的接口技术及相关外围芯片的外特性和控制方法。
通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。
本设计完成后,能掌握以单片机核心的电路设计的基本方法和技术。
根据用户需要可以编写各种亮灯模式的程序,用户可以根据不同场合选用不同的彩灯循环方式。
与普通LED彩灯相比,它具有体积小、价格低、低能耗等优点。
通过完成一个包括电路设计和程序开发完整过程,了解开发以单片机应用系统的全过程,为今后从事相应工作打下基础。
关键词89C51单片机;中断;循环第1章绪论当今社会中,循环彩灯在人们的日常生活中有着日益重要的作用。
它不仅能美化环境,渲染气氛,还可以用于娱乐场所和电子玩具中,并且在不同场所都各具特色。
基于单片机AT89C5控制的花样调速流水灯课题设计报告
基于单片机AT89C5控制的花样调速流水灯课题设计报告宁波技师学院课程设计报告论文题目花样调速流水灯专业班级学生姓名学号指导教师宁波技师学院电气技术系2013 年9月目录第1章系统设计 (1)1.1 数码管显示方案 (1)1.2 按键输入方案 (1)第2章硬件电路设计 (2)2.1电路原理 (2)2.2系统工作流程 (2)第3章软件设计 (3)3.1系统资源分配 (4)3.2软件模块设计 (6)第四章调试¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨94.1 正常现象¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨104.2出现的故障¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨11第5章总结 (7)参考文献 (7)附录1硬件电路图 (8)附录2软件代码 (14)第1章系统设计1.1 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。
基于at89c51的流水灯设计
8只LED从左到右闪烁
实验原理
AT89C51 单片机是一种低功耗且电压性能高的8位单片机,内部除CPU外,还包括128字节RAM,4个8位并行I/O口,6个中断源,2个中断优先权2个16位可编程定时器/计数器,片内集成4K字节可改变程序的FLASH 内存,具有低功耗、速度快、程序擦写方便等优点,完全满足本系统设计的需要。
实现发光二极管(LED)闪烁实际上就是让LED亮一下灭一下,即让LED导通一会儿关断一会即可。
因此,只需要将LED发光二极管的一个极接到电源上,另一个极接到单片机32个I/O口的任何一个即可。
本实验采用流水灯形式,8只LED灯从左到右闪烁,可应用与霓虹灯,夜间彩灯等。
1.C文件程序
/* 名称:8只LED从左到右闪烁*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
P0=0xfe;
while(1)
{
P0=_crol_(P0,1); //P0的值向左循环移动
DelayMS(150);
}
}
2.硬件仿真
烧入kell生成的.hex文本
运行:
结果:8只LED灯从左到右闪烁。
基于单片机的带流水灯的音乐盒设计解析
前言本次课程设计是一个基于AT89C51系列单片机的音乐盒的设计,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器和led显示电路组成。
使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路led的变化花样。
本音乐盒共有两首歌曲,花样灯花样共计3种。
播放歌曲时,蜂鸣器发出某个音调,与之对应的led亮起。
本设计利用keil编程软件对音乐盒源程序进行编程并调试,配合proteus仿真软件对硬件进行仿真调试。
该音乐盒使用c语言编程和汇编语言相结合,程序段使用C语言,歌曲音谱和led显示花样使用汇编语言。
目录绪论 (1)1.设计题目要求 (2)1.1课题意义 (2)1.2设计目的 (2)1.3设计要求 (2)2 方案设计及硬件设计及其原理 (2)2.1方案设计和硬件设计 (2)2.1.1系统总体方案设计 (2)2.1.2音乐盒设计 (3)2.1.3硬件总体设计 (3)2.1.4硬件仿真图及功能 (4)2.2相关知识,原理和理论介绍 (5)2.2.1 AT89C52简介 (5)2.2.2 LED显示电路设计与原理 (5)2.2.3 时钟振荡电路 (5)2.2.4 花样灯3种花样图 (6)3软件设计 (7)3.1音调、节拍以及编码的确定方法 (7)3.1.1音调的确定 (7)3.1.2节拍的确定 (8)3.1.3编码 (9)3.2软件程序设计 (10)3.2.1主程序流程图 (10)3.2.2播放音乐子程序设计 (13)3.3调试成果 (15)4心得体会 (15)参考文献 (17)附录 (18)绪论21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。
电子信息工程专业毕业论文--基于AT89C51单片机的音乐流水灯设计
摘要随着科技和经济的快速发展,人们对生活质量和生活环境的要求不断的提高,多彩多样的彩灯成了现今装饰和美化的时尚和潮流。
千姿万态的流水灯能给人一种视觉冲击。
拟采用单片机AT89C51去实现这种千变万化的流水灯。
单片机技术是一种传统和典型的技术,具有智能化、体积小、集成度高和价格低廉等许多独特的优点。
而且单片机明显优越于其他电子电路,其硬件电路和软件方面都不是特别复杂。
本设计将所学的单片机的理论和动手实践结合起来,主要利用AT89C51单片机设计并制作一个音乐流水灯。
首先设计一个稳定的直流电源电路,然后设计一个复位电路,为单片机的正常工作提供条件,然后再设计时钟电路和声音驱动电路,可以使单片机能够更好的控制与编译音乐部分,另外还设计一个通信电路以方便单片机和PC机的连接与通信,最后还需要设计按键电路用来控制音乐流水灯。
为了使蜂鸣器能够正常的发生还需设计一个音频电路。
硬件电路设计后要将各模块连接起来进行仿真和调试。
软件设计部分则需要将各电路模块进行编译,并设计音乐频率程序、流水灯程序和按键程序,同时将其进行仿真调试和组合调试。
以实现在播放音乐时LED灯有千变万化的效果,以满足对视觉上的享受。
关键词:单片机;音乐;流水灯;仿真;ABSTRACTWith the science and technology and the economy the rapid development, people pairs quality of life and living environment the requirements of continuously improve, colorful and diverse of the lantern became a nowadays decorative and beautify's fashion and trend. Zi million-state of flowing water lamp can give a person one kinds visual impact. Intends to adopt AT89C51 microcontroller to go achieve such kaleidoscopic of flowing water lights. MCU technology is a kind of tradition and typical technical, with intelligent, the volume is small, high integration and price inexpensive and so on many unique advantages. Moreover single-chip obviously superior to other electronic circuit, its hardware circuits and software aspects of are not particularly complicated.The single-chip design will combine theory and practice, the main use AT89C51 single-chip design of a musical water lights. First, design a stable DC power supply circuit, and then design a reset circuit for the microcontroller to provide normal working conditions, and then design a clock circuit and sound driver circuit, will enable MCU to better control and compile music part, in addition to design a to facilitate communication circuit chip and PC connectivity and communication, and finally also need to design the circuit to control the music keys light water. In order to make the buzzer to normal design an audio circuit needs to happen. After the hardware circuit design to connect the modules for simulation and debugging. Software design will need to be compiled each circuit module, and the design frequency of the music program, water lights and key procedures, and its combination of simulation debugging and debugging. When playing music in order to achieve a kaleidoscopic effect LED lights to meet the visual enjoyment.Key words:MCU; Music; Light water;Simulation目录摘要 (I)ABSTRACT (II)目录 (1)1. 绪论 (1)1.1 单片机的概念 (1)1.2 单片的历史、发展和应用 (4)2. 总体设计 (6)2.1 设计要求 (6)2.2 设计方案选择 (6)2.3 整体设计思路 (6)3. 系统硬件设计与部分电路说明 (8)3.1 硬件设计框图 (8)3.2 部分电路说明 (8)3.2.1 电源及启动电路 (8)3.2.2 复位电路 (9)3.2.3 时钟电路 (10)3.2.4 通信电路 (10)3.2.5 键盘电路 (11)3.2.6 流水灯电路 (11)3.2.7 音频电路 (12)3.3 电路原理图及说明 (12)4. 系统软件电路设计与分析 (13)4.1 音乐程序设计 (13)4.1.1 音乐程序流程图 (14)4.2 流水灯设计 (16)4.2.1 流水灯程序流程图 (16)4.2.2 流水灯程序 (16)4.3 音乐流水灯程序 (16)4.3.1 音乐流水灯程序流程图 (16)4.3.2 音乐流水灯程序 (17)5. 系统调试与仿真 (19)5.1 硬件调试 (19)5.2 软件调试 (19)5.3 软件仿真 (19)总结 (22)致谢 .................................................................................................... 错误!未定义书签。
基于AT89C51单片机花式流水灯的设计与实现
基于AT89C51单片机花式流水灯的设计与实现作者:范昭君来源:《科技风》2019年第01期摘要:本论文采用protus仿真软件和keil编程软件,设计了以AT89C51单片機为核心控制单元,以8位发光二极管设计输出电路,以按钮电路组成输入电路,实现按钮按下时,流水灯的在2种状态之间任意切换的效果,通过软硬件仿真验证设计的合理性和正确性。
关键词:单片机;protus;流水灯;状态切换1 绪论单片机技术是计算机技术的一个重要分支,其应用领域极其广泛,已逐渐渗透至各个领域,流水灯技术的应用使我们所生活的环境得到进一步的美化,例如城市亮化工程上灯光控制;色彩斑斓的霓虹灯广告牌里的灯光控制、流水控制;舞台设计的灯光和音响控制;广告设计的文字显示以及灯光显示等等。
本文以AT89C51单片机P0、P1口应用为核心,构造流水灯的硬件设计和软件编程,从而实现8位流水灯在两种状态之间任意切换的效果。
2 系统设计2.1 任务目标流水灯是指一组在控制系统的控制下按照设定的顺序和时间来发亮和熄灭的灯。
本文以AT89C51单片机的P1.0口的按钮S1控制P0口的发光二极管的状态,若按动按钮的次数是偶数时,进入流水灯第一种状态:依次点亮D1至D8,若再次按下按钮,按按钮的次数由偶数变为奇数,则进入第二种状态:D1、D3、D5、D7亮,D2、D4、D6、D8灭,延时一段时间,D2、D4、D6、D8亮,D1、D3、D5、D7灭,如此循环,并用keil编程软件和protus仿真软件对以上进行仿真。
2.2 硬件设计流水灯的硬件电路由3部分组成,第一部分是单片机模块—-单片机AT89C51,第二部分是输出模块—8个发光二极管组成的负载电路,第三部分是输入模块—按钮组成的电路。
在该项目中,共用到下表所列的元器件。
输出部分电路:发光二极管采用共阳极接法,阴极通过限流电阻R与+5v电源连接,阴极连接到单片机的P0口的引脚上。
要实现发光二极管的点亮,考虑到二极管的单向导电性,若P0口输出低电平,二极管点亮,若P0口输出高电平,则二极管熄灭。
基于STC-89C51的流水灯的设计与实现
开放与创新实验设计报告设计题目:基于STC-89C51的流水灯的设计与实现指导老师:设计时间:开放与创新实验任务书一、设计任务设计题目:按键式流水灯设计。
设计内容:本设计是按键式流水灯设计,给出如下需求:整个流水灯系统由按键控制,实现各种状态(4种状态)之间的转换,即按键第一次压下,流水灯进入到第一种状态;按键第二次压下,流水灯进入到第二种状态;以此类推。
二、系统需求基本要求:利用STC-89C51单片机作为系统核心控制部分,用16个发光二极管模拟流水灯的显示部分,自己设计电路和程序完成流水灯设计。
发挥部分:1.使用外部中断作为对按键的控制。
2.用硬件定时器完成流水灯状态转换间的延时,延时误差小于20×10-6s.开放与创新实验_流水灯设计报告流水灯控制系统设计摘要:本系统由单片机系统、数码显现管、LED 显示等部分组成。
系统能够实现以下功能:往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。
用两个数码管来显示被点绿亮的指示灯还将点亮多久。
往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。
当南北方向为绿灯或黄灯时,东西方向的红灯点亮禁止通行;而东西方向为绿灯或黄闪灯时,南北向的红灯点亮禁止通行。
交通信号灯控制方式很多。
本设计采用MSC-51系列单片机STC89C51和可编程并行I/O接口芯片8255,8155为中心器件来设计交通灯控制器,实现了用,8155芯片控制数码显现管,PC口进行段选,PB进行位选,来设置红、绿灯点亮倒计时的功能;由8255芯片控制12个LED 灯来实现红绿黄灯状态,红绿灯循环点亮,倒计时结束后黄灯闪烁警示。
在设计中采用了硬件技术与软件技术相结合的方法,用STC-89C51的定时器T0,设定30秒倒计时时间,然后再利用软件进行技术,从而产生秒信号。
定时器T0用了中断方式,当定时时间到时,在T0断服务程序中实现秒的倒计数,从而控制LED显示器倒计数显示准行或禁行时间。
单片机之流水灯 AT89C51
单片机之流水灯AT89C51流水灯是单片机入门必学的一个实验。
这里面主要涉及的操作就是移位操作,还有就是对延时的控制。
在没有接触定时器的时候,可以用for 语句来进行延时,当然并不能做到精准延时,可以通过在试验箱上的实验现象,来修改延时时间的长短。
#include #define uchar unsigned char#define uint unsigned intvoid delay(){uchar m,s,n;for(m=20;m>0;m--)for(s=20;s>0;s--)for(n=248;n>0;n-- );}/*上面这个延时到底延时了多长时间,可以通过keil 中的反汇编看到。
晶振为12MHz。
机器周期为1us。
指令又分为单周期指令、双周期指令*//*************************************反汇编**************************/C:0x0054 12005A LCALL delay(C:005A) //开始调用延时函数跳转这是双周期指令2us 35: }C:0x0057 0A INC R2C:0x0058 80D6 SJMP C:0030 5: void delay() 6: { 7: uchar m,s,n; 8: for(m=20;m>0;m--)C:0x005A 7F14 MOV R7,#0x14 //单周期指令1us 9: for(s=20;s>0;s--)C:0x005C 7E14 MOV R6,#0x14 10: for(n=248;n>0;n--); 11: C:0x005E 7DF8 MOV R5,#0xF8C:0x0060 DDFE DJNZ R5,C:0060 //248*2us 双周期指令C:0x0062 DEFA DJNZ R6,C:005E //20*(248*2+3)usC:0x0064 DFF6 DJNZ R7,C:005C //20*(20*(248*2+3)+3)us 12: }C:0x0066 22 RET //双周期指令2us 即总共延时:循环内延时+循环外延时(5us)=496+9980+199660+5 约等于0.2 秒/***********************************************************************/void main(void){ uchar temp;uchar a,b,i;while(1){ temp=0xfe;P1=temp;for(i=0;i>(8-i); //右移有符号数符号位会保留,正数高位补。
基于AT89C51的流水灯选择器的设计
2.2 数码管显示原理
LED 数码管是由多个发光二极管封装在一起组成“8”字行的器件,引线已在内部连接 完成,只需引出它们的各个笔划及公共电极。LED 数码管常用段数一般为 7 段,有的另加 一个小数点。LED 数码管根据 LED 的接法不同分为共阴和共阳两类。数码管的引脚如图 1 所示,共有 10 个引脚,abcdefg 引脚主要用于显示字段, DP 引脚用于显示小数点,当我们 要显示数字时只需将相对应的字段接电平即可,共阴型的接高电平,共阳的接低电平。以共 阳型为例, 如果我们想显示 0, 则应该将数码管的 abcdef 接低电平, 其他引脚接高电平即可。 设计中用到的 LED 数码管为共阴型 7 段数码管,当要显示数据时只需向相对应的段传送高 电平即可。
lamp3[10]={0x3b,0x7b,0x54,0xcf,0x66,0x9d, 0x73,0x7c,0x83,0x96}; //------------------延迟 1ms----------------// void delay(uint z) { uint x,y; for (x=z;x>0;x--) for (y=123;y>0;y--); } // --按下按键 1 时对数码管及 LED 的显 示控制--// void play1() {
4.调试结果
以按键 1 为例 初始化程序时结果如图 6 所示,初始化时 P0=0x3f;P2=0x00,故当按键未按下时数码管 显示 0,LED 全灭。
图 6 初始化时图片
当按键按下时,LED 灯开始闪烁,闪烁间隔时间为 0.8S,因 lamp1[0]=0xa6;故刚开始 时自左往右可看到灯 2、3、6、8 亮,灯 1、4、 5、7 灭, lamp1[8]=0x97,故在第九个状态 时自左往右可看到灯 4 、6、7 灭,其他都为亮。第一个状态时灯的亮灭情况如图Байду номын сангаас7 所示, 第 九个状态时灯的亮灭情况如图 8 所示。
基于单片机AT89C51控制的花样调速流水灯课题设计报告.
宁波技师学院课程设计报告论文题目花样调速流水灯专业班级学生姓名学号指导教师宁波技师学院电气技术系2013 年9月目录第1章系统设计 (2)1.1 数码管显示方案 (2)1.2 按键输入方案 (1)第2章硬件电路设计 (2)2.1电路原理 (2)2.2系统工作流程 (2)第3章软件设计 (3)3.1系统资源分配 (4)3.2软件模块设计 (6)第四章调试¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨94.1 正常现象¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨104.2出现的故障¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨11第5章总结 (7)参考文献 (7)附录1硬件电路图 (8)附录2软件代码 (14)第1章系统设计1.1 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。
但占用I/O口线多,每一个LED都要占用一个I/O口,硬件开销大,电路复杂。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 (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:来自反向振荡器的输出。