stc89c51单片机流水灯程序

上传人:飞*** 文档编号:40216553 上传时间:2018-05-24 格式:DOC 页数:8 大小:40KB
返回 下载 相关 举报
stc89c51单片机流水灯程序_第1页
第1页 / 共8页
stc89c51单片机流水灯程序_第2页
第2页 / 共8页
stc89c51单片机流水灯程序_第3页
第3页 / 共8页
stc89c51单片机流水灯程序_第4页
第4页 / 共8页
stc89c51单片机流水灯程序_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《stc89c51单片机流水灯程序》由会员分享,可在线阅读,更多相关《stc89c51单片机流水灯程序(8页珍藏版)》请在金锄头文库上搜索。

1、51 单片机流水灯程序程序一(用 C 语言编的最基础的程序)#include#includesbit D0=P10;/位定义,把 P1 口的第一个管脚定义为 D0sbit D1=P11;/ 位定义,把 P1 口的第二个管脚定义为 D1sbit D2=P12;/ 位定义,把 P1 口的第 3 个管脚定义为 D2sbit D3=P13;/ 位定义,把 P1 口的第 4 个管脚定义为 D3sbit D4=P14;/ 位定义,把 P1 口的第 5 个管脚定义为 D4sbit D5=P15;/ 位定义,把 P1 口的第 6 个管脚定义为 D5sbit D6=P16;/ 位定义,把 P1 口的第 7 个管

2、脚定义为 D6sbit D7=P17;/ 位定义,把 P1 口的第 8 个管脚定义为 D7void main()while(1)/建立大的死循环。 unsigned int i,j;D0=0,D7=1;/亮灯 1,关灯 8for(i=50;i0;i-) for(j=200;j0;j-);/两个 FOR 组成的延时D0=1,D1=0;/ 亮灯 2,关灯 1for(i=50;i0;i-)for(j=200;j0;j-);D1=1,D2=0;for(i=50;i0;i-)for(j=200;j0;j-);D2=1,D3=0;for(i=50;i0;i-)for(j=200;j0;j-);D3=1,D

3、4=0;for(i=50;i0;i-)for(j=200;j0;j-);D4=1,D5=0;for(i=50;i0;i-)for(j=200;j0;j-);D5=1,D6=0;for(i=50;i0;i-)for(j=200;j0;j-);D6=1,D7=0;for(i=50;i0;i-)for(j=200;j0;j-);程序二(用 swich case 语句编的)#include/51 单片机的头文件。sbit d1=P10;/sbit d2=P11;sbit d3=P12;sbit d4=P13;sbit d5=P14;sbit d6=P15;sbit d7=P16;sbit d8=P17

4、;void main()unsigned int i=1,a,b;while(1)/大循环for(i=1;i#include/_crol_和_cror_的头文件。void delay(unsigned int z)/建立延时子函数。unsigned int i,j;for(i=0;i0x7f;)P1=d;delay(100);/调用延时子函数延时。d=_crol_(d,1);/循环左移。for(;d#includevoid delay(unsigned int a)unsigned int b;b=a;while(b0)b-;void main()unsigned int i,j;unsign

5、ed code A=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0x3f:为 0,即数码管亮“0” 。P2=0;/打开数码管的第一个,P0=j;/对数码管进行赋值while(1)i=0;for(j=0;jvoid delay(unsigned int a)unsigned int b;b=a;while(b0)b-;void main()int i,j;unsigned code A=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x

6、6f,0x77,0x7c,0x39,0x5e,0x79,0x71;P2=0;P0=j;while(1)j=0;for(i=0;i=0;i-)P2=i;P0=Aj;delay(50000);j+;中断程序一#include#includevoid delay(unsigned int a)unsigned int b;b=a;while(b0)b-;void main() int i,j;unsigned code A=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;EA=1;/打开总

7、中断EX0=1;/打开外部中断 0。IT0=0;/选择其为低电平有效有效。当 CPU 检测到 P3.3 引脚上出现有效的中断信号时,中断标志 IE1(TCON.3)置 1,向 CPU 申请中断。P2=0;P0=j;P1=0xfe;while(1)j=0;for(i=0;i=0;i-)P2=i;P0=Aj;delay(50000);j+;void exist() interrupt 0/中断子程序,其中“0”为外部中断的序号P1=_crol_(P1,1);delay(50000);定时程序;includeunsigned int i=0,j=0,t;unsigned code a=0x3f,0x

8、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void main()TMOD=0x01;/对 TMOD 赋值,以确定 T0 和 T1 的工作方式。TH0=(65536-50000)/256;TL0=(65536-50000)%256;/定时/计数器的实质是加 1 计数器(16 位) ,由高 8 位和低 8 位两个寄存器组成。对高 8 位和低 8 位赋值。EA=1;/开总中断ET0=1;/则对 IE 赋值,开放中断TR0=1;/使 TR0 或 TR1 置位,启动定时/计数器定时。while(1)if(t=20)t=0;if(j=8)j=0;if(i=16)i=0;P2=j;P0=ai;i+;j+;void time() interrupt 1/定时子程序,其中“1”为定时/计数器序号 TH0=(65536-50000)/256;TL0=(65536-50000)%256;t+;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号