单片机控制的花样流水灯设计
单片机控制的花样流水灯设计目录引言 (3)1. 绪论 (4)2 相关元件及电路设计 (4)2.1 AT89C52芯片功能特性及应用 (4)2.2 AT89C5252单片机 (5)2.2.1 AT89C52单片机的硬件结构 (5)2.2.2主要性能参数 (6)2.2.3 AT89C52管脚说明 (7)2.2.4 外部总线构成 (11)2.3 单片机时钟电路及时钟时序单位 (12)2.4单片机的复位 (13)2.4.1 复位状态 (13)2.4.2 复位电路 (14)3.Keil C51开发系统基本知识Keil C51开发系统基本知识 (15)4 电路及程序设计 (16)4.1 电路原理图设计 (16)总结 (17)参考文献 (18)附录 (19)引言单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C52单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发更快地成为单片机领域的优秀人才。
1. 绪论当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
本设计用AT89C51单片机自制了一款简易的花样流水灯,介绍了其硬件电路及软件编程方法,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料。
本课题将以发光二极管作为发光器件,用单片机自动控制,实现一个简易的花样流水灯设计。
2 相关元件及电路设计2.1 AT89C52芯片功能特性及应用单片机在我们的日常生活和工作中无处不在、无处不有:家用电器中的电子表、洗衣机、电饭褒、豆浆机、电子秤;住宅小区的监控系统、电梯智能化控制系统;汽车电子设备中的ABS、GPS、ESP、TPMS;医用设备中的呼吸机,各种分析仪,监护仪,病床呼叫系统;公交汽车、地铁站的IC卡读卡机、滚动显示车次和时间的LED点阵显示屏;电脑的外设,如键盘、鼠标、光驱、打印机、复印件、传真机、调制解调器;计算机网络的通讯设备;智能化仪表中的万用表,示波器,逻辑分析仪;工厂流水线的智能化管理系统,成套设备中关键工作点的分布式监控系统;导弹的导航装置,飞机上的各种仪表等等。
有资料表明:2007年全球单片机的产值达到151亿美元,我国单片机的销售额达到400亿元人民币,我国每年单片机的需求量达50至60亿片,是全球单片机的最大市场。
可以说单片机已经渗透到了我们生活的各个领域。
AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。
AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。
其主要工作特性是:(1)片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;(2)片内数据存储器内含256字节的RAM;(3)具有32根可编程I/O口线;(4)具有3个可编程定时器;(5)中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;(6)串行口是具有一个全双工的可编程串行通信口;(7)具有一个数据指针DPTR;(8)低功耗工作模式有空闲模式和掉电模式;(9)具有可编程的3级程序锁定位;(10)AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;在AT89C52芯片内部有一个高增益反相放大器,用于构成振荡器。
反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率通常是24MHz。
若晶体振荡器频率高,则系统的时钟频率也高,单片机的运行速度也就快2.2 AT89C5252单片机2.2.1 AT89C52单片机的硬件结构AT8952系列单片机内部采用模块式结构,其结构组成框图如图1所示。
程序存储器数据存储器图1 AT8952系列单片机组成框图由图1可见,MCS-52系列单片机主要由以下部件通过片内总线连接而成:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、并行输入/输出口(P0口~P3口)、串行口、定时器/计数器、中断控制、总线控制及时钟电路。
2.2.2主要性能参数•8K字节可重擦写Flash闪速存储器•1000次可擦写周期•全静态操作:0Hz-24MHz•三级加密程序存储器•256×8字节内部RAM•32个可编程I/O口线•3个16位定时/计数器•8个中断源•可编程串行UART通道•低功耗空闲和掉电模式图 2 AT89C52外部引脚图2.2.3 AT89C52管脚说明VCC:电源GND:接地P0口:P0口是一个8位漏级开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0口端口写“1”时,引脚作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接受指令字节:在程序效验时,输出指令字节。
程序效验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位是双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。
对P1口写“1”时,内部上拉电阻的原因,将输出电流I LL。
此外,与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输出(P1.1/T2EX),具体如下表所示。
表 1 P1.0和P1.1的第二功能引脚号功能特性P1.0 T2(定时/计数器2外部计数脉冲在Flash编程和校验时,P1口接收低8位地址字节。
P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲级可驱动吸收或输出电流4个TTL逻辑电平。
对P2口写“1”时,通过内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流I LL。
在访问外部好曾许存储器或用16位地址读取外部数据存储器时,P2口送出高8位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口接收低8位地址字节和一些控制信号。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。
对P3口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入端口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流I LL。
P3口除了作为一般、的I/O口线外,更重要的是它的第二功能,如下表所示。
表 2 P3口引脚第二功能在Flash编程和校验时,P3口也接收一些控制信号。
RST:复位输入。
晶振工作时,RST脚持续2个机器周期以高电平将使用单片机复位。
ALE/PROG:地址锁存器控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(PROG)也使用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位的设置对微控制器处于外部执行模式下无效。
PSEN:外部程序储存器选通信号(PSEN)是外部程序存储器选通信号。
当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据储存器时,PSEN将不被激活。
EA VPP:访问外部程序存储器控制信号。
为使能从0000H—FFFFH的外/部程序存储器读取指令,EA端必须保持低电平(接地)。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接受12伏VPP电压。
XTA L1:振荡器反相放大器及内部时钟发生器的输入端。
XTA L2:振荡器反相放大器的输出端。
MCS-52系列单片机的引脚封装主要有: PDIP40、PLCC44和PQFP/TQFP44。
不同封装的芯片其引脚的排列位置有所不同,但他们的功能和特性都相同。
方形封装(PLCC44和POFP/TQFP44)有44引脚,其中4个NC为空引脚。
采用40引脚PDIP封装的80C52单片机的引脚排列及逻辑符号如图2所示。
由于工艺及标准化等原因,芯片的引脚数量是有限的,但单片机为实现控制所需要的信号数目却远远超过其引脚数目。
为解决这一矛盾,单片机的某些信号引脚被赋以双重功能。
1)电源及电源复位引脚:(1)V CC (40脚):正常操作时接+5V 直流电源。
单片机最小系统实现花样流水灯
3.灯阵从由下顶点开始,以逆时针依次点亮,最后回到下顶点。
4.灯阵从由下顶点开始,以顺时针依次点亮,最后回到下顶点。
5.先奇数灯点亮,然后偶数灯点亮,呈交替状态。
6.所有灯先同时点亮,后同时熄灭,呈闪烁状态。
7.以上六种状态依次运行。
以上七种运行方式, 由外部中断(微动开关) 控制,即一次中断运行状态1, 两次中断运行状态2,… 当遇到第八此中断时,再次从状态1开始。
uchar ID;
uchar cnபைடு நூலகம்=0; uint j;
void main()
{SP=0x50;
P1=0x00;
//P0=0x00;
EA=1;
IT0=1;
EX0=1;
TMOD=0x10; TH1=15536/256;
TL1=15536%256;
ET0=1; TR0=1;
ID=1;cnt=0; while(1){if(ID>7)
功;最后用keil C编程软件及STC-ISP下载软件完成STC89C5单 片机对外围流水灯设计的整体控制。
三、设计需求
整个流水灯系统由按键控制,实现各种状态之间的转换,即按 键第一次压下,流水灯进入到第一种状态;按键第二次压下,流水 灯进入到第二种状态;以此类推。
四、设计材料
序号
器件
数量
功能
1
STC-89C52单片机最小系统板
基于STC-89C51的流水灯的设计与实现
一、设计目的
以STC-80C51单片机最小系统为核心,设计多样式流水灯。掌 握外围LED电路的设计方法,熟练掌握C51软件编程控制方法,实 现LED闪烁功能,最终完成单片机的应用与外围电路的开发任务。
花样流水灯单片机课程设计
单片机课程设计------花样广告灯的设计院系:电气与自动化工程学院班级:ZB02131姓名:陈达旺学号:ZB02131021前言城市夜景中,变幻多姿的霓虹灯历来是一道亮丽的风景。
利用单片机的自动控制功能,设计出相应不同的电路,可以实现彩灯不同模式的流水效果。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心即使单片机。
单片机的最明显的优势,就是想入到各种仪器,设备中。
本课程是利用AT80C51单片机的自动控制功能,并结合其它电子元器件以及软件实现的流水灯,实现不同种类的流水现象。
2摘要本次课程设计笔者以两种不同颜色的16个LED灯接在P0,P1两个输出端口的花样点亮方法结合8x8点阵的使用以及外接一个数码管,从而显示一个广告灯的流程。
本次设计结合了点阵,中断,数码管,LED灯,数组,计时等程序,虽说对我们初学者来说是有点难度,尤其是要花时间自学点阵之类的知识,但是经过我的那么长时间的努力,总算把这个设计课题完成了,虽然有不少缺陷但是还是有点小小的满足感!本次设计实现的功能:分为两个模式,模式0和模式一通过数码管显示。
模式1为8x8点阵屏显示箭头符号从左至右循环流动,模式0为先由LED灯花样点亮后箭头自左向右流过。
关键字:AT89C51单片机,黄色和绿色LED 灯,,数码管,花样流水灯,8x8点阵屏3电路程序设计1、程序流程图如下所示:2、程序代码如下: #include<reg51.h>#include<intrins.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intsbit RCK_Pin=P3^2;sbit s27=P3^3 ;uchar code DSY_CODE[]={0x3f,0x06};uchar code Pattern_P0[]={ 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff 开始 开关选择是否为0 Y N 模式0 (数码管显示) 模式 1 (数码管显示) 流水灯花样点亮,之后点阵屏显示的箭头流动 点阵屏显示的箭头循环流动uchar code Pattern_P2[]={ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};uchar code DSY_CONTENT_8x8[ ]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xE3,0x81,0x00,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,};uchar Scan_BIT=0x01;uchar Offset,Data_Index=0;void Delay(uint t){uchar i;while (t--)for(i=0;i<120;i++);}void T0_Led_Display_Control() interrupt 1{TH0=(65536-1000)/256;TL0=(65536-1000)%256;Scan_BIT=_cror_(Scan_BIT,1);putchar(Scan_BIT);while (TI==0);putchar( DSY_CONTENT_8x8[Offset+Data_Index+8]);while (TI==0);putchar( DSY_CONTENT_8x8[Offset+Data_Index]);while (TI==0);Data_Index=(Data_Index+1)%8;RCK_Pin=1;RCK_Pin=0;}void main (){uchar i;while(1){ if (s27==0){ P1=DSY_CODE[0];}for(i=0;i<136;i++){P0=Pattern_P0[i];P2=Pattern_P2[i];Delay(100);} ;if(s27==1){ P1=DSY_CODE[1];}for (i=0;i<32;i++){TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-1000)%256;IE=0x82;TCON=0x00;TI=1;Offset=i;TR0=1;Delay(50);TR0=0;} ;}}3、Protues 仿真图如下:点阵屏部分数码管部分花样流水灯部分、完整的仿真图4总结本次课程设计我的课题是花样广告灯的设计,刚开始我针对这个课题的任务要求从图书馆、上网等渠道获取相关信息,查找相关的参考资料,然后设定了本课题的设计方案。
基于C51单片机4按键4种花样流水灯设计
}
if(k4==0){
delay(10);
if(k4==0){
flag1=0;
flag2=0;
flag3=0;
flag4=1;
}
}
}
/**************主程序************************/
void main() {
while(1)
{keyscan();
if(flag1==1){
void delay(uint x)
{
uint i;
while(x--)
for(i=50;i>0;i--);
}
/******************判断按键***********************/
void keyscan()
{ if(k1==0)
{delay(10);
if(k1==0)
{
flag2=0;
基于c51单片机4按键4种花样流水灯设计单片机流水灯电路图单片机流水灯程序单片机流水灯按键控制流水灯单片机按键消抖程序单片机按键程序单片机按键控制led单片机按键电路单片机独立按键程序
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
/************************流水灯花样设计********************/
uchar table1[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfc,0xff};/***从右到左逐一点亮反向灭之**/
(完整版)单片机控制的花样流水灯设计_毕业设计
目录引言 (2)1. 绪论 (3)2 相关元件及电路设计 (3)2.1 AT89C52芯片功能特性及应用 (3)2.2 AT89C5252单片机 (5)2.2.1 AT89C52单片机的硬件结构 (5)2.2.2主要性能参数 (6)2.2.3 AT89C52管脚说明 (7)2.2.4 外部总线构成 (12)2.3 单片机时钟电路及时钟时序单位 (13)2.4单片机的复位 (16)2.4.1 复位状态 (16)2.4.2 复位电路 (16)3.Keil C51开发系统基本知识Keil C51开发系统基本知识 (18)4 电路及程序设计 (20)4.1 电路原理图设计 (20)总结 (22)参考文献 (22)附录 (23)引言单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和IO接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
单片机花样流水灯课程设计
单片机花样流水灯课程设计一、课程目标知识目标:1. 理解单片机的基本原理和功能,掌握单片机编程的基本语法;2. 学习并掌握流水灯的设计原理和实现方法;3. 了解花样流水灯的创意设计,能够运用所学知识进行简单的创新设计。
技能目标:1. 能够独立完成单片机的编程和调试,实现基本流水灯效果;2. 学会运用逻辑思维和问题解决能力,分析并解决流水灯编程过程中的问题;3. 提高团队协作能力,通过与同学合作完成更复杂的花样流水灯设计。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣和热情,激发创新精神;2. 培养学生面对困难时的积极态度,勇于尝试和解决问题的勇气;3. 增强学生的环保意识,让学生明白电子制作中的资源节约和环保重要性。
分析课程性质、学生特点和教学要求:本课程为单片机花样流水灯课程设计,适用于高年级学生。
学生已具备一定的单片机基础知识,具备初步编程能力。
课程性质为实践性、创新性和团队合作性。
在教学过程中,注重培养学生的实际操作能力和创新思维,同时强调团队协作能力的提升。
根据以上分析,课程目标分解为以下具体学习成果:1. 学生能够独立完成基本流水灯编程和调试;2. 学生能够分析并解决流水灯编程中的问题;3. 学生能够与团队成员合作,完成至少两种不同花样流水灯的设计与实现;4. 学生能够撰写实验报告,总结课程学习心得和创新体会。
二、教学内容根据课程目标,教学内容分为以下三个部分:1. 单片机基础知识回顾- 章节链接:课本第三章“单片机原理与编程基础”- 内容列举:单片机的基本结构、工作原理、I/O口编程。
2. 流水灯原理与编程实现- 章节链接:课本第四章“单片机实践与应用”- 内容安排:- 流水灯设计原理- 延时函数的使用- I/O口控制LED亮灭- 流水灯编程实现3. 花样流水灯设计与创新- 章节链接:课本第四章“单片机实践与应用”及附录“创意电子制作”- 内容安排:- 流水灯花样设计思路- 逻辑编程技巧- 创新设计方法- 团队合作与分工教学进度安排:1. 第一周:回顾单片机基础知识,完成I/O口编程训练;2. 第二周:学习流水灯原理,完成基本流水灯编程;3. 第三周:学习花样流水灯设计,进行创新实践;4. 第四周:团队协作,完成至少两种不同花样流水灯设计与实现;5. 第五周:撰写实验报告,总结课程学习。
基于51单片机的花样流水灯设计--学位论文
摘要摘要计算机技术的飞速发展和提高,把我们带入了崭新的时代,现在,计算机的应用已经深入到千家万户。
单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。
单片机在现在社会有着广泛的应用,小到人们的日常电子用品,大到航天飞机、宇宙飞船,上面都有单片机的广泛应用。
单片机具有体积小、功能强大、低功耗、应用广泛等特点。
以AT公司的芯片AT89C51 单片机来实现流水灯的设计。
本系统由单片机控制,I/O口接LED的负极,而LED的正极则直接与5V电源相连。
通过I/O口输出的低电平点亮LED灯。
因此可以通过控制单片机的I/O口的电平高低以达到控制LED,从而实现不同花样的流水灯的目的。
关键词:LED,单片机,高低电平变化ABSTRACTABSTRACTThe rapid development of computer technology and improving, bring us to the new era, now, the application of computer has been deep into the thousands. Single chip microcomputer is made on an integrated circuit chip computer, hereinafter referred to as single chip microcomputer. SCM has been widely used in the present society, small to People's Daily electronic products, big to aerospace aircraft, spacecraft, above has the wide application of single-chip microcomputer. SCM has small volume, powerful function, low power consumption, wide application, etc. AT the company's chip AT89C51 single-chip microcomputer to realize the water lamp design. This system controlled by single chip microcomputer, I/O ports connect the LED the cathode, and LED the anode is directly connected to 5V power supply. Through the I/O port output low level light leds. So you can single chip microcomputer control through the I/O ports to control LED, the level of high and low so as to realize the purpose of the different pattern of flowing water light.Key words:LED , MCU ,High and Low output leve目录第1章引言 (1)1.1 研究背景及意义 (1)1.2 国内外研究现状以及本系统的重点问题 (1)1.3 本文章节安排 (2)第2章系统设计方案论证 (3)2.1 控制器模块方案论证 (3)2.2 键盘模块方案 (4)2.3 电源模块方案 (4)第3章系统硬件设计方案 (5)3.1 系统设计框图 (5)3.2 硬件电路设计 (5)3.2.1 电源电路 (5)3.2.2 单片机89C52最小系统 (6)3.2.3 按键电路 (13)3.3.4 LED灯电路 (13)第4章程序设计及软件仿真 (15)4.1 软件设计框图 (15)4.2 软件开发平台选择 (15)4.3 软件系统功能模块 (16)4.3.1 初始化模块 (16)4.3.2 延时函数 (17)4.3.3 定时器控制模块 (17)4.3.4 键盘扫描模式 (17)4.3.5 LED灯输出控制模块 (18)4.4 程序调试仿真 (19)4.4.1 仿真平台介绍 (19)4.4.2 仿真测试 (19)第5章硬件调试 (21)5.1 硬件设计 (21)5.2 硬件调试 (21)5.2.1 下载功能调试 (21)5.2.2 LED电路测试 (21)5.2.3 模式选择功能调试 (22)5.2.4 速度加减功能调试 (22)5.2.5 复位电路调试 (22)5.2.6 稳定性测试 (22)总结 (23)致谢 (25)参考文献 (26)附录 (27)附录一:原理图 (27)附录二:硬件实物 (28)附录三:程序代码 (29)第1章引言第1章引言1.1 研究背景及意义现如今,随着集成化芯片的飞速发展,分立元件或数字逻辑电路正逐步被集成电路所取代,而单片机作为一种集成电路,其价格低廉,且可靠性强、控制简单但控制方法多样。
[设计]80C51控制流水灯
80C51单片机控制流水灯1使用汇编语言编写程序,8个LED灯接在P0口,显示出流水灯效果2用mov指令移位3用查表法显示流水灯4将P1口拨码开关设置状态读出,作为流水灯设置显示模式5在4的基础上加入控制功能,K0为低电平时,LED停止移动,K0高电平时,LED开始移动;K1为低电平时,LED左移,K1高电平时,LED 右移。
接线如下图:(一)用mov指令编写ORG 0000H ;定义程序初始地址JMP MAIN ;跳转至MAINORG 0030HMAIN: MOV A,#0FEH ;MOV R0,#08H ;设置移动8位LOOP1:MOV P0,A ;点亮第一个灯CALL DELAY ;调用延时程序RL A ;左移DJNZ R0,LOOP1 ;循环左移MOV R1,#08H ;设置移动8位LOOP2:RR A ;右移MOV P0,A ;输出CALL DELAY ;调用延时程序DJNZ R1,LOOP2 ;循环右移JMP MAIN ;跳转至MAIN DELAY:MOV R3,#20 ;延时程序定义D1: MOV R4,#100D2: MOV R5,#230DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND(二)用查表法ORG 0000H ; 定义程序地址从0000H开始存放JMP MAIN ;跳转至主程序ORG 0030H ;设置主程序地址MAIN:MOV DPTR,#TABLE ;将TABLE的地址赋给DPTRONE: CLR A;累加器清零MOVC A,@A+DPTR ;取出表中的数据CJNE A,#0FFH,TWO ;判断是不是表中最后的0FFH,如果不是则跳转至TWOJMP MAIN ;如果是表中最后的0FFH,则跳转至main,重新运行TWO: MOV P1,A ;将数据输出至p1口CALL DELAY ;调用延时程序INC DPTR ;修改指针DPTR,指向表中下一个数据JMP ONE ;跳转至oneDELAY:MOV R3,#20 ; 延时子程序定义D1: MOV R4,#100D2: MOV R5,#230DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETTABLE: ; 花样流水灯的表,可以自由定义DB 01111111BDB 10111111BDB 11011111BDB 11101111BDB 11110111BDB 11111011BDB 11111101BDB 11111110BDB 11111110BDB 11111101BDB 11111011BDB 11110111BDB 11101111BDB 11011111BDB 01111111B DB 11100111B DB 11011011B DB 10111101B DB 01111110B DB 10111101B DB 11011011B DB 11100111B DB 11100111B DB 11011011B DB 10111101B DB 01111110B DB 10111101B DB 11011011B DB 11100111B DB 01010101B DB 10101010B DB 00110011B DB 11001100B DB 11110000B DB 00001111BDB 0FFH ;用作表的结尾的标志,可自由定义END(三)拨码开关控制ORG OOOOH ;JMP MAINORG 0030H ;MAIN:MOV P1,#0FFH ;准双向口,先写1再读,防止读取出错MOV A,P1 ;读取P1的状态MOV P0,A ;将p1的状态输出到P0CALL DELA Y ;调用延时子程序JMP MAIN ;跳转到MAINDELAY:MOV R3,#20 ;延时子程序定义D1: MOV R4,#100D2: MOV R5,#230DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND(四)在(三)的基础上加上控制功能ORG 0000HJMP MAINORG 0030HMAIN: MOV P1,#0FFH ;准双向口,先写1再读,防止出错MOV A,P1 ;读取P1的状态MOV R0,A ; 保存A的状态TEST: JB P2.0,MOVING ;判断P2.0的电平,高电平时跳转至MOVINGJMP DISPLA Y ;跳转到DISPLA YMOVING:JB P2.1,RIGHT ;判断P2.1的状态,高电平时右移LEFT: RL A ;A左移一位JMP DISPLA Y ;跳转至DISPLA YRIGHT:RR A ;A右移一位JMP DISPLA Y ;跳转至DISPLA YDISPLA Y:MOV P0,A ;输出到P0口MOV R1,A ;保存A的状态CALL DELAY ;调用延时程序MOV A,R0 ;将R0保存的状态存到A中XRL A,P1 ;判断P1口的状态是否变化JNZ MAIN ;P1口状态变化,跳转至MAIN重新显示MOV A,R1 ;P1口状态不变,继续当前的状态显示JMP TEST ;跳转至TESTDELAY:MOV R3,#20 ; 延时程序定义D1: MOV R4,#100D2: MOV R5,#200DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RET。
单片机花样流水灯设计实验报告
**大学物理学院单片机花样流水灯设计实验课题: 花样流水灯设计班级: 物理 ***姓名: ***学号: ……………【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便与舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。
制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统与单片机智能控制系统等。
本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51与发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备与必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。
本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。
该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
关键字:AT89C51 单片机流水灯数码管【概述】1、单片机及其发展概况单片机又称为单片微计算机,其特点就是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。
单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。
2、 Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。
利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。
【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。
花样流水灯设计
单片机课程设计课程单片机课程设计题目花样流水灯院系电气工程及其自动化系专业班级1112 班学生姓名温亿锋学生学号20147年6月15 日指导教师张瑛一丶任务设计一款以 AT89C51单片机作为主控核心,按键控制电路、流水灯显示电路以及单片机最小系统等模块组成的核心主控制电路。
二丶设计要求通过发光二极管显示不同的花样(至少有六种花样),并且可以通过按键来控制流水灯的速度。
三丶设计方案本方案主要是通过对基于单片机的多控制、多闪烁方式的 LED 流水灯循环系统的设计,来达到本设计的要求。
其硬件构成框图如下图所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、 LED 发光二极管和 5V 直流电源组成。
单片机流水灯循环控制系统硬件框图此设计方案中单片机的 P1 口接 5路按键控制电路,实现流水灯花型的切换功能;单片机的 P3.7 引脚接上一个按钮开关以实现对流水灯闪烁频率的控制,即实现了快慢两种节拍实现花型的变换;单片机上的 P2口接八路 LED 发光二极管组成流水灯电路,显示流水灯循环情况。
四丶系统硬件设计4.1 直流稳压电源电路花样流水灯1对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模 块,电源电路的稳定可靠是系统平稳运行的前提和基础。
电子设备除用电池供电 外,还采用市电(交流电网)供电。
通过变压、整流、滤波和稳压后,得到稳定 的直流电。
直流稳压电源是电子设备的重要组成部分。
本项目直流稳压电源为 +5V 。
直流稳压电源的制作一般有 3 种制作形式,分别是分立元件构成的稳压电 源、线性集成稳压电源和开关稳压电源。
下图为稳压电源采用的是三端集成稳压 器 7805 构成的正 5V 直流电源。
三端固定式集成稳压电源电路图AT89C51 单片机的工作电压范围: 4.0V---5.5V ,所以通常给单片机外接 5V 直流电源。
此处用 3 节 1.5V 的干电池供电。
基于C51单片机4按键4花样流水灯4种LCD显示的设计
按下K1,LCD显示一种内容同时显示一种花样流水灯,按下K2, K3,K4也有不同的花样和内容。 代码如下: /**************************************************/ #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define out P0 #define LED P3 uchar i,flag1,flag2,flag3,flag4; /*****定义端口******/ sbit rs=P2^0; sbit rw=P2^1; sbit e=P2^2; sbit k1=P2^4; sbit k2=P2^5; sbit k3=P2^6; sbit k4=P2^7; //////////子函数/////////////// void check_busy(void); void write_command(uchar com); void write_data(uchar dat); void LCD_initial(void); void string(uchar ad ,uchar *s); void lcd_test(void); void delay(uint); /************************流水灯花样设计********************/ uchar table1[]= {0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};/** 从右到左点亮再灭之**/ uchar table2[]={0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff};/****两头分开 点亮再靠拢熄灭****/ uchar table3[]= {0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x9f,0xcf,0xe7,0xf3,0xf9};/****两灯 左右循环****/ uchar table4[]=
