📄 练习闪烁._c
字号:
#include <iom128v.h>
unsigned char porta_temp=0x01;
void delay_1ms(void)
{
unsigned int i;
for (i=0;i<556;i++);
}
void delay_nms(unsigned int n)
{unsigned int i=0;
for (i=0;i<n;i++)
delay_1ms();
}
void LED_On(int i)
{
PORTB=~(1<<i);
delay_nms(50);}
void main()
{unsigned int i;
DDRA = 0x00; DDRB = 0xFF; /*定义输入输出*/
PORTA= 0xFF;PORTB= 0xFF;
while(1)
{PORTB=0XFF;
while((PINA & 0x01) == 0)
{
for(i=0;(PINA & 0X01) == 0;i++)
{PORTB=~PORTB;
delay_nms(50);}
}
while((PINA & 0x02) == 0) //判断PA0口的状态
{
PORTB = ~porta_temp;
delay_nms(50);
porta_temp=porta_temp>>1;
if(porta_temp == 0) //右移到为0时重新赋值
{porta_temp=0x80;}
}
while((PINA & 0x04) ==0)
{ PORTB = ~porta_temp;
delay_nms(50);
porta_temp=porta_temp<<1;
if(porta_temp == 0)
{ porta_temp=0x01;}
}
while((PINA & 0x08)==0)
{ PORTB=~porta_temp;
delay_nms(50);
porta_temp=porta_temp<<1;
if(porta_temp==0xF0)
{porta_temp=0x01;}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -