89C51单片机定时器控制的流水灯
基于单片机AT89C51控制的键控流水灯_课程设计报告
图3-5流水灯模块图
3.3
图3-6 键控流水灯图
4
#include<reg51.h>
#define smg1 P0
#definelsd1P1
#define smg2P2
unsignedinti=1,u=7,j,n,c,k,h=7,s=1;
voidsjms3(void);
voidsjms4(void);
voidsjms5(void);
voidmsms1(void);
voidmsms2(void);
voidmsms3(void);
voidmsms4(void);
voidmsms5(void);
voidzd1(void);
voidzd2(void);
3.2.5
发光二极管就是LED,是一种由磷化镓等半导体材料制成的、能直接将电能转换成光能的发光显示器件。当其内部有一定电流通过时,就是发光。发光二极管具有功耗低、体积小、可靠性高、寿命长和相应快等优点。
流水灯模块采用16个LED发光二极管,通过代码的编写,实现五种流水移动,其中电阻的作用是保护二极管,向它提供较小的电流,防止二极管因为电流过大而烧毁。
1
单片机控制系统能够取代以前利用复杂电子线路或者数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在的单片机的控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
2
2.1
随着经济的发展、科技的突飞猛进,芯片业得到了迅速的发展,是单片机技术在各种民用和工业控制等领域得到更广泛的应用。单片机凭借其低成本、高性能的不可代替优势已经成为了微电脑 控制的主力军。学习单片机的有效方法是将理论与实践并重,因此通过对单片机可控流水灯的设计和研究,鼓励学生在熟悉基本原理的前提下,与实际应用相联系,提出自己的方案,来完善设计,使得他们更好的掌握单片机的应用。
51单片机 流水灯 ~ 花样灯 程序
单片机为89c52 晶振为11.0592,/***此程序为流水灯*** /#include<reg52.h>#include<intrins.h>#define uchar unsigned char //宏定义#define uint unsigned intuchar led;void delay(uint z) //延时子函数体{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(){led=0xfe; //赋初值while(1){P1=led; //点亮第一个小灯delay(100); //延时100毫秒led=_crol_(led,1); 将led的变量左移给下一位}}/*8个发光管间隔200ms由上至下,返回再由上至下,一个个往下亮,后全亮由下至上,返回再由下至上,一个个往下亮,后全亮再重复2次,然后全部熄灭再以500ms间隔全部闪烁3次。
重复此过程*/#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar led;uint i,j;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main(){while(1){for(j=0;j<2;j++){led=0xfe; //赋初值for(i=0;i<8;i++){P1=led; //点亮第一个小灯delay(200); //延时200毫秒led=_crol_(led,1); //将led变量循环左移给下一位}led=0xfe; //赋初值for(i=0;i<8;i++){P1=led; //点亮第一个小灯delay(200); //延时200毫秒led<<=1; //左移给下一位}led=0x7f; //赋初值for(i=0;i<8;i++){P1=led; //点亮第一个小灯delay(200); //延时200毫秒led=_cror_(led,1); //将led变量循环右移给下一位}led=0x7f; //赋初值for(i=0;i<8;i++){P1=led; //点亮第一个小灯delay(200); //延时200毫秒led>>=1; //右移给下一位}}for(j=0;j<6;j++){P1=~P1; //全部取反6次,即闪烁5次delay(500); //延时500毫秒}}}。
基于51单片机的流水灯
基于51单片机的流水灯利用51单片机P0口实现8个LED(发光二极管)的流水灯控制。
可以使用Proteus软件进行仿真调试。
1 硬件设计利用单片机的PO口控制8个LED,其电路如下图所示。
在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。
单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“LSD.DSN”。
在器件选择按钮中单击“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示都可以不画,它们都是默认的。
在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER和GROUND放置电源和地。
放置好元件后,布好线。
左键双击各元件,设置相应元件参数,完成电路图的设计。
2 软件设计流水灯又称为跑马灯,在函数中可以将P0口的八种不同状态做成一维数组,循环执行即可,如下所示。
当然也可以采用其它函授来实现,如左移一位<<1(或右移一位>>1),循环左移函授_crol_(或循环右移函授_cror_)等。
/****************************************************************** 流水灯*******************************************************************/ #include "reg51.h"const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void delayms(unsigned int x) //延时{unsigned int j;unsigned char k;for(j=0;j<x;j++){for(k=0;k<120;k++);}}void main(){unsigned char k;while(1){for(k=1;k<8;k++){P0=tab[k];delayms(500);}}}打开Keil程序(本人使用的是Keil8.05中文版),执行菜单命令“工程”→“新建工程”创建“流水灯”项目,并选择单片机型号为AT89C51。
毕业设计(论文)-基于AT89C51单片机的简易流水灯的软硬件设计
江西渝州科技职业学院电子技术专业专科毕业论文论文题目:流水灯学生姓名:学号:班级:指导老师:专业:二0一一年十一月江西渝州科技职业技术学院电子专业(专科)毕业论文摘要当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的流水灯,主要介绍了利用AT89C51制作一简易流水灯的软硬件设计过程,可实现花样流水灯的效果,重点给出了其软件编程的思想方法,以期给单片机学习者以启发。
[关键词]:单片机,LED彩灯;AT89C52江西渝州科技职业技术学院电子专业(专科)毕业论文ABSTRACTThe present era is an era of endless new technologies in the electronics field, especially in the field of automated intelligent control, the traditional discrete components or digital logic circuits of the control system is at an unprecedented pace has been replaced by MCU intelligent control system. SCM has a small volume, strong function, low cost, wide application scope, etc., can be said that the core of intelligent control and automation is the microcontroller. At present, a learning and application of SCM is the climax of factories, schools and the rise of large-scale enterprises. As the times progress and development, and SCM technology has spread to the way we live, work, research in various fields has become a relatively mature technology, this article introduces a microcomputer-based flow control, lights, introduces AT89C51 produced using a simple hardware and software design process flow lights can be synchronized to achieve the effect of light flowing water, with emphasis given way of thinking of its software programming, with a view to the microcontroller to inspire learners.[Keywords]: MCU, LED Lantern; AT89C51江西渝州科技职业技术学院电子专业(专科)毕业论文目录引言 (5)一元件介绍 (6)1.1 AT80C51的基本特征及引脚 (6)1.2 电阻 (7)1.3电容 (8)1.4发光二极管的结构及发光原理 (9)1.5三端稳压集成电路7805 (10)二设计任务 (11)2.1设计的要求 (11)三总体设计方案 (11)3.1系统硬件电路设计 (11)3.1.1电源电路设计 (11)3.1.2程序流程图 (11)3.1.3主体电路的设计 (12)3.2系统程序设计 (14)结束语 (16)展望 (17)参考文献 (18)江西渝州科技职业技术学院电子专业(专科)毕业论文引言随着人们生活水平的提高,环境的不断改善和美化,在许多场合可以看到彩色的流水灯。
基于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灯从左到右闪烁。
stc89c51单片机流水灯程序
51单片机流水灯程序程序一(用C语言编的最基础的程序)#include<reg52.h>#include<stdio.h>sbit D0=P1^0;//位定义,把P1口的第一个管脚定义为D0 sbit D1=P1^1;// 位定义,把P1口的第二个管脚定义为D1 sbit D2=P1^2;// 位定义,把P1口的第3个管脚定义为D2 sbit D3=P1^3;// 位定义,把P1口的第4个管脚定义为D3 sbit D4=P1^4;// 位定义,把P1口的第5个管脚定义为D4 sbit D5=P1^5;// 位定义,把P1口的第6个管脚定义为D5 sbit D6=P1^6;// 位定义,把P1口的第7个管脚定义为D6 sbit D7=P1^7;// 位定义,把P1口的第8个管脚定义为D7 void main(){while(1)//建立大的死循环。
{unsigned int i,j;D0=0,D7=1;//亮灯1,关灯8for(i=50;i>0;i--)for(j=200;j>0;j--);//两个FOR组成的延时D0=1,D1=0;// 亮灯2,关灯1for(i=50;i>0;i--)for(j=200;j>0;j--);D1=1,D2=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D2=1,D3=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D3=1,D4=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D4=1,D5=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D5=1,D6=0;for(i=50;i>0;i--)for(j=200;j>0;j--);D6=1,D7=0;for(i=50;i>0;i--)for(j=200;j>0;j--);}}程序二(用swich case语句编的)#include<reg52.h>//51单片机的头文件。
用AT89C51单片机实现流水灯的控制设计方案
用AT89C51单片机实现流水灯的控制设计当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
1.引言目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。
2.硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。
因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
其具体硬件组成如图1所示。
点击看原图图1 流水灯硬件原理图从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
基于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显示器倒计数显示准行或禁行时间。
AT89CS51单片机32个IO口流水灯
#include<reg51.h> //51系列单片机定义文件#define uchar unsigned char //定义无符号字符#define uint unsigned int //定义无符号整数void delay(uint); //声明延时函数void main(void){uint i;uchar temp;while(1){temp=0x01;for(i=0;i<8;i++) //8个流水灯逐个闪动 {P1=~temp;delay(100); //调用延时函数temp<<=1;}temp=0x80;for(i=0;i<8;i++) //8个流水灯反向逐个闪动 {P1=~temp;delay(100); //调用延时函数temp>>=1;}temp=0xFE;for(i=0;i<8;i++) //8个流水灯依次全部点亮{P1=temp;delay(100); //调用延时函数temp<<=1;}temp=0x7F;for(i=0;i<8;i++) //8个流水灯依次反向全部点亮 {P1=temp;delay(100); //调用延时函数temp>>=1;}}}void delay(uint t) //定义延时函数{register uint bt;for(;t;t--)for(bt=0;bt<255;bt++);}******************************************************************* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *******************************************************************/**************************************************************文件说明:流水灯C程序程序说明:MCU采用AT89S51,外接11.0592M晶振,P2口输出*************************************************************/#include<REG51.H>#include<INTRINS.H>#define uchar unsigned char /*定义无符号字符*/#define uint unsigned int /*定义无符号整数*/void delayms(unsigned char ms) /* 延时子程序*/{register uint bt;for(;ms;ms--)for(bt=0;bt<255;bt++);}main(){unsigned char LED;LED = 0xef;P2 = LED;while(1){delayms(200);LED = _crol_(LED,1); /*循环右移1位,点亮下一个LED*/P2 = LED;}}============================================================= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ =============================================================/************************************************************** 51单片机流水灯C语言源程序文件说明:流水灯C程序程序说明:MCU采用AT89S51,外接11.0592M晶振,P2口输出*************************************************************/ #include<reg51.h> //51系列单片机定义文件#define uchar unsigned char //定义无符号字符#define uint unsigned int //定义无符号整数void delay(uint); //声明延时函数void main(void){uint i;uchar temp;while(1){temp=0x01;for(i=0;i<8;i++) //8个流水灯逐个闪动{P2=~temp;delay(100); //调用延时函数temp<<=1;}temp=0x80;for(i=0;i<8;i++) //8个流水灯反向逐个闪动{P2=~temp;delay(100); //调用延时函数temp>>=1;}temp=0xFE;for(i=0;i<8;i++) //8个流水灯依次全部点亮{P2=temp;delay(100); //调用延时函数temp<<=1;}temp=0x7F;for(i=0;i<8;i++) //8个流水灯依次反向全部点亮 {P2=temp;delay(100); //调用延时函数temp>>=1;}}}void delay(uint t) //定义延时函数{register uint bt;for(;t;t--)for(bt=0;bt<255;bt++);}。
双灯点亮循环控制流水灯设计
一、系统功能要求设计以AT89C51为核心并用它来控制发光二极管双灯点亮循环的实验装置,用AT89C51单片机控制8个发光二极管发光,实现亮点以12HZ频率又高到低位两两循环移动。
通过PROTEUS软件设计、仿真,并能从中掌握通过软件控制发光二极管的思路和技巧。
二、系统硬件电路设计(一)设计思路本系统电路由四部分组成:时钟电路、复位电路、输出部分、89C51芯片首先介绍图1其中主要部分电路功能如下图所示:①时钟电路用于产生单片机工作时所需的时钟信号,在芯片的外部通过19脚、18脚接晶体振荡器和微调电容,形成反馈电路,构成一个稳定的自激振荡器。
电路中的C1、C2 一般取30pF左右,而晶体振荡器的频率范围通常是1.2-12MHZ,晶体振荡器的频率越高,震荡频率就越高。
②本部分电路起上电复位的作用。
③输出部分采用红、绿、蓝、黄四种颜色的二极管,让流水灯在移动的时候色彩鲜明、便于观察,该系统采用8个发光二极管,两两从高位到地位流水移动。
RN1排阻的作用是保护二极管,向它提供较小的电流,防止二极管因为电流过大而烧毁。
④在设计图中,89C51芯片是核心,P0,P1,P2,P3口均可以作为I/O口使用。
本电路中使用P1口作为输出口。
(二)单片机原理8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
单片机AT89C51可控流水灯课程设计报告(汇编语言)参考模板
目录目录 (1)第一章课题的意义及应用 (2)第二章系统的总体设计 (3)2.1 设计方法 (3)2.2 数码管显示方案 (3)2.3 键盘输入方案 (4)第三章硬件电路设计 (4)3.1电路原理 (4)3.2单片机最小系统 (5)3.3系统工作流程 (5)第四章程序设计 (6)4.1系统总体结构框图 (6)4.2 系统流程图 (6)第五章调试 (7)5.1正常现象 (7)5.2出现的故障 (7)第六章心得体会 (9)参考文献 (9)附录1 (10)程序: (10)附录2 (19)仿真电路图: (19)实验箱接线图: (19)流程图: (20)第一章课题的意义及应用当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。
计算机作为一种快速通用的计算工具方便了用户的使用。
计算机可谓是我们最亲密的电子伙伴之一。
本设计着重在于分析计算机软件和开发过程中的环节和步骤,并从实践经验出发对计算机设计做了详细的分析和研究。
单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。
在工业生产中。
单片微型计算机是微型计算机称单片机,特别适用于控制领域,故又称为微控制器。
单片机的应用日益广泛,如应用在仪器仪表,家用电器和专卖装备的智能化以及过程控制等方面,单片机在人们的日常生活和工作中正扮演着越来越重要的角色。
本系统就是充分利用了AT89C51芯片的I/O引脚。
系统以采用MCS-51系列单片机为中心器件来设计LED流水灯系统,实现8个LED流水灯的各种显示方式,并实现循环的速度可调,暂停及复位功能。
通过本次课题设计,应用《单片机原理及接口技术》等所学相关知识及查阅资料,完成可控流水灯设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。
基于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口,硬件开销大,电路复杂。