单片机流水灯实训报告

合集下载

MCU实验报告--2-单片机控制流水灯设计、制作(1)

MCU实验报告--2-单片机控制流水灯设计、制作(1)

项目二单片机控制的流水灯设计、仿真及制作专业:17电子信息学号:19 姓名:张静一、实验目的和要求1、理解并行I/O口的输入/输出功能。

2、根据项目要求,设计电路,PROTEUS完成仿真,用面包板完成硬件制作。

3、实现单片机控制的LED闪烁,掌握电路设计、软件设计调试、源程序下载,软硬联调。

二、实验仪器设备1、PC机(PROTEUS,Keil)2、元器件3、面包板4、编程器三、实验步骤1、器件准备2、系统设计1)软件仿真----PROTUES 仿真2)、硬件设计在面包板上搭建电路。

3)、软件设计源程序#include<reg51.h>#include<intrins.h>void delay (unsigned int i){unsigned int k;for (k=0;k<i;k++);}void main(){P1=0x7F;while(1){P1=_cror_(P1,1);delay(5000);}}四、硬件(照片)五、项目扩展A 暗点流动仿真仿真图核心代码#include<reg51.h>#include<intrins.h>void delay (unsigned int i){unsigned int k;for (k=0;k<i;k++);}void main(){P1=0x07;while(1){P1=_cror_(P1,1);delay(5000);}}B 四个按键控制的LED灯----按键1启动,按键2 停止,按键3向上流水,按键4 向下流水1) 仿真仿真图2) 硬件制作(照片)核心代码#include<reg51.h>#define TIME 1200#include<intrins.h> sbit S1=P3^2;sbit S2=P3^3;sbit S3=P3^4;sbit S4=P3^5;void delay (unsigned int i) {unsigned int k;for (k=0;k<i;k++);}void main(){P1=0xff;while(1){if (S1==0){delay(TIME);if (S1==0)P1=0x00;} else if(S2==0){delay(TIME);if(S2==0)P1=0xFF;}else if(S3==0){delay(TIME);if (S3==0)P1=0x7f;while(1){P1=_cror_(P1,1); delay(10000);if (S4==0) break;}}else if (S4==0){delay(TIME);if (S4==0)P1=0x7f;while(1){ P1=_crol_(P1,1);delay(10000);if (S2==0) break;}}}}六、总结。

电路板流水灯实训报告

电路板流水灯实训报告

一、实验目的1. 掌握电子电路板的基本制作流程,包括电路设计、元件焊接、电路调试等。

2. 熟悉流水灯电路的工作原理,理解其电路设计及编程方法。

3. 提高动手能力和电子电路分析能力。

二、实验原理流水灯电路是一种常见的电子电路,通过单片机或其他控制器控制LED灯的依次点亮和熄灭,形成流水效果。

本实验采用51单片机作为控制器,通过编写程序控制LED灯的亮灭顺序,实现流水灯效果。

三、实验器材1. 51单片机实验板2. LED灯8个3. 电阻(220Ω)8个4. 接线端子5. 编程器6. 电源7. 焊接工具四、实验步骤1. 电路设计根据实验要求,设计流水灯电路原理图。

电路主要由51单片机的P0口输出,连接8个LED灯和8个220Ω电阻组成。

电阻起到限流作用,保护LED灯不被烧毁。

2. 元件焊接根据电路原理图,将元件焊接在实验板上。

注意焊接顺序和焊接质量,确保电路连接正确。

3. 编程使用编程器将编写好的程序烧录到51单片机中。

程序主要实现以下功能:- 初始化P0口为输出模式;- 设置延时函数,控制LED灯的点亮和熄灭时间;- 循环控制P0口的值,实现LED灯的流水效果。

4. 电路调试连接电源,观察LED灯的流水效果。

若流水效果不理想,检查电路连接是否正确,调整延时函数参数,直至达到预期效果。

五、实验结果与分析实验成功制作了一块流水灯电路板,实现了LED灯的流水效果。

实验过程中,遇到以下问题:1. 电阻值选择不当,导致LED灯亮度不稳定。

2. 焊接过程中,个别焊点虚焊,导致电路连接不良。

