导航:首页 > 编程语言 > 花样流水灯程序3种变化

花样流水灯程序3种变化

发布时间:2021-12-09 02:53:39

❶ 求C51单片机 按键切换三种样式流水灯代码

#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharled,tm,key;
sbitK=P1^0;
voidt0isr()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tm++;
if(tm>=10)
{
tm=0;
switch(key)
{
case0:led=_crol_(led,1);P0=led;break;
case1:led=_cror_(led,1);P0=led;break;
case2:led=~led;P0=led;break;
default:break;
}
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
led=0xfe;
key=0;
while(1)
{
if(K==0)
{
while(K==0);
key++;
key%=3;
if(key==0)led=0xfe;
elseif(key==1)led=0x7f;
elseled=0x55;
}
}
}

❷ 求:单片机 花样 流水灯 程序

设一个标志位flag, 以标志位的5种状态对应发光二极管的5种工作状态,如当flag=1;发光二极管工作在1,当flag=2;发光二极管工作在2,......!然后根据定时器定时功能,5秒到,刷新flag的值,程序如下;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;/*程序功能:定时5S到切换LED显示状态.
;作者:w418781840.2008.5.29 */
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FLAG BIT 30H ;定义标志位
ORG 0
LJMP MAIN
ORG 0BH
LJMP AGA
;;;;;;主程序;;;;;;;;;;;;
ORG 0030H
MAIN: MOV FLAG,#01H ;标志位清0
MOV TMOD,#01H ;赋值50MS
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#100 ;中断100*50=5S
SETB EA
SETB ET0
SETB TR0
SJMP $
;;;;;;;;;中断服务程序;;;;;;;;;;;;;;
AGA: MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R0,LOOP ;5S到否?否,返回
INC FLAG ;到,标志加1
MOV A,FLAG
CJNE A,#05,L1 ;扫描5种状态了否?
MOV FLAG,#01H ;是,归0,重新开始
;;;;;;;;;切换程序;;;;;;;;;;;;
L1: CJNE A,#01H,L2 ;判断是否是状态1?否,转判断2
LCALL LED1 ;是,调有状态1
SJMP LOOP ;返回
L2: CJNE A,#02H,L3 ; 以下跟上面判断相同
LCALL LED2
SJMP LOOP
L3: CJNE A,#03H,L4
LCALL LED3
SJMP LOOP
L4: CJNE A,#04H,L5
LCALL LED4
SJMP LOOP
L5: CJNE A,#05H,LOOP
LCALL LED5
LOOP: RETI
;;;;;;LED子程序区;;;;;;;;;;
LED1: RET
LED2: RET
LED3: RET
LED4: RET
LED5: RET
/////////////////
///////////////////////////////
/*程序功能:定时5S到切换LED显示状态.
作者:w418781840.2008.5.29 */
//========声明区===========
#include <reg51.h>
unsigned char count=0;
unsigned char flag=1;
void led1(void);
void led2(void);
void led3(void);
void led4(void);
void led5(void);
//=========函数=========
main()
{ TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{ switch(flag)
{ case 1:led1();break;
case 2:led1();break;
case 3:led1();break;
case 4:led1();break;
case 5:led1();break;
}
}

}
//==========中断服务============
void timer0(void) interrupt 1
{ TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++count==100)
{ count=0;
flag++;
if(flag==5)
flag=1;
}

}
//========5种状态函数区=========

❸ 请帮忙编写一个花样流水灯单片机程序(要求1,3,5,7灯亮,2,4,6,8灯亮然后全灭)

先把P1口全部接低电平!
ORG 0000H
AJMP START
ORG 0040H
AA:MOV P1,#55H
ACALL DELAY
MOV P1,#0AAH
ACALL DELAY
MOV P1,#00H
ACALL DELAY
AJMP AA

DELAY:MOV R5,#256
LOOP2:MOV R4,#256
LOOP1:NOP
NOP
DJNZ R4,LOOP1
DJNZ R5,LOOP2
RET

❹ 一个花样流水灯单片机程序(要求1,3,5,7灯亮,2,4,6,8灯亮然后全灭)

先把P1口全部接低电平。

ORG 0000H。
AJMP START。
ORG 0040H。
AA:MOV P1,#55H。


ACALL DELAY。
MOV P1,#0AAH。
ACALL DELAY。
MOV P1,#00H。


ACALL DELAY。
AJMP AA。

DELAY:MOV R5,#256。
LOOP2:MOV R4,#256。
LOOP1:NOP。
NOP。


