DS1302時(shí)鐘芯片調(diào)試經(jīng)驗(yàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
這幾天,著手把以前用DS12C887時(shí)鐘芯片做的萬(wàn)年歷,改成用DS1302來(lái)做,以前寫DS12C887的代碼時(shí)感覺(jué)蠻輕松,但是寫DS1302感覺(jué)有些棘手,在調(diào)試的過(guò)程中更是不順的種種。開始寫代碼,一開始用開發(fā)板做實(shí)驗(yàn),用LCD1602做顯示,這個(gè)還是很輕松就搞定了(一天過(guò)去了)。
然后自己用DS1302芯片焊了塊板子,然后用杜邦線連接到開發(fā)板上面進(jìn)行測(cè)試,不過(guò)LCD1602什么都沒(méi)有顯示,(以為程序有問(wèn)題不停改來(lái)改去花了很多時(shí)間,然后才確定肯定是硬件問(wèn)題而不是軟件問(wèn)題,以為數(shù)據(jù)都沒(méi)有寫進(jìn)DS1302中), 經(jīng)過(guò)分析可能是開發(fā)板上面的某些芯片可能會(huì)對(duì)SPI的數(shù)據(jù)傳輸造成一些影響(一天過(guò)去了)
自己又焊了一塊單片機(jī)的板子,把LCD1602給放上去然后連接好DS1302,一上電時(shí)鐘開始走了,頓時(shí)感覺(jué)輕松了,結(jié)果仔細(xì)一看,時(shí)間全部都是亂的,我又開始懷疑是程序問(wèn)題,我開始修改程序,但是怎么樣都沒(méi)有結(jié)果(感覺(jué)很久沒(méi)有寫程序,放這10多天的假已經(jīng)沒(méi)有感覺(jué),感覺(jué)無(wú)從下手,很是郁悶),找不到問(wèn)題只能又把LCD1602放到開發(fā)板上面去做測(cè)試,一試還是可以在開發(fā)板上面正常工作,難道是芯片的問(wèn)題,或者是和晶振沒(méi)有接電容的關(guān)系,馬上開始查資料,換芯片,結(jié)果還是一樣,于是乎真的就傻眼了(一天過(guò)去了)
第二天一開始就先在百度上面搜原因和解決方法,最后也沒(méi)有收到一個(gè)解決的方法,我準(zhǔn)備在進(jìn)行一次測(cè)試,把LCD1602從開發(fā)板上門取下來(lái),然后放到自己做的單片機(jī)板子上面,一上電,上面都沒(méi)有LCD1602亮的不亮,一看引腳,原來(lái)插錯(cuò)了,于是就重新插,結(jié)果只有背光亮,屏幕沒(méi)有反應(yīng)了,試了幾次看樣子的果斷被燒壞了(感覺(jué)太背時(shí)了)。
一想就氣憤,調(diào)了這么久沒(méi)有結(jié)果還把東西燒了,覺(jué)得不爽還想繼續(xù),但是沒(méi)有LCD1602(這個(gè)感覺(jué)比較熟悉),只好硬著頭皮用LCD12864,還 是先在開發(fā)板上面做測(cè)試,結(jié)果屏幕一片空白,又開始了不斷修改程序,結(jié)果還是空白的說(shuō)(一天又過(guò)去了),
已經(jīng)是第五天了,已經(jīng)快失去耐心了,決定將程序從頭到尾仔細(xì)進(jìn)行分析(這之間看了很多不同的人的不同程序),后來(lái)發(fā)現(xiàn)開發(fā)板的DS1302和 LCD12864的片選CS引腳重疊,仔細(xì)一想肯定是這個(gè)問(wèn)題,然后將cs引腳斷開,終于程序開始正常運(yùn)行和顯示了(感覺(jué)對(duì)這個(gè)又開始有那么一點(diǎn)感覺(jué)了),開始把東西移植到焊接的板子上面,結(jié)果讀回來(lái)的值和LCD1602的一樣,我想了很久沒(méi)有想到方法,只能將它顯示的數(shù)字都抄下來(lái),看看是否有規(guī)律可尋,將數(shù)據(jù)改寫成2進(jìn)制,左看右看也沒(méi)有看出個(gè)所以然來(lái)。(一天真的是很快)
晚上睡覺(jué)前想了很久很久,還是沒(méi)有一個(gè)可行的方案,早上一開始時(shí)就想還是從百度好好找找答案吧,看了好幾篇帖子,還是沒(méi)有結(jié)果,不過(guò)還是在不停的找著, 頓時(shí)感覺(jué)就是他了,看之后就更加肯定了,他顯示出的問(wèn)題和我的一模一樣,看樣子還難倒不少人,而且有些是高手也被這個(gè)問(wèn)題難住了,我馬上把線改短,一試就OK了....