1樓:匿名使用者
程式思路,用中斷按鈕,改變flag的值,主程式里根據flag的值,執行三種亮燈模式之一
uint a;
if(flag==0)//方式1,單燈亮
if(flag==1)//方式2單燈滅
}if(flag==2)//方式3 雙燈亮
2樓:專注51微控制器
led1 equ 30h
led2 equ 31h
org 0000h
ljmp main
org 0030h
main:
mov led1,#0ffh
mov led2,#0feh
mov r2,#16
loop:
mov p1,led1
mov p2,led2
mov a,led2
rlc a
mov led2,a
mov a,led1
rlc a
mov led1,a
xch a,led2
mov acc.0,c
xch a,led2
lcall delay
djnz r2,loop
mov led1,#7fh
mov led2,#0ffh
mov r2,#16
loop1:
mov p1,led1
mov p2,led2
mov a,led1
rrc a
mov led1,a
mov a,led2
rrc a
mov led2,a
xch a,led1
mov acc.0,c
xch a,led1
lcall delay
djnz r2,loop1
mov led1,#0feh
mov led2,#7fh
mov r2,#8
loop2:
mov p1,led1
mov p2,led2
mov a,led1
rl a
mov led1,a
mov a,led2
rr a
mov led2,a
lcall delay
djnz r2,loop2
ljmp main
delay:
mov r3,#100
dly:
mov r4,#250
djnz r4,$
djnz r3,dly
retend
大神們,51微控制器at89s52晶片p0口、p1口、p2口和p3口它們之間有什麼內在聯絡?有什麼區別?都有哪些功能?
3樓:匿名使用者
四個p口沒有內在聯絡。
p0是標準雙向口,但不能輸出高電平,需要上拉;
p1是常用輸入、輸出口,有內部上拉
p2常與p0構造外部儲存器地址,也用於輸入輸出p3具有外中斷、計數輸入等第二功能,也用於輸入輸出。
p1、p2、p3都有內部上拉,可以輸出高電平,但驅動能力很差,一般都是用低電平作有效訊號。
4樓:
p0-p3口都是plc的輸入輸出口,如p0,它是開路輸出,要取高電平要接上位電阻。p1,p2為輸入輸出口,不用接上位電阻。p3是輸入輸出口,同時還有第二功能。
通常p3不在程式裡定義第二功能,它就只是單純的輸入輸出口。微控制器的程式語言一般是彙編和c語言,我比較會c,彙編沒搞過,可也不難的。一個微控制器你要使用,須先做個最小系統,如復位,電源,晶振。
然後用keil寫c語言**,在用protues彷真。首先,用c語言寫標頭檔案,定義p口,#include//標頭檔案定義 sbit p0^3 d0; //p0.3口定義為d0 void main() //主函式,執行後p3.
0輸出低電平。如要使用p1、2、3都是可以的。如要使用p3的第二功能。
如p3.1是中斷口吧,只需在程式**內加上一句 ea=1; //開啟總中斷就可以使用第二功能了,此次該口不是單純的輸入輸出口了,而是一箇中斷口。
51微控制器p0p1p2p3口,到底有啥區別啊,他們的基本功能有啥
5樓:獅子最愛冥王星
51微控制器p0、p1、p2、p3口區別如下:
一、意思不同
p0口作輸出口用時,需加上拉電阻。p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是
提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入數
據。p1口、p2口只是普通io口。
二、功能不同
p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了
p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。
三、用法
訊號輸出和互動介面,程式設計可以確定不同的功能,例如連線液晶屏,作為控制訊號輸出輸入等。
由於沒有埠複用功能,所以,p0口的v1變成了一個上拉電阻。由於內部就有上拉電阻,所以,作
為gpio時,p1口不需要接上拉電阻,當然,您接了也沒關係啦,就相當於兩個上拉電阻並聯。
基本功能:
一、p1 就沒多少功能,就是個準雙向i/o口。
二、p0當準io口使用,也就是既可以用作輸出口,也可以用作輸入口。
三、p3口除了是個準雙向i/o口外。第二功能很重要p3.0 (rxd)序列資料接收端,p3.1 (txd)
序列資料傳送端,p3.2 (int0)外部中斷0輸入,p3.3 (int1)外部中斷1輸入;
p3.4(t0)timer0計數器輸入,p3.5(t1)timer1計數器輸入,p3.6(wr)寫外部儲存器的脈衝
輸出,p3.7(rd)讀外部儲存器的脈衝輸出。
擴充套件資料
1、p0口:真正的雙向口,輸出鎖存,輸入緩衝,輸入前要先置1(keil包含的標頭檔案已經有動作
了,如果用匯編,要人工置1),輸出為漏極開路,輸出一般都要上拉電阻。輸入為高阻態,能驅動
8個ttl負載。當有片外儲存器時,作資料線使用。
2、p1口:最簡單的口,輸入也要先置1,無高阻態,只能是輸出或者輸入。能驅動4個ttl負載。
儲器。能驅動4個ttl負載。
4、p3口:i/o(輸入/輸出)與p1口一樣,但無論輸入輸出都要先置1。具有很多複用功能。
6樓:匿名使用者
一、意思不同
p0口作輸出口用時,需加上拉電阻。p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入資料。
p1口、p2口只是普通io口。
二、功能不同
p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。
三、用法
訊號輸出和互動介面,程式設計可以確定不同的功能,例如連線液晶屏,作為控制訊號輸出輸入等。
由於沒有埠複用功能,所以,p0口的v1變成了一個上拉電阻。由於內部就有上拉電阻,所以,作為gpio時,p1口不需要接上拉電阻,當然,您接了也沒關係啦,就相當於兩個上拉電阻並聯。
基本功能:
一、p1 就沒多少功能,就是個準雙向i/o口。
二、p0當準io口使用,也就是既可以作輸出口,也可以作輸入口。
三、p3口除了是個準雙向i/o口外。第二功能很重要p3.0 (rxd)序列資料接收端,p3.
1 (txd)序列資料傳送端,p3.2 (int0)外部中斷0輸入,p3.3 (int1)外部中斷1輸入;
p3.4(t0)timer0計數器輸入,p3.5(t1)timer1計數器輸入,p3.6(wr)寫外部儲存器的脈衝輸出,p3.7(rd)讀外部儲存器的脈衝輸出。
擴充套件資料
1、p0口:真正的雙向口,輸出鎖存,輸入緩衝,輸入前要先置1(keil包含的標頭檔案已經有動作了,如果用匯編,要人工置1),輸出為漏極開路,輸出一般都要上拉電阻。輸入為高阻態,能驅動8個ttl負載。
當有片外儲存器時,作資料線使用。
2、p1口:最簡單的口,輸入也要先置1,無高阻態,只能是輸出或者輸入。能驅動4個ttl負載。
4、p3口:i/o(輸入/輸出)與p1口一樣,但無論輸入輸出都要先置1。具有很多複用功能。
7樓:匿名使用者
訊號輸出和互動介面,程式設計可以確定不同的功能,例如連線液晶屏,作為控制訊號輸出輸入等。
8樓:匿名使用者
首先,51微控制器p0p1p2p3口,都可以當準io口使用,也就是既可以作輸出口,也可以作輸入口。區別在於:
1、p0口作輸出口用時,需加上拉電阻。
2、p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入資料。
3、p1口、p2口只是普通io口。
4、p3口所有管腳運有特殊功能:
p3.0----rxd,序列通訊輸入口,不使用序列通訊功能時,可做普通io口使用
p3.1----txd,序列通訊輸出口,不使用序列通訊功能時,可做普通io口使用
p3.2----int0,外部中斷0輸入口,不使用外部中斷0功能時,可做普通io口使用
p3.3----int1,外部中斷1輸入口,不使用外部中斷1功能時,可做普通io口使用
p3.4----t0,定時器0外部計數輸入口,不使用定時器0外部計數功能時,可做普通io口使用
p3.5----t1,定時器1外部計數輸入口,不使用定時器1外部計數功能時,可做普通io口使用
p3.6----wr,外部儲存器寫訊號,不使用外部儲存器寫功能時,可做普通io口使用
p3.7----rd,外部儲存器讀訊號,不使用外部儲存器讀功能時,可做普通io口使用
9樓:
查查書吧!上面寫的清楚!
微控制器中斷問題求大神幫忙
include define uint unsigned int define uchar unsigned charuint i,t,shijian,x,num,num1 uchar disnum 0 uchar code tab sbit spk p1 2 接蜂鳴器void delay uint...
請大神幫我註釋下面的(51微控制器)程式,求詳細註釋啊,越詳細越好啊
滑動變阻器改變輸入電壓 adc0808將輸入模擬電壓轉化為8為數字訊號四位數碼管顯示輸入電壓 include include define ucharunsigned char define ucharunsigned char define uint unsigned intsbit start ...
求大神幫忙寫一份學生會的入會申請書
白羊小魚不會水 敬的學校領導 我是 級,x x 班學生,名叫 x x x 性格活潑 開朗,能吃苦,有理想,上進心很強,有組織能力,處事 沉著 果斷,能夠顧全大局。今天我能很榮幸地 表達我入學以來的願望 我要加入學生會這個組織 因為,學生會 是學校 的有力助手,也是同學們信賴的織。對於學生會這個組織,...