您能給寫微控制器語言麼?兩個按鈕加減一用數碼管顯示

時間 2021-09-01 18:43:15

1樓:

#include

#define uchar unsigned char

uchar i,s=0;

uchar code dm=; //led**

uchar jw=0;                                             //led數字儲存

void delay_ms(unsigned int ms)                   //延時

unsigned int i;

unsigned char j;

for(i=0;ifor(j=0;j<200;j++);

for(j=0;j<102;j++);

void button(void)                                 //開關加減函式

uchar key;

p3=0xff;

if(p3!=0xff)

void main()

while(1){

p0=dm[jw];

button();                            //led顯示

這個就是完整版的控制一個led的c語言程式,

p0接八位數碼管(七位也行),我用的共陽極管,

p3的0和1埠(兩個低位)接2個按鈕,

採納後求積分啊。。。。。

2樓:做而論道

為樓上電路增加一份彙編程式。

org 0

start:

mov r1, #0 ;從0開始計數.

;----------------------------------

disp:

mov a, r1 ;

mov dptr, #tab

movc a, @a + dptr ;取段碼.

mov p0, a ;送p1口顯示.

;----------------------------------

k_1:

jb p3.0, k_2 ;判斷k1是否按下.

call delay10ms ;若按下,則延時10ms左右.

jb p3.0, k_2 ;再判斷k1是否按下.

inc r1 ;若真按下,則加一.

jnb p3.0, $ ;等待釋放.

cjne r1, #10, disp

mov r1, #0

sjmp disp

;----------------------------------

k_2:

jb p3.1, k_1 ;判斷k2是否按下.

call delay10ms ;若按下,則延時10ms左右.

jb p3.1, k_1 ;再判斷k2是否按下.

dec r1 ;若真按下,則減一.

jnb p3.1, $ ;等待釋放.

cjne r1, #255, disp

mov r1, #9

sjmp disp

;----------------------------------

delay10ms:

mov r6, #20 ;延時10ms子程式.

l1:mov r7, #248

djnz r7, $

djnz r6, l1

ret;----------------------------------

tab:

db 0xc0,0xf9,0xa4,0xb0,0x99

db 0x92,0x82,0xf8,0x80,0x90

;----------------------------------end

3樓:

用定時器寫的,也是c51程式,要不?

微控制器 一個按鈕設定按一下加1 另一個按鍵按一下減1 求幫忙編寫程式

4樓:

#include

#define uchar unsigned char#define uint unsigned intsbit k1 = p1^4;

sbit k2 = p1^5;

uchar data k1state;

uchar data k2state;

uint  data num,ntmp;

uchar code table= ;

uchar data showindex,indextmp;

uchar data  w[8];

void delay(uint z)

void main()

p0 = (0x01<=8)

showindex=0;}}

看了你的全圖,修改後了,用keil uvision 3或4都可以,編譯後可以檢視對應的彙編**

程式稍大一點的,不會有人用匯編來給你蘑菇,彙編設計寫編碼太慢了,開發代價不值得

5樓:匿名使用者

學微控制器 先學c語言 學深了 再學彙編 這樣更好上手

6樓:匿名使用者

sbit k=p1^5;

sbit m=p1^6;

int p=0;

while(1)

7樓:匿名使用者

求剩餘下面的圖 做邊接到什麼了???

51微控制器怎麼用矩陣鍵盤讓數碼管加一減一,就是每兩個鍵盤控制一個數

8樓:匿名使用者

#include

#define uchar unsigned char#define uint unsigned intsbit key1=p1^0;

sbit key2=p1^1;

uchar num=0;

//共陰數碼管七段碼

uchar code table=;

void delay1ms(uint i) //1ms延時程式}}void main(void )//主程式}if(key2==0)//判斷按鍵2是否按下}p0=table[num];}}

兩個微控制器之間的無線傳輸

有學問的免子 選擇通訊模組完成傳輸 1 用rf905進行資料傳輸,兩塊微控制器都通過串列埠將資料傳送給905,然後通過905傳送出去。2 用pt2262發也可以,如果你不考慮成本的話,你可以用51的乙個埠控制乙個繼電器當按鍵用 建議nrf24l01這個模組,spi協議,程式不是很難寫 用rf905進...

微控制器中兩個for語句是如何執行的

寒冬為雪 這兩個for語句相同。是起一個延時的作用,最初i 0,i 0 30000,繼續執行,i 即i自加1為i 1,然後i 1,i 1 300000,繼續執行i 直到i 30000跳出for語句,這個過程微控制器執行需要時間,就起到了一個延時的作用。 懂你的大佬 揭靈韻 這個很重要,第一,如果是編...

微控制器的兩個晶振引腳該怎麼接才能工作

東東輝 給個例子你.買乙個兩腳的4mhz晶體,和2個15pf電容 xtal1,xtal2分別接晶體兩腳,然後晶體兩腳分別接乙個電容到gnd 一生唱吟 18引腳,19引腳分別接晶體兩腳,然後晶體兩腳分別接乙個電容到gnd,就可以動作了。微控制器 microcontrollers 是一種積體電路晶元,是...