① 51單片機的引腳結構和功能
mcs-51
單片機引腳功能
mcs單片機都採用40引腳的雙列直插封裝方式。圖2-9為引腳排列圖,
40條引腳說明如下:
1、主電源引腳vss和vcc
①
vss接地
②
vcc正常操作時為+5伏電源
2、外接晶振引腳xtal1和xtal2
①
xtal1內部振盪電路反相放大器的輸入端,是外接晶體的一個引腳。當採用外部振盪器時,此引腳接地。
②
xtal2內部振盪電路反相放大器的輸出端。是外接晶體的另一端。當採用外部振盪器時,此引腳接外部振盪源。
3、控制或與其它電源復用引腳rst/vpd,ale/
,
和
/vpp
①
rst/vpd
當振盪器運行時,在此引腳上出現兩個機器周期的高電平(由低到高跳變),將使單片機復位
在vcc掉電期間,此引腳可接
圖2-9
8051引腳排列圖
上備用電源,由vpd向內部提供備用電源,以保持內部ram中的數據。
②
ale/
正常操作時為ale功能(允許地址鎖存)提供把地址的低位元組鎖存到外部鎖存器,ale
引腳以不變的頻率(振盪器頻率的
)周期性地發出正脈沖信號。因此,它可用作對外輸出的時鍾,或用於定時目的。但要注意,每當訪問外部數據存儲器時,將跳過一個ale脈沖,ale
端可以驅動(吸收或輸出電流)八個lsttl電路。
對於eprom型單片機,在eprom編程期間,此引腳接收編程脈沖(
功能)
③
外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令(或數據)期間,
在每個機器周期內兩次有效。
同樣可以驅動八lsttl輸入。
④
/vpp
、
/vpp為內部程序存儲器和外部程序存儲器選擇端。當
/vpp為高電平時,訪問內部程序存儲器,當
/vpp
為低電平時,則訪問外部程序存儲器。
對於eprom型單片機,在eprom編程期間,此引腳上加21伏eprom編程電源(vpp)。
4、輸入/輸出引腳p0.0
-
p0.7,p1.0
-
p1.7,p2.0
-
p2.7,p3.0
-
p3.7。
①
p0口(p0.0
-
p0.7)是一個8位漏極開路型雙向i/o口,在訪問外部存儲器時,它是分時傳送的低位元組地址和數據匯流排,p0口能以吸收電流的方式驅動八個lsttl負載。
②
p1口(p1.0
-
p1.7)是一個帶有內部提升電阻的8位準雙向i/o口。能驅動(吸收或輸出電流)四個lsttl負載。。
③
p2口(p2.0
-
p2.7)是一個帶有內部提升電阻的8位準雙向i/o口,在訪問外部存儲器時,它輸出高8位地址。p2口可以驅動(吸收或輸出電流)四個lsttl負載。
④
p3口(p3.0
-
p3.7)是一個帶有內部提升電阻的8位準雙向i/o口。能驅動(吸收或輸出電流)四個lsttl負載
② AVR atmega168單片機PC0如何設置成ADC0的復用功能
首先初始化ADC:
void ADC_init(void)
{
//作為 ADC 輸入,PC0要設置成輸入,其實初始默認就是0(輸入)。
DDRC &= 0xfe; //#11111110
//關閉PC0內部上拉電阻,(其實初始默認就是0.)
PORTC &= 0xfe;
//選擇 ADC 時鍾 = 系統時鍾128分頻
ADCSRA = 0x07;
//設置參考電壓為AVCC, AREF 引腳外加濾波電容;
//轉換值右對齊;
//ADC通道為內部 GND
ADMUX=0x4f; //01001111
//1.1V 的片內基準電壓源, AREF 引腳外加濾波電容 左對齊,ADC通道為內部 GND
//ADMUX=0xef; //11101111
//模擬比較器控制及狀態寄存器:ACSR的Bit 7 是 ACD(模擬比較器禁用),ACD 置位(=1)時,模擬比較器的電源被切斷。
ACSR=0x80; //關閉內部比較器
ADCSRA |= 0x80; //10000000 //使能 ADC
}
//--------------------------------------------------------------
下面是一次轉換的過程:
unsigned int adcRead (void)
{
unsigned int inADC;
ADMUX &= 0xf0; //#11110000B //清除已選擇的ADC通道
ADMUX |= 0x01; // #00000001B //選擇新的ADC通道(PC0)
ADCSRA|=0x40; //01000000 //啟動單次ADC轉換
//在 ADC 轉換結束,且數據寄存器被更新後, ADCSRA的bit4:ADIF 置位
while ((ADCSRA & 0x10) == 0); //00010000 //通過ADIF判斷ADC轉換結束
inADC = ADCH ;
inADC =( inADC << 8) | ADCL;
ADCSRA|=0x10; //通過向ADIF標志寫 1 來清 ADIF,//清除ADC轉換結束標記
return inADC; //返回值
}
③ 51單片機引腳輸入設置怎麼弄
根據51引腳的定義,對該引腳置1,可以作為輸入使用。
而51單片機的所有IO引腳,在啟動後默認都是1。因此,如之前沒有對此引腳進行過置0操作的話,可以直接讀該引腳。但為了保險起見,也為了使程序通用、可移植,最好在讀取之前對此引腳置1。
④ 如何理解STM32單片機引腳的復用功能
就是一個管腳有多種功能,根據需要選擇相應的功能,設置寄存器就可以
⑤ 51單片機的引腳功能尤其P30的復用功能
51單片機的引腳,其p30和31這兩個gpio,除具有串口通信功能外,還可以當做普通的Io口。只需要在寫程序時,先定義即可。
⑥ STM32F407單片機UART串口gpio口復用功能配置問題
關於STM32的USART配置,需要完成以下幾個步驟
1,打開USART時鍾
2,配置PA9及PA10
由於USART屬於可選功能項
所以TX要設置成GPIO_Mode_AF_PP;,即復用推挽輸出
RX用於數據輸入,被設置成浮空輸入
這是由於STM32的IO口引腳總共只有以下幾種模式
GPIO_Mode_AIN = 0x0,
GPIO_Mode_IN_FLOATING = 0x04,
GPIO_Mode_IPD = 0x28,
GPIO_Mode_IPU = 0x48,
GPIO_Mode_Out_OD = 0x14,
GPIO_Mode_Out_PP = 0x10,
GPIO_Mode_AF_OD = 0x1C,
GPIO_Mode_AF_PP = 0x18
對於特殊功能模式,只有一個復用開漏及復用推挽。
這兩種都是用於輸出的情況。
所以RX只能被設置成浮空輸入
這不僅是USART,對於其他的如SPI也是如此。
⑦ 關於stm32單片機的引腳配置:
STM32F10xxx參考手冊 中文英文都有
⑧ 51單片機哪些引腳有復用
P3口所有引腳都有復用。還有RES\VPD;EA\VPP;ALE\PROG。
所謂的管腳復用,就是除第一功能外,增加了第二功能,如單片機89C51的P3 I/O口同時還為中斷管腳,主要為節約晶元面積。當然在利用程序控制時是不會影響的