360截圖20180706100507291.jpg (257.02 KB, 下載次數: 36)
下載附件
這是STM32F10XX時鐘系統框圖
2018-7-6 10:16 上傳
時鐘系統框圖
接下來是制作過程!
360截圖20180706100518620.jpg (180.51 KB, 下載次數: 38)
下載附件
2018-7-6 10:16 上傳
360截圖20180706100528321.jpg (187.41 KB, 下載次數: 27)
下載附件
2018-7-6 10:16 上傳
360截圖20180706100536196.jpg (124.38 KB, 下載次數: 28)
下載附件
2018-7-6 10:16 上傳
單片機源程序如下:
- #include <stm32f10x.h>
- #include "led.h"
- #include "key.h"
- #include "beep.h"
- #include "system.h"
- /****************************************************************************
- * Function Name : main
- * Description : Main program.
- * Input : None
- * Output : None
- * Return : None
- ****************************************************************************/
- int main(void)
- {
- u8 ledState = 0xF0, keyValue, clk;
- u32 i;
- LED_Config();
- BEEP_Config();
- KEY_Config();
- clk = 6; //默認設置時鐘為最高
- while(1)
- {
- keyValue = KEY_Scan(); //鍵盤掃描
- if( keyValue == KEY_UP) //上按鍵按下增加頻率
- {
- clk++;
- if(clk > 6)
- {
- clk = 6;
- }
- }
- if(keyValue == KEY_DOWN) //下按鍵按下減少頻率
- {
- clk--;
- if(clk < 1)
- {
- clk = 1;
- }
- }
- /* 若由按鍵設置,那么設置相應的時鐘頻率 */
- if((keyValue == KEY_UP) | (keyValue == KEY_DOWN))
- {
- switch(clk)
- {
- case(1):
- SYSTEM_SetClock(32);
- break;
- case(2):
- SYSTEM_SetClock(40);
- break;
- case(3):
- SYSTEM_SetClock(48);
- break;
- case(4):
- SYSTEM_SetClock(56);
- break;
- case(5):
- SYSTEM_SetClock(64);
- break;
- case(6):
- SYSTEM_SetClock(72);
- break;
- }
- }
- /* LED閃爍,并讓蜂鳴器發聲,方便大家看出時鐘頻率改變 */
- LED_SetState(ledState);
- for(i=0; i<0x05FFFF; i++);
- ledState = ~ledState;
- BEEP_Work();
- }
- }
復制代碼
0.png (46.17 KB, 下載次數: 27)
下載附件
2018-7-6 10:28 上傳
所有資料51hei提供下載:
4、時鐘.rar
(479.71 KB, 下載次數: 35)
2018-7-6 10:22 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|