用C51编写程序 实现8个LED灯同时闪烁,请用P2口与LED灯连线 求助

供稿:hz-xin.com     日期:2025-01-13
单片机MCS-51汇编问题。P1 口接8个LED灯,程序运行后,8个LED灯闪烁,闪烁频率为20Hz。急急急!!!!!!

根据你的要求写了一个,记得选择满意答案哦
;FOSC = 12MHz
;sysclk = 1us
flag bit 00h
cnt equ 25000 ;计时器初始值,频率 = 20,周期 = 50ms,一半为25ms
org 00h
jmp main
org 0003h
jmp int0_isr
org 000bh
t0_isr:
mov tl0,#(65536 - cnt) mod 256
mov th0,#(65536 - cnt) / 256
jb flag,t0_end
xrl p1,#0ffh
t0_end:
reti
int0_isr:
cpl flag
reti
main:
mov sp,#50h
clr flag
mov tmod,#01h
mov tl0,#(65536 - cnt) mod 256
mov th0,#(65536 - cnt) / 256
setb tr0
setb it0 ;下降沿触发
mov ie,#83h
mov p1,#00h
jmp $
end

大部分人都觉得吵架总是不好的,但其实它并不总是坏的,负面的。有效的吵架会让我们的生活变得更加好。很多时候,我们都是不同的人,很多生活习惯,思想都不同,所以需要磨合,吵架是一种表达自己需求,了解对方内心真实想法的一种方式,有时候把问题摊开了,才能更好地解决、减少冲突。

#include<reg51.h>
#define uchar unsigned char
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
main()
{
while(1)
{
P2=0x00;

delay(100);

P2=0xff;

delay(100);

}

}

用汇编语言,还是很简单的:
;
ORG 0000H
DJNZ R7, $
DJNZ R7, $
DJNZ R6, 0000H
XRL P2, #255
SJMP 0000H
END

即可。

简单的51单片机设计,用8个按键独立控制8个灯的程序!(高分!)要求如下...
include<reg52.h> define uint unsigned int define uchar unsigned char void delay(uint z);void main(){ uchar a;a=0x00;P0=0x00;\/\/P0输出; led共阴接法 P1输入按键另一端接地 P0加上拉电阻 P1=0xff;while(1){ P0=0x00;if(P1!=0xff){ a=P1;switch(a){ case 0xfe: P0=0x...

用单片机C51中switch语句编程,P1口接八个开关分别控制P0口八个LED灯
switch(P1){ case 0xfe:P0=0x01;break;case 0xfd:P0=0x02;break;case 0xfb:P0=0x04;break;case 0xf7:P0=0x08;break;case 0xef:P0=0x10;break;case 0xdf:P0=0x20;break;case 0xbf:P0=0x40;break;case 0x7f:P0=0x80;break;default:break;} ...

如何用C51单片机实现P0口接两个按键,P1口接8个LED灯。key1按下左移动...
给个四路:定意一个变量;if(按键1按下)变量为1;if(按键2按下)变量为2;if(变量==1){ 左移控制;} else if(变量==2){ 右移控制;}

关于C51:用key按键控制8个LED以不同的模式显示(我用的数组)。_百度知 ...
试试看:void main(){ uchar key1, key2;uchar a;while(1) { P1 = 0xff;key1 = P1;switch(key1) { case 0x01:for(a = 0; a < 8; a++) { delay(100);P2 = left_right[a];P1 = 0xff;key2 = P1;if (key1 != key2) {key1 = key2; break;} \/\/检测按键,...

Linux下单片机开发5(C51):74hc138译码器
讨论共性问题,译码器输入端有n位,输出端有2^n位。以74hc138译码器为例,输入端为3位,输出端有2^3=8位,最合适的应用是驱动8位LED灯。以下为基于74hc138译码器的代码实例:注意,实际代码需根据具体硬件环境和单片机型号进行适配。实现流水灯效果的代码如下,同样需要根据实际硬件环境和单片机型号进行...

求大神在keil上帮写51单片机C语言程序
\/\/第一个实验:\/\/假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7\/\/假设K1按键在P2.3引脚#include<reg51.h>#include<intrins.h>sbit k1=P2^3;\/\/假设K1按键在P2.3引脚void main(){P0=0xfe;while(1){if(k1==0){while(k1==0);P0=_crol_(P0,1);}}}...

单片机的P1端口输出控制8个指示灯LED0~LED7,写出指示灯LED0到LED7依次...
假设输出1 LED亮,程序如下:include<REG51.H> define uchar unsigned char define uint unsigned int void delay1ms(uint i) \/\/1ms延时程序 { uint j;for(;i>0;i--){ for(j=0;j<125;j++){;} } } void main(void)\/\/主程序 { uchar i;while(1){ for(i=0;i<8;i++){ P1=0x...

实现P0口驱动8个发光二极管流水灯点亮,设置三个按键 c51单片机 急...
LED灯简单,设置P0为推挽输出,根据按键不同,使P0输出不同的值,根据以下代码修改以下吧。\/\/=== \/\/按键测试程序.按下S1-S3,在LCD上分别显示1-3 \/\/--- \/\/ Includes \/\/---

...四个按键控制灯亮,用一个P3口控制8个LED,低电平点亮,要求有判断按 ...
\/*图片上的P3.3口不接,LED 正端接个470欧电阻到5V电源,LED负端接P3口*\/ include"c51.h"include"stdio.h"define Key0 P1^0 define Key1 P1^2 define Key2 P1^3 define Key3 P1^4 define LED0 P3^0 define LED0 P3^1 define LED0 P3^2 define LED0 P3^...

C51 晶振12MHZ 延时0.2S 依次点亮8个LED灯后,8号灯常亮,闪烁两次后...
可以给你个 你得改 #include<reg51.h> \/\/预处理命令,定义51单片机各寄存器的存储器映射 include<intrins.h> \/\/预处理命令,包含很多算法程序 void Delay(unsigned char a) \/\/延时子程序 { unsigned char i; \/\/定义变量i为无符号字符类型 while(--a) \/\/while-do型循环 { ...