2022-05-28 8
#include<iocc2530.h> #define uchar unsigned char #define uint unsigned int /*LED1:P1_5 LED2:P1_0 LED3:P1_3 LED4:P1_4*/
void Initial(void) { P1SEL&=~0x39;//功能寄存器 :0为普通IO口,1为第二功能–外设 P1DIR|=0x39;//方向寄存器 :0为输入 , 1为输出 P1&=~0x39;//将四个灯熄灭 }
/*函数名称:Delay *传入参数 :uint time *实现功能 :延迟 */ void Delay(uint time) { uint i; uchar j; for(i=0;i<time;i++) for(j=0;j<240;j++) { asm("NOP"); asm("NOP");//asm是内嵌汇编,nop是空操作,执行一个指令周期 asm("NOP"); } }
/*函数名称:Blink *传入参数 :uint j, uchar status *j为闪烁次数,status 为需要闪烁的灯 *实现功能 :根据传入的闪烁次数,去闪烁这个灯 */ void Blink(uint j, uchar status) { uint i; for(i=0;i<j;i++) { P1=status; //寄存器赋值方法 Delay(1200);//延迟 P1&=~0x39;//重置,将灯熄灭,为下一次亮做准备 Delay(1200);//延迟 } }
main() { Initial();//初始化LED灯 while(1) { Blink(10,0x20);//闪烁10下 Blink(8,0x01);//闪烁8下 Blink(6,0x08);//闪烁6下 Blink(4,0x10);//闪烁4下 } }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。