㈠ 單片機配置寄存器,很多程序有類似P0SEL &= ~0X02;的幅值語句。為什麼不直接幅值這樣又什麼好處
單片機配置寄存器,很多程序有類似P0SEL &= ~0X02;的賦值語句。為什麼不直接賦值?這樣又什麼好處?
復合運算符可以簡化程序,提高程序執行效率,這是它的唯一好處。不過不建議初學者這么操作,因為它降低了程序的可讀性。當然,對於已經熟悉這類操作的人,一點難於理解的地方也沒有。因人而異吧。
㈡ 單片機寄存器功能與賦值說明
1.中斷允許控制寄存器IE
EX0(EX1):外部中斷允許控制位
EX0=1外部中斷0開關閉合 //開外部0中斷
EX0=0外部中斷0開關斷開
ET0(ET1):定時中斷允許控制位
ET0=1 定時器中斷0開關閉合 //開內部中斷0
ET0=0定時器中斷0開關斷開
ES: 串口中斷允許控制位
ES=1串口中斷開關閉合 //開串口中斷
ES=0串口中斷開關斷開
2、定時器控制寄存器 TCON //控制外部中斷和定時器中斷3、外部中斷:
IE0(IE1):外部中斷請求標志位
當INT0(INT1)引腳出現有效的請求信號,此位由單片機自動置1,cpu開始響應,處理中斷,而當進入中斷程序後由單片機自動置0。
//外部中斷,即外部中斷相應的引腳接入低電平或下降沿信號時,中斷開始響應。
IT0(IT1):外部中斷觸發方式控制位 //選擇有效信號
IT0(IT1)=1:脈沖觸發方式,下降沿有效。
IT0(IT1)=0:電平觸發方式,低電平有效。
4、串口控制寄存器SCON TI:串列口發送中斷標志位
當單片機串口發送完一幀數據後,此位由單片機自動置1,而當進入中斷服務程序後是不會自動清0的,必須由用戶在中斷服務中用軟體清0。
RI:串列口接收中斷標志位
當單片機串口接收完一幀數據後,此位由單片機自動置1,而當進入中斷服務程序後是不會自動清0的,必須由用戶在中斷服務軟體中用軟體清0。
㈢ AVR單片機SPI配置寄存器,地址和數據都是16位的,能寫進但讀出來不正確,求讀寄存器C語言程序
沒聽說過AVR單片機的地址和數據都是16位的,只知道AVR單片機哈佛結構指令長度是16位的。AVR單片機雖然有16位的寄存器,但AVR單片機還是8位機,不知你使用的AVR單片機的具體型號,或許是我孤陋寡問了。你所提到的SPI數據接收問題與上述問題無關,而與你對SPI特殊功能寄存器的配置以及相關程序有關,如果你將AVR單片機的SPI配置為主機,那麼:
unsigned char i;//定義一個變數
SPCR = 0x53;//配置AVR SPI為主機,CLK為fosc/128
SPDR = 0;//清0 SPI數據寄存器,同時啟動SPI接收,不一定要清0,寫入任意數據都可以
while(!(SPSR & 0x80));//等待數據由從機向主機移位結束
i = SPDR;//讀取數據
這樣寫你可能不一定明白,為什麼接收數據反要向SPDR寫入數據呢,但SPI主機就是這樣工作 的,更多的信息請參考數據手冊。
以上常式晶元型號:AVR Atmega169
編譯環境:ICCAVR
㈣ 51單片機看門狗寄存器設置。
首先要看是什麼單片機,不同的單片機的看門狗的溢出時間是不同的,但不會有這么長的單片機的。STC的單片機晶振是11.0592時,最長的溢出時間是9.1022秒,這就要求必須在溢出時間內喂一次,所以,是不可能設置成30秒的。不過,為什麼要設置這長的時間呢,假設可以設置成這么長的時間,在實際應用假設單片機進入死機狀態了,需要30多秒以後看門狗才能復位,這么長的時間,復位還有什麼意義了,如果是單片機控制重要的設備,這么長的時間早就出現嚴重事故了,復位已經不起作用了。所以,實際應用中,喂狗時間最好要小於1秒,才能真正起到保護的作用。
㈤ 51單片機工作寄存器組有幾個它們的地址是如何分配的如何設置RS1、RS0選擇工作寄存器組
4個,稱為工作寄存器0區—3區,每個工作寄存器區為8位元組(其中每位元組分別記作R0-R7),共佔用32位元組的空間,0區的地址為00H-07H,1區的地址為08H-0FH,2區的地址為10H-17H,3區的地址為18H-1FH, 工作寄存器的選擇由程序狀態字PSW中RS0、RS1位的值決定,當RS1、RS0為00時選中0區,為01時選中1區,為10時選中2區,為11時選中3區。
㈥ PIC系列單片機的配置寄存器在哪裡找
假如你用的是PIC32MX460512L這顆晶元,那麼你可以在「C:\Program Files\Microchip\MPLAB C32 Suite\pic32mx\include\proc」中找到p32mx460f512l.h,ppic32mx.h這個兩個頭文件。裡面有這顆片子的所有配置寄存器的宏定義。
希望我理解到了你的意思。
㈦ 單片機內一般有哪幾種寄存器分別需要注意什麼
工作寄存器:R0-R7 注意:用名字直接定址
可位定址的寄存器:20-2FH 注意,可位定址
通用寄存器:00-7FH 注意,可直接定址,也可間接定址
間接定址寄存器:80H-FFH 注意,只能間接定址
特殊功能寄存器:80H-FFH 注意,要直接定址
㈧ 51單片機驅動數碼管中寄存器的設置不是很明白,有簡單程序
STC系列單片機的PXM0和PXM1兩個寄存器的配對使用,可設置I/O的4種工作模式,程序中P1M0 = 0x00 ,P1M1 = 0x00 是將P1口配置為准雙向模式,而P3M0 = 0x00,P3M1 = 0xFF是將P3口配置為推挽輸出。這個LED點陣應該是8*4的點陣,且4組LED採用共陽連接方式。P3口配置為推挽輸出有較強的拉電流能力,而P1口配置為准雙向模式可以滿足LED灌電流的需要。當然,如果將P1M1配置為0xFF也可是以的,因為推挽模式灌/拉電流的能力都是最強的。
㈨ 單片機配置寄存器
這不是基本型51吧?那誰知道它是什麼意思,你要看手冊,看廠家給它定義的是什麼意思啊
㈩ 在 51 單片機的程序開發中,我們直接配置 51 單片機的寄存器 這個是什麼意思用簡潔的語言說明,謝謝!
就是對51單片機的寄存器進行賦值,使得單片機實現不同的功能