当前位置:文档之家› 多种流水灯C语言程序设计

多种流水灯C语言程序设计

//在上面基础上调灯的亮度(调占空比) #include<reg51.h> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long
bit ldelay=0; uchar speeda=30; uint k=0; uchar scale;
定时流水灯// #include<reg51.h> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long
bit ldelay=0;
void main() {
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; uchar leda; TMOD=0x00; TR0=1; ET0=1; EA=1; while(1) { if(ldelay) {
ldelay=0; P2=led[leda]; leda++; if(leda==9) { leda=0; speed-=10; if(speed==0)speed=100; }
} } }
timer2() interrupt 1 {
static uchar t; TF0=0; t++; if(t==speed) { t=0; ldelay=1; } }
ldelay=0; P2=led[leda]; leda++; if(leda==9)leda=0;
} } }
timer2() interrupt 1 {
static uchar t; TF0=0; t++; if(t==10) { t=0; ldelay=1; } }
变速流水灯// #include<reg51.h> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long
void main() {
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; uchar leda; uchar speed[10]={5,80,70,60,50,40,30,20,10,5}; uint i; uint k; TMOD=0x00; TR0=1; ET0=1; EA=1; while(1) { if(ldelay) {
void main() {
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; uchar leda; uchar speed[10]={5,80,70,60,50,40,30,20,10,5}; uint i; uint k; TMOD=0x00; TR0=1; ET0=1; EA=1; while(1) { if(ldelay==1) {
//每 2 两圈改变一次亮度 #include<reg51.h> #define uint unsigned int
#define uchar unsigned char #define ulong unsigned long
bit ldelay=0; uchar speeda=30; uint k=0;
sbit p2=P2^0; void main() {
TMOD=0x01; TR0=1; ET0=1; EA=1; while(1) {
; } }
电子科学与技术 用 12M 晶 振
电子科学与技术 用 12M 晶 振
timer0() interrupt 1 {
TH0=ห้องสมุดไป่ตู้x00; TL0=0x06; p2=!p2; }
多种流水灯 C 语言程序设计 /********************************** 王 忠 河 海 大 学 2007 年 9 月 19 日**********************/ /***************************** 以 下 程 序 均 采 *****************************************************/ #include<reg51.h> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long /********************************** 王 忠 河 海 大 学 2007 年 9 月 19 日**********************/ /***************************** 以 下 程 序 均 采 *****************************************************/ #include<reg51.h> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long
ldelay=0; P2=led[leda]; leda++; if(leda==9) { leda=0; k++; if(k==2){ k=0; speeda=speed[i]; i++; if(i==9)i=0; } }
} } }
timer2() interrupt 1 {
static uchar t; TF0=0; t++; if(t==speeda) { t=0; ldelay=1; } }
ldelay=0; P2=led[leda]; leda++; scale++; if(scale==10)scale=0; if(leda==9)
{ leda=0; k++; if(k==2){ k=0; speeda=speed[i]; i++; if(i==9)i=0; } }
} } }
timer2() interrupt 1 {
static uchar t; TH0=0x1c; TL0=0xbf; TF0=0; t++; if(t==speeda) { t=0; ldelay=1; } if(scale==10)P2=0; if(scale==0)P2=1; }
bit ldelay=0; uchar speed=100;
void main() {
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; uchar leda; TMOD=0x00; TR0=1; ET0=1; EA=1; while(1) { if(ldelay) {
相关主题