1樓:匿名使用者
序列資料的傳送實際上就是靠改變io口電平來實現的,io口在同一時間就只能表示兩種狀態:高低電平,對應資料位0或1.串列埠第次傳送8位資料就是讓io口在傳送時間內變化8次.
為什麼是8位,因為串列埠在方式1是以位元組為單位傳送的.
而為什麼串列埠在方式1要以位元組為單位呢? 這是在硬體設計之初就確定好的,是串列埠標準.你我是不能改變的.
傳送時間是由波特率決定的,波特率就是指每秒鐘傳送多少個bit位.
串列埠標準中: 要傳送一個資料,還得加上一些其它的東西,比如起始位 停止位等.
a=01;subf=a; 微控制器執行後,就會將a中的8個位送到subf緩衝器中,subf也是一個位元組. 然後微控制器將會按設定好的引數啟動串列埠,將subf中的資料一位一位的送到io口上,即txd引腳上,至於起始位 停止位些是由串列埠自動實現的,只要設定好後,不需去理會.時間當然也是由波特率決定的.
綜上所述,在使用微控制器串列埠時,波特率的設定是必不可少的.兩個裝置要通訊,他們的波特率 停止位 資料位都是必不可少的.
2樓:
串列埠工作方式1時,總共傳送10個位:1起始位+8資料位+1停止位。
起始位為低電平,作用是產生初始下降沿觸發接收方的接收操作。
8位資料位中,最低位最前。
停止位為高電平。
如果用示波器來觀測,波形為:
低高低低低低低低低高
3樓:匿名使用者
你最好拿示波器看看就知道了
89c52微控制器p1=0xfe,oxfe的作用和意義?
4樓:匿名使用者
p1=0xfe:p大寫,是
抄0x不是ox,0xfe是十六進位制bai
數。0x是c語言裡du面十六進位制數的標識,十六進位制數0xfe轉化為zhi2進位制就是1111 1111,分別對應daoi/o的8個口線,所以0xff的意思為p1口8個口線全為1也就是高電平。
在執行p1=0xfe的語句之後,引腳p1.0將被置為0,即處於低電平狀態,其它引腳被置為1,即高電平狀態。
0xfe的作用就是將2進位制轉為十六進位制,意義就是讓微控制器轉為低電平狀態。
擴充套件資料
微控制器引腳置高,p1代表了埠1,埠1有8個引腳,p1.0~p1.7。
可以p1=0;或p1=1。即p1口輸出為0v或5v。微控制器引腳置高時,一般只有內部弱上拉,要想有穩定的5v電壓,就需要加外部的上拉,或使用推輓輸出。
oxff是16進位制數,ff是值,16進位制中用f表示15。oxfe也是16進位制數,16進位制中用e表示14。
以0x開頭的數字都是十六進位制,例如0x ff,ff是值。2進位制,8進位制,10進位制,16進位制,還是其它進位制,解析的方式都是一樣的,只是基數不一樣而已。2進位制基數是2,8進位制是8,10進位制是10,16進位制是16。
5樓:情感分析
「微控制器引腳bai置高,p1口有8引腳dup1.0~p1.7。可以p1=0;或
zhip1=1。即p1口輸出為dao0v或5v。微控制器引腳置高時,一般內只有內部
容弱上拉,要想有穩定的5v電壓,就須要加外部的上拉,或使用推輓輸出。
6樓:生活如歌
這個得看你的硬體電路,如果p1口什麼都不接就沒有什麼作用。
如果p1口外面接了
專8只發光二極體,並且是屬按共陽極來接,就是二極體陽極接vcc,陰極接p1口的某個埠,當然中間還要串一個限流電阻。這時候的p1=0xfe就代表p1.0接的那個二極體亮了。
7樓:匿名使用者
p1代表了埠1,端
來口1有8個引腳,自分別是p1.0~p1.7對p1的賦bai值反應在du硬體上,就是zhi設定p1口各引腳的電dao平狀態,p1.
0對應的是值的最低位,p1.7對應值的最高位。
0xfe是一個十六進位制,它對應的二進位制值為1111 1110,除了最低位為0外,其它均為1.
所以在執行p1=0xfe的語句之後,引腳p1.0將被置為0,即處於低電平狀態,其它引腳被置為1,即高電平狀態。
8樓:匿名使用者
但是將p1口中賦值為0xfe就是二進位制 11111110,,和p1口從p1_7到p1_0
9樓:zhengguang飛翔
這個「0x」是當初他們創立c語言時規定的,如果是組合語言的話,就是以h結尾的。
標誌,和十進位制作區別。
微控制器串列埠控制io口,微控制器序列口與普通IO口區別?
自我程式設計 我寫了一個串列埠接收輸入,並將輸入的字串顯示在lcd螢幕中,同時收到的資料還會通過串列埠傳送回上位機。我是用串列埠助手除錯的。定義了虛擬串列埠com3和com4作通訊。連續傳送字元將作為字串儲存,儲存在全域性變數strs 100 中,遇到間隔傳送,後傳送的字元或字串將覆蓋上次內容。比如...
求一89c52微控制器c語言程式,流水燈 數碼管共同作用
士多啤梨啤 include define uint unsigned int define uchar unsigned char define led p3 uchar code tab unsigned char a,i unsigned long int temp void init void...
89C52微控制器的記憶體8K不夠用了怎麼辦
撒康勝 1.可不可以用24c0 2系列呢?那程式要怎麼寫了 有關些讀一整個函式的 比如我現在有要把溫控程式和時鐘程式放到52外部,計算器程式放到內部,同時可以使52正常工作,掃描完內部後繼續掃描內部。答 不行.2.如果用擴充套件外部儲存晶片,那晶片型號是什麼,程式又怎麼寫?答 可以擴充套件.典型的並...