?? 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 + -