1.下載了第一個程序進去,數碼管不亮。查看了硬件方面的改動,發現添加了三極管進去,用的是PNP型1015三極管
軟件也要相應的修改成低電平驅動才行,修改了這個,第二次下載,數碼管全亮,非常亮,亮的耀眼。
雖然軟件沒調試好,但數碼管全亮了至少說明硬件沒問題,低電平驅動是對的。至于太亮的問題,三極管到數碼管間
還沒加限流電阻我是想軟件調好了后視當時亮度而言來加電阻。
?
2.軟件調試過程中發現了好重要的問題,我的定時器其實一直都沒真正開啟,IE功能寄存器中的ET0沒有置1
嗨,這是個問題,都是不應該出現的,犯一些低級錯誤。主要是沒看書。好了,繼續。。。]
3.維澤凌峰 23:51 2011-10-18把剛修改過的程序寫入,看到數碼管沒那么亮了,估摸著因該在掃描了,心里有點底了。馬上就修改了
定時初值,延長中斷時間,放慢來看。果然,看到一個8字從左至右掃描過去。一陣狂喜?。。】偹阏{通中斷掃描部分了,今天早點睡吧
4.陽光燦爛的深秋。根據我的調試方法:1.先驗證定時中斷。2驗證164移位是否還是一樣正常。3判斷A中的值。
果然,找出了BUG:我理解錯了明白教授的顯示方式。我先送電再顯示的。這在164中是不行的.(164沒鎖存)應該給164送數再
給電的。這個還是自己太死板。好了,下載,一個“0”在掃描四個數碼管。嘿嘿,立馬把定時器調到5MS,給顯示標志
分別置:1.2.3.4。四個數碼管上分別顯示了很可愛的1.2.3.4四個字符。行了。前期顯示器準備工作也可以告一段落了,進入攻堅階段了....
5.維澤凌峰 00:01 2011-10-20今晚先是調整了中斷的時間,實驗發現0.5MS中斷比較合適,亮度適中。第二就是嘗試用主程序做了個秒針
雛形,也就是加一實驗。只是由于沒畫流程圖,想了半天,但還是搞出來了。匯編居然一次通過,效果還不錯...
6.今天嘗試提高數碼管亮度等,大概有兩個參數:1減小中斷時間,也就提高了刷新頻率。使顯示沒那么晃。2.亮度的話就延長數碼管的點亮時間。
開始的程序顯示很暗,后來加了8US點亮延時后,亮度提高了一倍左右,相當有效。
二.計時模塊
?
7.搞定了顯示模塊,心情一下也輕松了許多。接下來就進入了計時模塊設計了,計時模塊計劃先用主程序做一遍,看看涉及到的關鍵參數,
再用T1中斷來做,反正它閑著也是閑著,況且定時器要精確許多,又方便計算時間,為以后提高走時精確性打基礎,今晚先完成秒點調試與
主程序框架。維澤凌峰 19:59 2011-10-22
8??磥碜钪匾氖虑槲覜]看見,那就是秒點處理,因為我用的是共陽的數碼管,中間的秒點不是單獨的一位,而是后面個位,十位
的PD段。之前我做顯示模塊用的定時中斷動態掃描,顯示什么數都是沒問題的。但是要一個數碼管的某一段與其他段做不同的事,
也就是我要做的秒點閃爍,還真難倒我了,是不是要做兩個TAB?其中一個帶秒點,一個不帶秒點的?那我的顯示模塊是不是要推倒重來啊?那編程是不是復雜了許多?
待我好好捋捋思路...
9.秒點的問題發到論壇上去了,明白教授給了一種很好的方案:設置一個秒點位變量,3.4位數碼管顯示時判斷這個變量,
等0查表找不帶秒點的字符,等1時查TAB找帶秒點的同一字符。下午編程已經實現了,調試過程中因為一個16進制的立即數忘了寫后面的
“H”結果匯編報錯好多,我還懷疑程序出問題了,查找了好久。看來這個馬虎不得...失之毫厘差之千里...今天第一次使用了位直接尋址
SETB 00H ;對00H位直接操作指令
以前覺得很模糊,現在51的RAM區要清晰很多了..看來這個真要多點實踐才了解...
還有就是{EQU}是字節變量,常量等值偽指令,而變量有不同種類:有位變量{BIT},字節變量{EQU}
定義數據地址{DATA}星期日 2011年10月23日
評論