DJNZ R4,LOOP1。
DJNZ R5,LOOP2。
RET。

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。

在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

❺ 用C语言编写一个花样流水灯的程序及此程序的流程图

#include<reg51.h>
#define uchar unsigned char
uchar num_code[]={0,1,2,3,4,5,6,7,8,9,1,3,5,7,9,0,2,4,6,8,0,1,2,3,4,5,6,7,0,1};
sbit add_1ms=P1^0;
void delay_nms(unsigned int n)//延迟n毫秒
{

uchar i;
while(n!=0)
{
for(i=250;i>0;i--);
n--;
}
}

main()
{
uchar k;
unsigned int m=500; //一开始0.5s
while(1)
for(k=0;k<30;k++)
{
if(add_1ms==0) //到2s的时候,间隔时间回复为0.5s
{
if(m==2000)
{
m=500;
}

else m=m+100; //按一次按钮 间隔时间增加0.1s
}

P2=num_code[k] ;
delay_nms(m);

}

}

❻ 跪求一个按键控制流水灯的单片机程序,要三种花样,且用reg52.h。急急急急!!!!

#include<reg52.h>
#include<intrins.h>
#defineucharunsignedchar
sbitkey=P1^0;
ucharled,time;
voidt0isr()interrupt1
{
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
switch(time)
{
case0:P0=led;led=_crol_(led,1);break;
case1:P0=led;led=_cror_(led,1);brea;
case2:P0=led;led=~led;break;
}
}
main()
{
TMOD=0x01;
TH0=(65536-60000)/256;
TL0=(65536-60000)%256;
TR0=1;
ET0=1;
EA=1;
led=0xfe;
while(1)
{
if(key==0)
{
while(key==0);
time++;
time%=3;
if(time==0)led=0xfe;
elseif(time==1)led=0x7f;
elseled=0x55;
}
}
}

❼ 求救:单片机花样流水灯(16灯6种花样)

不会有现成的完整程序给你的,得你自己写,流水灯的样式可以用查表。

❽ 花样流水灯程序(至少两种模式,用数码管显示模式的数字,用按键控制模式,并且实现灯的加速或减速

呵呵,我也来凑一个热闹啊!
//程序功能:用数组函数让P1的8个二极管花样闪烁
// K1 加速。K2 减速。K3 恢复正常。 K4 暂停1.5s后继续。
//制 作 者:* *
//Q Q:*******
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit v1=P3^4;
sbit v2=P3^5;
sbit v3=P3^6;
sbit stop=P3^7;
uint x,y,z,aa;
uchar code led[]=
{
0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xe7,
0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,
0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,
0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,
0x7f,0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,
0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,0xfe,0xfd,0xfb,
0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,
0x80,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0x00,
0xff,0x00,0xff,0x00,0xff,0x00,0xff};
void delay(uint z)
{
for(x=z;x>0;x--)
for(y=124;y>0;y--);
}
void main()
{
uchar i;
z=150;
aa=0;
while(1)
{
for(i=0;i<97;i++)
{
if(v1==0)
z+=10;
if(v2==0)
z-=10;
if(z<20)
z=10;
if(v3==0)
z=124;
P1=led[i];
delay(z);
if(stop==0)
{
delay(10);
if(stop==0)
{
while(!stop);
delay(1500);
}
}
}
}
}

一样的,如果你要数码管显示模式的话,只需要加上数码管显示的几个句子就可以了,我就不帮你改了啊!!

呵呵

❾ 花样流水灯程序

瓦打我大威德安慰打我打我打我

阅读全文

与花样流水灯程序3种变化相关的资料

热点内容
40部被封禁的小说哪个好看 浏览:609
qq飞车绝版皇冠发饰 浏览:558
给个能看盗版电影的网站 浏览:525
iphone版360 浏览:769
最经典的啄木鸟电影 浏览:231
婚礼纪app怎么盈利 浏览:963
怎么搬微信数据 浏览:56
韩剧电影完整版 浏览:281
男人懂的网站 浏览:589
发送压缩文件邮件空 浏览:554
javaeessh三大框架知识点 浏览:653
linux登录oracle 浏览:664
韩国日本推理电影 浏览:564
华为手机怎么app更新 浏览:806
ps3软破升级系统 浏览:908
s了下铺的兄弟谷城 浏览:443
图马斯特16000m游戏配置文件 浏览:752
后宫黄文 浏览:605
世界上最难的编程是什么边城 浏览:567
电影《龙棺命灯》免费在线观看 浏览:234

友情链接