中断方式流水灯设计_第1页
中断方式流水灯设计_第2页
中断方式流水灯设计_第3页
中断方式流水灯设计_第4页
中断方式流水灯设计_第5页
全文预览已结束

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上基于51单片机中断流水灯设计 1 实验任务 利用单片机AT89C51与LED设计一串流水灯,要求至少26个灯,三种流水模式。2 电路原理图 3.1)P0,P2口控制16个灯;2)P1.5,P1.7为两个指示的灯;3)两个按键接两个外部中断;4.c语言程序设计#include <reg51.h>#include <intrins.h>sbit key1=P10; sbit key2=P12;sbit key3=P14; sbit W1=P15;sbit W3=P17;unsigned char i,j,k,m,n,temp,y,v,u;int a

2、=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;int b=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;void InitInt0(void);void delay02s(void) /延时0.2秒子程序 unsigned char i,j,k; /定义3个无符号字符型数据。 for(i=20;i>0;i-) /作循环延时 for(j=20;j>0;j-) for(k=248;k>0;k-); void InitInt0(void) IT0 = 1;/设置中断0为跳变触发方式IT1 = 1;/设置中断1为跳

3、变触发方式IE = 0x85;/CPU开放中断,允许INT0、INT1中断IP = 0x04; void Int0Interrupt(void) interrupt 0 / 实现要求子程序(key1按下时实现逐盏点亮,逐盏灭掉) P0=0xff ;/ 发光二极管全灭 while(!key1) delay02s(); while(key1=1) while(1) P0=am;P2=am;P3=am; W3=0;delay02s();P0=0xff;P2=0xff;P3=0xff;delay02s();P0=am;P2=am;P3=am;m+; if(m=8)m=0; /逐盏点亮、闪烁,逐盏灭掉

4、void Int1Interrupt(void) interrupt 2 P2=0xff ;/ 发光二极管全灭 while(!key3) delay02s(); while(key3=1) while(1) P0=0xaa;P2=0xaa;P3=0xaa; W1=0;W3=1;delay02s();delay02s();delay02s();delay02s();P0=0x55;P2=0x55;P3=0x55;delay02s();delay02s();delay02s();delay02s(); temp=0xfe; P0=temp; P2=temp;P3=temp;delay02s(); for(y=1;y<8;y+) u=temp<<y; v=temp>>(8-y); P0=u|v; P2=u|v; P3=u|v; delay02s(); for(y=1;y<8;y+) u=temp>>y; v=temp<<(8-y); P0=u|v; P2=u|v;

温馨提示

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

最新文档

评论

0/150

提交评论