『壹』 單片機串口引腳代號
不知道你說的是那類單片機,MCS-51的RXD(串列輸入)是P3.0、TXD(串列輸出)是P3.1口。中斷入口地址0023H。讀入數據MOV A,SBUF 發送MOV SBUF,A 。
『貳』 單片機io口和針腳問題
一個表示寄存器,一個表示引腳。
修改寄存器P0的值可以立刻反映到Pins上;外部修改引腳的狀態不會立刻反應到寄存器上,還需要讀引腳的指令。
『叄』 51單片機的引腳結構和功能
T89C2051是精簡版的51單片機,精簡掉了P0口和P2口,只有20引腳,但其內部集成了一個很實用的模擬比較器,特別適合開發精簡的51應用系統,畢竟很多時候我們開發簡單的產品時用不了全部32個I/O口,用AT89C2051更合適,晶元體積更小,而且AT89C2051的工作電壓最低為2.7V,因此可以用來開發兩節5號電池供電的攜帶型產品。
本文以ATMEL公司生產的51系列家族的AT89S51和AT89C2051兩種單片機來講解,兩種單片機是目前最常用的單片機,其中AT89S51為標准51單片機,當然其功能比早期的51單片機更強大,支持ISP在系統編程技術,內置硬體看門狗。。。
一、AT89S51單片機引腳介紹
AT89S51有PDIP、PLCC、TQFP三種封裝方式,其中最常見的就是採用40Pin封裝的雙列直接PDIP封裝,外形結構下圖。
晶元共有40個引腳,引腳的排列順序為從靠晶元的缺口(見右圖)左邊那列引腳逆時針數起,依次為1、2、3、4。。。40,其中晶元的1腳頂上有個凹點(見右圖)。在單片機的40個引腳中,電源引腳2根,外接晶體振盪器引腳2根,控制引腳4根以及4組8位可編程I/O引腳32根。
1、主電源引腳(2根)
VCC(Pin40):電源輸入,接+5V電源
GND(Pin20):接地線
2、外接晶振引腳(2根)
XTAL1(Pin19):片內振盪電路的輸入端
XTAL2(Pin20):片內振盪電路的輸出端
3、控制引腳(4根)
RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。
ALE/PROG(Pin30):地址鎖存允許信號
PSEN(Pin29):外部存儲器讀選通信號
EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。
晶元實物圖片 晶元引腳功能
4、可編程輸入/輸出引腳(32根)
AT89S51單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。每一根引腳都可以編程,比如用來控制電機、交通燈、霓虹燈等,開發產品時就是利用這些可編程引腳來實現我們想要的功能,盡情發揮你的想像力吧,實現你想要的:) 強大無比。。。
PO口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7
P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7
P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7
P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7
上面就是AT89S51單片機引腳的簡單介紹,其它51系列家族的單片機8031、8051、89C51等引腳和89S51兼容,只是個別引腳功能定義不同。
二、AT89C2051單片機引腳介紹
AT89C2051為20引腳小型封裝,2K內部程序存儲器,15個可編程I/O口線,沒有P0口和P2口的16根I/O線,內部集成了一個模擬比較器。AT89C2051單片機的引腳排列如下圖所示。
晶元實物圖片 晶元引腳功能
晶元共有20個引腳,引腳的排列順序為從靠晶元的缺口(見上圖)左邊那列引腳逆時針數起,依次為1、2、3。。。20,在單片機的20個引腳中,電源引腳2根,外接晶體振盪器引腳2根,復位引腳1根以及P1、P3口可編程I/O引腳15根。
1、主電源引腳(2根)
VCC(Pin20):電源輸入,接+5V電源
GND(Pin10):接地線
2、外接晶振引腳(2根)
XTAL1(Pin5):片內振盪電路的輸入端
XTAL2(Pin4):片內振盪電路的輸出端
3、控制引腳(1根)
RST/VPP(Pin1):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。
4、可編程輸入/輸出引腳(15根)
P1口: 8位準雙向I/O口線,P1.0~P1.7 ,共8根
P3口: 8位準雙向I/O口線,P3.0~P3.5、P3.7,共7根
聰明的你一定會發現:標准51單片機有32根可編程I/O口線,89C2051精簡掉P0、P2口16根I/O線後,應該還有16根I/O口線,現在只有15根,另一根跑那裡去了呢?!前面講到AT89C2051內部集成了一個模擬比較器,正是因為集成了模擬比較器把另一根引線佔用了,比較器的輸出端佔用了一個I/O口,它就是P3.6口,引腳P3.6沒有接出來的,所以少一根I/O口線。在編程時,P3.6就只能用來讀比較器的狀態了,不能象其它I/O口一樣用來驅動外部指示燈等設備了,不過模擬比較器很實用的,在開發中就可以省去外加比較器的麻煩,圖為比較器的原理。
三、主要性能參數介紹
AT89S51
·與MCS-51產品指令系統完全兼容
·4k位元組在系統編程(ISP)Flash閃速存儲器
·1000次擦寫周期
·4.0-5.5V的工作電壓范圍
·全靜態工作模式:0Hz-33MHz
·三級程序加密鎖
·128×8位元組內部RAM
·32個可編程I/O口線
·2個16位定時/計數器
·6個中斷源
·全雙工串列UART通道
·低功耗空閑和掉電模式
·中斷可從空閑模喚醒系統
·看門狗(WDT)及雙數據指針
·掉電標識和快速編程特性
·靈活的在系統編程(ISP位元組或頁寫模式)
AT89C2051
·與MCS-51產品指令系統完全兼容
·2k位元組可重擦寫閃速存儲器
·1000次擦寫周期
·2.7V-6V的工作電壓范圍
·全靜態操作:0Hz-24MHz
·兩級加密程序存儲器
·128×8位元組內部RAM
·15個可編程I/O口線
·2個l6位定時/計數器
·6個中斷源
·可編程串列UART通道
·可直接驅動LED的輸出埠
·內置一個模擬比較器
·低功耗空閑和掉電模式
『肆』 怎樣知道單片機針腳的作用
1,唯一的辦法就是找到單片機的規格書,但是這個只能查到針腳是I/O或是其他,但是無法得知其在線路上功能
2,因為每個單片機I/O教或是電壓采樣都是由單片機編程寫的,這些只有撰寫單片機程式的工程師才知道
3,所以
這就是現在
很多廠家採用單片機的原因,因為可以防止別人抄襲
『伍』 如何找到STC89C52RC單片機RXD TXD GND VCC及各針腳的定義
89C51是一種帶4K位元組閃爍可編程可擦除只讀存儲器的低電壓、高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容。
單片機的可擦除只讀存儲器可以反復擦除100次。該器件採用ATMEL高密度非易失存儲器製造技術製造,與工業標準的MCS-51指令集和輸出管腳相兼容。
由於將多功能8位CPU和閃爍存儲器組合在單個晶元中,ATMEL的89C51是一種高效微控制器,89C2051是它的一種精簡版本。89C單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
(5)單片機針口擴展閱讀:
具有以下標准功能:8k位元組Flash,512位元組RAM,32位I/O口線,看門狗定時器,內置4KBEEPROM,MAX810復位電路,三個16位定時器/計數器,一個6向量2級中斷結構,全雙工串列口。
另外STC89X52可降至0Hz靜態邏輯操作,支持2種軟體可選擇節電模式。
空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。
掉電保護方式下,RAM內容被保存,振盪器被凍結,單片機一切工作停止,直到下一個中斷或硬體復位為止。
『陸』 51單片機有哪些介面
有些io是復用的,介面有很多種,普通io口,串口tx rx,外部中斷,定時器輸出口,有些51單片機還具有AD介面,PWM波輸出口等。看具體的單片機,現在市面上的單片機各種各樣,多看手冊。
『柒』 單片機,什麼是串列口,什麼是並行口
兩種介面都是用來傳送二進制數據的介面形式。
串列介面,一般有一根時鍾線,一根數據線,一個時鍾周期傳送二進制1位,要傳送一個位元組至少需要8個時鍾周期,串列線根數少,遠程傳輸抗干擾能力強,成本低。
並行介面,比如8位並行介面,除具備時鍾線外,還有8根數據線,另外還有幾根輔助信號線,一個時鍾8位數據全部可傳送完畢,並行線根數多,電纜成本高、容易受干擾因而距離受限(電纜長度受限)。
單片機的硬體特性:
1、主流單片機包括CPU、4KB容量的RAM、128 KB容量的ROM、 2個16位定時/計數器、4個8位並行口、全雙工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
2、系統結構簡單,使用方便,實現模塊化。
3、單片機可靠性高,可工作到10^6 ~10^7小時無故障。
4、處理功能強,速度快。
5、低電壓,低功耗,便於生產攜帶型產品。
6、控制功能強。
7、環境適應能力強。
『捌』 單片機串口
關於串口實驗你可以看看這篇文章:
http://www.hificat.com/dpj_step/rs232.asp
手把手教你用增強型51實驗板實現RS232串口通信 《電子製作》2006年8月 站長原創,如需引用請註明出處
上一期,我們已經利用增強型51實驗板學會了單片機控制步進電機轉動的方法,這一期,我們將一起來學習一下單片機如何與PC機進行通信,一起來完成一個簡單的RS232通信實例,我們不做太多的理論,從實例出發,相信能夠給大家一個比較通俗、透徹地認識,掌握了它的原理,那你就可以編出任何和PC機進行通信的程序了。
前幾期,我們學習和介紹的內容都是以單機的形式,即所有的功能都是在一塊增強型51實驗板上得以實現。當單片機技術具體應用到工廠、企業及各類工業、民用領域中,它肯定要與外部設置作數據傳輸,其交互性也使得單片機的應用越來越廣泛,我們可以利用它來傳數據,傳控制命令等等。因此,單片機與PC機的通信是我們學習單片機技術所經歷的必要環節,由此,也使我們的學習更具趣味性。
下面我們一起來完成一個用單片機從串列口接收PC機數據,並在數碼管上顯示出來的實驗。
先介紹一下串口通信基本知識。目前較為常用的串口有9針串口(DB9)和25針串口(DB25)。最為簡單且常用的是三線制接法,即地、接收數據和發送數據三腳相連,本文只涉及到最為基本的接法,且直接用RS232相連。串口引腳定義如圖1所示。
9針串口(DB9) 25針串口(DB25)
針號
功能說明
縮寫
針號
功能說明
縮寫
1
數據載波檢測
DCD
8
數據載波檢測
DCD
2
接收數據
RXD
3
接收數據
RXD
3
發送數據
TXD
2
發送數據
TXD
4
數據終端准備
DTR
20
數據終端准備
DTR
5
信號地
GND
7
信號地
GND
6
數據設備准備好
DSR
6
數據准備好
DSR
7
請求發送
RTS
4
請求發送
RTS
8
清除發送
CTS
5
清除發送
CTS
9
振鈴指示
DELL
22
振鈴指示
DELL
圖1 DB9和DB25的常用信號腳說明
我們來看一下本次實驗的電路圖,如圖2所示,即增強型51實驗板實現串口通信及數碼管顯示的電路部分。圖2中的4個三極體分別與4個共陽數碼管相連,是各個數碼管的使能端,分別通過單片機的P2.0,P2.1,P2.2,P2.3來控制,數碼管顯示的詳細工作原理,我們已在前幾期雜志中作過介紹,有興趣的朋友可以去看一下以前幾期的內容。圖2中MAX232晶元起到RS232與TTL電平轉換的作用,我們通過9芯串口與PC機相連。
圖2 硬體電路原理圖
下面是我們完成本次實驗的源程序代碼,使用Keil編譯軟體,將其編譯生成HEX文件,然後,通過A51編程器燒入AT89S51晶元即可。
#include "reg51.h"
#include <absacc.h>
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char dat;
void Init_Com(void)
{
TMOD = 0x20; //定時器工作方式2,初值自動裝入
PCON = 0x00; //波特率不增倍
SCON = 0x50; //串列工作方式設定
TH1 = 0xFd; //定時器初值高位
TL1 = 0xFd; //定時器初值低位
TR1 = 1; //啟動定時器
}
/*函數功能:LED數碼管延時程序*/
void delay(void)
{
int k;
for(k=0;k<600;k++);
}
/*函數功能:LED數碼管顯示程序*/
void display(int k)
{
P2=0xfe; //位選
P0=tab[k/1000]; //顯示千位數字
delay(); //延時
P2=0xfd; //位選
P0=tab[k%1000/100]; //顯示百位數字
delay(); //延時
P2=0xfb; //位選
P0=tab[k%100/10]; //顯示十位數字
delay(); //延時
P2=0xf7; //位選
P0=tab[k%10]; //顯示個位數字
delay(); //延時
P2=0xff; //位選
}
/*函數功能:主程序*/
void main()
{
P2=0xff; //埠初始化,關LED顯示
P0=0xff;
Init_Com(); //調用串口初始化程序
while(1) //主循環
{
if ( RI ) //判斷是否收到數據
{
dat = SBUF; //接收數據
RI = 0; //軟體清除標志位
}
display(dat-48); //顯示收到的數據
}
}
我們來一起分析一下程序代碼,main主程序首先將P2口和P0口全部輸出高電平,即數據管不顯示任何內容,Init_Com函數用來初始化串口設置,如波特率設置,工作方式的設置,這些都是程序運行的一切初始化設置。然後,我們看到了一個while(1)語句,該語句的作用是產生死循環,即單片機上電復位後,我們就不斷地去接收由PC機發過來的串口數據,同時將接收到的數據放在dat 這個變數中,每接收完一次數據,我們需要執行RI = 0這條語句,用來清除串口數據接收標志位,現在我們已經收到了PC機傳過來的數據了,餘下的任務就是要將數字通過數碼管顯示出來,我想大家看了我們前幾期的介紹,已經並不陌生數碼管的使用了,在這里,我們也寫得非常簡潔,通過display這個函數將數字顯示出來,因為我們收到的是字元型的ASCII碼數據,如數字「0」的ASCII碼值是48,所以,我們要顯示「0」的話,還需要將其值減去48後才是真正要顯示的數據。數碼管我們採用動態掃描法進行顯示,delay函數的作用是產生一定時間的延時,對於人眼來說是分辨不出來的,在display的函數體內,我們先將數據裝載到P0口,如我們在程序開始時定義的:unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}語句,意思相當於:數字「0」對應的數碼管段碼值為「0xc0」, 數字「1」對應的數碼管段碼值為「0xf9」, 數字「2」對應的數碼管段碼值為「0xa4」……以此類推,最後通過數碼管的使能端來顯示各位數碼管的值。至此,整個程序的功能就輕松地實現了我們所需要的功能,看到這里相信你現在對串列通信感到並不是原來想的那麼深奧了吧。
現在我們已經將程序寫好,並燒入了單片機晶元,下面我們要做的就是用串口線將增強型51實驗板和PC機相連起來,同時給實驗板接上電源,然後就是通過PC機軟體來發數據了,要在PC機上向串口發送數據一定要藉助相應軟體,打開光碟內附帶的串口調試軟體,它設置方便、靈活,界面簡潔明。因為我們得告訴實驗板來顯示哪些數字,程序的功能是發送「1」、「2」、「3」......「8」、「9」、「0」等字元,增強型51實驗板收到數據後通過數碼管顯示出來,所以我們得在軟體發送區內填上我們所需要發送的數字,如圖3所示。
圖3
串口調試軟體中,設置參數如下:串口:COM1;波特率:9600;校驗位:無;數據位:8位;停止位:1位;發送內容:5
當我們點擊「手動發送」按鈕後,我們可以看到增強型51實驗板上的數碼管已顯示數字「5」的字樣,如圖4所示。當然,我們也可以選擇「自動發送」,即每隔一定的時間,由軟體自動發送「發送緩沖區」內的數據,時間周期可以在軟體界面中設置。
圖4
現在,你已經可以自由發揮來接收PC機發過來的數據了,只要發揮你的想像力,定義好PC機和單片機兩端的數據通信協議,你可以做出任何通過電腦來對單片機進行控制的程序,實現各種各樣的數據傳輸,遠程式控制制功能,比如通過PC機來控制液晶顯示、控制步進電機的轉動、控制蜂鳴器奏樂等等,您也可以將本期所講的知識與前幾期所講的關聯起來,完成功能更多,更實用的具體應用實例。因此,到本期的學習,我們已經可以將單片機與PC相連,藉助PC機強大而靈活的功能,就可以為我們解決各類實際生產及應用型問題提供了方便。這一期的內容我們就介紹到這里,增強型51實驗板更多的學習內容,我們將在以後幾期陸續為大家作介紹,祝大家學習順利。
『玖』 51單片機介面問題
開發板上有串列口,電平轉換應該已經做好了。把RXD<->TXD,TXD<->RXD,GND<->GND接對了就可以了。杜邦線,O(∩_∩)O~。如果方便的話,可以再買一根,十塊錢吧。
『拾』 高分懸賞「基於單片機的針式列印機介面電路設計」
這個都是根據列印機來的。一般的列印機都是RS232介面的。做個RS232通訊電路就可以的啦