单片机流水灯所有程序_第1页
单片机流水灯所有程序_第2页
单片机流水灯所有程序_第3页
单片机流水灯所有程序_第4页
单片机流水灯所有程序_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、#include#define uchar unsigned char/char 是字符数组#define unit unsigned intuchar num;sbit led仁PMO;void main()1 (0000 0001 )TMOD=OxO1; / 打开工作方式寄存器,选择工作方式 THO=(65536-45872)/256;TLO=(65536-45872)%6;EA=1; / 开总中断ETO=1; / 开定时器 O 中断TRO=1; /启动定时器 Owhile(1);/程序停止在这里等待中断发生void TO_time()interrupt 1TH1=(65536-45872

2、)/256; / 装初值 5OmsTL1=(65536-45872)%6;num ; /num每加一次判断是否到了 2O 次if(num=2O) / 2O*5Oms=1OOOms=1s,间隔 1snum=0;/ 然后把num清0重新再计20次led1=led1; /让发光管状态取反用定时器使1灯间隔1s闪烁#include#define uchar unsigned char#define unit unsigned intunit num ;#define ucha unsigned char#define uni unsigned intuni a ;uchar table=0xfe,0x

3、fc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; /? ucha table1=0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;void delayms(unit);void main()while(1)for(num=0;num0;a-) / 改成 for ( a=0;a8;a )P1=table1a;delayms(500);void delayms(unit xms)unit i,j;for(i=xms;i0;i-)for(j=110;j0;j-); 没有实现理想的流水灯,问题已解决,见下面程序#include#define uchar

4、unsigned char#define unit unsigned intunit num ;uchar table=0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;void delayms(unit);void main()while(1)for(num=0;num0;num-)P1=tablenum;delayms(500);void delayms(unit xms)unit i,j;for(i=xms;i0;i-)for(j=110;j0;j-);用数组实现流水灯循环,依次点亮,然后依次熄灭#include#define uchar unsi

5、gned char/char 是字符数组#define unit unsigned int unit num ;/ 改循环uchar table=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; 变数组void delayms(unit);void main() while(1) for(num=0;num0;i-)/加 for 语句 for(j=110;j0;j-);用数组实现流水灯延迟 0.5s ,下一灯亮 /#include#include / #define unit unsigned int unit i,j;#define uchar unsigne

6、d char uchar a;void delayms(unit);void main()a=0xfe; /1111 1110 ,第一个灯亮while(1)P1=a;delayms(500);a=_crol_(a,1); /7 6 5 4 3 2 1 灯包含 _crol_ 函数所在的头文件赋给a初值Oxfe,即循环左移指令或 a=a1;8自定义毫秒 X延迟 Xms#include/#define unit unsigned int / unit i,j;/void delay1s();sbit led仁PMO;/sbit led2=P1A1;sbit led3=P1A2;sbit led4=P

7、1A3;sbit led5=P1A4;sbit led6=P1A5;sbit led7=P1A6;sbit led8=P1A7;void main()while(1)/led1=O;delay1s();/1led1=1; led2=O ;/1delay1s();led2=1;led3=O ;delay1s();头文件宏定义U* / 定义 i;j连接1灯的是锁存器的P1O端口循环永不停止灯亮 1S灯灭,二灯亮void delayms(unit xms) / unit i,j;for(i=xms;i0;i-)/for(j=110;j0;j-); 用循环左移指令实现流水灯led3=1;led4=0;

8、 delay1s();led4=1;led5=0; delay1s();led5=1;led6=0; delay1s();led6=1;led7=0; delay1s();led7=1;led8=0; delay1s();led8=1;led1=0;void delay1s()延迟 0.5s ,下一灯亮unit i,j; / for(i=500;i0;i-)/for(j=110;j0;j-); 流水灯#include#define unit unsigned int unit i,j;void delay1s();sbit led=P1;sbit led仁PMO;sbit led2=P1A1;

9、sbit led3=P1A2;sbit led4=P1A3;sbit led5=P1A4;sbit led6=P1A5;sbit led7=P1A6;sbit led8=P1A7;void main()while(1)led1=O;delay1s();led2=0 ;delay1s();led3=0 ;delay1s();led4=0;delay1s();led5=0;delay1s();led6=0;delay1s();led7=0;delay1s();led8=0;delay1s();led8=1;delay1s();led7=1;delay1s();led6=1;delay1s();le

10、d5=1;delay1s();led4=1;delay1s();led3=1;delay1s();led2=1;delay1s();led1=1; delay1s();P1=0;delay1s();P1=0xff;delay1s();void delay1s()unit i,j;for(i=500;i0;i-) for(j=110;j0;j-);全亮依次点亮,一亮二亮 全亮 - 依次熄灭 - 全灭#include#define unit unsigned int unit i,j;void delay1s();sbit led=P1;sbit led仁PMO;sbit led2=P1A1;sb

11、it led3=P1A2;sbit led4=P1A3;sbit led5=P1A4;sbit led6=P1A5;sbit led7=P1A6;sbit led8=P1A7;void main()while(1)led1=O;灯亮 1S灯灭,二灯亮delay1s();/1led1=1; led2=O ;/1delay1s();led2=1;led3=O ;delay1s(); led3=1;led4=O;delay1s(); led4=1;led5=O;delay1s(); led5=1;led6=O;delay1s(); led6=1;led7=O;delay1s(); led7=1;le

12、d8=O;delay1s(); led8=1; P1=O; delay1s(); P1=Oxff ;void delay1s()unit i,j;for(i=500;i0;i-)for(j=110;j0;j-); 依次亮,全亮,全灭,循环#include #define unit unsigned int unit i,j;void delay1s();sbit LED4=PM3;sbit LED5=P1A4;sbit dula=P2A1;void main() while(1) LED4=0; delay1s();LED4=1; LED5=0 ; delay1s();void delay1s

13、()unit i,j;for(i=500;i0;i-) for(j=110;j0;j-);4 闪 5 亮#includesbit LED2=P1M;sbit dula=P2A6;void main() dula=1;LED2=0;dula=0; 二灯亮#includesbit LED4=P1A3;sbit LED5=P1A4;sbit dula=P2A1;#define unit unsigned int unit i,j;void main() while (1) LED4=0;for(i=1000;i0;i-) for(j=110;j0;j-);LED4=1;LED5=0;for(i=10

14、00;i0;i-) for(j=110;j0;j-);dula=1;LED4=0;dula=0;4闪 5 亮#include#define unit unsigned intsbit led仁PMO;void delays(unit);void main()while(1)led1=O;delay1s();led1=1;delay1s();void delay1s()使用局部变量可节约单片机内存unit i,j; /for(i=5OO;iO;i-)for(j=11O;jO;j-); #includesbit led=P1AO;unsigned int a;void main() / 主函数while(1)a=51OOO;led=O;while(a-

温馨提示

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

评论

0/150

提交评论