单片机点亮一盏led灯代码

单片机点亮一盏led灯代码,第1张

用MCS51单片机汇编语言编写的点亮一只LED灯源程序LED1.ASM,代码如下:

ORG 0000H

AJMPMAIN

ORG 0030H

MAIN:MOV A,#FEH

MOV P1,A

AJMP $

END

可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。 具体实现方法可以参考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a)void main(){ P1=0xfewhile(1) { // 向左循环点亮LED for(i=0i<7i++) { P1=_crol_(P1,1)// 左移一位,点亮下一位LED delay(55)} // 向右循环点亮LED for(i=0i/ 右移一位,,点亮上一位LED delay(55)} }}// 延时函数,延时a毫秒void delay(uint a){ uint x,yfor(x=ax>0x--) for(y=110y>0y--)}

//请依照你的硬件输入相对值#defineKEY_ACTIVE_LEVEL(请输入)#defineKEY1_PIN(请输入)#defineKEY2_PIN(请输入)#defineLED_ON_LEVEL(请输入)#defineLED_LOW_LEVEL(请输入)#defineLED_PIN(请输入)unsignedcharis_key1_press(void){reutrn(KEY1_PIN==KEY_ACTIVE_LEVEL)l}unsignedcharis_key2_press(void){reutrn(KEY2_PIN==KEY_ACTIVE_LEVEL)l}voidset_led_to(unsignedcharvalue){LED_PIN=value}voidmain(void){while(1){if(is_key1_press()&&is_key2_press()){set_led_to(LED_ON_LEVEL)}else{set_led_to(LED_OFF_LEVEL)}}}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11539152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存