新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ATMEGA8設計的8路鍵盤D觸發(fā)鎖存器技術詳解

        ATMEGA8設計的8路鍵盤D觸發(fā)鎖存器技術詳解

        作者: 時間:2011-12-06 來源:網(wǎng)絡 收藏

        的8路D鎖存器

        本文引用地址:http://www.104case.com/article/172369.htm

        實現(xiàn)目的:

        當管腳設定為輸入時,了解如何可以編程設定上拉電阻,以達到簡化硬件的目的。

        如何使用軟件控制取樣頻率及時間,達到抗干擾目的.

        為了讓程序運行更穩(wěn)定,防止跑飛,了解如何使用看門狗.

        電路、軟件原理描述:

        為簡化代碼及線路圖,本實驗僅使用兩個輸入及兩個輸出 .

        (Atmega8最大可以擴充到支持11路D器,修改軟件即可)。Atmega8在看門狗的監(jiān)護下,定期掃描PB0與PB1的取樣電平。如果連續(xù)十次取樣的結(jié)果都相同,視為有效的取樣。如果十次取樣,有一次或以上不同,視為干擾或臨界狀態(tài),不予處理。本軟件實現(xiàn)D型鎖存器的功能: 即每按一次SW,相應的輸出會翻轉(zhuǎn)一次。

        為了增加程序的通用性及方便日后的性能測試或調(diào)整,本程序的定期掃描取樣周期及取樣的有效次數(shù)可以方便調(diào)整。(修改程序內(nèi)的sampling_times與 sampling_interval 值即可。本程序定義為掃描20次電平都相同時,才認為是有效的輸入。每次掃描的間隔是50us)。

        #define sapleing_way 2 中的2改成你所需要的路數(shù),就能自動處理新設置的路數(shù),不需要再修改代碼。

        問題答疑一:

        為何要使用sampling_times次掃描取樣,當連續(xù)sampling_times次取樣結(jié)果一致時,才認為是有效的輸入?

        答:是為了增加抗干擾的能力,及防止按下時產(chǎn)生的抖動造成的不確定性。大家在實現(xiàn)完成后,可以將取樣次數(shù)設置為1次,就會發(fā)現(xiàn),D觸發(fā)器的工作會變得不可靠。

        問題答疑二:

        為何要使用看門狗?

        答:在實際的應用中,經(jīng)常會發(fā)生許多不可知的情況,可能導致AVR芯片“跑飛”,即程序出錯甚至死機。必須復位芯片才能解決問題。看門狗其實就是定期將AVR芯片復位。當然要注意在程序時,喂狗的指令要放置在正確的位置,既保證程序執(zhí)行過程中不會復位,又保證程序陷入死循環(huán),在允許的時間內(nèi)復位。

        DIY機械鍵盤相關社區(qū):機械鍵盤DIY




        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 搜索| 文山县| 精河县| 永吉县| 仪征市| 阜新市| 县级市| 衢州市| 河南省| 延安市| 武强县| 金华市| 大石桥市| 忻城县| 兴安县| 哈巴河县| 法库县| 台南市| 潼南县| 即墨市| 金山区| 白沙| 铜梁县| 丰县| 海原县| 江陵县| 行唐县| 万盛区| 嫩江县| 榆林市| 密山市| 平安县| 卓资县| 新乡县| 堆龙德庆县| 赣州市| 黄冈市| 保康县| 横山县| 小金县| 都匀市|