PT6311 HT1628的詳細例程,連續地址讀寫,按鍵掃描,LED顯示都有詳細的例程包。歡迎交流,例程都經過了驗證是OK的。
0.png (10.05 KB, 下載次數: 68)
下載附件
2019-5-28 04:50 上傳
單片機源程序如下:
- /*----------------------------------------------------------------------------*/
- // Tools : ICC-AVR6.31A
- // File : Main.C
- // Target : M8
- // Crystal : 8.000MHz
- // Date : 2015-03-13 18:36:18
- // Amend : 2015-03-16 11:26:09
- // Function: ET6226-LED、HT1628-LED、PT6311-VFD面板測試
- // Notes : 5P/6P、7P/8P接口, 效果燈控制, IR接收自動測試
- /*----------------------------------------------------------------------------*/
- // 包含頭文件
- #include <macros.h>
- #include <iom8v.h>
- #include "ICCAVRMACRO.H" // AVR 宏定義
- #include "ICCAVRIO.H" // IO口配置
- #include "Timer2.H" // 38K載波調制
- #include "FD650.H" // ET6226 驅動
- #include "HT1628.H" // HT1628 驅動
- #include "PT6311.H" // PT6311 驅動
- /*----------------------------------------------------------------------------*/
- // 數據區
- unsigned char IR_PASS[4] = {19, 10, 5, 5}; // "PASS"
- unsigned char IR_FAIL[4] = {15, 10, 1, 17}; // "FAIL"
- /*----------------------------------------------------------------------------*/
- // 函數聲明
- void Delay_1mS(void);
- void Delay_mS(unsigned int n);
- void GPIO_Init(void);
- void Boot_Show(void);
- // ET6226
- void IR_Test_ET6226(void);
- void Device_Test_ET6226(void);
- unsigned char Device_Check_ET6226(void);
- // HT1628
- void IR_Test_HT1628(void);
- void Device_Test_HT1628(void);
- unsigned char Device_Check_HT1628(void);
- // PT6311
- void IR_Test_PT6311(void);
- void Device_Test_PT6311(void);
- unsigned char Device_Check_PT6311(void);
- /*----------------------------------------------------------------------------*/
- // 延時函數定義
- void Delay_1mS(void) // 8MHz
- {
- unsigned char i, j = 9;
- do{i = 221; do{i--;}while(i); j--;}while(j);
- }
- void Delay_mS(unsigned int n)
- {
- while(n--)
- {
- Delay_1mS();
- }
- }
- /*----------------------------------------------------------------------------*/
- // GPIO初始化
- void GPIO_Init(void)
- {
- DDRB = 0x00; // 輸入
- DDRC = 0x00;
- DDRD = 0x00;
- PORTB = 0xFF; // 上拉
- PORTC = 0xFF;
- PORTD = 0xFF;
-
- LED_B_OUT; // 輸出
- LED_B_OFF; // 藍滅
-
- LED_IR_OUT; // 輸出
- LED_IR_OFF; // IR關
- }
- /*----------------------------------------------------------------------------*/
- // LED 閃爍指示
- // num: 閃爍次數
- void LED_Blink(unsigned char num)
- {
- while(num--)
- {
- LED_B_ON; Delay_mS(150);
- LED_B_OFF; Delay_mS(150);
- }
- }
- /*----------------------------------------------------------------------------*/
- // 系統初始化
- void Boot_Show(void)
- {
- GPIO_Init(); // GPIO 初始化
- TC2_Init(); // TIMER2 初始化
- LED_Blink(2); // LED閃爍、等待上電穩定
- }
- /*----------------------------------------------------------------------------*/
- // 主函數
- void main(void)
- {
- unsigned char device = NULL;
- Boot_Show();
-
- while(1)
- {
- FD_Init(); // 初始化 ET6226
- device = Device_Check_ET6226(); // 設備檢測 ET6226
- if(device) // 有設備插入
- {
- Device_Test_ET6226(); // 設備測試
- }
-
- HT_Init(); // 初始化 HT1628
- device = Device_Check_HT1628(); // 設備檢測 HT1628
- if(device) // 有設備插入
- {
- Device_Test_HT1628(); // 設備測試
- }
-
- VFD_Init(); // 初始化 PT6311
- device = Device_Check_PT6311(); // 設備檢測 PT6311
- if(device) // 有設備插入
- {
- Device_Test_PT6311(); // 設備測試
- }
-
- Delay_mS(500); // 每隔0.5S檢測一次是否有設備插入
- }
- }
- /*----------------------------------------------------------------------------*/
- // 設備檢測
- // ret: ( 0 ~ 1 ) 0 = no, 1 = yes
- unsigned char Device_Check_ET6226(void)
- {
- unsigned char Input_device;
- unsigned char FD_Ack = 1;
- FD_IIC_Start(); // 開始總線
- FD_IIC_Write_8bits(FD650_GET_KEY); // 寫入指令0x4F
- FD_Ack = FD_IIC_Get_Ack(); // 接收應答位
- FD_IIC_Read_8bits(); // 讀出數據
- FD_IIC_Set_Ack(1); // 發送應答位,不應答,接收數據結束
- FD_IIC_Stop(); // 結束總線
- if(FD_Ack) { Input_device = NULL; }// 無設備插入
- else { Input_device = TRUE; }// 有設備插入
- return (Input_device);
- }
- /*----------------------------------------------------------------------------*/
- // IR接收測試
- void IR_Test_ET6226(void)
- {
- unsigned char i;
- unsigned char IR_high_level;// IR 采樣高電平個數
- unsigned char IR_status; // IR 初始狀態
-
- IR_high_level = 0; // 初始化數據
- FD_UnInit(); // SDA設置為輸入
- Delay_mS(10); // 延時等待電平穩定
-
- for(i = 0; i < 20; i++) // 采樣20個點(20 * 5mS = 100mS)
- {
- Delay_mS(5); // 延時
- if(FD_SDA_TST) // 采樣
- IR_high_level++;// 正常
- }
- if(IR_high_level >= 5) // 至少有5個高電平
- {
- IR_status = 1; // 正常
- }
- else
- {
- IR_status = 0; // 短路
- }
-
- TC2_START(); // 38K ON
- Delay_mS(50); // 延時
-
- if(IR_status)
- {
- if(!FD_SDA_TST) // IR 接收成功OK
- {
- FD_LED_ON; // 效果燈亮
- FD_Power_Led(0);// 紅燈滅
- FD_Lock_Led(1); // 綠燈亮
- FD_Background_Led(1); // 藍燈亮
- FD_Prints(IR_PASS, 1);
- }
- else // IR 接收失敗NG
- {
- FD_LED_OFF; // 效果燈滅
- FD_Power_Led(1);// 紅燈亮
- FD_Lock_Led(0); // 綠燈滅
- FD_Background_Led(0); // 藍燈滅
- FD_Prints(IR_FAIL, 1);
- }
- }
- else // IR 對地短路
- {
- FD_LED_OFF; // 效果燈滅
- FD_Power_Led(1); // 紅燈亮
- FD_Lock_Led(0); // 綠燈滅
- FD_Background_Led(0); // 藍燈滅
- FD_Prints(IR_FAIL, 1);
- }
- TC2_STOP(); // 38K OFF
- LED_IR_OFF;
- }
- /*----------------------------------------------------------------------------*/
- // 設備測試
- void Device_Test_ET6226(void)
- {
- unsigned char i;
- unsigned char tmp;
- unsigned char device; // 檢測設備
- unsigned char led_status; // LED狀態
- unsigned char key_val[4]; // 按鍵數據 顯示用
- unsigned char key; // 按鍵鍵值 檢測用
-
- LED_Blink(1); // 設備插入指示
- // ----------------------------------
- // 變量初始化
- {
- for(i = 0; i < 4; i++)
- {
- key_val[i] = 0x00;
- }
- i = 0;
- key = 0;
- tmp = 0;
- device = NULL;
- led_status = 0;
- }
-
- // ----------------------------------
- // FD650 全亮全滅測試
- device = Device_Check_ET6226(); // 插入設備檢測
- if(device)
- {
- FD_Init(); // 初始化
- for(i = 0; i < 10; i++) // 10 * 200mS = 2000mS
- {
- FD_Set_Brightness(5); // 開啟顯示和鍵盤,8段顯示方式,5級亮度
- FD_Full(); // 數碼管全部置高
- FD_LED_ON; // 效果燈亮
- Delay_mS(200); // 全亮
- }
-
- FD_Null(); // 清顯示
- FD_LED_OFF; // 效果燈滅
- Delay_mS(500); // 全滅
- }
-
- // ----------------------------------
- // FD650 數碼管位測試----
- device = Device_Check_ET6226(); // 插入設備檢測
- if(device)
- {
- for(i = 0; i < 4; i++) // 共四位
- {
- FD_Printc(i, 0x40, 0); // 輸出'-'
- Delay_mS(150);
- FD_Printc(i, 0x00, 0); // 輸出' '
- }
- Delay_mS(150);
- }
-
- // ----------------------------------
- // FD650 數碼管段測試----
- device = Device_Check_ET6226(); // 插入設備檢測
- if(device)
- {
- for(i = 0; i < 7; i++) // 共七段
- {
- tmp = 0x01 << i;
- FD_Fill(tmp); // 輸出段碼
- FD_Update(); // 刷新顯示
- Delay_mS(150);
- }
- Delay_mS(150);
- FD_Null(); // 清顯示
- }
- // ----------------------------------
- // FD650 LED燈測試----
- device = Device_Check_ET6226(); // 插入設備檢測
- if(device)
- {
- // 秒點閃爍
- FD_Set_Led(1, 1); // 亮
- Delay_mS(200);
- FD_Set_Led(1, 0); // 滅
-
- // 三個LED燈依次閃爍(綠、紅、藍)
- for(i = 0; i < 4; i++)
- {
- if(i != 1)
- {
- FD_Set_Led(i, 1); // 亮
- Delay_mS(200);
- FD_Set_Led(i, 0); // 滅
- }
- }
-
- // 效果燈閃爍
- FD_LED_ON; // 亮
- Delay_mS(200);
- FD_LED_OFF; // 滅
- }
- // ----------------------------------
- // FD650 按鍵和IR測試
- do{
- FD_Set_Brightness(5); // 開啟顯示和鍵盤,8段顯示方式,5級亮度
- tmp = FD_Get_Key(); // 讀取按鍵
- if((tmp < 29) && (tmp > 0)) // 按鍵有效
- {
- if(key != tmp) // 鍵值不同
- {
- key = tmp; // 鍵值同步
- for(i = 0; i < 4; i++)
- key_val[i] = tmp;
- FD_Prints(key_val, 1); // 顯示鍵值
-
- led_status ^= 0x01; // 燈狀態取反
- FD_Lock_Led(led_status);
- FD_Power_Led(led_status);
- FD_Background_Led(led_status);
- if(led_status) { FD_LED_ON; }
- else { FD_LED_OFF; }
-
- if(tmp == 2) // Power按鍵
- {
- Delay_mS(100); // 顯示鍵值延時
- IR_Test_ET6226(); // IR接收測試
- }
- }
- }
- Delay_mS(20); // 按鍵掃描延時
- device = Device_Check_ET6226(); // 插入設備檢測
- }while(device); // 循環檢測按鍵,直到設備斷開
-
- FD_LED_OFF; // 效果燈滅
- LED_Blink(1); // 設備拔出指示
- }
- /*----------------------------------------------------------------------------*/
- // 設備檢測
- // ret: ( 0 ~ 1 ) 0 = no, 1 = yes
- unsigned char Device_Check_HT1628(void)
- {
- unsigned char i;
- unsigned char key;
- HT_Write_Command(RD_DAT | ADD_AUTO | MODE_NORMAL); // 讀按鍵操作命令
- NOP(); NOP(); NOP();
- for(i = 0; i < 5; i++)
- {
- key = HT_Read_Data();
- NOP(); NOP();
- if(key) { break; }
- }
- HT_STB_SET;
-
- if(key == 0xFF)
- return (0);
- else
- return (1);
- }
- /*----------------------------------------------------------------------------*/
- // IR接收測試
- void IR_Test_HT1628(void)
- {
- unsigned char i;
- unsigned char IR_high_level;// IR 采樣高電平個數
- unsigned char IR_status; // IR 初始狀態
-
- IR_high_level = 0; // 初始化數據
- HT_DIO_IN; // DIO設置為輸入
- Delay_mS(10); // 延時等待電平穩定
-
- for(i = 0; i < 20; i++) // 采樣20個點(20 * 5mS = 100mS)
- {
- Delay_mS(5); // 延時
- if(HT_DIO_TST) // 采樣
- IR_high_level++;// 正常
- }
- if(IR_high_level >= 5) // 至少有5個高電平
- {
- IR_status = 1; // 正常
- }
- else
- {
- IR_status = 0; // 短路
- }
-
- TC2_START(); // 38K ON
- Delay_mS(50); // 延時
-
- if(IR_status)
- {
- if(!HT_DIO_TST) // IR 接收成功OK
- {
- HT_LED_ON; // 效果燈亮
- HT_LOCK_ON; // 信號燈亮
- HT_Prints(IR_PASS, 1);
- }
- else // IR 接收失敗NG
- {
- HT_LED_OFF; // 效果燈滅
- HT_LOCK_OFF; // 信號燈滅
- HT_Prints(IR_FAIL, 1);
- }
- }
- else // IR 對地短路
- {
- HT_LED_OFF; // 效果燈滅
- HT_LOCK_OFF; // 信號燈滅
- HT_Prints(IR_FAIL, 1);
- }
- TC2_STOP(); // 38K OFF
- LED_IR_OFF;
- }
- /*----------------------------------------------------------------------------*/
- // 設備測試
- void Device_Test_HT1628(void)
- {
- unsigned char i;
- unsigned char tmp;
- unsigned char device; // 檢測設備
- unsigned char led_status; // LED狀態
- unsigned char key_val[4]; // 按鍵數據 顯示用
- unsigned char key; // 按鍵鍵值 檢測用
-
- LED_Blink(1); // 設備插入指示
- // ----------------------------------
- // 變量初始化
- {
- for(i = 0; i < 4; i++)
- {
- key_val[i] = 0x00;
- }
- i = 0;
- key = 0;
- tmp = 0;
- device = NULL;
- led_status = 0;
- }
-
- // ----------------------------------
- // HT1628 全亮全滅測試
- device = Device_Check_HT1628(); // 插入設備檢測
- if(device)
- {
- HT_Init(); // 初始化
- for(i = 0; i < 10; i++) // 10 * 200mS = 2000mS
- {
- HT_Write_Command(MODE_N_DIG); // 顯示模式: 5位12段
- HT_Set_Brightness(3); // 3級亮度
- HT_Full(); // 數碼管全部置高
- HT_LED_ON; // 效果燈亮
- HT_LOCK_ON; // 信號燈亮
- Delay_mS(200); // 全亮
- }
-
- HT_Null(); // 清顯示
- HT_LED_OFF; // 效果燈滅
- HT_LOCK_OFF; // 信號燈滅
- Delay_mS(500); // 全滅
- }
-
- // ----------------------------------
- // HT1628 數碼管位測試----
- device = Device_Check_HT1628(); // 插入設備檢測
- if(device)
- {
- for(i = 0; i < 4; i++) // 共四位
- {
- HT_Printc(i, 0x40, 0); // 輸出'-'
- Delay_mS(150);
- HT_Printc(i, 0x00, 0); // 輸出' '
- }
- Delay_mS(150);
- }
-
- // ----------------------------------
- // HT1628 數碼管段測試----
- device = Device_Check_HT1628(); // 插入設備檢測
- if(device)
- {
- for(i = 0; i < 7; i++) // 共七段
- {
- tmp = 0x01 << i;
- HT_Fill(tmp); // 輸出段碼
- HT_Update(); // 刷新顯示
- Delay_mS(150);
- }
- Delay_mS(150);
- HT_Null(); // 清顯示
- }
- // ----------------------------------
- // HT1628 LED燈測試----
- device = Device_Check_HT1628(); // 插入設備檢測
- if(device)
- {
- HT_Second(1); // 秒點亮
- Delay_mS(200);
- HT_Second(0); // 秒點滅
-
- HT_LOCK_ON; // 信號燈亮
- Delay_mS(200);
- HT_LOCK_OFF; // 信號燈滅
-
- HT_LED_ON; // 效果燈亮
- Delay_mS(200);
- HT_LED_OFF; // 效果燈滅
- }
- // ----------------------------------
- // HT1628 按鍵和IR測試
- do{
- HT_Write_Command(MODE_N_DIG); // 顯示模式: 5位12段
- HT_Set_Brightness(3); // 3級亮度
- tmp = HT_Get_Key(); // 讀取按鍵
- if((tmp < 21) && (tmp > 0)) // 按鍵有效
- {
- if(key != tmp) // 鍵值不同
- {
- key = tmp; // 鍵值同步
- for(i = 0; i < 4; i++)
- key_val[i] = tmp;
- HT_Prints(key_val, 1); // 顯示鍵值
-
- led_status ^= 0x01; // 燈狀態取反
- if(led_status)
- {
- HT_LOCK_ON; // 信號燈亮
- HT_LED_ON; // 效果燈亮
- }
- else
- {
- HT_LOCK_OFF; // 信號燈滅
- HT_LED_OFF; // 效果燈滅
- }
-
- if(tmp == 2) // Power按鍵
- {
- Delay_mS(100); // 顯示鍵值延時
- IR_Test_HT1628(); // IR接收測試
- }
- }
- }
- Delay_mS(20); // 按鍵掃描延時
- device = Device_Check_HT1628(); // 插入設備檢測
- }while(device); // 循環檢測按鍵,直到設備斷開
-
- HT_LED_OFF; // 效果燈滅
- HT_LOCK_OFF; // 信號燈滅
- LED_Blink(1); // 設備拔出指示
- }
- /*----------------------------------------------------------------------------*/
- // 設備檢測
- // ret: ( 0 ~ 1 ) 0 = no, 1 = yes
- unsigned char Device_Check_PT6311(void)
- {
- unsigned char i;
- unsigned char key;
- PT_Write_Command(RD_DAT | ADD_AUTO | MODE_NORMAL); // 讀按鍵操作命令
- NOP(); NOP(); NOP();
- for(i = 0; i < 6; i++)
- {
- key = PT_Read_Byte();
- NOP(); NOP();
- if(key) { break; }
- }
- PT_STB_SET;
-
- if(key == 0xFF)
- return (0);
- else
- return (1);
- }
- /*----------------------------------------------------------------------------*/
- // IR接收測試
- void IR_Test_PT6311(void)
- {
- unsigned char i;
- unsigned char IR_high_level;// IR 采樣高電平個數
- unsigned char IR_status; // IR 初始狀態
-
- IR_high_level = 0; // 初始化數據
- Delay_mS(10); // 延時等待電平穩定
-
- for(i = 0; i < 20; i++) // 采樣20個點(20 * 5mS = 100mS)
- {
- Delay_mS(5); // 延時
- if(PT_DOUT_TST) // 采樣
- IR_high_level++;// 正常
- }
- if(IR_high_level >= 5) // 至少有5個高電平
- {
- IR_status = 1; // 正常
- }
- else
- {
- IR_status = 0; // 短路
- }
-
- TC2_START(); // 38K ON
- Delay_mS(50); // 延時
-
- if(IR_status)
- {
- if(!PT_DOUT_TST) // IR 接收成功OK
- {
- VFD_Null(); // 清屏
- PT_LED_ON; // 效果燈亮
- VFD_Power_Led(0); // 紅燈滅
- VFD_Lock_Led(1); // 綠燈亮
- VFD_RedBlue_Led(1); // 藍燈亮
- VFD_Background_Led(1); // 導光亮
- VFD_Printsf(4, "PASS");
- }
- else // IR 接收失敗NG
- {
- VFD_Null(); // 清屏
- PT_LED_OFF; // 效果燈滅
- VFD_Power_Led(1); // 紅燈亮
- VFD_Lock_Led(0); // 綠燈滅
- VFD_RedBlue_Led(0); // 藍燈滅
- VFD_Background_Led(0); // 導光滅
- VFD_Printsf(4, "FAIL");
- }
- }
- else // IR 對地短路
- {
- VFD_Null(); // 清屏
- PT_LED_OFF; // 效果燈滅
- VFD_Power_Led(1); // 紅燈亮
- VFD_Lock_Led(0); // 綠燈滅
- VFD_RedBlue_Led(0); // 藍燈滅
- VFD_Background_Led(0); // 導光滅
- VFD_Printsf(4, "FAIL");
- }
- TC2_STOP(); // 38K OFF
- LED_IR_OFF;
- }
- /*----------------------------------------------------------------------------*/
- // 設備測試 PT6311 13位VFD顯示
- void Device_Test_PT6311(void)
- {
- unsigned char i;
- unsigned int tmp;
- unsigned char device; // 檢測設備
- unsigned char led_status; // LED狀態
- unsigned char key_val[12]; // 按鍵數據 顯示用
- unsigned char key1, key2; // 按鍵鍵值 檢測用
-
- LED_Blink(1); // 設備插入指示
- // ----------------------------------
- // 變量初始化
- {
- for(i = 0; i < 12; i++)
- {
- key_val[i] = 0x00;
- }
- i = 0;
- tmp = 0;
- key1 = 0;
- key2 = 0;
- device = NULL;
- led_status = 0;
- }
-
- // ----------------------------------
- // VFD 全亮全滅測試
- device = Device_Check_PT6311(); // 插入設備檢測
- if(device)
- {
- VFD_Init(); // 初始化
- for(i = 0; i < 10; i++) // 10 * 200mS = 2000mS
- {
- PT_Write_Command(MODE_13DIG_15SEG); // 13位15段顯示模式
- VFD_Set_Brightness(8); // 亮度8級
-
- VFD_Full(); // VFD全部亮
- PT_LED_ON; // 效果燈亮
- VFD_Power_Led(1); // 紅燈亮
- VFD_Lock_Led(1); // 綠燈亮
- VFD_RedBlue_Led(1); // 藍燈亮
- VFD_Background_Led(1); // 導光亮
- Delay_mS(200); // 全亮
- }
-
- VFD_Null(); // 清顯示
- PT_LED_OFF; // 效果燈滅
- VFD_Power_Led(0); // 紅燈滅
- VFD_Lock_Led(0); // 綠燈滅
- VFD_RedBlue_Led(0); // 藍燈滅
- VFD_Background_Led(0); // 導光滅
- Delay_mS(500); // 全滅
- }
-
- // ----------------------------------
- // VFD 位測試----
- device = Device_Check_PT6311(); // 插入設備檢測
- if(device)
- {
- for(i = 0; i < 13; i++)
- {
- VFD_Show(i, 0xFFFF);
- Delay_mS(150);
- VFD_Show(i, 0x0000);
- }
- Delay_mS(150);
- VFD_Null(); // 清顯示
- for(i = 0; i < 13; i++)
- {
- VFD_Show(i, 0xFFFF);
- Delay_mS(150);
- }
- Delay_mS(150);
- VFD_Null(); // 清顯示
- }
-
- // ----------------------------------
- // VFD 段測試----
- device = Device_Check_PT6311(); // 插入設備檢測
- if(device)
- {
- for(i = 0; i < 15; i++)
- {
- tmp = 0x0001 << i;
- VFD_Fill(tmp); // 輸出段碼
- VFD_Update(); // 刷新顯示
- Delay_mS(150);
- }
- Delay_mS(150);
- VFD_Null(); // 清顯示
- tmp = 0;
- for(i = 0; i < 15; i++)
- {
- tmp |= 0x0001 << i;
- VFD_Fill(tmp); // 輸出段碼
- VFD_Update(); // 刷新顯示
- Delay_mS(150);
- }
- Delay_mS(150);
- VFD_Null(); // 清顯示
- }
- // ----------------------------------
- // VFD LED燈測試----
- device = Device_Check_PT6311(); // 插入設備檢測
- if(device)
- {
- // 四個LED燈依次閃爍(綠、紅、藍、藍)
- for(i = 0; i < 4; i++)
- {
- VFD_Set_LED(i, 1); // 亮
- Delay_mS(200);
- VFD_Set_LED(i, 0); // 滅
- }
-
- // 效果燈閃爍
- PT_LED_ON; // 亮
- Delay_mS(200);
- PT_LED_OFF; // 滅
- }
- // ----------------------------------
- // VFD 按鍵和IR測試
- do{
- PT_Write_Command(MODE_13DIG_15SEG); // 13位15段顯示模式
- VFD_Set_Brightness(8); // 亮度8級
- key1 = VFD_Get_Key(); // 讀取按鍵
- if((key1 < 9) && (key1 > 0)) // 按鍵有效
- {
- if(key2 != key1) // 鍵值不同
- {
- key2 = key1; // 鍵值同步
- for(i = 0; i < 11; i++)
- key_val[i] = key2 + '0';
- VFD_Prints(1, key_val); // 顯示鍵值
-
- led_status ^= 0x01; // 燈狀態取反
- VFD_Power_Led(led_status);
- VFD_Lock_Led(led_status);
- VFD_RedBlue_Led(led_status);
- VFD_Background_Led(led_status);
- if(led_status) { PT_LED_ON; }
- else { PT_LED_OFF; }
-
- if(key2 == 2) // Power按鍵
- {
- Delay_mS(100); // 顯示鍵值延時
- IR_Test_PT6311(); // IR接收測試
- }
- }
- }
- Delay_mS(20); // 按鍵掃描延時
- device = Device_Check_PT6311(); // 插入設備檢測
- }while(device); // 循環檢測按鍵,直到設備斷開
-
- PT_LED_OFF; // 效果燈滅
- LED_Blink(1); // 設備拔出指示
- }
復制代碼
所有資料51hei提供下載:
Test_6226_1628_6311.zip
(60.82 KB, 下載次數: 49)
2019-5-27 13:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|