新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機上電復位不可靠問題的解決

        AVR單片機上電復位不可靠問題的解決

        作者: 時間:2013-04-13 來源:網絡 收藏

        程序里開始首先是對IO做初始化,TXD配置為輸出,還有其他相關IO配置。然后是對定時器的一些初始化,再就是對串口的一些初始化了。看了下程序,在初始化的時候就把串口中斷發送、接收允許都使能了,難道是這里的問題?串口電壓表在實際工作的時候串口其實不是在一直工作的,是通過一個開關選擇接地才發送數據,平時是不發送的,而在不接串口電平轉換電路的時候RXD、TXD都是是懸空的,只有TXD為輸出有上拉,RXD沒有使能上拉,這時候RXD是最容易被外部干擾的,這就是問題的所在了。當然如果串口電平轉換電路都連接著,那就沒這個問題,因為串口電平轉換電路已經把RXD的電平給鉗住了。解決的方法很簡單:在初始化串口的時候關閉串口中斷使能,在主程序里需要發送數據的時候再使能串口,發送完馬上關閉就可以。至此問題解決,這時候看你再怎么去“摸”ATMEGA48的引腳或封裝都沒有再出現任何的死機情況,每次都是非常的穩定。(把AVR的BOD熔絲打開可增加復位的可靠性,BOD LEVEL根據實際的電源電壓進行選擇,這里的電源是5V,所以BOD LEVEL選4.3V)

        總結教訓:

        這是自己的粗心大意、芯片內部功能的沒有合理性利用的表現。在此引以為戒!告訴自己:不要以為自己做過一些小項目就飄飄然起來,不要動不動就去懷疑人家半導體廠家芯片的穩定性,要多懷疑自己才是。往往可能最基本的問題沒注意而花費了很多的時間,自己做著玩的東西那都無所謂了,如果你是給別人打工呢?那性質就完全不一樣了!

        下圖為 典型外部復位電路:

        已經內置了設計。并且在熔絲位里,可以控制復位時的額外時間,故AVR外部的復位線路在上電時,可以設計得很簡單:直接拉一只10K的電阻到VCC即可。

        為了可靠,再加上一只0.1uF的電容以消除干擾、雜波。

        二極管1N4148的作用有兩個:作用一是將復位輸入的最高電壓鉗在Vcc+0.5V 左右,另一作用是系統斷電時,將10K電阻短路,讓0.1uF的電容快速放電,讓下一次來電時,能產生有效的復位。

        當AVR在工作時,按下開關S 時,復位腳變成低電平,觸發AVR芯片復位。

        AVR單片機上電復位不可靠問題的解決

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 湘潭市| 台东县| 延安市| 鹤壁市| 阿巴嘎旗| 临沭县| 九台市| 奇台县| 永春县| 广安市| 包头市| 阿拉善左旗| 尉犁县| 台州市| 丘北县| 乌海市| 四子王旗| 铁力市| 兴城市| 太谷县| 威宁| 黎平县| 宁明县| 汝南县| 灵璧县| 栾城县| 木兰县| 稻城县| 石台县| 鄂托克前旗| 平凉市| 溆浦县| 康平县| 萨迦县| 集安市| 无为县| 蒲江县| 新闻| 鄂伦春自治旗| 阜南县| 封开县|