花样流水灯设计_第1页
花样流水灯设计_第2页
花样流水灯设计_第3页
花样流水灯设计_第4页
花样流水灯设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、原理图设计的目的:利用AT89C51,通过控制按键来实现六种流水灯花样的转换,实现花样流水灯的设计,同时通过外部中断0,来控制流水灯的速度。二、各器件的功能作用:1、AT89C51AT89C51有40个引脚,每个引脚都有其功能。本次设计中,利用P0口当输出口,输出低电平来驱动发光二极管点亮。利用P1.0P1.5六个引脚,通过按键接地,然后采用扫描的方式,判断哪个引脚所接按键按下,从而来控制六种流水灯的花样。利用P3.2引脚外接按键接地,通过控制按键来减慢流水灯的速度,利用P3.3引脚外接按键接地,通过控制按键来提高流水灯的速度。利用P3.7输出低电平,导通三极管Q1,从而给八个发光二极管的

2、阳极加高电平,一旦P0口输出低电平就可以驱动发光二极管。2、八个发光二极管: 通过八个发光二极管来实现流水灯的变化,用低电平驱动发光二级管亮,同时,用高电平使其熄灭。3、按键 通过P1.0-P1.5外接的按键来实现流水灯各种花样的变化,当按键按下时,驱动一种流水灯花样的闪烁。同时,利用按键来提供外部中断,当按下按键时,产生一个外部中断,向CPU申请中断,CPU响应其中断,因此可以用按键来实现提高流水灯闪烁的速度。 通过在RST口处加上一个按钮手动复位电路,利用复位按钮可以使运行中的流水灯复位到初始的状态。4、排阻 因为P0口作为输出口时需要外接上拉电阻三、设计原理图:四、程序如下:#inclu

3、de<reg51.h> /51系列单片机定义文件#define uchar unsigned char /定义无符号字符#define uint unsigned int /定义无符号整数void delay(uint);/声明延时函数void main(void) uint i;uchar temp;TCON=0x05;IE=0x85;PX1=1;PX0=0;while(1) temp=0x01;for(i=0;i<8;i+) /8个流水灯逐个闪动 P0=temp;delay(100);/调用延时函数temp<<=1;temp=0x80;for(i=0;i<

4、;8;i+) /8个流水灯反向逐个闪动 P0=temp;delay(150);/调用延时函数 temp>>=1; temp=0xFE;for(i=0;i<8;i+) /8个流水灯依次全部点亮 P0=temp; delay(150); /调用延时函数temp<<=1; temp=0x7F; for(i=0;i<8;i+) /8个流水灯依次反向全部点亮 P0=temp; delay(150); /调用延时函数 temp>>=1; temp=0x03; for(i=0;i<4;i+) /两个流水灯顺序点亮P0=temp;delay(150);te

5、mp<<=2;temp=0x30; for(i=0;i<3;i+) /两个流水灯反向点亮P0=temp;delay(150);temp>>=2;temp=0x07; for(i=0;i<3;i+) /3个P0=temp;delay(150);temp<<=3;temp=0xe0; for(i=0;i<3;i+) /3流水灯反向点亮P0=temp;delay(150);temp>>=3;temp=0x0f; for(i=0;i<3;i+) /4geP0=temp;delay(150);temp<<=4;temp=

6、0xf0; for(i=0;i<3;i+) /4流水灯反向点亮P0=temp;delay(150);temp>>=4;void int0() interrupt 0uint i;uchar temp;while(1) temp=0x01;for(i=0;i<8;i+) /8个流水灯逐个闪动 P0=temp;delay(800);/调用延时函数temp<<=1;temp=0x80;for(i=0;i<8;i+) /8个流水灯反向逐个闪动 P0=temp;delay(800);/调用延时函数 temp>>=1; temp=0xFE;for(i=

7、0;i<8;i+) /8个流水灯依次全部点亮 P0=temp; delay(800); /调用延时函数temp<<=1; temp=0x7F; for(i=0;i<8;i+) /8个流水灯依次反向全部点亮 P0=temp; delay(800); /调用延时函数 temp>>=1; temp=0x03; for(i=0;i<4;i+) /两个流水灯顺序点亮P0=temp;delay(800);temp<<=2;temp=0x30; for(i=0;i<3;i+) /两个流水灯反向点亮P0=temp;delay(800);temp>>=2;temp=0x07; for(i=0;i<3;i+) /3个流水灯顺序点亮P0=temp;delay(800);temp<<=3;temp=0xe0; for(i=0;i<3;i+) /3个流水灯反向点亮P0=temp;delay(800);temp>>=3;temp=0x0f; for(i=0;i<3;i+) /4个流水灯顺序点亮P0=temp;delay(800);temp<<=4;temp=0xf0; for(i=0;i<3;i+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论