借鑒別人的資料修改的 加入了數碼管顯示。大佬勿噴!
最好自己注冊一個賬號,替換里面的appkey和 sign 就可以了
主控芯片STM32C8T6
接線:串口1:PA9 PA10
OELD :PB6 PB7
數碼管使用:MAX7219 8位數碼管
Max7219_pinCLK PAout(5)
Max7219_pinCS PAout(3)
Max7219_pinDIN PAout(7)
0.png (192.96 KB, 下載次數: 51)
下載附件
2019-4-12 16:44 上傳
0.png (234.48 KB, 下載次數: 50)
下載附件
2019-4-12 16:44 上傳
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "ESP8266.h"
- #include "oled.h"
- #include "RTC.h"
- #include "dht11.h"
- #include "7219.h"
- int main(void)
- {
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- LED_Init(); //LED端口初始化
- KEY_Init(); //初始化與按鍵連接的硬件接口
- OLED_Init(); //初始化OLED
- OLED_Clear();
- ESP8266_Init();
- esp8266_get_time();//獲取時間
- dispose_time_data(); //更新時間
- esp8266_get_weather();//獲取天氣
- dispose_wea_data();//更新天氣
- RTC_Init(); //初始化與按鍵連接的硬件接口
- display_week();//顯示星期
- SPI1_Init();
- Init_MAX7219();
- while(1)
- {
- //0.96OLED顯示
- OLED_ShowNum(0,0,calendar.w_year,4,16);//年
- OLED_ShowNum(48,0,calendar.w_month,2,16);//月
- OLED_ShowNum(80,0,calendar.w_date,2,16);//日
- OLED_ShowNum(0,2,calendar.hour,2,16);//時
- OLED_ShowNum(24,2,calendar.min,2,16);//分
- OLED_ShowNum(48,2,calendar.sec,2,16);//秒
- OLED_ShowNum(20,4,temperature,2,16);//溫度
- if((calendar.hour==0)&&(calendar.min==0)&&(calendar.sec==0))
- {
- calendar.week+=1;
- if(calendar.week>8) calendar.week=1;
- display_week();//顯示星期
- }
-
- // 數碼管顯示
- if(calendar.sec<55)
- {
- Write_Max7219(0x08, calendar.hour/10);
- Write_Max7219(0x07, calendar.hour%10);
- Write_Max7219(0x06, 0x0A);
- Write_Max7219(0x05, calendar.min/10);
- Write_Max7219(0x04, calendar.min%10);
- Write_Max7219(0x03, 0x0A);
- Write_Max7219(0x02, calendar.sec/10);
- Write_Max7219(0x01, calendar.sec%10);
- delay_ms(100);
- }
- else
- {
- Write_Max7219(0x08, calendar.w_month/10); //日期
- Write_Max7219(0x07, calendar.w_month%10);
- Write_Max7219(0x06, 0x0A);
- Write_Max7219(0x05, calendar.w_date/10);
- Write_Max7219(0x04, calendar.w_date%10);
-
- Write_Max7219(0x02, temperature/10);//溫度
- Write_Max7219(0x01, temperature%10);
- delay_ms(100);
- }
- }
- }
復制代碼
所有資料51hei提供下載:
WIFI 獲取時間+8位數碼管顯示.7z
(210.3 KB, 下載次數: 293)
2019-4-12 16:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|