针对以上问题,采取以下措施:1. 调整电阻值,使LED灯亮度均匀。

2. 重新焊接虚焊点,确保电路连接良好。

六、实验总结通过本次电路板流水灯实训,掌握了以下知识和技能:1. 电子电路板的基本制作流程。

2. 流水灯电路的工作原理及编程方法。

3. 电子元件焊接技巧和电路调试方法。

本次实验提高了自己的动手能力和电子电路分析能力,为以后的学习和工作打下了基础。

单片机实训报告——花样流水灯的制作

单片机实训报告——花样流水灯的制作

单片机实训报告——花样流水灯的制作班级:电气一班学号:110101127姓名:李亚龙一、花样流水灯的设计方案流水灯实际上就是一个带有八个发光二级管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

如果要让P0.0口的LED2亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.0~P0.7口的其他7个LED的电亮和熄灭的方法同LED2。

因此,要实现流水灯功能我们只要将发光二极管LED2~LED9依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

对8段LED数码管显示器的控制,包括“显示段”和“公共端”两个地方的控制。

其中显示段用来控制字符的形状,公共端用来控制若干个LED中的那一只被选中,前者称为“段选”,后者称为”位选”。

只有二者结合起来,才能在指定的LED上显示指定的字形。

显然,要显示某种字形就应该使此字形的相应字段点亮,按照dp、g、e、f、e、d、c、b、a的顺序,dp为最高位,a为最低位,引脚输入不同的8位二进制编码,可显示不同的数字或字符。

二、花样流水灯的硬件电路设计时钟电路是计算机的心脏,它控制着计算机的工作节奏,CPU 就是通过复杂的时序电路完成不同的指令功能的,89C52的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。

单片机有多种复位电路,本系统采用电平式复位与上电复位方式,如下图所示当上电时C1相当于短路时,使单片机复位,在正常工作时,按下复位键是单片机复位。

显示部分主要是由八个LED和四个七段数码管组成,八个LED 由限流电阻限流后接入89C52的P0口。

三、花样流水灯的软件设计#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit key3=P3^1;sbit key2=P3^2;sbit key1=P3^3;uchar code table[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09}; uchar code moshi1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchar code moshi2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code moshi3[]={0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00};uchar code moshi4[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};uchar code moshi5[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};uchar code moshi6[]={0x7e,0x3c,0x18,0x00,0x81,0xc3,0xe7,0xff};uchar moshi,dingshi; //模式,定时uchar shijian,k1; //时间控制uchar num0,num;void delay(uint x) //延时程序{uchar i;while(x--);for(i=0;i<120;i++);}void keyscan() //键盘扫描{if(key1==0){delay(10);if(key1==0) //按键1,模式循环{moshi++;if(moshi==7)moshi=1;TR0=1;k1=1;while(!key1);}}if(key2==0) //按键2,时间调整{delay(10);if(key2==0){shijian++;if(shijian==15)shijian=15;while(!key2);}}if(key3==0) //按键3,时间复位{delay(10);if(key3==0){shijian--;if(shijian==1)shijian=1;while(!key3);}}}void display() //数码管显示{P1=table[moshi];P2=0xfe; //从左向右显示delay(2);P1=0XFF;P2=0XFF; //数码管不显示delay(2);P1=table[dingshi/10]; //十位显示P2=0xfd;delay(2);P1=table[dingshi%10]; //个位显示P2=0xfe;delay(2);}void liushuideng() //流水灯显示{switch(moshi) //模式选择{case 1:P0=moshi1[num];break;case 2:P0=moshi2[num];break;case 3:P0=moshi3[num];break;case 4:P0=moshi4[num];break;case 5:P0=moshi5[num];break;case 6:P0=moshi6[num];break;}}void disp() //显示器{num++;if(num==8){num=0;dingshi--;if(dingshi==0){dingshi=shijian;moshi++;if(moshi==7)moshi=1;}}}void init() //初始化{TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;shijian=5;dingshi=5;moshi=0;P3=P0=0xff;num=num0=0;}void main(){init();while(1){keyscan(); //键盘扫描display(); //数码管显示if(k1==1) //模式选择liushuideng(); //流水灯显示}}void t0_time() interrupt 1 //中断{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num0++;if(num0==6){num0=0;disp();}}四、总结实训中我发现主要问题是在焊接电路板的时候有虚焊,导致电路接触不良,还有多焊导致电路板损坏或短路。

