找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2979|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于AT32F403A開發(fā)板的圖標(biāo)式應(yīng)用系統(tǒng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:776997 發(fā)表于 2020-10-26 19:03 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
AT32F403A開發(fā)板是一款功能強(qiáng)大的開發(fā)板,將潛能極大地發(fā)掘出來(lái)才是好的設(shè)計(jì),為此,將先前建立在同一強(qiáng)大開發(fā)平臺(tái)的設(shè)計(jì)移植它的上面以展示它的性能。
該設(shè)計(jì)的特點(diǎn)是采用圖標(biāo)式的界面設(shè)計(jì),由于TFT未配置觸摸功能,故以按鍵來(lái)輔助功能的選擇,其主界面如圖1所示,功能選擇如圖2所示。
                              

圖1 主界面


圖2 功能選擇

1. 電子時(shí)鐘
RTC電子時(shí)鐘是依靠MCU內(nèi)部的RTC計(jì)時(shí)器來(lái)實(shí)現(xiàn),其工作界面如圖3所示。
圖3 電子時(shí)鐘

實(shí)現(xiàn)RTC顯示功能的程序如下:
  1.                    LCD_Clear(WHITE);         
  2. show_imageh(10,300,0);  //200*200 * 1     
  3. showhanzi16h(60,80,0,0);
  4. showhanzi16h(60,60,1,0);
  5. showhanzi16h(60,40,2,0);
  6. Delay_ms(400u);
  7. while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pins_0)==0)
  8. {      
  9. rtc_show_time();
  10. }
復(fù)制代碼
     
2.溫濕度檢測(cè)
借助外掛的DHT22溫濕度傳感器模塊,可對(duì)環(huán)境的溫濕度進(jìn)行采集,其顯示效果如圖4所示。

圖4溫濕度檢測(cè)

顯示溫濕度顯示的程序如下:
  1.            LCD_Clear(WHITE);   
  2. show_imageh(10,300,0);  //200*200 * 1
  3. while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pins_0)==0)
  4. {  
  5. senflag=DHT22_Init();         
  6. if(!senflag)
  7. {
  8. DHT22_Read_Data(&temperature,&humidity);
  9. LCD_ShowCharh(100,100,'T',1);
  10. LCD_ShowCharh(100,90,'e',1);
  11. LCD_ShowCharh(100,80,'m',1);
  12. LCD_ShowCharh(100,70,'p',1);
  13. LCD_ShowCharh(100,60,':',1);
  14. LCD_ShowCharh(100,50,temperature/10+'0',0);
  15. LCD_ShowCharh(100,40,temperature%10+'0',0);
  16. LCD_ShowCharh(120,100,'H',1);
  17. LCD_ShowCharh(120,90,'u',1);
  18. LCD_ShowCharh(120,80,'m',1);
  19. LCD_ShowCharh(120,70,'i',1);
  20. LCD_ShowCharh(120,60,':',1);
  21. LCD_ShowCharh(120,50,humidity/10+'0',0);
  22. LCD_ShowCharh(120,40,humidity%10+'0',0);
  23. }
  24. Delay_ms(200u);
  25. }
復(fù)制代碼

3.波形繪制
在配置繪圖函數(shù)的基礎(chǔ)上,可完成波形繪制的功能,其繪制3相交流電的波形曲線如圖5所示。
圖5波形繪制

繪制正弦曲線的參數(shù)數(shù)組為:
unsigned char values[64][2]=
{
{0x07, 0xFF},{0x08, 0xC8},{0x09, 0x8E},{0x0A,0x51},{0x0B, 0x0F},
{0x0B, 0xC4},{0x0C, 0x71},{0x0D, 0x12},{0x0D,0xA7},{0x0E, 0x2E},
{0x0E, 0xA5},{0x0F, 0x0D},{0x0F, 0x63},{0x0F,0xA6},{0x0F, 0xD7},
{0x0F, 0xF5},{0x0F, 0xFF},{0x0F, 0xF5},{0x0F,0xD7},{0x0F, 0xA6},
{0x0F, 0x63},{0x0F, 0x0D},{0x0E, 0xA5},{0x0E,0x2E},{0x0D, 0xA7},
{0x0D, 0x12},{0x0C, 0x71},{0x0B, 0xC4},{0x0B,0x0F},{0x0A, 0x51},
{0x09, 0x8E},{0x08, 0xC8},{0x07, 0xFF},{0x07,0x36},{0x06, 0x70},
{0x05, 0xAD},{0x04, 0xEF},{0x04, 0x3A},{0x03,0x8D},{0x02, 0xEC},
{0x02, 0x57},{0x01, 0xD0},{0x01, 0x59},{0x00,0xF1},{0x00, 0x9B},
{0x00, 0x58},{0x00, 0x27},{0x00, 0x09},{0x00,0x00},{0x00, 0x09},
{0x00, 0x27},{0x00, 0x58},{0x00, 0x9B},{0x00,0xF1},{0x01, 0x59},
{0x01, 0xD0},{0x02, 0x57},{0x02, 0xEC},{0x03,0x8D},{0x04, 0x3A},
{0x04, 0xEF},{0x05, 0xAD},{0x06, 0x70},{0x07,0x36}
};
此外,它能利用A/D轉(zhuǎn)換功能對(duì)MCU內(nèi)部的溫度傳感器進(jìn)行采集,所繪制的溫度曲線如圖6所示,溫度波動(dòng)值在1度以內(nèi)。

圖6 片內(nèi)溫度采集

4. MP3播放菜單
借助 AT32F403A的串行通訊功能,可通過(guò)串口指令來(lái)控制MP3音頻播放模塊,圖7是其所實(shí)現(xiàn)的中文歌單,以輔助歌曲的選播。

圖7 歌曲選擇界面

5. 圖片顯示
AT32F403A具有較大的內(nèi)存,在不做它用的情況下,完全可以支持一張320*240像素的圖片顯示。在借助板載16M FLASH存儲(chǔ)器的情況下,則可實(shí)現(xiàn)數(shù)碼相框的功能。

圖8圖片顯示

基于FLASH的圖像顯示程序?yàn)椋?/font>
  1.   // 顯示一頁(yè)的圖像
  2. i=0;
  3. while(i<SPIM_PAGE_SIZE)
  4. {
  5. da=WriteBuffer[i];
  6. da<<=8;
  7. da|=WriteBuffer[i+1];
  8. POINT_COLOR=da;
  9. LCD_DrawPoint(10+((SPIM_ADDR+i)/400),300-((SPIM_ADDR+i)%400)/2);
  10. i=i+2;
  11. if((i+SPIM_ADDR)>=80000) goto ok;      
  12. SPIM_ADDR=SPIM_ADDR+4096;
  13. }
復(fù)制代碼
由于其他功能缺少畫面感,就不在此一一加以介紹了,相信由此便可管窺一斑地見識(shí)到 AT32F403A開發(fā)板的強(qiáng)大。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:258257 發(fā)表于 2022-2-16 21:58 | 只看該作者
新收1 403 demo b板,瞅瞅!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表