永发信息网

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

答案:5  悬赏:80  手机版
解决时间 2021-04-06 07:44
用C语言编写一个花样流水灯的程序及此程序的流程图
最佳答案
设一个标志位flag, 以标志位的5种状态对应发光二极管的5种工作状态,如当flag=1;发光二极管工作在1,当flag=2;发光二极管工作在2,......!然后根据定时器定时功能,5秒到,刷新flag的值,程序如下;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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
/////////////////
///////////////////////////////

//========声明区===========
#include
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种状态函数区=========
全部回答
"ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV R0,#0FEH MOV R1,#4 loop1: MOV A,R0 MOV P1,A LCALL delay MOV A,R0 RL A RL A MOV R0,A DJNZ R1,loop1MOV R0,#07FH MOV R1,#4LOOP2: MOV A,R0 MOV P1,A Lcall Delay MOV A,R0 RR A RR A MOV R0,A DJNZ R1,LOOP2 MOV R0,#0EFH MOV R2,#0F7H MOV R1,#10 MOV A,R0 ANL A,R2loop3: MOV P1,A ACALL DELAY MOV A,R0 RR A MOV R0,A MOV A,R2 RL A MOV R2,A ANL A,R0DJNZ R1,LOOP3 SJMP $ DJNZ R4,$ DJNZ R3,D2 DJNZ R2,D1 RET DELAY: MOV R5,#10D2: MOV R6,#200D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET END"
杜娘找 心型流水灯
~
~
~
如果需要的话 ,我花几分钟帮你做个!!
#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;
}

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

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

}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下列图象能正确反映所对应叙述关系的是A.表示
石膏粉合成的英语表达
单选题形状不同的铜块、铁块、铝块和铅块,浸
不是荆芥但做汤有荆芥味的菜是什么
单选题随着法国战机2011年3月19日下午对利比
如果天蝎座说把你当自己人了 是一种信任的表
关于描写芒果树的好词好句
襄阳机动车违章查询网站怎么查不了?车牌号
中通快递到内蒙古乌海市海南区吗
处理器a86410符合守望先锋配置吗
根据课文默写。(10分)【小题1】抽刀断水水
下列说法正确的是(  )A.从明矾是常用的
大扁豆和小扁豆的区别
英语翻译两百年后人会更少.明年你将住在北京
英语演讲要求介绍什么东西3-5分钟,有什么主
推荐资讯
红色经典诗词朗诵,适合一年级学生朗诵的红色
国美金融那些P2P能不能投
求 诗词歌赋,我要参加朗诵比赛,望知识达人
乐竹纸巾怎么样
164cm在女生里算高吗?算矮吗?
智能商业是什么意思?有何特点?
电信的RFID uim卡能剪成小卡吗?
向对方父母怎么许承诺对他女儿好
欧是生死狙击小新手,听同伴说什么一级跳二级
开瑞k50s的gps导航如何使用
死都理解不了英语六级考试的分数换算...谁能
有农夫,鸡,狐狸和白菜,农夫要用船载他们过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?