数电流水灯的实训报告

数电流水灯的实训报告

本次实训旨在通过实际操作,让学生掌握数电流水灯的制作原理、电路连接方法以及编程技巧。

通过制作数电流水灯,提高学生的电子电路设计能力、编程能力和动手实践能力,同时加深对单片机原理的理解。

二、实训环境1. 实训器材:51单片机开发板、LED灯条、电阻、电位器、连接线、面包板、编程软件等。

2. 实训场地:电子实验室。

三、实训原理数电流水灯是通过单片机控制LED灯条上的LED灯依次点亮,模拟流水灯效果。

具体原理如下:1. 单片机通过编程,控制各个LED灯依次点亮,实现流水灯效果。

2. 通过电位器调节LED灯的亮度,使流水灯效果更加自然。

四、实训过程1. 电路连接(1)将51单片机的I/O口与LED灯条上的LED灯依次连接。

(2)将电阻串联在LED灯两端,起到限流作用。

(3)将电位器连接在LED灯条的正极和地之间,用于调节亮度。

2. 编程(1)使用C语言编写单片机程序,实现LED灯依次点亮的功能。

(2)设置延时函数,控制LED灯点亮的时间间隔。

(3)使用电位器读取亮度值,调整LED灯亮度。

3. 调试(1)将编写好的程序下载到单片机中。

(2)观察LED灯流水灯效果,根据实际情况调整延时时间和亮度。

经过实际操作,成功制作出数电流水灯,实现了流水灯效果。

在调试过程中,根据实际情况调整了延时时间和亮度,使流水灯效果更加自然。

六、实训总结1. 通过本次实训,掌握了数电流水灯的制作原理和电路连接方法,提高了电子电路设计能力。

2. 学会了使用C语言编写单片机程序,提高了编程能力。

3. 增强了动手实践能力,提高了解决问题的能力。

4. 加深了对单片机原理的理解,为今后学习相关课程奠定了基础。

七、改进意见1. 在电路设计方面,可以考虑使用模块化设计,提高电路的稳定性和可维护性。

2. 在编程方面,可以尝试使用更高级的编程技巧,使流水灯效果更加丰富。

3. 在实训过程中,可以增加更多的实验内容,提高学生的综合能力。

通过本次实训,我深刻认识到理论知识与实践操作相结合的重要性。

PIC流水灯实验报告

PIC流水灯实验报告

. 精选范本实验一 流水灯一、实验要求 编写程序实现用PIC16F877A 单片机的D 口控制发光二极管循环右移位,实现追灯功能:先D8点亮,其次是D7点亮,……,D1点亮,然后D8点亮,……,周而复始循环进行,并使用Proteus VSM 仿真器进行程序的烧写和仿真调试。

二、实验目的1.熟悉利用Proteus 软件绘制单片机硬件电路,熟悉PIC16F877A 单片机的硬件结构。

2.学习输入/输出端口控制方法。

3.进一步熟悉MPLAB 环境下工程项目的建立和源程序的编写。

4.掌握使用PIC16F877A 仿真器进行硬件的仿真调试。

三、实验设备PC 机一台、MPLAB 开发软件、Proteus 软件。

四、实验线路及连线1.利用Proteus 绘制硬件线路图,在MPLAB IDE 中加载Proteus VSM 仿真器,调试PIC C 程序。

2.如下图,单片机的D 口外接8个LED 。

五、实验说明1.如下图,当D 口的RD*为高时,相应的LED 点亮。

2.编程时,延时的实现可直接调用HI-TECH 的库函数,即:#include <pic.h> 。

六 实验报告1、proteus 软件的硬件线路图B2013052244刘颖2、程序流程图开始TRISD=0x00;A=0x00;N延时等待200ms ?YPORTD=A;A=A<<1;NA=0 ?YA=0x01;精选范本3、观察实验现象八个LED灯循环点亮,先D8点亮,200ms后D8灭,D7点亮,……,D1点亮,200ms后D1灭,然后D8点亮,……,周而复始循环进行。

4、实验分析问题分析:控制流水灯循环点亮的过程中需定义一个全局变量A=0b00000001,让A的值左移,并把值赋给D口,从而达到所需的效果,但当A左移8次后灯却不再点亮。

解决方法:出现上述现象的原因是当A左移8次后A的值变为0,故要对A的值进行判断,如果值为0,则对其进行赋初值。

单片机实验报告花样流水灯

单片机实验报告花样流水灯

电子工艺学考试作品报告作品名称:花样流水灯姓名:专业班级:电信1105学号:中南大学物理与电子学院目录第一章系统整体概述…………………………………………………………第二章硬件设计………………………………………………………………第三章软件设计………………………………………………………………第四章调试与分析……………………………………………………………第五章制作感受………………………………………………………………【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。

制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。

本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于单片机AT89C52和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C52为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。

本设计用AT89C52单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。

该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。

关键字:AT89C52 单片机流水灯数码管AT89C52单片机概述AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程。

PIC流水灯实验报告

PIC流水灯实验报告
实验目的:通过编写程序,使单片机控制LED流水灯逐个点亮和熄灭。

实验材料:
1、STC89C52单片机开发板×1
2、220欧姆电阻×9
3、LED×9
4、杜邦线
实验原理:
流水灯可以通过将多个LED连接在一起,然后按照一定的顺序控制它们的亮灭来实现。

在该实验中,将使用STC89C52单片机控制流水灯的亮灭。

实验步骤:
1、将220欧姆电阻插入LED的负极(短腿)上。

2、将LED的正极(长腿)依次连接到单片机的P1.0-P1.7和P3.5口上。

3、连接单片机和PC,打开Keil软件,新建工程。

4、在工程中添加头文件和声明变量。

5、编写主函数,并在其中添加控制流水灯的代码。

6、通过编译程序,并将程序下载到单片机中。

7、连接外部电源,观察流水灯的运行情况。

实验效果:
实验成功后,将能够看到LED从1-8依次点亮和熄灭,然后又从8-1依次点亮和熄灭,如图所示。

总结:
通过该实验,掌握了单片机控制LED流水灯的方法。

熟悉了Keil软件的使用,加深了对单片机编程的理解。

在实验过程中,还加深了对电路原理图的理解,并学习了使用杜邦
线进行电路的连接。

该实验不仅提高了我们的动手能力,也增加了我们的实践经验,为以后的学习打下了坚实的基础。

单片机实验LED流水灯实验

LED流水灯实验一、实验内容将LED灯逐个点亮,然后全亮,全灭。

二、实验原理8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,用一个八位二进制的左移和右移来确定灯的亮灭,并用定时器延时。

三、描述该实验中运用的理论知识1、LED的点亮:8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P0来进行操作。

2、流水效果:C语言的8位二进制数代表了8个IO口,左移,最低位填0,然后按位取反,就可以将灯逐个点亮3、延时:特殊功能寄存器TMOD,如图T1和T0分别代表单片机两个计数器。

GATE:该位被置位时为门控位。

仅当TR1被置位并且INT1脚为高,定时器开始计数。

当该位被清零时,只要TR1被置位,定时器1马上开始计数。

C/T:该位为0的时候,用作定时器,该位为1的时候,用做计数器。

0.5秒的延时12 * (65536- x)/11059200 = 0.001四、实验步骤1、流程图2、结果程序:#include <reg52.h>typedef unsigned char uint8;typedef unsigned int uint16;sbit ENLED = P1^4;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;main(){uint8 counter;uint16 i,j;ENLED = 0;ADDR0 = 0; ADDR1 = 1; ADDR2 = 1; ADDR3 = 1;TMOD = 0x01;TH0 = 0xB8;TL0 = 0x00;TR0 = 1;while(1){if(1 == TF0){TF0 = 0;TH0 = 0xB8;TL0 = 0x00;counter++;}if(25 == counter){counter = 0;if(8 == j){P0 = 0X00;for(i=0;i<=38000;i++);P0 = 0XFF;for(i=0;i<=38000;i++);j = 0;}P0 = ~(1 << j++);}}}。

单片机实验报告流水灯双机通信交通灯定时时钟

