用单片机P0控制8个LED,要求8个LED按1357——2468的顺序轮流点亮
答案:2 悬赏:10 手机版
解决时间 2021-11-09 19:37
- 提问者网友:佞臣
- 2021-11-09 03:12
用单片机P0控制8个LED,要求8个LED按1357——2468的顺序轮流点亮
最佳答案
- 五星知识达人网友:第四晚心情
- 2021-11-09 04:02
这个简单给你个程序参考参考:
#include "REG52.H"
void Delay_1ms(unsigned int Cnt)
{
unsigned int x, y;
for(x = Cnt; x > 0; x--)
for(y = 110; y > 0; y--);
}
int main(void)
{
//
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
while(1)
{
P0 = 0x55;
Delay_1ms(1000);
P0 = 0xAA;
Delay_1ms(1000);
}
}追问大神,能帮帮忙编下程序吗?我加分,跪谢追答程序不是已经给你写出来了吗
#include "REG52.H"
void Delay_1ms(unsigned int Cnt)
{
unsigned int x, y;
for(x = Cnt; x > 0; x--)
for(y = 110; y > 0; y--);
}
int main(void)
{
//
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
while(1)
{
P0 = 0x55;
Delay_1ms(1000);
P0 = 0xAA;
Delay_1ms(1000);
}
}追问大神,能帮帮忙编下程序吗?我加分,跪谢追答程序不是已经给你写出来了吗
全部回答
- 1楼网友:夜风逐马
- 2021-11-09 04:46
一键多功能按键识别技术 1.实验任务 开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。 2.系统板上硬件连线 把“单片机系统”区域中的P3.2端口连接到“独立式键盘”区域中的K1端口上;把P0.0连到L1上 3.程序设计方法 (1. 设计思想由来 在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。 (2. 设计方法 从上面的要求我们可以看出,L1到亮灭受开关K1来控制,我们给L1亮灭定义出不同的ID号,当L1在亮时,ID=0;当L1在灭时,ID=1;分别给出不同的ID号我们就能够完成上面的任务了 4.汇编程序: ID EQU 30H K1 BIT P3.2 L1 BIT P0.0 ORG 0000H CLR P1.7 MOV ID,#00H START: JB K1,REL ;K1没闭合转 LCALL DELAY10MS ;K1闭合,延时消抖动 JB K1,REL :再判断 INC ID MOV A,ID CJNE A,#02,REL MOV ID,#00H REL: JNB K1,$ ;等待开关弹起 MOV A,ID CJNE A,#00H,IS0 ;判断相应ID CLR L1 :ID=0,灯亮 LCALL DELAY光 ;延时 SJMP START IS0: CJNE A,#01H,START; SETB L1 LCALL DELAY SJMP START DELAY10MS: MOV R6,#20 ;延时10MS子程序 LOOP1: MOV R7,#248 DJNZ R7,$ DJNZ R6,LOOP1 RET DELAY: MOV R5,#20 ;延时20MS子程序 LOOP2: LCALL DELAY10MS DJNZ R5,LOOP2 RET END追问硬件电路图呢?怎么画啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