/***************************************************** *** 功能:8位流水燈 *** 實驗內容:本實驗是用二進制寫的程序 *****************************************************/ #include<pic.h> //包含單片機內部資源預定義 __CONFIG(0xFF32); //芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩 void delay(); //delay函數申明 /**************************************************************************** * 名 稱:main() * 功 能:主函數 * 入口參數: * 出口參數: ****************************************************************************/ void main() { TRISD = 0; //portd 輸出 TRISC = 0xf0; //porta 輸出 PORTC = 0x00; //74HC138控制端口 while (1) //死循環,讓數碼管持續點亮 { PORTD=0b00000001; //點亮第1個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b00000010; //點亮第2個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b00000100; //點亮第3個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b00001000; //點亮第4個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b00010000; //點亮第5個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b00100000; //點亮第6個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b01000000; //點亮第7個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); PORTD=0b10000000; //點亮第8個發光管 delay(); PORTD=0b00000000; //關掉發光管 也可以寫成16位的 自己試一試吧 delay(); } } /**************************************************************************** * 名 稱:delay() * 功 能:延時 * 入口參數: * 出口參數: ****************************************************************************/ void delay() { int i; //定義整形變量 for (i = 10000;i--;); //延時 }