实验一流水灯实验一、实验目的1)简单 I/O 引脚的输出2)掌握软件延时编程方法3)简单按键输入捕捉判断二、实验实现的功能1)开机是点亮 12 发光二极管,闪耀三下2)依据顺时针循环挨次点亮发光二极管3)经过按键将发光二极管的显示改为顺逆时针方式三、系统硬件设计流水灯原理图四、系统软件设计演示程序按键正转闪耀反转五、实验过程中碰到的问题及解决方法1) 每次循环不论正转仍是反转程序,总先是先履行P1 口的 8 位 led 灯。

原由:在利用 KEIL 自带的库函数中的 _crol_ 和_cror_ 时,在正转和反转程序中应当调动次序的,开始没注意到。

更正后显示正常。

2)在开始实验的时候推行的是向来循环的方式,利用按键嵌套。

以后发现不理想,每次按键按到三次以上后进入死循环。

解决方案:利用一个按键,显示一次。

并加入按键开释,防备误动作。

指导老师署名:日期:实验一程序 :/******************************************************************** **************工程说明:本工程主要达成了一下功能:1,复位后演示全部功能2,灯闪耀三次3,流水灯正转4,流水灯反转函数说明:yanshi() :演示程序dengss() :闪耀程序right():正转程序left():反转程序scankey() :按键扫描********************************************************************* **************/#ifndef _led_h#define _led_h#define uint unsigned int#define uchar unsigned charuchar i,j,a,b,c,d;uchar flag=0;//亮灯判断标记uchar aa,bb,cc,dd,ss;sbit H1=P3^6;sbit key1=P0^5;sbit key2=P0^6;sbit key3=P0^7;void delay(uint);//1ms 延时void yanshi(void);//演示全部亮灯方式void dengss(void);//闪耀三次void left(void); //左循环亮灯void right(void);//右循环亮灯void scankey(); //按键扫描#endif#include"stc10.h"#include<intrins.h>#include<led.h> //包含各样变量定义及函数申明main(){yanshi();delay(2000); //两秒后进入可控大循环while(1){scankey();if(flag==0)right();if(flag==1)left();if(flag==2)dengss();}}void delay(uint x){uint i,j;for(i=110;i>0;i--)for(j=x;j>0;j--);}void yanshi(){dengss();right();left();P2=0XFF;P3=0XFF;}void dengss(){for(ss=3;ss>0;ss--)P2=0;P3=0xc3;delay(1000);P2=0xff;P3=0xff;delay(1000);}flag+=3;//退出小循环,只亮一次,增大按键扫描频次}void right(){aa=0xfe;for(a=8;a>0;a--){P2=aa;aa=_crol_(aa,1);delay(500);}bb=0xfb;P2=0xff;//熄灭循环后亮着的for(b=4;b>0;b--){P3=bb;bb=_crol_(bb,1);delay(500);}//D12 保存发亮flag+=3;//退出小循环,只亮一次,增大按键扫描频次}void left(){cc=0xdf;for(c=4;c>0;c--){P3=cc;cc=_cror_(cc,1);delay(500);P3=0xff;// 熄灭 D9dd=0x7f;for(d=8;d>0;d--){P2=dd;dd=_cror_(dd,1);delay(500);}//D1 保存发亮flag+=3;//退出小循环,只亮一次,增大按键扫描频次}void scankey(){H1=0;if(key1==0){delay(10);if(key1==0){flag=0;while(!key1);//等候按键开释}}if(key2==0){delay(10);if(key2==0){flag=1;while(!key2);//等候按键开释}}if(key3==0){delay(10);if(key3==0){flag=2;while(!key3);//等候按键开释}}}实验二准时器或实不时钟实验一、实验目的1)数码管动向显示技术2)准时器的应用3)按键功能定义二、实验实现的功能1) 经过按键能够设定准不时间,启动准时器,准不时间到,让12 个发光二极管闪耀,达成准时器功能。

单片机花样流水灯设计实验报告

**大学物理学院单片机花样流水灯设计实验课题: 花样流水灯设计班级: 物理 ***姓名: ***学号: ……………【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便与舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。

制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统与单片机智能控制系统等。

本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51与发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备与必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。

