关于单片机驱动数码管、流水灯、蜂鸣器的程序总程序_第1页
关于单片机驱动数码管、流水灯、蜂鸣器的程序总程序_第2页
关于单片机驱动数码管、流水灯、蜂鸣器的程序总程序_第3页
关于单片机驱动数码管、流水灯、蜂鸣器的程序总程序_第4页
关于单片机驱动数码管、流水灯、蜂鸣器的程序总程序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、/关于单片机驱动数码管、流水灯、蜂鸣器的程序#include<AT89X52."H>unsigned char table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit clk=P2八0;sbit AB=P2A1;sbit SG=P2A5;sbit SS=P2A4;sbit SB=P2A3;sbit SQ=P2A2;sbit L1=P2A7;/ 延时调用函数void Delay()unsigned char i,j,k;for(i=5;i>0;i-)for(j=10;j>0;j-)for(k=50

2、;k>0;k-);/显示一个数字void SentDate(char num)unsigned char c;for(c=0;c<8;c+)clk=0;AB=num&0x01;num=num>>1;clk=1;/ 延时 10 次void ten()int a;for(a=0;a<10;a+)Delay();流水灯控制void LED()int i,j,a,b;a=0x01;b=0x80;P1=a;ten();for(i=0;i<8;i+)a=a<<1;P1=a;ten();P1=b;ten();for(j=0;j<8;j+)b=b&

3、gt;>1;P1=b;ten();/ 四个相邻数码管动态显示不同值void main()unsigned char i,j,a,b,c;while(1)for(b=0;b<10;b+) 显示千位数for(c=0;c<10;c+)显示百位数for(i=0;i<10;i+)显示十位数L1=0;/逢十报警一次 ten();L1=1;for(j=0;j<10;j+)/ 显示个位数LED();for(a=0;a<10;a+)循环十次SentDate(tableb);SQ=0,SB=1,SS=1,SG=1;Delay();SentDate(tablec);SQ=1,SB

4、=0,SS=1,SG=1;Delay();SentDate(tablei);SQ=1,SB=1,SS=0,SG=1;Delay();SentDate(tablej);SQ=1,SB=1,SS=1,SG=0;Delay(); 移位控制#include<AT89X52."H>sbit clk=P2八0;sbit AB=P2A1;sbit S1=P2A5;sbit S2=P2八4;sbit S3=P2八3;sbit S4=P2八2;unsigned char table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void

5、 delay02()unsigned char i,j,k;for(i=10;i>0;i-)for(j=10;j>0;j-)for(k=20;k>0;k-);void sent(char num)unsigned char c;for(c=0;c<8;c+) clk=0;AB=num&0x01;num=num>>1;clk=1;void display(char a,char b,char m,char n) unsigned char l;for(l=0;l<40;l+)sent(tablea);S4=1;S1=0;delay02();sen

6、t(tableb);S1=1;S2=0;delay02();sent(tablen);S2=1;S3=0;delay02();sent(tablem);S3=1;S4=0;delay02();void main()while(1)char m=0,n=1,k,a=3,b=2;for(k=0;k<30;k+)display(a,b,m,n);a+;b+;m+;n+;if(a=10)a=0;else if(b=10)b=0;else if(m=10)m=0;else if(n=10)n=0;/*LED走一轮,数码管走一次,蜂鸣器报警一次 */#include<AT89X51."

7、;H>unsigned chartable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit clk=P2八0;sbit AB=P2A1;sbit SG=P2A5;sbit SS=P2A4;sbit SB=P2A3;sbit SQ=P2A2;sbit L1=P2A7;void delay(void)int e;for(e=100;e>0;e-);/延时10 次void ten()int a;for(a=0;a<10;a+)delay();/* 发送一个数字*/sentdate(m)int b,num;num=tabl

8、em;for(b=0;b<8;b+)clk=0;AB=num&0x01;num=num>>1;clk=1;/* 计数 */void JS(void)int a,c,d,f,g;for(g=0;g<10;g+)sentdate(g);6/ 11SQ=0,SB=1,SS=1,SG=1;for(f=0;f<10;f+)sentdate(f);SQ=1,SB=0,SS=1,SG=1;for(d=0;d<10;d+)sentdate(d);SQ=1,SB=1,SS=0,SG=1;for(c=0;c<10;c+)int m,n;n=0x80;/10000f

9、or(m=0;m<8;m+)P1=0x00;0000ten();P1=P1|n;/11000n=n>>1;/01000for(a=20;a>0;a-)sentdate(c);SG=0;delay();SG=1;sentdate(d);SS=0;delay();SS=1;sentdate(f);SB=0;delay();SB=1;sentdate(g);SQ=0;delay();SQ=1;L1=0;ten();L1=1;void main(void)JS();/*LED走一轮,数码管计数,蜂鸣器逢十报警一次 */#include<AT89X51."H>

10、;unsigned chartable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit clk=P2八0;sbit AB=P2A1;sbit SG=P2A5;sbit SS=P2A4;sbit SB=P2A3;sbit SQ=P2A2;sbit L1=P2A7;/ 延时函数void delay(void)int e;for(e=100;e>0;e-);/延时10 次void ten()int a;for(a=0;a<10;a+)delay();/* 发送一个数字*/sentdate(m)int b,num;num=tab

11、lem;for(b=0;b<8;b+)clk=0;AB=num&0x01;num=num>>1;clk=1;/* 计数 */void main(void)int c,d,f,g;for(g=0;g<10;g+)千位sentdate(g);SQ=0,SB=1,SS=1,SG=1;for(f=0;f<10;f+)/ 百位 sentdate(f);SQ=1,SB=0,SS=1,SG=1;for(d=0;d<10;d+) 十位sentdate(d);SQ=1,SB=1,SS=0,SG=1;for(c=0;c<10;c+)个位int m,k,n;/ 流水灯控制 m=0x01;9/ 11P1=m;ten();for(k=0;k<8;k+)m=m<<1;P1=m;ten();for(n=0;n&l

温馨提示

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

评论

0/150

提交评论