define S4_PIN GPIO_PIN_6 void main(void){ /* 初始化GPIO */ GPIO_Init(LED1_PORT, LED1_PIN, GPIO_MODE_OUT_PP_LOW_FAST);GPIO_Init(LED2_PORT, LED2_PIN, GPIO_MODE_OUT_PP_LOW_FAST);GPIO...
include#defineucharunsignedcharuchartimes,led;sbitkey1=P1^0;sbitkey2=P1^1;voidt0isr()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;times++;}voidrolled(){P0=led;led=(led>>1)|0x80;if(led==...
按下开关s1(开关是那种按下去不会弹回来的),led1.3.5.7和led2.4.6.8交替闪烁,按下s2,led1234和led5678交替闪烁,间隔都是0.5秒,按下s3全灭 --- 电路与程序,都在下面。本程序,经过硬件验证,是正确的...
LOOP:MOV LED,#0FEH MOV R2,#8 LOOP1:MOV P0,LED JNB FLAG,MOV A,LED RL A MOV LED,A CLR FLAG DJNZ R2,LOOP1 MOV LED,#0FEH MOV R2,#8 LOOP2:MOV P0,LED JNB FLAG,MOV A,LED RL A RL A MOV LE...
sbit LED1=P2^0;sbit LED2=P2^1;// STC的下载工具中,有延时的计算例子,再使用循环延时 void Delay100ms(){ //@11.0592MHz unsigned char i, j;i = 180;j = 73;do{ while (--j);} while (--i);} ...
include "reg51.h"sbit LED1 =P1^1;sbit LED2 =P1^2;void delay(unsigned int i){ unsigned int j; for(;i--;)for(j=450;j--;);}void main(){ while(1){ LED2=LED1; LED1=!LED1; delay(100...
JNZ T0RET;A!=0 jmp ;;;更改这里改灯闪烁 MOV A,P1 RR A MOV P1,A ;;;MOV A,#28H ;A==0;A=40,T0RET:SETB ET0;Enable interrupt RETI ORG 080H
如果是PC机需要配置一块MOXA的TTL板卡来实现高低电瓶输出:1、先设定LED灯是低电平亮还是高电瓶亮,这里假设低电平;2、设置一个定时器,在定时器里面写代码,分别发送高、低电瓶值可实现交替闪耀;例程:include <reg51.h>...
交替闪烁就是在循环中让两个LED端口交替高低电平。循环中加入延时。延时函数我用循环实现。题目没有要求精准延时,如精准需用中断。include <reg52.h> define uInt unsigned int sbit D1=P2^0;sbit D2=P2^1;sbit S1=...
sbit LED1=P1^7; //位定义。void delay_ms(uint);//mS级带参数延时函数。void main(){ while(1){ LED1=0;delay_ms(1000);LED1=1;delay_ms(1000);} } void delay_ms(uint z) //延时子程序 { uint x,...