单片机实验P1 口味输入口接八个按钮,编写程序是八个二极管循点亮,要用编程
答案:2 悬赏:0 手机版
解决时间 2021-02-03 03:17
- 提问者网友:感性作祟
- 2021-02-02 09:06
单片机实验P1 口味输入口接八个按钮,编写程序是八个二极管循点亮,要用编程
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-02-02 10:07
不知道你们用的c语言还是汇编语言,这是c程序代码:
#include<reg51.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char;
#define uint unsigned int;
uchar tt=0;
uint LED=0x0fe;
void main()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
P0=0x0fe;
while(1);
{
if( tt>=20)
{
tt=0
LED=_crol_(LED,1);
P0=LED;
}
}
}
void T0_time() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
tt++;
}
下面的是汇编代码,这个代码没有用中断,用的是软件延时,上面的c程序用的是中断延时:
ORG 0030H
SE18: MOV P1,#0FFH
LO34: MOV A,#0FEH
LO33: MOV P1,A
LCALL SE19
RLC A
SJMP LO33
SE19: MOV R6,#0FFH
LO36: MOV R7,#0FFH
LO35: DJNZ R7,LO35
DJNZ R6,LO35
RET
END
#include<reg51.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char;
#define uint unsigned int;
uchar tt=0;
uint LED=0x0fe;
void main()
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
P0=0x0fe;
while(1);
{
if( tt>=20)
{
tt=0
LED=_crol_(LED,1);
P0=LED;
}
}
}
void T0_time() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
tt++;
}
下面的是汇编代码,这个代码没有用中断,用的是软件延时,上面的c程序用的是中断延时:
ORG 0030H
SE18: MOV P1,#0FFH
LO34: MOV A,#0FEH
LO33: MOV P1,A
LCALL SE19
RLC A
SJMP LO33
SE19: MOV R6,#0FFH
LO36: MOV R7,#0FFH
LO35: DJNZ R7,LO35
DJNZ R6,LO35
RET
END
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-02 10:51
你好!
说的太笼统了,是每个开关控制一个等还是怎么的,有没有图啊?
我的回答你还满意吗~~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