左右来回循环的流水灯
单片机

19.外部中断有两种触发方式:电平触发方式和跳沿触发方式。
11.空闲模式两种方法退出,响应中断方式,硬件复位方式
12.掉电模式的退出两种方法:硬件复位和外部中断。
13.与汇编语言相比,用C51语言进行软件开发,有如下优点:1)可读性好。2)模块化开发与资源共享。3)可移植性好。4)生成的代码效率高。
14.存储原则:应当尽量把频繁使用的变量置于片内RAM。即采用data、bdata或idata存储类型,而将容量较大的或使用不太频繁的那些变量置于片外RAM,即采用pdata或xdata存储类型。常量只能采用code存储类型。
#include <reg51.h>
char i=10;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;ET0=1;
TR0=1;
do{ }while (1);
}
void time0(void) interrupt 1
void main( )
{
EX0=1;
EX1=1;
EA=1;
IT0=1;
IT1=1;
for(;;)
{
for(a=0;a<8;a++)
{
P1=play [a];
Delay(500);}
左右来回循环的流水灯实验报告

青 岛 科 技 大 学微机原理与接口技术综合课程设计(报告)题 目 __________________________________指导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班______年 ___月 ___日直流电机控制综合实验 周艳平宋雪英 01信息科学技术学院 计算机科学与技术0961 2012 12 27摘要 (2)1、单片机概述 (2)2、仿真软件介绍 (2)3、需求分析 (3)一、课程设计目的 (3)二、课程设计要求 (4)三、实验内容 (4)1、设计任务与要求 (4)2、系统分析 (4)1).硬件电路设计(画出原理图、接线图) (5)2)软件框图 (7)3、用keil建项目流程 (8)4、程序清单 (9)4、系统调试 (11)四、设计总结(结论) (12)摘要近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。
而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。
能够通过按键控制8个LED小灯从左到右依次点亮。
关键字:单片机、LED流水灯1、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
多花样流水灯

4 一个流水灯闪烁2次后,从左往右移
5 左右各亮一个灯 往中间移 前一个灭
6 第几个灯闪烁几次 往右移:如 第一个闪1次,第二个闪2次……第八个闪8次
7 全部led灯闪烁一次后亮两个流水灯从左往右
8 左右各亮一个灯往中间移前一个不灭 全亮后 从中间往两边灭
9 一个流水灯从左往右移 一直亮,全亮后 一边往另一边灭,直到灭,接着重复
多花பைடு நூலகம்流水灯
只用一个数码管显示0-9 初始值为0
用两个按钮一个加 一个减 最多加到9 最底减到0
数码管显示
0:一个流水灯从左往右跑 前一个灭
1 一个流水灯从右往左跑 前一个灭
2 流水灯从左往右跳着亮 第一次7,5,3,1 第二次8,6,4,2,第三次重复第一次
3 两个流水灯来回跑 先从左往右 再从右往左
左右来回循环的流水灯实验报告

青 岛 科 技 大 学微机原理与接口技术综合课程设计(报告)题 目 __________________________________指导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班______年 ___月 ___日直流电机控制综合实验 周艳平宋雪英 01 信息科学技术学院计算机科学与技术0961 2012 12 27摘要 (2)1、单片机概述 (2)2、仿真软件介绍 (2)3、需求分析 (3)一、课程设计目的 (3)二、课程设计要求 (4)三、实验内容 (4)1、设计任务与要求 (4)2、系统分析 (4)1).硬件电路设计(画出原理图、接线图) (5)2)软件框图 (7)3、用keil建项目流程 (8)4、程序清单 (9)4、系统调试 (11)四、设计总结(结论) (12)摘要近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。
而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。
能够通过按键控制8个LED小灯从左到右依次点亮。
关键字:单片机、LED流水灯1、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
多功能流水灯正文

