8051

    1熱度

    1回答

    爲8051和外部設備之間的串行通信列出部分代碼,但我不明白子程序X00D6。程序如何突破循環,因爲代碼將R7設置爲FF,然後比較爲0?將P0設置爲#10然後設置爲0會做什麼? P0與R7有什麼關係?看來R7只是在其餘代碼中使用了Register。 mov r7,#0ffh ; 00cf 7f ff mov sbuf,a ; 00d1 f5 99 acall X00d6 ;

    -2熱度

    1回答

    我應該使用Dallas 8051芯片製作一個多路複用器。 p1.0,p1.1和p1.2是輸入。 P1.3是使能線,輸出是P2.0到P2.3。除了所有輸入爲零且啓用爲1時,所有輸出均可正常工作。 (在Keil調試器視圖的輸出中只應該有零,但事實並非如此)。 #include<reg51.h> sbit input0 = p1^0; sbit input1 = p1^1; sbit input

    -3熱度

    1回答

    我有左邊給出的代碼,並且詢問從0H ... 15H的地址中存儲了什麼。直到0AH來臨之前,我發現所有答案都非常簡單。我不知道'0D'或'08'或'FE'是從哪裏來的。 這裏是代碼: WERT equ 127 org 0 MOV SP,#0FH CLR A MOV PSW,#0FFH ADDC A,#WERT ACALL UP SJMP $ UP: PUSH ACC

    0熱度

    1回答

    我帶了一個HC-05模塊。我使用了兩次或三次,它工作正常,但現在不閃爍,任何人都可以告訴我問題是什麼?

    2熱度

    2回答

    我試圖得到一個基本的握手。以下是C8051F120的SMBus(系統管理總線)的ISR。我試圖在其上實現一個I2C器件(ads1115 7addr 0x48對於那些很好奇的人)。請注意,這主要是F120的硅實驗室給出的例子。 void SMBUS_ISR (void) interrupt 7 { bit FAIL = 0; // Used by the ISR to flag

    0熱度

    1回答

    我有兩個問題。 我使用的Keil uVision(第5.14.2.1)和北歐半導體nRF24LE1(8051 MCU) 問題1 我有兩個源文件。 Main.asm和Functions.asm 我在Main.asm中創建一個代碼段,並希望將代碼寫入Functions.asm中的相同段中。有沒有可能,我該怎麼做?見下面的例子中我如何努力去做 MAIN.ASM ; Main.asm ex

    0熱度

    2回答

    我想從某些彙編代碼(.asm)生成.LST(列表)文件。我試圖使用Keil,但無法生成它。任何人都可以請突出顯示從.asm版本生成.lst文件的步驟。

    0熱度

    2回答

    作爲項目的一部分,我被要求編寫一個程序來從P1輸入並輸出到P2。最明顯的方法是隻說 ORG 000H MOV C, P1.0 MOV P2.0, C MOV C, P1.1 MOV P2.1, C ... 等。但我想通過遞增端口位來做到這一點。我會怎麼做?

    0熱度

    1回答

    我有一個用C編寫的uController處理7段複用顯示的例子程序。 我可以訪問顯示的左側或右側部分如下: //declarations unsigned char xdata left _at_ 0xFE00; unsigned char xdata right _at_ 0xFD00; //use left = 0x06; right = 0x5B; 它將打印「1」到左屏幕上,

    0熱度

    1回答

    我正在做一個簡單的程序,它在傳入傳輸時讀取UART緩衝區(S0BUF),然後在按下按鈕時通過UART傳輸回來。 我正在使用北歐半導體nRF24LE1芯片。 我得到它與C一起工作,當我使用R0-R7寄存器之一時就可以使用它。 我想要做的是使用可重定位字節而不是普通的R寄存器。 這是一段代碼的作品。 UART_ISR: ; (Store incoming transmission in R0)