中断方式流水灯设计.doc

中断方式流水灯设计.doc

ID:57180267

大小:45.00 KB

页数:5页

时间:2020-08-05

中断方式流水灯设计.doc_第1页
中断方式流水灯设计.doc_第2页
中断方式流水灯设计.doc_第3页
中断方式流水灯设计.doc_第4页
中断方式流水灯设计.doc_第5页
资源描述:

《中断方式流水灯设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于51单片机中断流水灯设计1.实验任务利用单片机AT89C51与LED设计一串流水灯,要求至少26个灯,三种流水模式。2.电路原理图3.1)P0,P2口控制16个灯;2)P1.5,P1.7为两个指示的灯;3)两个按键接两个外部中断;4.c语言程序设计#include#includesbitkey1=P1^0;sbitkey2=P1^2;sbitkey3=P1^4;sbitW1=P1^5;sbitW3=P1^7;unsignedchari,j,k,m,n,temp,y,v,u;inta[]

2、={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};intb[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};voidInitInt0(void);voiddelay02s(void)//延时0.2秒子程序{unsignedchari,j,k;//定义3个无符号字符型数据。for(i=20;i>0;i--)//作循环延时for(j=20;j>0;j--)for(k=248;k>0;k--);}voidInitInt0(void){IT0=1;//设置中断0

3、为跳变触发方式IT1=1;//设置中断1为跳变触发方式IE=0x85;//CPU开放中断,允许INT0、INT1中断IP=0x04;}voidInt0Interrupt(void)interrupt0//实现要求子程序(key1按下时实现逐盏点亮,逐盏灭掉){P0=0xff;//发光二极管全灭while(!key1)delay02s();while(key1==1){while(1){P0=a[m];P2=a[m];P3=a[m];W3=0;delay02s();P0=0xff;P2=0xff;P3=0xff;delay02s(

4、);P0=a[m];P2=a[m];P3=a[m];m++;if(m==8)m=0;}//逐盏点亮、闪烁,逐盏灭掉}}voidInt1Interrupt(void)interrupt2{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

5、();delay02s();delay02s();delay02s();temp=0xfe;P0=temp;P2=temp;P3=temp;delay02s();for(y=1;y<8;y++){u=temp<>(8-y);P0=u

6、v;P2=u

7、v;P3=u

8、v;delay02s();}for(y=1;y<8;y++){u=temp>>y;v=temp<<(8-y);P0=u

9、v;P2=u

10、v;P3=u

11、v;delay02s();}}}}voidmain(){InitInt0();while(1){P0=0

12、xff;}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。