模塊:
初始化模塊:設(shè)備初始化包括關(guān)閉看門(mén)狗,時(shí)鐘初始化,端口初始化以及液晶初始化
中斷模塊:首先開(kāi)啟定時(shí)溢出中斷和I/O中斷,再打開(kāi)總中斷,計(jì)數(shù)器開(kāi)始計(jì)數(shù),當(dāng)計(jì)數(shù)溢出時(shí)進(jìn)入溢出中斷,且溢出次數(shù)加1,當(dāng)有上升沿到來(lái)時(shí),進(jìn)入I/O中斷,計(jì)算兩次中斷之間(一個(gè)周期內(nèi))的計(jì)數(shù)值,并轉(zhuǎn)化為頻率值,當(dāng)頻率較大時(shí),計(jì)數(shù)值較小,產(chǎn)生的誤差大,所以利用多個(gè)周期的計(jì)數(shù)值,最后再取均值,這樣得到的頻率值就比較精確,本設(shè)計(jì)采用100個(gè)周期的計(jì)數(shù)值。
顯示模塊:首先根據(jù)12864液晶的時(shí)序圖寫(xiě)出液晶驅(qū)動(dòng)函數(shù),并調(diào)用驅(qū)動(dòng)函數(shù)完成在指定位置處顯示字符的功能函數(shù),這樣通過(guò)定時(shí)刷新液晶屏就可以顯示頻率值了,而且顯示位置可以根據(jù)需要任意指定。
附件包含以下資料: