單片機(jī)關(guān)鍵技術(shù)基礎(chǔ)詳解(四)
因此,對于程序來說,把io腳置1就處于接收狀態(tài),當(dāng)然也是輸出1狀態(tài)。程序置io口為1,讀取的信號是不是1就依靠外部電路了,如果外部電路沒有“吃掉”上拉電阻的電流,則讀取得到1,反之,雖然程序置io腳為1,但是讀取得到的就是0。
因此,如果用io腳的高電平驅(qū)動外部電路時,要小心外部電路把這個1“吃掉”從而輸出不了1。而作為輸入時,為0電平的外設(shè)必須足夠有能力將io腳拉低。所以,用io腳直接點亮led的時候,最好用反邏輯,就是輸出0,讓led亮。這樣能保證驅(qū)動能力。就是io腳接led的負(fù)端,led的正端過電阻接vcc。
因此,io腳輸出1時,外部電路將它強行接地是沒有關(guān)系的,而io腳輸出0的時候,外部電路強行接電源就會把io腳損壞。所以,程序加電之后,一般把所有io口都寫成1:MOV P0,0FFH。
P3口引腳復(fù)用,必須引腳都處于輸出1狀態(tài)。例如,把RXD腳輸出0,則它什么數(shù)據(jù)都讀不進(jìn)來了,筆者早期曾調(diào)試一整天才發(fā)現(xiàn)串口收不到數(shù)據(jù)是沒有把RXD置1的原因,把時間都浪費在外圍了,當(dāng)時很是汗顏。
5:有關(guān)晶振
單片機(jī)的晶振在內(nèi)部可以簡化成一個反向器。當(dāng)晶振輸入腳XI剛過坎壓、被認(rèn)為是1的一瞬間,輸出腳XO就輸出0,這個0會帶動晶振使XI電壓下降,當(dāng)降低到坎壓被認(rèn)為是0的一瞬間,輸出腳XO就輸出1。這樣周而復(fù)始。
因此,用示波器觀察正常工作的晶振輸入腳XI時,得到的是一個不高不低的近似水平線。而XO則是幅值很大的正弦波。測量晶振輸入腳XI時,示波器表筆要打在X10檔上,否則,表筆就能把晶振弄停。
因此布線時,晶振輸入腳XI要盡量靠近晶振,而XO腳可稍遠(yuǎn)。同時XO具有一定的驅(qū)動能力,某些芯片可以用它驅(qū)動其它時序電路(不推薦這么做,因為系統(tǒng)可靠性下降)。
寫到這里,才發(fā)覺51單片機(jī)的問題太多了,這篇文字簡直就是滄海一粟。以后再補充吧,另行成文。
二、實驗用單片機(jī)開發(fā)板介紹
該開發(fā)板集成了單片機(jī)系統(tǒng)最常用,最關(guān)鍵的功能單元,包括字符液晶顯示,圖片/漢字顯示,數(shù)碼管顯示,實時時鐘,步進(jìn)電機(jī)控制,繼電器控制,ADC轉(zhuǎn)換,E2PROM操作,串口通信等等,提供C51例程大全。
基本配置
1、STC89C51單片機(jī),支持串口在線下載程序,也就是你不用買單片機(jī)燒寫器也能夠隨時燒寫程序到你的單片機(jī)里,隨時觀察你修改的程序運行狀況。
2、4位8段數(shù)碼管顯示(可做計數(shù)器,定時器,頻率計,流水燈,電子鐘等各種顯示實驗)
3、MAX232芯片RS232通訊接口(可以做為與計算機(jī)通迅的接口同時也可做為STC單片機(jī)下載程序的接口)
評論