?? order.c
字號:
//****************************************************************/
/*8路順序控制器源程序,源文件名order.c*/
//先順序點亮led0--led7,然后再反序點亮led7--led0
//****************************************************************/
#include <pic.h>
#include <pic1687x.h>
#define PORTBIT(add,bit) ((unsigned)(&add)*8+(bit))
static bit PORT_0 @ PORTBIT(PORTB,0); /*定義PORTB 0位*/
static bit PORT_1 @ PORTBIT(PORTB,1); /*定義PORTB 1位*/
static bit PORT_2 @ PORTBIT(PORTB,2); /*定義PORTB 2位*/
static bit PORT_3 @ PORTBIT(PORTB,3); /*定義PORTB 3位*/
static bit PORT_4 @ PORTBIT(PORTB,4); /*定義PORTB 4位*/
static bit PORT_5 @ PORTBIT(PORTB,5); /*定義PORTB 5位*/
static bit PORT_6 @ PORTBIT(PORTB,6); /*定義PORTB 6位*/
static bit PORT_7 @ PORTBIT(PORTB,7); /*定義PORTB 7位*/
void delay(); //延遲函數的聲明
main()
{ TRISB=0x00; //設置portb口全為輸出
INTCON=0x00; //關閉所有的中斷
PORTB=0x00; //RB口先送低電品平
loop1:
//點亮led的第0位,順序顯示
//PORTB=0x01;
PORT_0=1;
delay();
//點亮led的第1位
//PORTB=0x03;
PORT_1=1;
delay();
//點亮led的第2位
//PORTB=0x07;
PORT_2=1;
delay();
//點亮led的第3位
//PORTB=0x0f;
PORT_3=1;
delay();
//點亮led的第4位
//PORTB=0x1f;
PORT_4=1;
delay();
//點亮led的第5位
//PORTB=0x3f;
PORT_5=1;
delay();
//點亮led的第6位
//PORTB=0x7f;
PORT_6=1;
delay();
//點亮led的第7位
//PORTB=0xff;
PORT_7=1;
delay();
//全滅
PORTB=0x00;
delay();
//點亮led的第7位,反序顯示
//PORTB=0x80;
PORT_7=1;
delay();
//點亮led的第6位
//PORTB=0xc0;
PORT_6=1;
delay();
//點亮led的第5位
//PORTB=0xe0;
PORT_5=1;
delay();
//點亮led的第4位
//PORTB=0xf0;
PORT_4=1;
delay();
//點亮led的第3位
//PORTB=0xf8;
PORT_3=1;
delay();
//點亮led的第2位
//PORTB=0xfc;
PORT_2=1;
delay();
//點亮led的第1位
//PORTB=0xfe6;
PORT_1=1;
delay();
//點亮led的第0位
//PORTB=0xff;
PORT_0=1;
delay();
//全滅
PORTB=0x00;
delay();
goto loop1;
}
void delay()
{
int i;
for(i=0;i<=65;i++)
continue;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -