單片機:一片AT89S51/52或其他51系列兼容單片機
特别注意:對于31腳(EA/Vpp),當接高電平時,單片機在複位後從内部ROM的0000H開始執行;當接低電平時,複位後直接從外部ROM的0000H開始執行.這一點是初學者容易忽略的.
複位電路
一、複位電路的用途
單片機複位電路就好比電腦的重啟部分,當電腦在使用中出現死機,按下重啟按鈕電腦内部的程序從頭開始執行。單片機也一樣,當單片機系統在運行中,受到環境幹擾出現程序跑飛的時候,按下複位按鈕内部的程序自動從頭開始執行。
二、複位電路的工作原理
在書本上有介紹,51單片機要複位隻需要在第9引腳接個高電平持續2US就可以實現,那這個過程是如何實現的呢?
在單片機系統中,系統上電啟動的時候複位一次,當按鍵按下的時候系統再次複位,如果釋放後再按下,系統還會複位。所以可以通過按鍵的斷開和閉合在運行的系統中控制其複位。
開機的時候為什麼為複位
在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。
也就是說在電腦啟動的0.1S内,電容兩端的電壓時在0~3.5V增加。這個時候10K電阻兩端的電壓為從5~1.5V減少(串聯電路各處電壓之和為總電壓)。所以在0.1S内,RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機中小于1.5V的電壓信号為低電平信号,而大于1.5V的電壓信号為高電平信号。所以在開機0.1S内,單片機系統自動複位(RST引腳接收到的高電平信号時間為0.1S左右)。
按鍵按下的時候為什麼會複位
在單片機啟動0.1S後,電容C兩端的電壓持續充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統正常工作。當按鍵按下的時候,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。随着時間的推移,電容的電壓在0.1S内,從5V釋放到變為了1.5V,甚至更小。根據串聯電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統自動複位。
總 結
1、複位電路的原理是單片機RST引腳接收到2US以上的電平信号,隻要保證電容的充放電時間大于2US,即可實現複位,所以電路中的電容值是可以改變的。
2、按鍵按下系統複位,是電容處于一個短路電路中,釋放了所有的電能,電阻兩端的電壓增加引起的。
51單片機最小系統電路介紹
1.51單片機最小系統複位電路的極性電容C1的大小直接影響單片機的複位時間,一般采用10~30uF,51單片機最小系統容值越大需要的複位時間越短。
2.51單片機最小系統晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用更高頻率的晶振,51單片機最小系統晶振的振蕩頻率直接影響單片機的處理速度,頻率越大處理速度越快。
3.51單片機最小系統起振電容C2、C3一般采用15~33pF,并且電容離晶振越近越好,晶振離單片機越近越好4.P0口為開漏輸出,作為輸出口時需加上拉電阻,阻值一般為10k。
設置為定時器模式時,加1計數器是對内部機器周期計數(1個機器周期等于12個振蕩周期,即計數頻率為晶振頻率的1/12)。計數值N乘以機器周期Tcy就是定時時間t。
設置為計數器模式時,外部事件計數脈沖由T0或T1引腳輸入到計數器。在每個機器周期的S5P2期間采樣T0、T1引腳電平。當某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數器加1,更新的計數值在下一個機器周期的S3P1期間裝入計數器。由于檢測一個從1到0的下降沿需要2個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當晶振頻率為12MHz時,最高計數頻率不超過1/2MHz,即計數脈沖的周期要大于2 ms。
,