① 單片機scon=0x00是什麼意思呀
SCON是個寄存器,用於串列通訊的控制。SCON=0X00中的八位分別為SM0 SM1 SM2 REN TB8 RB8 TI RI (從左到有排列)。若為0X00時,既把它們的值都為0,選擇方式0。若為0X80既SMO為1其它為0,選擇工作方式1。通過「賦值」的方式選擇地址(SM0 SM1 SM2 REN TB8 RB8 TI RI )而控制不同的功能。
② SCON=0x50是什麼意思
是確定的。
SCON是單片機串列口控制寄存器,用於控制串列通信的方式選擇、接收和發送,指示串口的狀態。位元組地址98H,地址位98H~9FH。
SCON寄存器位定義:
工作在方式1且允許數據接收,因此SM0、SM1、REN都為1。
則SCON應為0101 0000,即0x50。
(2)單片機scon擴展閱讀:
工作方式(SM0 SM1)
1、方式0( SM0 SM1 :0 0):串列口的工作方式0為移位寄存器I/O方式,可外接移位寄存器,一擴展I/O口,也可外接同步I/O設備。
發送操作:當執行一條「MOVSBUF,A」指令時,啟動發送操作,由TXD輸出移位脈沖,由RXD串列SBUF中的數據。發送完8位數據後自動置TI=1.請求中斷。要繼續發送時,TI必須有指令清零。
接收操作:REN是串列口接收允許控制位。REN=0時禁止接收;REN=1時允許接收。當軟體將REN置「1」時,即開始從RXD埠以fosc/12波特率輸入數據,當接收到8位數據時,將中斷標志RI置「1」。再次接收數據之前,必須用軟體將RI清0。
2、方式1 ( SM0 SM1 :0 1) :串列口為10位通用非同步介面。發送或接收一幀數據信息為10位,包括1位起始位「0」、8位數據位、1位停止位「1」。
發送數據:數據從TXD埠輸出,當數據寫入發送緩沖器SBUF時,就啟動發送器發送。發送完一幀數據後,置中斷標志TI=1,申請中斷,通知CPU可以發送下一個數據了。
接收數據:首先使REN=1(允許接收數據),串列口從RXD接收數據,當采樣到1至0跳變時,確認是起始位「0」,就開始接收一幀數據,當接收完一幀數據時,置中斷標志RI=1,申請中斷,通知CPU從SBUF取走接收到的數據 。
3、方式2 ( SM0 SM1 :1 0) :串列口為11位非同步通信介面。發送或接收一幀信息包括1位起始位「0」、8位數據位、1位可編程位、1位停止位「1」。
發送數據:發送前,先根據通信協議由軟體設置TB8為「奇偶校驗位」或「數據標識位」,然後將要發送的數據寫入SBUF,即能啟動發送器。
接收數據:先置REN=1,使串列口為允許接收狀態,同時還要將RI清「0」。然後再根據SM2的狀態和所接收到的RB8的狀態決定此串列口在信息到來後是否置RI=1,並申請中斷,通知CPU接收數據。
4、方式3 ( SM0 SM1 :1 1) :為波特率可變的11位非同步通信方式,除了波特率有所區別之外,其餘方式都與方式2相同。
③ 單片機SCON問題
在51單片機中scon寄存器是用來控制串口的,其中ren這個位地址的值作用為控制串口數據接收的允許或者禁止:
ren=1,允許串口接收數據。
ren=0,禁止串口接收數據。
④ 8051單片機中scon的sm2 tb8 rb8有何作用
SM2,TB8,RB8涉及的是串列通信
SM2:多機通信時的接收允許標志位
TB8,RB8:當串口工作於方式2或3 時使用到,指向的是串列傳輸的第9位數據;
1)SM2=0,在方式2或3下,TB8、RB8 發送與接收第9位奇偶校驗位;
2)SM2=1,多機通信時的接收允許位,並且在方式2或3下工作;
下面給你個參考;
簡述多機通訊過程中SM2、TB8和RB8的作用。
答:整個系統只有一台主機,其餘為從機,每台從機都有一個唯一的地址編號;
(1)所有從機 SM2=1;
(2)主機欲和某台從機通信,就將該從機編號作為地址幀信息發送,設置TB8位為1,表示發送地址幀;
(3)所有從機通過RB8位判斷收到地址幀後(在RB8=1 時並使RI=1 產生中斷請求),進行中斷處理,把接收到的地址和自己的地址編號進行比較,若相等,就使 SM2=0,准備接收主機發送的數據信息,如果不相等,仍維持 SM2=1;
(4)被主機點名的從機已經置SM2=0,可以接收主機隨後發送的TB8=0的數據信息,其他從機則不能接收;
(5)通信完畢,該從機恢復 SM2=1;
⑤ 單片機問題 關於SCON
雙機通信:首先是 SM2=0。以後可以設置為四種工作方式之一。
其中方式2、方式3是九位數據通信,TB8寫入什麼數值,就憑你的愛好了。
多機通信:首先是 SM2=1。
雙方只能採用方式2或方式3,以九位數據通信形式,互相通信。
首先,主機以TB8=1的形式發出一幀數據(如80H),各個分機,皆可收入到各自的SBUF。
然後各個分機獨立的、以自己的一個數據和收到的數據進行「比較」,應該只有一台「比較」成功。它將把自己的SM2設置為0,並向主機回送「成功」的信息。
此後,主機即可以TB8=0的形式發出數據到這個SM2=0的分機,與此同時,其它SM2=1的分機是收不到這個數據的。
⑥ 關於51單片機SCON寄存器使用的問題。
include<reg52.h>
unsigned
char
flag,a;
void
main()
{
TMOD=0x20;//設置定時器1為工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
/*
if(RI==1)
{
RI=0;
//查詢方式處理
P1=SBUF;
}*/
if(flag==1)
{//中斷方式處理
ES=0;
flag=0;
SBUF=a;
//將a回送上位機
TI=0;
ES=1;//開串口中斷
}
}
}
void
ser()
interrupt
4
//接收中斷處理
{
RI=0;
P1=SBUF;//p1口接8位led燈看編碼
a=SBUF;
flag=1;
}
這是郭天祥老師的程序調試正常你可以看一下,sbuf是軟體上同地址物理上兩個寄存器,另外波特率是9600,晶振是11.0592mhz.
⑦ 89C51單片機中TCON和SCON以及IE、IP都是特殊功能寄存器嗎
89C51單片機中TCON和SCON以及IE、IP都是特殊功能寄存器,分別用來控制定時器、串口、中斷開關、中斷優先順序。
⑧ 51單片機中scon中ren什麼作用
REN:允許接收位。 REN用於控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。
(1).SM0、SM1:串列口工作方式控制位。 SM0,SM1 工作方式 00 方式0 01 方式1 10 方式2 11 方式3 (2).SM2:多機通信控制位。 多機通信是工作於方式2和方式3,SM2位主要用於方式2和方式3。接收狀態,當串列口工作於方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收到的前8位數據送入SBUF,且置位RI發出中斷申請,否則會將接受到的數據放棄。當SM2=0時,就不管第9位數據是0還是1,都會將數據送入SBUF,並發出中斷申請。 工作於方式0時,SM2必須為0。 (3).REN:允許接收位。 REN用於控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。 (4).TB8:發送接收數據位8。 在方式2和方式3中,TB8是要發送的——即第9位數據位。在多機通信中同樣亦要傳輸這一位,並且它代表傳輸的地址還是數據,TB8=0為數據,TB8=1時為地址。 (5).RB8:接收數據位8。 在方式2和方式3中,RB8存放接收到的第9位數據,用以識別接收到的數據特徵。 (6).TI:發送中斷標志位。 可定址標志位。方式0時,發送完第8位數據後,由硬體置位,其它方式下,在發送或停止位之前由硬體置位,因此,TI=1表示幀發送結束,TI可由軟體清「0」。 (7).RI:接收中斷標志位。 可定址標志位。接收完第8位數據後,該位由硬體置位,在其他工作方式下,該位由硬體置位,RI=1表示幀接收完成。 在串口中斷處理時,TI,RI都需要軟體清"0",硬體置位後不可能自動清0,此外,在進行緩沖區操作時,需要ES=0,以防止中斷出現。
⑨ 單片機SCON可位定址,位元組地址98H,位地址98H-9FH,但99H是SBUF,那個位地址怎麼理解
單片機SCON可位定址,位元組地址98H,位地址98H-9FH
SCON的位地址是指代表SCON的位元組的每一個位分別的地址
99H是SBUF
這個指的是SBUF的位元組地址
SCON是串列口控制寄存器,佔一個位元組,其中每一個位都有不同的含義,分別控制串列通信的方式選擇、接收和發送以及串列口的狀態標志等,就像名叫98H的小區里有八個住戶,分別是98H-9FH,這樣設置時不用每次都給SCON重新賦值,改幾個位就好
SBUF的99F相當於另外一個小區,不會重復
雖然都有99H,但在使用時定址方式不同或是指令不同,可以區分
這樣解釋還行?