专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
51单片机
48路流水灯374扩展流水灯电路仿真,求C怎么控制
2020-02-02 09:34
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
9786
9
9
有谁写过这个电路的硬件程序,原来的程序是汇编,我看不懂汇编哪位大哥帮帮忙指导一下这个C程序的流水灯程序怎么写,只需要正传15圈后然后反转15圈,可以按扭调流水灯快慢!带仿真和汇编在里面,大家可以仿真一下,这个我是在其它东风找的。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
devcang
2020-02-02 14:19
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit EN=P3^6;
void delay5ms();
void delay400ms();
void hy4(){//;花样4全亮
uchar a;
for(a=0; a<6; a++){
P2=a;
P0=0xff;
P2=0;
}
}
void hy3(){ //;花样3全灭
uchar a;
for(a=0; a<6; a++){
P2=a;
P0=0x00;
P2=0;
}
}
void hy2(){ //;花样2从左到右亮,然后从右到左灭
// mov a,#01h
// mov r6,#6
// hy21: mov dptr,#0000h
// hy22: mov r7,#8
// hy2lp: movx @dptr,a
// setb c
// rlc a
// lcall delay5ms
// djnz r7,hy2lp
// inc dph
// djnz r6, hy22
// lcall delay400ms
// mov a,#01h
// mov r6,#6
// hy21a: dec dph
// ; mov dptr,#0000h
// hy22a: mov r7,#8
// hy2lpa: movx @dptr,a
// clr c
// rrc a
// lcall delay5ms
// djnz r7,hy2lpa
// dec dph
// djnz r6, hy22a
// lcall delay400ms
}
void hy1(){//;花样1间隔亮 变换
uchar a, p;
for(p=0; p<0x10; p++){
for(a=0; a<=6; a++){
P2=a;
if( (p % 2)==0){
P0=0xAA;
}else{
P0=0x55;
}
P2=0;
}
delay400ms();
}
}
void delay5ms(){ //;延时子程序(5MS)
uchar i,j;
for(i=25;i>0;i--){
for(j=100; j>0; j--){
;
}
}
}
//;==============延时400毫秒
void delay400ms(){ //;延时子程序(400MS)
uchar i,j,k;
for(i=20;i>0;i--){
for(j=100; j>0; j--){
for(k=100; k>0; k--){
;
}
}
}
}
void main(){
delay400ms();
EN=0;
while(1){
hy1(); //;间隔亮10次
delay400ms();
hy3(); //;全灭
delay400ms(); //;延时
hy4(); //;全亮
delay400ms(); //;延时
hy3(); //;全灭
delay400ms(); //;延时
hy4(); //;全亮
delay400ms(); //
hy3(); //;全灭
delay400ms(); //
hy2(); //;从左到右亮,然后从右到左灭
hy2(); //
}
}
断断续续修改一下,还有一个函数,没改。
加载中...
查看其它9个回答
一周热门
更多
>
相关问题
【东软载波ESF0654 PDS开发板活动】开箱
1 个回答
东软载波ESF0654 PDS开发板外部中断
1 个回答
东软载波ESF0654 PDS开发板高级控制定时器AD16C4T
1 个回答
用串口调试助手为什么只能在hex模式接收发送而在文本模式不行
9 个回答
触摸芯片SC02B/SC04B在地砖灯的设计方案
1 个回答
相关文章
51单片机与蓝牙模块连接
0个评论
51单片机的硬件结构
0个评论
基于51单片机的无线遥控器制作
0个评论
51单片机 AD转换
0个评论
51单片机数码管递增显示
0个评论
如何实现对单片机寄存器的访问
0个评论
基于51单片机的指纹密码锁
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
51单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
#define uchar unsigned char
#define uint unsigned int
sbit EN=P3^6;
void delay5ms();
void delay400ms();
void hy4(){//;花样4全亮
uchar a;
for(a=0; a<6; a++){
P2=a;
P0=0xff;
P2=0;
}
}
void hy3(){ //;花样3全灭
uchar a;
for(a=0; a<6; a++){
P2=a;
P0=0x00;
P2=0;
}
}
void hy2(){ //;花样2从左到右亮,然后从右到左灭
// mov a,#01h
// mov r6,#6
// hy21: mov dptr,#0000h
// hy22: mov r7,#8
// hy2lp: movx @dptr,a
// setb c
// rlc a
// lcall delay5ms
// djnz r7,hy2lp
// inc dph
// djnz r6, hy22
// lcall delay400ms
// mov a,#01h
// mov r6,#6
// hy21a: dec dph
// ; mov dptr,#0000h
// hy22a: mov r7,#8
// hy2lpa: movx @dptr,a
// clr c
// rrc a
// lcall delay5ms
// djnz r7,hy2lpa
// dec dph
// djnz r6, hy22a
// lcall delay400ms
}
void hy1(){//;花样1间隔亮 变换
uchar a, p;
for(p=0; p<0x10; p++){
for(a=0; a<=6; a++){
P2=a;
if( (p % 2)==0){
P0=0xAA;
}else{
P0=0x55;
}
P2=0;
}
delay400ms();
}
}
void delay5ms(){ //;延时子程序(5MS)
uchar i,j;
for(i=25;i>0;i--){
for(j=100; j>0; j--){
;
}
}
}
//;==============延时400毫秒
void delay400ms(){ //;延时子程序(400MS)
uchar i,j,k;
for(i=20;i>0;i--){
for(j=100; j>0; j--){
for(k=100; k>0; k--){
;
}
}
}
}
void main(){
delay400ms();
EN=0;
while(1){
hy1(); //;间隔亮10次
delay400ms();
hy3(); //;全灭
delay400ms(); //;延时
hy4(); //;全亮
delay400ms(); //;延时
hy3(); //;全灭
delay400ms(); //;延时
hy4(); //;全亮
delay400ms(); //
hy3(); //;全灭
delay400ms(); //
hy2(); //;从左到右亮,然后从右到左灭
hy2(); //
}
}
断断续续修改一下,还有一个函数,没改。
一周热门 更多>