目录前言 (2)第一章多功能流水灯的设计方案 (3)1.多功能流水灯的设计方案及框图 (3)1.1 基本要求设计方案 (3)1.2 提高设计方案 (3)1.3 设计框图 (3)第二章多功能流水灯设计方案单元模块电路设计 (4)2.多功能流水灯电路的设计 (4)2.1 多功能流水电路 (4)2.2 多功能流水灯的提高电路 (5)第三章试验的调试与分析 (6)第四章结论 (7)后记 (8)参考文献 (8)附录 (9)前言随着社会的不断发展,人民生活水平的提高,流水灯在现实生活中所起的作用越来越重要。
流水灯简易轻巧,外貌美观,能闪现多彩的颜色,在现实生活中起到了广泛的应用。
在繁忙的交通路段,闪烁着的流水交通灯,提醒着人民要遵守交通规则;在繁忙的大街上,闪烁的流水灯无不吸引过路人的眼球,甚至在自动门上都装有自动流水灯,告诉人们现在的时间和日期。
流水灯无处不在,所以说多功能流水灯电路的设计可以使我们进一步了解流水灯,感受流水灯给我们生活带来的美感。
多功能流水灯的设计要求在预定的时间到来时,会产生一个控制信号控制彩灯的流向、间歇等,彩灯流向可以随着电路的改变而改变,并具有自控、手控、流向控制等功能。
主要考察了数字电路中计数器的原理、NE555定时器的作用等相关知识。
在设计的过程中需要了解相关芯片(CD4017、NE555)的具体功能,如引脚图、内部框图和真值表等。
连接好设计电路,由于最后流水灯的流向十分的顺畅和稳定,所以所得的结果十分的简洁并且很成功。
经过资料的查阅,小组的讨论,以及几种方案的比较,选定方案参考如下:整个流水灯的电路由振荡电路、译码电路和光源电路组成,振荡电路的组成包括3个电容、一个电阻器和一个电位器及NE555定时器构成;译码电路的组成包括芯片CD4017;光源电路的组成包括若干电阻个若干二极管。
第一章多功能流水灯的设计方案1.多功能流水灯的设计方案及框图1.1 基本要求设计方案1) 设计一个多功能彩灯流水控制电路。
流水灯设计

数电课程设计一课程课题:流水灯设计二课程任务:设计一个可以循环移动的流水灯,灯总数为8盏,具体要求如下: -1,5亮,其余灭,右移三次后全灭-4,8亮,其余灭,左移三次后全灭-4,5亮,其余灭,各向两边移三次后全灭-1,8亮,其余灭,各向中间移三次后全灭三课程设计原理:①译码器74139 将Y10N-Y23N 分别命名为led1-led8,利用2-4译码,采用A1,B1,A2,B2分别控制,Y10N-Y23N 为低电平时led 等亮,否则灭。
根据设计任务,结合译码器,可得到循环状态图为:②计数器74169计数器74169 译码器74139序列信号产生74194由于led1-led4和led5和led8的移动方向不尽相同,故采用两个计数器来控制,以led1-led4为例,A1,B1由Q0,Q1决定,则通过UP/DN 可控制Q0,Q1是由00-01-10-11,还是由11-10-01-00,即灯的移动方向。
结合灯的移动方向,取led1-led4的控制端UP/DN为s1,led5-led8的为s2,则s1应为1001序列,s2为1010序列。
③序列产生74194利用74x194产生序列信号s1,s2,来控制下一段的计数器的升降UP/DN,进而控制灯的循环顺序。
功能表:四课程设计方案:①电路图:②仿真波形:学习数电以来,都是一些题目化问题的设计,但这次课程设计却和实际联系紧密,牵扯到很多芯片的原理,链接,是一次很好的实践,原理图的设计是理论与实践的交叉点,原理图设计好之后,我们可以利用仿真软件进行仿真,这样便可以验证我们设计的正确性;积累了经验并且熟练地掌握了软件的基本使用方法和一些快捷键的用途,并体会到数电和实际生活的联系,是不错的开始。
键控双流水灯

