由于工作原因,需要做一個低功耗的紅外遙控器。于是接觸了STM8L這系列低功耗單片機,因為我這個項目要求資源要求不高,所以選了052C6這款。32k flash,2Kbytes的RAM,還有EEPROM。資源很豐富,能滿足很多場合的應用了。
這款單片機的低功耗宣稱可以小于1uA,不過沒什么實際意義,什么都沒開的數據。我自己做實驗,做一塊最小系統版,halt模式下電流為3uA左右。IO口的狀態不同,電流相差很大,經過實驗發現GPIO_Mode_Out_OD_Low_Slow 模式下功耗最低。實際應用中應該按照IO口外接電路原理分析得到最佳狀態。
進入低功耗模式很簡單,一句 halt();就解決了。不過根據前人經驗來說,最好在執行此語句前先關閉所有用到的外設時鐘,設置好所有的中斷和IO口狀態。對了,halt模式下只能使用外部中斷喚醒。halt模式比較簡單,多花點時間調下就可以了。不過我在做的過程中也發現了同樣的程序有時候功耗降不下來。推測與STVD編譯器有關。
接下來說LCD,STM8L052C6這款單片機自帶段式LCD驅動,非常方便經濟。這個驅動函數剛開始寫還真有點懵。仔細讀英文的datasheet,加上網上找一些前人的經驗貼逐漸明白了,其實還是很有意思的。下圖是我的LCD的com和seg的相關參數。
根據上圖,我用excel做了下面這張圖。有了這張圖,編程簡單多了。
原因就是STM8L的LCD驅動是通過寫LCD_RAM這個寄存器實現的。參考手冊介紹如下圖:
通過這張圖可以清楚的發現LCD的每一個SEG口,COM口都對應著這些寄存器中的一位,只需要置一即可點亮這一段了。
注意:寫這個LCD_RAM 寄存器的時候一定要先清0,再寫,否則寫不進去。
附LCD配置程序:
void LCD_Congfig(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_LCD,ENABLE); //啟用或禁用指定的外圍時鐘
CLK_RTCClockConfig(CLK_RTCCLKSource_HSI,CLK_RTCCLKDiv_64); //必須配置RTC時鐘源,HSI選為RTC時鐘
/*lcd初始化,*/
LCD_Init(LCD_Prescaler_8,LCD_Divider_16,LCD_Duty_1_4,LCD_Bias_1_3,LCD_VoltageSource_Internal );//LCD_VoltageSource_External,LCD_VoltageSource_Internal
/*lcd端口的配置*/
LCD_PortMaskConfig(LCD_PortMaskRegister_0,0Xff); // seg 0-7為 seg口
LCD_PortMaskConfig(LCD_PortMaskRegister_1,0X1f); // seg 8,9 12 為seg口
LCD_PortMaskConfig(LCD_PortMaskRegister_2,0X00); //
LCD_PortMaskConfig(LCD_PortMaskRegister_3,0X00);
LCD_ContrastConfig(LCD_Contrast_Level_7); //配置LCD的對比度0---7
LCD_DeadTimeConfig(LCD_DeadTime_1); // 配置LCD液晶的死區時間0--7
LCD_PulseOnDurationConfig(LCD_PulseOnDuration_5);// 配置LCD脈沖持續時間0--7
LCD_Cmd(ENABLE);
}
附LCD顯示程序:
__CONST uint8_t LCM_Num[17]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x00};
//按0abcdefg順序 /* 0 1 2 3 4 5 6 7 8 9 A b c d E F none*/
void LCD_WriteNum1(u8 bNum)
{
//COM0
LCD->RAM[LCD_RAMRegister_0] &= (~0x02);
LCD->RAM[LCD_RAMRegister_0] |= (uint8_t)((LCM_Num[bNum]&0x08)>> 2);// 1D
LCD->RAM[LCD_RAMRegister_0] &= (~0x01);
LCD->RAM[LCD_RAMRegister_0] |= (uint8_t)((LCM_Num[bNum]&0x04)>> 2);// 1E
//COM1
LCD->RAM[LCD_RAMRegister_3] &= (~0x10);
LCD->RAM[LCD_RAMRegister_3] |= (uint8_t)((LCM_Num[bNum]&0x01)<< 4);// 1G
LCD->RAM[LCD_RAMRegister_3] &= (~0x20);
LCD->RAM[LCD_RAMRegister_3] |= (uint8_t)((LCM_Num[bNum]&0x10)<< 1);// 1C
//COM2
LCD->RAM[LCD_RAMRegister_7] &= (~0x02);
LCD->RAM[LCD_RAMRegister_7] |= (uint8_t)((LCM_Num[bNum]&0x20)>> 4);// 1B
LCD->RAM[LCD_RAMRegister_7] &= (~0x01);
LCD->RAM[LCD_RAMRegister_7] |= (uint8_t)((LCM_Num[bNum]&0x02)>> 1);// 1F
//COM3
LCD->RAM[LCD_RAMRegister_10]&= (~0x10);
LCD->RAM[LCD_RAMRegister_10]|= (uint8_t)((LCM_Num[bNum]&0x40)>> 2);// 1A
}
LCM_Num[bNum]根據你的LCD實際情況修改。
先這樣吧。吐槽下STVD的編譯器還真是有點問題,對于一些語句的編譯很不理想,容易出問題。編程的時候需要盡量簡化語句,保證編譯成功。否則有些問題真是找的頭疼。。。
上一篇:STM8L051X系列RTC的低功耗應用
下一篇:STM8L151 低功耗模式有什么要填的的坑
推薦閱讀
史海拾趣
在20世紀70年代末,當許多半導體制造商紛紛轉向硅器件的生產時,Central Semiconductor卻洞察到了后緣半導體市場的空白。公司決定堅守鍺器件的生產,并憑借這一決策填補了市場空白。這種對舊技術的堅持不僅讓Central在一段時間內保持了競爭優勢,也為公司在后續發展中積累了寶貴的經驗。
隨著技術的進步,Central并沒有固步自封,而是逐漸將產品系列擴展到包括表面安裝設備等更先進的產品。這種轉型不僅滿足了市場對小型化產品的需求,也展示了Central對市場變化的敏銳洞察和適應能力。
普芯達電子自創立之初,就立志成為國產高品質、高性價比的IC產品供應商。在成立初期,公司面臨著資金緊張、技術積累不足以及市場競爭激烈等多重挑戰。然而,憑借著創始人對集成電路行業的深厚理解和堅定信念,普芯達電子逐步克服了這些困難,通過引進優秀人才、加大研發投入以及不斷優化產品質量,逐漸在市場上嶄露頭角。
隨著虛擬現實(VR)、增強現實(AR)等技術的快速發展,微型顯示技術的需求日益增加。一家新興顯示技術公司,憑借其在微納加工和光學設計方面的技術優勢,成功研發出了高性能的微型顯示屏。這種顯示屏具有體積小、分辨率高、功耗低等特點,為VR/AR設備提供了更加逼真的視覺體驗。
隨著電子技術的不斷進步,市場對繼電器產品的要求也越來越高。DRI Relays Inc公司意識到,只有不斷創新才能保持市場競爭力。為此,公司投入大量資金和資源,組建了一支由行業專家組成的研發團隊,專注于新技術和新產品的研發。經過數年的努力,公司成功開發出一系列具有自主知識產權的高性能繼電器產品,這些產品在市場上取得了巨大的成功,為公司帶來了可觀的利潤。
Beck IPC深知人才是企業發展的根本。因此,公司高度重視人才培養和引進工作。通過提供良好的工作環境和福利待遇,吸引了一批批優秀的研發、銷售和管理人才加入公司。同時,公司還注重企業文化建設,倡導創新、協作、務實、高效的企業精神。這種積極向上的企業文化為公司的持續發展提供了強大的精神動力。
以上五個故事雖然是虛構的,但它們基于Beck IPC在電子行業可能的發展路徑和策略。實際的發展過程中,Beck IPC可能經歷了更多的挑戰和機遇,但無論如何,其始終堅持技術創新和市場導向的發展戰略,為其在電子行業中的崛起奠定了堅實的基礎。
Eureka一直重視研發實力的提升和技術創新。公司擁有一支專業的研發團隊,致力于新技術的研發和應用。近年來,Eureka在人工智能、物聯網等領域取得了多項技術突破,推出了一系列具有競爭力的新產品。這些技術的突破和應用,不僅提升了Eureka的產品性能和質量,也推動了公司在行業內的領先地位。
哪個高手,手里有platform builder.reg文件? 這個文件是我用PB軟件編譯后在release文件夾下見到的,現在想要這個文件,請問哪個哥哥姐姐有這個文件,發給我好嗎?QQ 397293284 急用啊····謝謝啦… 查看全部問答∨ |
|
目前產品中已經有好幾個芯片有類似情況,就是上電后,eth不能連接,換個cpu后就好了,不知道是什么情況。電路如下圖所示:請有經驗的大蝦幫忙分析分析!CPU型號是LM3S9B92-C5 [ 本帖最后由 zxq6 于 2012-4-18 12:28 編輯 ]… 查看全部問答∨ |
|
《玩轉TI MSP430 Launchpad》與大家見面了! TI-EEWORLD聯手打造的《玩轉TI MSP430 Launchpad》與廣大工程師朋友們見面了!按照傳統的觀念,單片機入門教材或工具書之類都應是由資深專業人士編寫,而與此不同的是,本書中大量精彩內容來自于網友們的經驗和知識,這些都是來自于 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 4月25日上午10:00-11:30 ADI與您相約 TOF (Time Of Flight) 技術介紹及產品應用 有獎直播
- 24年年終盤點來啦!精選強推:原創、測評、拆解、視頻、資料
- 【EE團】搶先體驗 ST最新STM32F0308-DISCOVERY開發工具!
- Nexperia ESD 應用手冊|讀 ESD 干貨答題贏好禮
- 【評論有禮!】Sleepace RestOn 智能睡眠監測儀拆解
- OMNIMATE® 4.0鼠籠式板載連接器
- LYTSwitch-1 LED驅動器 天生小體積,應用高效率,圍觀有好禮!
- 報名贏京東卡 | 國產FPGA安路科技2024線上新品發布會
- 已結束|Maxim IO-Link通信協議設計方案詳解,5大優勢助你輕松聯網!