MCU 的 C51 標誌的使用

發布 科技 2024-05-09
10個回答
  1. 匿名使用者2024-02-09

    <符號表示左移,最高數字進入進位符號 C,即下面使用的 CY

    這部分程式的主要功能是向序列傳送乙個 8 位數字,每個週期將溫度中的每個人從高到低傳送,使用進位標誌暫存最高位。

  2. 匿名使用者2024-02-08

    g = a >>1;符號向右移動1位,左邊缺失的位由符號位補,正數為0,"00000000000000000000000000001101" = 13

    int f = b>> 1;符號向右移動1位,左邊缺失的位由符號位填補,負數為1,“11111111111111111111111111111111”=-1

    所以這個時候列印出來,g=13,gf=-1。

    g = a >>1;無符號向右移動 1 位,左側缺失的位用 0 填充"00000000000000000000000000001101" = 13

    f = b>>>1;無符號向右移動 1 位,左側缺失的位填充 0,“01111111111111111111111111111111” = 2147483647

    所以這個時候把它列印出來,g=13,gf=2147483647。

    f = b<< 1;無符號向左移動 1 位,右側缺失的位用 0 填充,“10000000000000000000000000000010” = -2

    所以這個時候列印出來,f= -2 是 c

  3. 匿名使用者2024-02-07

    例如,如果使用 P0 和 P2 擴充套件外部 RAM(即使用 P0 和 P2 與 62256 的相應引腳連線),假設您連線到 WR、RD 和 CS,那麼您可以確定外部 RAM 的位址,並且當您要向外部 RAM 的位址寫入乙個位元組時, 位址可以設定為 XBYTE

    0x4000],其中wr、cs為低,rd為高,即4(0100)的高位

    也就是說,低電平的輸出,和高電平的輸出,當然目的就是選通62256,把資料寫給62256),其他位可以根據情況確定(即其他哪些位不重要,關鍵是控制wr、cs、rd位滿足頻閃, 讀、寫規定),現在我們把乙個 26 到 62256 寫進去就可以用這個語句了:XBYTE

    0x4000]

    因為我不知道你們C51引腳的連線情況,所以我只能舉個最常見的例子(見諒! 一般來說,xbyte 用於外部擴充套件。

  4. 匿名使用者2024-02-06

    void wr_595(void)

    uchar x;

    for (x=0;x<8;x++)

    temp=temp<<1;左移語句是否具有進位功能? 帶進位功能的右移?

    sdata_595=cy;這是大會的攜帶旗幟嗎? 書中沒有提到!

    sclk_595=1;

    nop_()

    nop_()

    sclk_595=0;

    1;左移語句是否具有進位功能? 帶進位功能的右移?

    答:這句話的意思就是把溫度向左移動乙個位置。 C51不能用隨身攜帶的位移來實現位移,它只能嵌入到C的元件中,或者以特殊方式:

    cy=acc&1;或 cy=acc&0x80(可根據情況使用不同的暫存器);這將允許將刪除的位傳送到符號位。

    例如:unsigned char c;

    acc=c;

    cy=acc&1;當這兩個語句被編譯時,它們將產生帶有進位的右移和左移指令。

    2 sdata_595=cy;這是大會的攜帶旗幟嗎? 書中沒有提到!

    答:是的。 根據教科書,C51丟棄了被刪除的資料,所以我懷疑這個程式的正確性。

    按理說,這是乙個序列輸出程式,臨時中的號碼依次傳送到 CY,並在 SCLK 595 的高階電平期間傳送出去,這是 IIC 序列通訊。 但是刪除的資料不會進入 cy,而是會被丟棄,看看程式是如何寫在前面的。

  5. 匿名使用者2024-02-05

    公交車相當於高速公路,暫存器是路邊的房子,CPU裡面相當於路邊的繁忙區域

    位操作是暫存器內部或暫存器之間的操作,相當於繁忙區域房屋之間的人員移動

    匯流排執行一般是指CPU與外設之間的執行,即從高速公路到繁忙區域或離開繁忙區域的執行

    我不知道

  6. 匿名使用者2024-02-04

    有兩種方式可以說出你家的位址,比如哪個省、什麼市、什麼區、什麼路、多少個號碼! 這是乙個位操作。 再來乙個,東經 x北緯y,這應該是終點站。 這就是我所理解的位運算和匯流排運算。

  7. 匿名使用者2024-02-03

    我找不到包含檔案,我無法在 51 個微控制器中使用 scanf 和 printf!

  8. 匿名使用者2024-02-02

    1.這句話沒錯,如果是跳轉,那麼就會有sp堆疊混亂,進入中斷時有保護場景的操作,就是位址壓棧,執行完後,跳回去就沒有棧外操作了,或者多少次會讓sp滿。 更重要的是,你知道它是什麼時候中斷的嗎?

    2.應該是th0=1eh,tl0=0ch,答案是錯誤的。

    3.PC可以使用,但不能分配,當然它沒有實體地址,一般來說,在程式執行過程中,值大小是由硬體自動改變的。 以下是如何使用它:

    movc a,@a+pc

    4. MOV 20 小時,@dptr沒有此指令,DPTR 只能通過 MOVC 或 MOVX 訪問,並且只能傳輸到累加器 A。

    5.是的,只有斷點位址可以保護,不能保護站點,例如PSW狀態等。

    6.是的,有沒有符號要看你自己決定,一般來說,最高位是負數,位0是正數,是有符號數字,沒有特別的說明和設定,一般是無符號數字。

    7. 我覺得你的0100h應該是當前轉賬指令的位址,也就是sjmp的位址。

  9. 匿名使用者2024-02-01

    1.徐漢斌版的微機原理教材P144說“中斷服務程式的最後一條指令必須是中斷返回指令reti”,這句話是不是錯了?

    如果最後一句是跳轉指令,不是嗎,但是程式不會返回斷點,PC也會在跳轉點處填寫PC位址。

    編寫跳轉命令,或者你想要的任何其他內容。 MCU 將執行。

    但是,如果微控制器不執行RETI指令,則中斷程式不會結束。

    如果不寫入 reti,微控制器將永遠處於中斷程式中。

    2. 如果模式 0 定時器 t0 的初始值為 1e0ch,則 th0 和 tl0 的初始值分別為 ()

    這個問題的答案是f0h,0ch,我覺得明明是1eh,0ch,答案錯了嗎?

    寫成二進位:1e0ch = 0001 1110 0000 1100b

    把它低 13 位,寫成前八位和後五位

    方法 0 的初始值應為:f c。

    3.“MCS 51的程式計數器PC不能被使用者使用,因為他沒有位址”,首先,被使用者使用是什麼意思? 其次,它沒有位址,那麼他到底在哪裡?

    PC 的值始終自動新增到乙個中,並且此功能無法由使用者控制。

    但是,使用者可以使用 JMP 命令來更改 PC 的值。

    說PC不能被使用者使用,其實就是他不會用。

    51 MCU中確實沒有PC位址,因為沒有人需要這個位址。

    4. mov 20h,@dptr 這種說法是錯誤的,因為 DPTR 只能用於片外定址。

    此指令不存在。

    DPTR 只能用於片外定址嗎?

    看看說明列表,你就會發現。

    5.“80C51微控制器子程式呼叫時可以自動保護斷點和站點”,這句話是錯誤的,是因為它只能自動保護斷點,不能自動保護站點嗎?

    中斷時,51微控制器採用壓棧的方式,自動保護斷點位址。

    保護網站?

    MCU,不知道你的網站是什麼。

    將微控制器與保護站點聯絡起來,就是狗狗戴著咀嚼,Hule!

    6. mov a,33h 是乙個無符號數字,對吧? 那麼,如果我想搬進乙個簽名號碼怎麼辦。

    只需寫乙個減號即可。

    mov a, #-33h

    就是這樣。 7. 為什麼正向轉賬的偏移量等於(目的位址+0100h)-(原位址+3),0100h是多少?

    編寫程式現在是用編譯器軟體完成的。

    編譯軟體並自動計算程式中的偏移量。

    程式設計師們,沒有必要討論偏移量的計算和公式的推導。

    有些教科書,作者的想法,還處於手工編纂階段,執著於不完整,不理他。

    0100h,是 256。

  10. 匿名使用者2024-01-31

    書中說,正常和完美的中斷程式需要在最後由 reti 終止。 你可以用其他方式結束它,當然程式可以繼續。 但我不建議你以這種方式使用它。

    首先,中斷程式會在響應之前保護站點,並將一些資料儲存到堆疊中,如果沒有 reti 指令,堆疊資料不會被釋放,多次中斷後堆疊會擁擠溢位,會出現不可預知的執行結果。 有些人不知道為什麼他們的程式會莫名其妙地跑掉,往往是因為他們不注意這些細節,需要巧妙地使用個性化程式,以避免災難性的失敗。

    th0=1eh,tl0=0ch,但是如果他的初始值表示設定的定時時間,則th0=e1h,tl0=f4h

    PC 無法直接讀取或更改其值。

    使用指標時,還有另乙個無法直接定址的引數。

    中斷程式會自動保護,子程式不會自動保護,必要時必須自行安排子程式中的指令。

    51個MCU只有無符號數字,如果要將其視為有符號數字,則需要在程式中轉換和識別值。 當然,如果你用 C 語言編寫程式,編譯器(如 Keilc)會自動處理你的各種資料型別。

    微控制器中只有乙個加法器,減法也是用加法器完成的,減去數——減去數=減數+減法數的補碼。 100h 是查詢負數補碼時的資料轉換方法。

相關回答
16個回答2024-05-09

定時中斷,外部中斷?

12個回答2024-05-09

如果定時器計數值不夠,可以先設定1的總和數,如1ms,再加乙個數字到10到100ms,得到1s時間。

10個回答2024-05-09

非同步序列通訊是指雙方使用乙個字元(包括特定的附加位)作為資料傳輸的單位,傳送方不一定間隔傳送字元。 同步序列通訊是允許連續傳送一系列字元的通訊,每個字元具有相同數量的資料位,並且沒有開始和停止位。 非同步序列通訊是指通訊中兩個位元組之間的時間間隔不是固定的,而同一位元組中兩個相鄰位之間的時間間隔是固定的。 >>>More

5個回答2024-05-09

你用的微控制器是什麼樣的,現在一般的微控制器都有內部硬體看門狗,就連8051都有(喜歡),但看似是固定時間,但也可以使用,更別說其他高效能了。如果真的沒有,那麼網路上有一大堆軟體看門狗 C 程式。 >>>More

5個回答2024-05-09

8086屬於微處理器(MPU),是一種微處理器。 >>>More