📄 8515-四个口-led变速移位.c
字号:
#include <io8515.h> /*预处理命令,头文件 */
#define BIT(x) (1<<(x))
void delay(unsigned char delayValue)
{
unsigned char i,j;
for(i=0;i<delayValue;i++)
for (j=1;j;j++)
;
}
void led_pb(unsigned char t) /*LED 移位函数 */
{
unsigned char i;
DDRB=0xff; /*设PB 口为输出 */
for (i=0;i<8;i++) /*硬件设定低电平灯亮,LED 的1 位亮灯从B 口PB0 PB7 */
{
PORTB=~BIT(i); /*LED 亮灯1 位 */
delay(t); /*延时 */
}
PORTB=0xff; /*关PB 口 */
}
void led_pd(unsigned char t) /*LED 的1 位亮灯从D 口PD0 PD7 移位函数 */
{
unsigned char i;
DDRD=0xff;
for (i=0;i<8;i++) /*LED 的1 位亮灯从D 口PD0 PD7 */
{
PORTD=~BIT(i);
delay(t);
}
PORTD=0xff;
}
void led_pc(unsigned char t) /*C 口PC0 PC7 移位函数 */
{
unsigned char i;
DDRC=0xff;
for (i=0;i<8;i++) /*LED 的1 位亮灯从C 口PC0 PDC */
{
PORTC=~BIT(i);
delay(t);
}
PORTC=0xff;
}
void led_pa(unsigned char t) /*A 口PA7 PA0 移位函数 */
{
unsigned char i;
DDRA=0xff;
for (i=8;i>0;i--) /*LED 的1 位亮灯从A 口PA7 PA0 */
{
PORTA=~BIT(i-1);
delay(t);
}
PORTA=0xff;
}
void main (void) /*主函数 */
{
unsigned char dt;
while (1) /*循环 */
{
for (dt=5;dt<200;dt+=25)
{
led_pb(dt); /*LED 发光二极管一亮灯沿四个口移位变速循环 */
led_pd(dt);
led_pc(dt);
led_pa(dt);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -