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

QQ登錄

只需一步,快速開始

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

1632pixelsLED點(diǎn)陣時(shí)鐘固件升級(jí)筆記

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60076 發(fā)表于 2014-4-27 16:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
   三年前,我制作了這個(gè)16*32led點(diǎn)陣的單mcu實(shí)時(shí)時(shí)鐘,并用匯編編寫了近2k行即便是現(xiàn)在看來都很吃力的程序,不得不佩服年輕時(shí)的干勁。當(dāng)時(shí)程序?qū)崿F(xiàn)了年,月,日,星期,時(shí)間,和溫度的流水顯示,感覺顯示較為累贅,同時(shí),當(dāng)時(shí)以字節(jié)IO的形式進(jìn)行像素掃描,顯示的均勻性極差,F(xiàn)在在翻出已開始泛黃的電路板后,覺得可以用c對(duì)其性能進(jìn)行改善和精簡,也不乏能被改造成為一件實(shí)用性極高的電子時(shí)鐘。  

      為改善顯示亮度的均勻性,可以考慮采用使用中斷的單像素點(diǎn)點(diǎn)亮掃描的方法,整個(gè)一幀的像素點(diǎn)數(shù)是512個(gè),考慮到100Hz的幀屏,那么單像素的點(diǎn)亮?xí)r間可達(dá)19.5us,在20MHz左右主頻的條件下還是比較好實(shí)現(xiàn)的,但實(shí)際編程的效果卻不如人意,由于單像素的點(diǎn)亮占空比很低,為1/512,因此顯示亮度相當(dāng)?shù)牟睿m均勻性高,但低亮度的顯示仍不能提供好的觀看體驗(yàn),遂放棄。考慮到一般的顯示不需要所有512個(gè)像素點(diǎn)的同時(shí)點(diǎn)亮,因此可以考慮只對(duì)其中點(diǎn)亮的像素給予點(diǎn)亮?xí)r間,而不需要點(diǎn)亮的像素點(diǎn)便給與略過,這樣可以節(jié)省近一半的點(diǎn)亮?xí)r間,使顯示亮度提升到原來的兩倍左右,但即便如此,在較強(qiáng)的光線下也還是很難對(duì)顯示字符進(jìn)行分辨。










    繞了一大圈后,最后還是不得不考慮采用字節(jié)掃描的方式顯示,一個(gè)字節(jié)中由于點(diǎn)亮像素點(diǎn)數(shù)的不同和上拉或下灌電流的有限,使得顯示結(jié)果極不均勻。在這里,我考慮采用了不同像素點(diǎn)下顯示占空比不同的策略進(jìn)行亮度補(bǔ)償。這樣,總算實(shí)現(xiàn)了顯示亮度和顯示均勻性的兩者兼顧。
    一次偶爾在動(dòng)車上的閑暇,發(fā)現(xiàn)車廂兩邊的速度時(shí)間顯示字符比較漂亮,遂立刻用云筆記把字符碼抄錄了下來,想著或能某天能用上,這次時(shí)鐘的升級(jí)正是個(gè)不錯(cuò)的機(jī)會(huì),因此,也就很自然的用到了升級(jí)時(shí)鐘字符的顯示上。
    時(shí)鐘使用的是我非常喜歡的一款達(dá)拉斯公司的3231實(shí)時(shí)時(shí)鐘芯片,芯片帶溫度補(bǔ)償功能,因此走時(shí)異常精準(zhǔn)(年偏差兩分鐘左右)。芯片允許對(duì)內(nèi)部的溫度寄存器進(jìn)行讀取,原版的時(shí)鐘便使用了這一溫度傳感源作為溫度顯示的來源。時(shí)鐘走時(shí)溫度補(bǔ)償所需的溫度精度不高,因此溫度顯示的精度也就很有限了,考慮到室溫環(huán)境的溫度傳感顯示是個(gè)比較實(shí)用的功能,因此,后續(xù)的升級(jí)過程中加入了精度達(dá)到0.5度的單線數(shù)字溫度傳感器18B20。
在起初的調(diào)試過程中發(fā)現(xiàn)從18B20讀取的初次溫度值總是85度,通過搜索才發(fā)現(xiàn),是由于其溫度轉(zhuǎn)換時(shí)間不夠所致,因此后續(xù)以增加轉(zhuǎn)換溫度的方式解決(12位精度下需要最多750ms的溫度轉(zhuǎn)換時(shí)間)。另外,由于單線18B20讀寫時(shí)序?qū)r(shí)間精度的高要求,因此在其內(nèi)存操作的過程中因?qū)λ兄袛噙M(jìn)行屏蔽。




    傳統(tǒng)的調(diào)節(jié)一般采用機(jī)械點(diǎn)接觸按鍵的方式實(shí)現(xiàn),從動(dòng)于觸摸操作的潮流,升級(jí)過程中采用了使用AD感應(yīng)手指觸摸的方法實(shí)現(xiàn)觸摸調(diào)試功能的實(shí)現(xiàn)。單點(diǎn)的AD端的采集值是很隨機(jī)的,因此還是要加入多次采集比較的去噪思想來提高采集的可靠性。
    此次的軟件升級(jí),著實(shí)讓我體會(huì)了把做“碼農(nóng)”的艱苦和辛酸。其中多個(gè)看似無端的bug中總會(huì)有那么幾個(gè)頑疾會(huì)使你瘋狂、崩潰和無助。當(dāng)然,這也說明了自己碼碼經(jīng)驗(yàn)的匱乏。這也正是自己喜歡軟硬件結(jié)合DIY的原因,兩者各有其味,相補(bǔ)相長,實(shí)現(xiàn)有血有肉。



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

使用道具 舉報(bào)

沙發(fā)
ID:61326 發(fā)表于 2014-5-4 11:55 | 只看該作者
沒有資料
回復(fù)

使用道具 舉報(bào)

板凳
ID:78901 發(fā)表于 2015-5-4 23:05 | 只看該作者
沒有資料,發(fā)個(gè)共享程序
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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