附件為測試的代碼,本人已經 測試過,不過花了很長的時間調試。。如有問題及回復,一起學習。
單片機源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "remote.h"
-
- int main(void)
- {
- u8 key;
- u8 t=0;
- u8 *str=0;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
- delay_init(168); //初始化延時函數
- uart_init(115200); //初始化串口波特率為115200
-
- LED_Init(); //初始化LED
- LCD_Init();
- Remote_Init(); //紅外接收初始化
-
- POINT_COLOR=RED;//設置字體為紅色
- LCD_ShowString(30,50,200,16,16,"Explorer STM32F4");
- LCD_ShowString(30,70,200,16,16,"REMOTE TEST");
- LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
- LCD_ShowString(30,110,200,16,16,"2014/5/7");
- LCD_ShowString(30,130,200,16,16,"KEYVAL:");
- LCD_ShowString(30,150,200,16,16,"KEYCNT:");
- LCD_ShowString(30,170,200,16,16,"SYMBOL:");
-
- while(1)
- {
- key=Remote_Scan();
- if(key)
- {
- LCD_ShowNum(86,130,key,3,16); //顯示鍵值
- LCD_ShowNum(86,150,RmtCnt,3,16); //顯示按鍵次數
- switch(key)
- {
- case 0:str="ERROR";break;
- case 162:str="POWER";break;
- case 98:str="UP";break;
- case 2:str="PLAY";break;
- case 226:str="ALIENTEK";break;
- case 194:str="RIGHT";break;
- case 34:str="LEFT";break;
- case 224:str="VOL-";break;
- case 168:str="DOWN";break;
- case 144:str="VOL+";break;
- case 104:str="1";break;
- case 152:str="2";break;
- case 176:str="3";break;
- case 48:str="4";break;
- case 24:str="5";break;
- case 122:str="6";break;
- case 16:str="7";break;
- case 56:str="8";break;
- case 90:str="9";break;
- case 66:str="0";break;
- case 82:str="DELETE";break;
- }
- LCD_Fill(86,170,116+8*8,170+16,WHITE); //清楚之前的顯示
- LCD_ShowString(86,170,200,16,16,str); //顯示SYMBOL
- }else delay_ms(10);
- t++;
- if(t==20)
- {
- t=0;
- LED0=!LED0;
- }
- }
- }
復制代碼
所有代碼51hei提供下載:
STM32407 紅外遙控實驗.rar
(504.05 KB, 下載次數: 38)
2021-3-21 15:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|