1樓:匿名使用者
org 0000h
ljmp main
org 0003h
ljmp ex0int
org 0030h
main:
mov sp,#5fh
setb it0
setb ex0
setb ea
mov r0,#0
mov dptr,#table
mov a,r0
movc a,@
mov p2,a
loop:
mov a,p1
cpl a
mov p1,a
lcall delay
sjmp loop
ex0int:
push acc
inc r0
mov dptr,#table
mov a,r0
movc a,@a+dptr
mov p2,a
reti
delay:
mov r2,#100
delay1:
mov r3,#250
djnz r3,$
djnz r2,delay1
rettable: ; 共陰極數碼管顯示**表db 0c0h,3fh,06h,5bh,4fh ;01234db 66h,6dh,7dh,07h,7fh ;56789end
2樓:做而論道
要求p1口led燈閃爍 ...
怎麼閃爍?
沒有時間概念?
請教51微控制器匯程式設計序問題,是個p1口接段碼,p2口接8位數碼管位碼,其中兩個數碼管顯示6並迴圈,單編譯警
3樓:做而論道
問這個問題,是什麼意思?
這程式,樓主不是回答下面的問題的嗎?
不是說編譯通過了嗎?
at89c51微控制器p1口接分別接有8路led燈,p3.2 p3.3埠分別接有兩個按鈕sb1 sb2,p0口 p2口分別接共陽數管 100
4樓:清風迎明月
這個電路有問題,發光二極體要限流,否則要燒
51微控制器控制的交通燈c程式,其中p1口接6個led燈模擬,p0和p2接數碼管(不用位選了),p3口接按鍵控制 5
5樓:匿名使用者
才5分,要寫這麼多。
寫個輪廓給你自己填?
unsigned char counter;
void interrupt_star();
void main()
}void timer0() interrupt 1 //定時器,counter>19時候,就為1s
void display_time() //動態顯示
6樓:匿名使用者
不知道 我只是做任務 不好意思啊
at89s51微控制器的p1口接有1個7段led數碼管,初始顯示0。外部中斷輸入引腳into接有一
7樓:匿名使用者
p3.2的按鍵作為外部中斷了,實現計數功能,所以,那個延時子程式沒有用了。
關鍵問題是,凡是中斷程式中所用的變數,要定義為全域性變數。修改的程式如下。
#include
#define uint unsigned int#define uchar unsigned charuchar code seg=;//你0的段碼錯誤了uchar i=0; //凡是中斷程式用到的變數,一律定義為全域性變數,而且不用定義成 unsigned int 型的變數。
/*void delay()//延時子程式沒有用,注釋掉*/void main(void)
}void int0() interrupt 0 using 1**結果如下
8樓:匿名使用者
把變數i作為全域性變數
微控制器(組合語言)程式,微控制器組合語言
開發當bai然是用c,又快又易懂好維 du護,但是想要優zhi化程式dao還是要懂彙編的,要不然實回現同樣乙個功能答的程式,好的程式設計師可以把程式設計得又短又快,而不做優化的可能會又臭又長,2k以下可以搞定的,你非要搞到4k以上去那最終產品的成本每個至少會相差幾毛到一兩塊錢,而且成本公升高時質量卻...
要求用AT89C51微控制器的P1口點亮發光二極體分為兩組
真的是很簡單的,用點心學幾天就可以寫,看到沒人回,幫忙 12m include void timer0 init void main void timer0 isovf interrupt 1 程式如下 絕對沒有錯 led燈的一端接p1口的各各引腳,另一端接地。同時在p1口的每個管腳上加1k的上拉電...
關於微控制器中C語言給P1口賦值問題
你這變成了直接給p1口上的所有燈賦值了,假如像你寫的p1口上有8個燈,執行你這語句以後,8個燈的狀態是01010101,直接都定好了,當然不是間隔,你要間隔的話要這樣 p1 0 1 delay 100 延時 p1 1 1 delay 100 延時 以此類推 c語言中好像不能直接用二進位制表示數吧 一...