LZ 的所谓 高4位 与 低4位 轮流点亮,是指 高4位 一起亮,然后换 低4位 一起亮吗?如果是,那主函数应该是:void main(){ P3=0x0f;while(1){ P3=~P3;delay();} } 至于LZ出现的问题,那是因为 LZ 的每
用汇编写的 如果4个LED灯在单片机的P1.0,P1.1,P1.2,P1.3这4个I/O口的话 ORG 0000H main:mov a,#0FH mov p1,a sjmp end C语言还不太会,汇编是正确的
EA=1;
delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,sbit 定义了四个位于 P2 口的 LED 灯,而 delay 函数则是一个延时函数,可以用来控制 LED 灯亮起和灭掉的时间。注意:在编译运行
这是89c52的程序,我觉得改改可以用吧。希望能帮到你 共阳极,低电平亮,到时候自己调整。假设用单片机P1口。延时函数自己写吧。#include
L1=1; //第一盏灯亮 delay(100); //调用延时子程序 L2=1; //第二盏灯亮 delay(100); //调用延时子程序 L3=1; //第三盏灯亮 delay(100); //调用延时子程序 L4=1; //第四盏灯亮 de
急需单片机高手帮忙用C语言写一个单片机4个灯轮流闪亮的源程序。 详细内容看补充。
while(!p1.1);P0.4=1;} if(P1.2==0){ while(!p1.2);P0.6=1;} if(P1.0==0||P1.1==0||P1.2==0){ P0.2=1;delay();P0.2=0;P0.4=1;delay();P0.4=0;P0.6=1;delay();P0.6
P1.1接LED,输出低电平时发光。ORG 0000H LOOP:SETB P1.0 ;设置为输入状态.SETB P1.1 ;关闭LED JNB P1.0, $ ;低电平时原地转移.CALL DL10ms ;高电平时就稍稍延时.JNB P1.0, LO
在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。include
1.实现点亮一个LED 2.实现点亮任意位置上的一个LED 3.实现点亮一个LED,并让他1秒亮,1秒灭 接下来,剩下的工作,相信你一定能完成了。当然,这中间如果遇上了什么困难,你还可以百度hi我 我不太赞成直接把答案给你,
d1=0; //设为低电平,LED灯亮 d3=0; //设为低电平,LED灯亮 d5=0; //设为低电平,LED灯亮 d7=0; //设为低电平,LED灯亮 } void main(){ PortState(); //主函数里面调用 while(1);//~~~其
LED4 = 0;delay(50000);LED3 = 0;delay(50000);LED2 = 0;delay(50000);LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,sbit 定义了四个位于 P2 口的 LED 灯
编写一段程序,要求用at89c51控制四个led灯,是他们逐个亮以后在逐个灭?
delay(50000);LED4 = 1;delay(50000);LED4 = 0;delay(50000);LED3 = 0;delay(50000);LED2 = 0;delay(50000);LED1 = 0;delay(50000);} } 上述代码实现了四个 LED 灯逐个亮起来然后再逐个灭掉的效果。其中,
L2=1; //第二盏灯亮 delay(100); //调用延时子程序 L3=1; //第三盏灯亮 delay(100); //调用延时子程序 L4=1; //第四盏灯亮 delay(100); //调用延时子程序 while(1); //这里我用了个
1、布尔型控件具有两种状态,首先打开Labview创建一个空的项目。2、首先在前面板选择布尔控件,选择按钮和一个指示灯,都在布尔控件中。3、接着将选择好的控件拖动到前面板,双击单个控件进入对应的程序面板。4、接着进入到程
i++;} 定时器, LED灯
更改程序实现四盏LED灯依次轮流亮起,即流水灯的效果?
红绿蓝四个LED灯循环闪烁,单片机课程试验,连上板子可以直接显示,非常基础。单片机使用codewarrior编。资源中是采用51单片机的GPIO引脚对多路LED灯进行控制的代码,包含两个工程,分别采用两种不同的方法对多路LED灯进行控制。
keil使用教程编写第一个led灯程序1、新建一个空文件夹2、打开keil-->newuVisionproject3、选择目录,命名文件4、选择芯片5、添加文件6、编写C51单片机程序7、生成可以加载单片机里的hex文件8、编译生成hex文件9、将hex文件
我求求你了,别用汇编了。C51多简单明了!现在的单片机不需要考虑容量和速度问题,如果不够可以选择大容量高速单片机。51系列有100MHz,128K ROM。include
//实现P1口7个灯循环亮 delay1s(); //灯亮1S else GPIO1=GPIO1>>1; //下一个灯亮,使灯依次亮 }}
sbit LED4 = P2 ^ 3;void delay(unsigned int time) { while (time--);} void main() { while (1) { LED1 = 1;delay(50000);LED2 = 1;delay(50000);LED3 = 1;delay(50000);LED4 = 1;delay(50000)
L3=1; //第三盏灯亮 delay(100); //调用延时子程序 L4=1; //第四盏灯亮 delay(100); //调用延时子程序 while(1); //这里我用了个死循环,目的程序只运行一次,如果需要自动重新运行,可以把这句删
用汇编写的 如果4个LED灯在单片机的P1.0,P1.1,P1.2,P1.3这4个I/O口的话 ORG 0000H main:mov a,#0FH mov p1,a sjmp end C语言还不太会,汇编是正确的
c51 语言 让单片机上4个led 灯一次亮起来。
具体代码我没有,不过可以给你提醒一下. 用12M晶体,采用定时方式0(十六位),最大定时时间大概10ms左右,(具体我没算),你可以设置一个变量用来计算定时中断的次数,如果次数不够就重装并重启定时器,直到2m时间到. 流程: 1.初始化定时器,开中断 2.启动定时器 3.中断处理,中断次数到则翻转与LED相连的IO口,如果次数不到则转到1处.电路原理图咱不说,如果单片机IO口拉低灯亮、拉高灯灭,则设置一个定时模块,一个计数模块 while(1) { for(i=0;i<=18;i++)// for计数模块.7+11=18秒 { 定时模块函数()//每次1秒 P0=0xF0; //4个灯亮 if(i=7) {P0=0x=0x0F;} //后4个灯开始亮 } if(i=18) {i=0;} } 定时模块函数()//最好用中断,比较精确,当然也可以增加定时微调函数,更加精确 {……}
;实验目的:本程序主要实现一个简单的流水灯程序 ;即轮流点亮C口的8个灯(先点亮RC0,再熄灭RCO点亮RC1。。。。) ;硬件要求:拨码开关S2全部置ON。 #include ;调用头文件 __CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC ;芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 ;**********************用户寄存器定义******************** count equ 20h ;移位次数寄存器 del_va1 equ 0ffh ;外层延时参数 del_va2 equ 0ffh ;内层延时参数 org 00h ;程序人口地址 ; addlw 0ffh ;**********************主程序开始*********************** main nop ;ICD所需要的一条空指令 clrf PORTC ;先清楚C口所有显示 banksel TRISC ;选择I/O口方向寄存器所在的体 clrf TRISC ;设置C口全为输出 clrf STATUS ;返回体0 movlw .8 movwf count ;装载循环次数8(C口共8位) bsf STATUS,C ;置进位标志位为1,因循环移位是带进位循环的 loop rlf PORTC,1 ;C口左移1位 call delay call delay CALL delay ;调用三次延时程序(保证亮度,以及流水灯闪烁速度) bcf STATUS,C ;清0进位标志位(永远只有一只LED亮) DECFSZ count,1 ;判断是否一轮循环结束 goto loop ;否,继续循环移位 GOTO main ;是,程序重头开始 ;***********************延时程序************************* delay movlw del_va1 ;延时程序外层参数 movwf 30h movlw del_va2 ;延时程序内层参数 movwf 31h decfsz 31h,1 goto $-1 decfsz 30h,1 goto $-4 return ;********************程序结束**************************** end
四个灯按规律轮流亮灭?
有点没明白你的意思!三个从机 是什么!是三片单片机么?如果是单纯的控制LED 很简单的了!
设置定时器时间间隔为1s,计数总共不到1s的话,就再定义一个变量,循环多次,以实现1s 然后再1s时的定时器中断子程序中设置输出脚的电平交替即可