久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3473|回復(fù): 1
收起左側(cè)

基于HC32L136開發(fā)板的RTC電子時鐘

[復(fù)制鏈接]
ID:776997 發(fā)表于 2020-10-31 17:11 | 顯示全部樓層 |閱讀模式
HC32L136的例程中,只有筆段式液晶屏的測試程序,卻沒有提供一個可供用戶直接調(diào)用的數(shù)值顯示函數(shù)。
為此在了解液晶屏的工作原理后,在原例程的基礎(chǔ)上完成了它的數(shù)值顯示函數(shù)。
1. 液晶屏工作原理及顯示編碼
HC32L136開發(fā)板上,所配置的液晶屏為4位數(shù)字式顯示屏并配有小數(shù)點(diǎn)和時間分隔符,其布局如圖1所示。
                                 
1.jpg
1 液晶屏筆段布局顯示
盡管筆段式液晶屏在顯示顯示上與數(shù)碼管十分相近,但在工作原理和機(jī)制上卻差別很大。
以數(shù)碼管為例,它是通過段碼和位碼來控制顯示的,編寫好段碼表后,只需把段碼送到位碼控制的位置即可顯示出相應(yīng)的內(nèi)容。
例如“1”的顯示碼為0x06,即0000 0110對應(yīng)CB被點(diǎn)亮。
而對于液晶屏就不同了,它是按節(jié)拍來完成代碼的輸出,按顯示位置的不同,是將顯示筆段分成4組,每組占2位,共8位。而每組內(nèi),相同位置所控制的筆段名稱相同,故只需定義一組編碼即可,然后按顯示的位置進(jìn)行移位處理即可(例如第一組需移動6位,第二組需移動4位第三組需移動2位)。
若每組顯示碼占2個字節(jié),則可到如下的顯示碼表:
z.jpg             

2.顯示程序
1)定義顯示數(shù)組
#define     LCD_POINT      0X0008
const uint16_t  lcd_tab[16] =
{
  0x0F05, 0x0600, 0x0B06, 0x0F02,0x0603, 0x0D03, 0x0D07, 0x0700, 0x0F07, 0x0F03,
  0x0707, 0x0C07, 0x0905, 0x0E05,0x0907, 0x0107,
};
2)清屏函數(shù)
  1. void Lcd_ClearDisp(void)
  2. {
  3. uint8_t tmp;
  4. volatile uint32_t *ram = NULL;
  5. ram = &M0P_LCD->RAM0;
  6. for(tmp=0;tmp<16;tmp++)
  7. {
  8. *ram = 0;
  9. ram++;
  10. }
  11. }
復(fù)制代碼
3)顯示函數(shù)
  1. void LCD_Display(uint16_t * str)
  2. {
  3. uint32_t   n;
  4. n   = str[1];
  5. n <<= 16;
  6. n  += str[0];
  7. M0P_LCD->RAM0 = n;
  8. n   = str[3];
  9. n <<= 16;
  10. n  += str[2];
  11. M0P_LCD->RAM1 = n;   
  12. }
復(fù)制代碼
3. RTC電子時鐘
HC32L136內(nèi)部配置了RTC計時器,將它與SLCD液晶屏配合即可實(shí)現(xiàn)一個RTC電子時鐘。
實(shí)現(xiàn)電子時鐘的主程序?yàn)椋?/font>
  1. int32_t main(void)
  2. {
  3. uint32_t       i;
  4. uint16_t       str[4];
  5. Sysctrl_ClkSourceEnable(SysctrlClkRCL,TRUE);
  6. Sysctrl_SetRCLTrim(SysctrlRclFreq32768);
  7. Sysctrl_SetPeripheralGate(SysctrlPeripheralLcd,TRUE);
  8. Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE);
  9. App_PortCfg();
  10. App_LcdCfg();
  11. Lcd_ClearDisp();
  12. stc_rtc_time_t readtime;
  13. Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE);
  14. Sysctrl_SetPeripheralGate(SysctrlPeripheralRtc,TRUE);
  15. Sysctrl_ClkSourceEnable(SysctrlClkRCL, TRUE);
  16. RTC_Cfg();
  17. EnableNvic(RTC_IRQn, IrqLevel3, TRUE);
  18. Rtc_Cmd(TRUE);
  19. while (1)
  20. {
  21. M0P_GPIO->PDOUT ^= (1U << 5);
  22. if(flag == 1)
  23. {
  24. flag = 0;
  25. Rtc_ReadDateTime(&readtime);
  26. second = readtime.u8Second;
  27. minute = readtime.u8Minute;
  28. hour   = readtime.u8Hour;
  29. str[0] = lcd_tab[minute>>4];
  30. str[1] = lcd_tab[minute&0x0f]|LCD_POINT;
  31. str[2] = lcd_tab[second>>4];
  32. str[3] = lcd_tab[second&0x0f];
  33. LCD_Display(str);
  34. }
  35. delay1ms(500);
  36. }
  37. }
復(fù)制代碼
有了顯示程序固然可喜,但下載工具的作用也是必不可少的,本人使用的第三方的下載工具,并通過虛擬串口來完成下載,見圖2和圖3所示。
2.jpg
2 下載工具

3.jpg
3 下載過程
在下載程序后,其顯示效果如圖4所示。
4.jpg

4運(yùn)行效果

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:833128 發(fā)表于 2020-12-11 08:58 | 顯示全部樓層
小時位好像沒設(shè)置判斷和限制
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品电影网在线观看 | 国产区精品 | 一区二区三区精品 | 久久久精品视频免费看 | 波多野结衣中文字幕一区二区三区 | 国产伊人精品 | 99re6在线视频精品免费 | 国产91在线 | 欧美 | 亚洲精品不卡 | wwwsihu| 一级毛片免费视频观看 | 美女毛片 | 黄色中文字幕 | 国产精品国产成人国产三级 | 亚洲视频在线观看免费 | 日韩喷潮| 在线中文字幕亚洲 | www.99精品 | 欧美日韩一区二区视频在线观看 | 欧美日韩在线一区二区三区 | 伊人最新网址 | 欧美一区二区另类 | 国产精品国产a级 | 五月激情婷婷网 | 国产一区二区三区在线看 | 久久久婷 | 日本一本视频 | 男女国产网站 | 伊人一二三 | 亚欧精品一区 | 国产成人精品在线播放 | 精品国产一区二区三区久久久久久 | 亚洲欧美中文日韩在线v日本 | 日日草夜夜草 | 一级h片 | 国产精品久久久久久久午夜 | 日本成人毛片 | 久久久久久av | 偷派自拍 | 91精品国产一区二区三区 | 男女啪啪网址 |