新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATMEGA8設計的8路鍵盤D觸發鎖存器

        ATMEGA8設計的8路鍵盤D觸發鎖存器

        作者: 時間:2010-02-15 來源:網絡 收藏

        的8路D鎖存器

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

        實現目的:

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

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

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

        電路、軟件原理描述:

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

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

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

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

        問題答疑一:

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

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

        問題答疑二:

        為何要使用看門狗?

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



        關鍵詞: 觸發 鍵盤 設計 ATMEGA8

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 胶南市| 通化市| 黑山县| 西贡区| 景东| 广昌县| 许昌市| 榆中县| 贵德县| 洛川县| 邛崃市| 邵东县| 内黄县| 铁力市| 台北市| 柞水县| 磐石市| 旬邑县| 赤壁市| 时尚| 揭东县| 肇州县| 巩留县| 来凤县| 大港区| 克拉玛依市| 甘肃省| 朝阳县| 灵川县| 榆林市| 当涂县| 淄博市| 醴陵市| 陇西县| 中超| 临西县| 神池县| 永登县| 重庆市| 襄城县| 万载县|