單片機引腳信號檢測分析
檢測對象
單片機AT89C2051,使用6MHz石英晶體,控制三個發(fā)光二極管各自漸變亮,漸熄滅。
三個LED共組成七種亮滅情況(沒有全部熄滅的狀態(tài)),分別對應(yīng)二進制數(shù)的一到七。依序變化一個周期約49秒,每種變化歷時七秒。
所用的示波器,標稱電壓是實際電壓的十分之一。
檢測過程
1 用示波器看5腳信號,是標準的正弦波形,周期約160ns,即六兆的頻率,振幅是2V(即幅度4V),都位于橫軸的上方,即5腳電勢總高于電源負極。其4腳信號與5腳相似,但略有些變形,可見是帶有雜波。
2.I/O口輸出的是矩形波,矩形波周期8ms(即48000個時鐘脈沖),幅值3V。使用最快的掃描速度,可以看到矩形波上升沿,高5V,寬400ns。
3.使用較慢的掃描速度,可以看到矩形波的脈寬比隨燈的亮暗變化而改變。當燈由暗變亮,其脈寬比由0%逐漸變大到100%,當脈寬比維持在100%,燈持續(xù)地亮著。當燈由亮變暗,其脈寬比由100%逐漸變小到0%,當脈寬比維持在0%,燈一直不亮。
4.脈寬比由0%逐漸變大到100%或由100%逐漸變小到0%所經(jīng)歷的時間都是大約6.8秒時間。
理論分析
單片機通過改變輸出口某引腳電平的脈寬比來實現(xiàn)讓發(fā)光二極管亮度的逐漸變化。因為6.8s/8ms等于850,所以燈的每次亮暗變化過程里包含了850個矩形波,又因為48000/850等于56,所以相鄰兩個矩形波脈寬相差56個時鐘周期。
在編程方面,假設(shè)要由A狀態(tài)變化到B狀態(tài),則先把B發(fā)送到輸出口并延時N個時鐘脈沖,再把A發(fā)送到同一輸出口并延時(48000-N)個時鐘脈沖,每經(jīng)歷一個這樣的變化就讓N值遞增56,當N由1增大到48000,則燈就由A狀態(tài)變化到B狀態(tài)了。
評論