本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。

该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。

关键字:AT89C51 单片机流水灯数码管【概述】1、单片机及其发展概况单片机又称为单片微计算机,其特点就是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。

单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。

2、 Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。

利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。

【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

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

基于AT89C52单片机的流水灯 设计实训报告

2014年 12月29日

学 院: 信息工程学院 班 级: 12级电子信息工程本科班 学 号: 姓 名: 指导教师: 目 录 前言 ............................................................................................................. 1 一、总体设计 ............................................................................................. 2 1.1 总体设计框图 .............................................................................. 2 1.2 硬件具体原理图 .......................................................................... 3 二、设计内容 ............................................................................................. 3 2.1 设计要求....................................................................................... 3 2.2 硬件设计....................................................................................... 3 2.3 软件设计....................................................................................... 5 2.3.1 Keil的使用步骤: ........................................................... 5 2.3.2 程序流程 ............................................................................ 8 2.3.3 程序代码 ............................................................................ 9 三、最小系统板的焊接及调试流程 ...................................................... 12 3.1 最小系统板电路焊接流程: .................................................... 12 3.1.1焊前准备: ....................................................................... 12 3.1.2焊接步骤: ....................................................................... 12 3.2 调试及问题解决方法 ................................................................ 13 3.2.1仿真.................................................................................... 13 3.2.2下载.................................................................................... 14 3.2.3问题及解决方法 ............................................................... 14 四、总结体会 ........................................................................................... 15 1

前言 随着社会的进步和发展和人们生活水平的不断提高单片机技术已经成为当今各种新技术的载体各个应用领域的工程技术人员都应掌握单片机应用术。 同时,它所给人带来的方便也是不可否定的。其中,数码管就是一个典型的例子。但人们对它的要求越来越高要为现代人工作、科研、生活、提供更好的方便的设施,就需要从单片机技术入手,一切向着数字化控制、智能化控制方向发展。 单片机应用的意义不仅在于它的广阔范围及所带来的经济效益。更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。单片微型计算机就是将CPU、RAM、ROM、时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。我们周围有许多广告牌。通过单片机的控制,我们可以把城市的夜晚装饰的更漂亮。 通过对单片机的系统学习,对一些广告灯的设计做了一些必要的改进。同时对自己的改进也做了真实的仿真。达到了预期的目的。 2

一、总体设计 1.1 总体设计框图

图1.1 流水灯总体设计框图 本次LED流水灯主要基于STC89C52最小系统而设计的。89C52内置8位

中央处理单元、256字节内部数据存储器RAM、8K片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40PIN)和PLCC(44PIN)两种封装形式。 89C51的管脚VCC为供电电压,GND为接地。P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地

AT89S52最小系统

LED 流 水 灯

外围供 电电源 3

址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 本次流水灯的设计采用使用外部晶振,即外接一个晶体振荡器与内部的差分放大器组成一个时钟电路,再由其产生时钟脉冲为整个电路提供计时等。本次设计使用P1的八个引脚控制流水灯,8个LED灯采用共阴极接法。 1.2 硬件具体原理图

图1.2 硬件原理图 二、设计内容

2.1 设计要求 项目名称:8位LED流水灯设计。 项目特点:思路简单、条理清晰,成本低。 实现功能要求:通过编程控制8个LED灯,实现流水的花样变换 。 2.2 硬件设计 1、电路图 4

图2.1 单片机最小系统 2、选取的原件:(所用所用元件清单) 名称 规格 数量 名称 规格 数量 AT89C52单片机 1 复位按键 1 电阻 10kΩ 2 LED 9 排阻 1 USB接口 1 电容 100uF 1 串行接口 9孔 1 电容 10uF 1 芯片插槽 1 晶振 12MHz 1 开关 1 导线 3

3、单片机最小系统PCB图

图2.2 最小系统PCB图 5

2.3 软件设计 2.3.1 Keil的使用步骤: (1)新建项目文件。点击Project菜单,选择弹出的下拉式菜单中的New Project。在“文件名”中输入第一个工程名称,“LED”。“保存”后的文件扩展名为.uvproj。

(2)选择所要的单片机,常用Ateml公司的AT89C52。

相关文档
最新文档