如何提升小型單片機(jī)系統(tǒng)的調(diào)試范圍?
當(dāng)你基于一個(gè)小型單片機(jī)系統(tǒng)開發(fā)應(yīng)用程序時(shí),其程序代碼的調(diào)試診斷工具可能是相當(dāng)有限的。下面為您介紹一種新的程序調(diào)試設(shè)計(jì)方案,通過利用單片機(jī)的一個(gè)輸出將引腳,將一個(gè)字節(jié)的二進(jìn)制值繪制示波器顯示屏上,以簡化調(diào)試。
為了顯示一個(gè)字節(jié)的值,需要將其加載到累加器,并調(diào)用一個(gè)名為“Debug”的程序,其值被轉(zhuǎn)換成串行序列,并輸出到名為“Test”的端口。其最重要的是繪制,通過在脈沖位之間添加類似分界的標(biāo)記以便于理解。如果需要顯示多個(gè)字節(jié),調(diào)用“Debug”程序就不止一次。
圖一:一個(gè)字節(jié)"01000111"
下圖所示的是8051版本,常規(guī)應(yīng)用中不使用RAM,只使用R7,當(dāng)80C51單片機(jī)晶振頻率為12MHz時(shí),其運(yùn)行時(shí)間為76μs(包括調(diào)用時(shí)間)。
下圖所示的是PIC版本,該例程使用RAM中的2個(gè)比特位和2個(gè)寄存器。
使用一個(gè)ISP引腳輸出是很好的解決方案,因?yàn)槟阃ǔ?梢詫⑹静ㄆ魈筋^直接連接到ISP編程連接器的引腳。
評論