找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

經(jīng)驗(yàn)之談:單片機(jī)調(diào)試的幾點(diǎn)技巧

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:68468 發(fā)表于 2020-3-11 23:05 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
       我是一個(gè)單片機(jī)愛好者,玩單片機(jī)純粹是業(yè)余愛好,自學(xué)而來,期間也遇到過不少問題,這里我想和大家分享幾點(diǎn)調(diào)試的經(jīng)驗(yàn)。
       玩單片機(jī)不可能不遇到問題,之前我也用過proteus仿真,但現(xiàn)在基本不用,都是直接寫芯片;當(dāng)然,這得感謝STC的低價(jià)和方便,我也沒有買所謂的開發(fā)板、學(xué)習(xí)板,只買了塊51最小系統(tǒng)板,焊上插針,就是端口全開放的開發(fā)板了,需要做什么樣的實(shí)驗(yàn)就用5X7洞洞板焊接一塊電路板,如DS1302、74HC595、4X4按鍵、MAX232等,LCD1602、12864也焊上插針,象搭積木一樣用杜邦線連接,也有點(diǎn)硬件模塊化的意思。
      好了,廢話少說,步入正題,遇到問題一般我都是盡量自己想辦法解決,不會做伸手黨一股腦發(fā)帖子求教。首先,采用模塊化編程,先編譯和調(diào)試基本模塊(最小化)通過后再逐步加入各個(gè)模塊,分步調(diào)試直至完成;而不是象有些初學(xué)者那樣一次性寫完所有函數(shù),一經(jīng)編譯出現(xiàn)問題大堆,無從下手;以LCD1602+DS1302+DS18B20+KEY電子鐘為例:我把程序分為main.c、LCD1602.c、DS1302.c、DS18B20.c、KEY.c模塊(對應(yīng)同名.h頭文件),先調(diào)試main.c并加入LCD1602,在指定位置正確顯示字符和數(shù)字后,再加入DS1302.c模塊,時(shí)間日期顯示正常后再加入DS18B20.c模塊,最后加入KEY.c模塊設(shè)置調(diào)節(jié)時(shí)間值。其次,在程序節(jié)點(diǎn)插入LED指示,了解程序執(zhí)行的情況。由于業(yè)余條件下沒有在線仿真器,無法在線監(jiān)控程序運(yùn)行狀況,完成編程寫入芯片后,程序沒有按照預(yù)想的情況執(zhí)行,也不知道執(zhí)行到哪一步了?至此,不少初學(xué)者感到不知所措,其實(shí)我們可以在某些節(jié)點(diǎn)人為插入LED指示燈,利用LED來指示程序執(zhí)行情況,例如KEY.c,可以在按下、釋放及各個(gè)鍵值處插入LED,指示程序執(zhí)行的情況。
   

51.jpg (247.61 KB, 下載次數(shù): 67)

51.jpg

評分

參與人數(shù) 2黑幣 +65 收起 理由
1109 + 15 很好的經(jīng)驗(yàn),謝謝樓主的分享!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:427256 發(fā)表于 2020-3-12 11:47 來自手機(jī) | 只看該作者
有一個(gè)問題,在一個(gè)電子數(shù)字鐘里呢,用什么軟件仿真,對那些參數(shù)仿真
回復(fù)

使用道具 舉報(bào)

板凳
ID:89217 發(fā)表于 2020-3-12 13:13 | 只看該作者
直接搭硬件電路開干,軟件模擬只能看能不過不能運(yùn)行 測不出問題所在
回復(fù)

使用道具 舉報(bào)

地板
ID:695749 發(fā)表于 2020-3-12 22:19 | 只看該作者
模塊化,逐個(gè)通過,非常受益,謝謝分享!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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