用单片机的P3.2、P3.3各接一只按键,按下 一个按键时,实现彩灯左移花样,按下另一个按 键时,实现彩灯右移花样。
一 . 电路原理图
二、中断的基本概念
1.中断 当中央处理器CPU正在处理某事件时,与
它并行工作的外围部件或者外部设备由于工作 的需要或者出现故障,请求CPU迅速去处理, CPU暂停当前工作,转去处理所发生的事件, 处理结束之后,再回到被打断的地方继续原来 的工作。这样的过程称为中P K2
;转移到K2,避开右移指令
K1:RR A K2:
;显示代码右移
LCALL DELAY
;调用延时子程
SJMP K0
;返回,继续下一拍
INT0:CLR FX RETI
INT1:SETB FX RETI
;外中断0服务程序,方向标志位清0 ;中断返回
;外中断1服务程序,方向标志位 置1 ;中断返回
序的开始处
三 . 实训内容与步骤
1.电平触发方式键控流水灯程序
(1)参考程序
FX BIT 00H
;位地址00H命名为FX
ORG 0000H
LJMP MAIN
;转移到主程序
ORG 0003H 口
;外中断0服务程序入
LJMP INT0 程序
;转移到外中断0服务
ORG 0013H 口
;外中断1服务程序入
SETB EX0 ;开外中断0
SETB EX1 SETB EA
样。
;开外中断1
;开总中断 ;*******
以下和程序(1)完全一
MOV A,#0FEH;显示代码初值送累加器A
单片机流水灯c语言实现

//------------------------------------------------
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE []=
red_a=1;yellow_a=1;green_a=0;
red_b=0;yellow_b=1;green_b=1;
delayMs(2000);
Operation_Type=2;
break;
case 2://东西向黄灯开始闪烁,绿灯关闭
delayMs(300);
yellow_a=!yellow_a; green_a=1;
while(x--)
{
for(i=0;i<120;i++);
}
}
//---------------------------------------------
//交通灯切换子程序
void Traffic_Light()
{
switch (Operation_Type)
{
case 1://东西向绿灯亮与南北向红灯亮
{
uchar i;
P2=0x01;//P2端口初始化
while(1)//死循环
{
for(i=0;i<7;i++)//i自加1,当i=7时执行第二个for语句
{
P2=_crol_(P2,1);//P2端口循环左移1位
delayMs(150);
}
for(i=0;i<7;i++)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(大作业题目)报告
单片机控制左右循环的流水灯
学生学号:
学生姓名:
同组学号:
同组姓名:
指导老师:
设计目的:
1)学习P1口的使用方法;
2)学习延时子程序的编写
3)了解简单单片机应用系统的设计方法。
4)掌握应用编译源汇编程序的操作方法。
5)熟练掌握AT89c51型开发板的使用方法和注意事项。
设计要求:
8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。
编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。
依次实现红蓝绿黄红蓝绿黄的循环亮灭。
设计步骤:1.按照电路图在proteus7.5的环境下进行仿真连接,在keilc3的环境下进行c环境的编译,然后下载到单片机内运行进行仿真,观察发光二极管的运行状态。
要注意的的,实验中一定要再p1口接上拉电阻或是一个74HC245的芯片,以提高单片机的P口驱动,以使LED灯亮。
如果使用74HC245,则引脚OE要接地,DIR要接高电平。
2.实现单片机工作的最小系统:电源电路﹑时钟电路﹑复位电路。
3.因为LED灯是共阳极接入,编程实现灯亮的时候,要使语句取反。
设计电路图:
左右来回的流水灯.PDF
源程序:左右来回的流水灯.C
流程图:开始
判断P口电平
高电平低电平
变向P口加1
延时
设计总结:1.实验中连接电路后运行发现等没有亮,检查程序,看接相应灯的P口输出语句是否取反了;如果没有循环,看控制方向的语句是否写对;检查上拉电阻的取值是否正确,一定要有上拉电阻。
2.通过本次设计试验,我了解了单片机是如何实现控制功能的,设计中会遇到错误的结果,要仔细分析错误,然后一一去改进,试验,直到没有错误为止。
三、/*
*左右来回的流水灯*
*/
#include<reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
void delay(uint16 x)
{
uint8 i,j;
for(i = x; i > 0; i --)
for(j = 114; j > 0; j --);
}
void main()
{
uint8 b = 0, way = 0; //移动位数变量及移动方向变量while(1)
{
if(way == 0) //根据way选择左移还是右移P0 = ~(0x01 << b); //最低位的0被左移b位 else
P0 = ~(0x80 >> b); //最高位的0被右移b位
if( ++b == 8) //如果移动到左端或右端
{
b = 0; //b归0
way = !way; //改变方向
}
delay(200);
}
}。