- * 實 驗 名 : LED閃爍的簡單試驗
- * 實驗說明 : 得到8盞LED交替亮滅的實驗效果
- *******************************************************************************/
- //--包含你要使用的頭文件--//
- #include <reg51.h> //此文件中定義了51的一些特殊功能寄存器
- //--聲明全局函數--//
- void Delay10ms(unsigned int c); //延時10ms
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- while(1)
- {
- //--數字前面加0x表示該數是十六進制的數,0x00就是十六進制的00--//
- //--P0口一共有8個IO口,即從P0.0到P0.7,而0x00二進制就是0000 0000--//
- //--效果就是P0.0到P2.7都是0,即低電平。而如果你想給P0.1口賦高電平時--//
- //--二進制就是0000 0001,就是十六進制0x01.--//
- P0 = 0x00; //置P0口為低電平
-
- Delay10ms(50); //調用延時程序,修改括號里面的值可以調整延時時間
-
- P0 = 0xff; //置P0口為高電平
-
- Delay10ms(50); // 調用延時程序
- }
- }
- /*******************************************************************************
- * 函 數 名 : Delay10ms
- * 函數功能 : 延時函數,延時10ms
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void Delay10ms(unsigned int c) //誤差 0us
- {
- unsigned char a, b;
- //--c已經在傳遞過來的時候已經賦值了,所以在for語句第一句就不用賦值了--//
- for (;c>0;c--)
- {
- for (b=38;b>0;b--)
- {
- for (a=130;a>0;a--);
- }
- }
- }
復制代碼
|