1. 串口方式0應用編程 8051單片機串行口方式0為移位寄存器方式,外接一個串入并出的移位寄存器,就可以擴展一個并行口。
例:用8051串行口外接CD4094擴展8位并行輸出口,如圖所示,8位并行口的各位都接一個發光二極管,要求發光管呈流水燈狀態。 串行口方式0的數據傳送可采用中斷方式,也可采用查詢方式,無論哪種方式,都要借助于TI或RI標志。串行發送時,可以靠TI置位(發完一幀數據后)引起中斷申請,在中斷服務程序中發送下一幀數據,或者通過查詢TI的狀態,只要TI為0就繼續查詢,TI為1就結束查詢,發送下一幀數據。在串行接收時,則由RI引起中斷或對RI查詢來確定何時接收下一幀數據。無論采用什么方式,在開始通訊之前,都要先對控制寄存器SCON進行初始化。在方式0中將,將00H送SCON就可以了。
ORG 2000H
START: MOV SCON,#00H ;置串行口工作方式0
MOV A,#80H ;最高位燈先亮
CLR P1.0 ;關閉并行輸出(避象傳輸過程中,各LED的"暗紅"現象)
OUT0: MOV SBUF,A ;開始串行輸出
OUT1: JNB TI,OUT1 ;輸出完否
CLR TI ;完了,清TI標志,以備下次發送
SETB P1.0 ;打開并行口輸出
ACALL DELAY ;延時一段時間
RR A ;循環右移
CLR P1.0 ;關閉并行輸出
JMP OUT0 ;循環
說明:DELAY延時子程序可以用前面我們講P1口流水燈時用的延時子程序,這里就不給出了。
二、異步通訊
org 0000H
AJMP START
ORG 30H
START:
mov SP,#5fh ;
mov TMOD,#20h ;T1: 工作模式2
mov PCON,#80h ;SMOD=1
mov TH1,#0FDH ;初始化波特率(參見表)
mov SCON,#50h ;Standard UART settings
MOV R0,#0AAH ;準備送出的數
SETB REN ;允許接收
SETB TR1 ;T1開始工作
WAIT:
MOV A,R0
CPL A
MOV R0,A
MOV SBUF,A
LCALL DELAY
JBC TI,WAIT1 ;如果TI等于1,則清TI并轉WAIT1
AJMP WAIT
WAIT1: JBC RI,READ ;如果RI等于1,則清RI并轉READ
AJMP WAIT1
READ:
MOV A,SBUF ;將取得的數送P1口
MOV P1,A
LJMP WAIT
DELAY: ;延時子程序
MOV R7,#0ffH
DJNZ R7,$
RET
END
將程序編譯通過,寫入芯片,插入實驗板,用通讀電纜將實驗板與主機的串口相連就可以實驗了。上面的程序功能很簡單,就是每隔一段時間向主機輪流送數55H和AAH,并把主機送去的數送到P1口。可以在PC端用串口精靈來做實驗。串口精靈在我主頁上有下載。運行串口精靈后,按主界面上的“設置參數”按鈕進入“設置參數”對話框,按下面的參數進行設置。注意,我的機器上用的是串口2,如果你不是串口2,請自行更改串口的設置。
設置完后,按確定返回主界面,注意右邊有一個下拉列表,應當選中“按16進制”。然后按“開始發送”、“開始接收”就可以了。按此設置,實驗板上應當有兩只燈亮,6只燈滅。大家可以自行更改設置參數中的發送字符如55,00,FF等等,觀察燈的亮滅,并分析原因,也可以在主界面上更改下拉列表中的“按16進制”為“按10進制”或“按ASCII字符”來觀察現象,并仔細分析。這對于大家理解16進制、10進制、ASCII字符也是很有好處的。程序本身很簡單,又有注釋,這里就不詳加說明了。
三、上述程序的中斷版本
org 0000H
AJMP START
org 0023h
AJMP SERIAL ;
ORG 30H
START:
mov SP,#5fh ;
mov TMOD,#20h ;T1: 工作模式2
mov PCON,#80h ;SMOD=1
mov TH1,#0FDH ;初始化波特率(參見表)
mov SCON,#50h ;Standard UART settings
MOV R0,#0AAH ;準備送出的數
SETB REN ;允許接收
SETB TR1 ;T1開始工作
SETB EA ;開總中斷
SETB ES ;開串口中斷
SJMP $
SERIAL:
MOV A,SBUF
MOV P1,A
CLR RI
RETI
END
本程序沒有寫入發送程序,大家可以自行添加。
單片機入門教程第22課-串行口應用編程實例
- 編程(92188)
- 串行(33520)
相關推薦
11個51單片機試驗帶ppt教程下載
大學的課堂小課堂自來哦和實驗 小課\第10周 實驗十 80C51串行口方式0應用實驗 小課\第11周 實驗十一 80C51串行口方式1應用實驗 小課\第1周 實驗一 KEIL、PROTEUS
2018-07-19 06:35:56
51 單片機的串行口擴展方法
Computer通信,一方面又要和下位機通信,這時就需要擴展串行通道。本文具體介紹了兩種串行通道的擴展方法。 2 串行口的擴展方法常用的標準51單片機內部僅含有一個可編程的全雙工串行通信接口,具有UART的全部功能
2015-09-02 14:47:12
51單片機串行口中斷怎么使用
51單片機串行口中斷的使用初始化中斷服務程序主程序初始化 void SCON_init(){SCON = 0x50; //0101 0000TMOD = 0x20; //0010 0000TH1
2021-11-19 07:49:42
51單片機串行口通訊proteus仿真
的單片機串行口通信教程,第一次發帖,不到位的地方,請多多見諒。1.下載虛擬串口軟件(Virtual Serial Port Driver),讓proteus仿真時串口能與串口助手虛擬連接;2.虛擬串口
2018-10-26 18:46:12
51單片機入門基礎知識
了MCS-51系列單片機:集成 8位CPU、4K字節ROM、128字節RAM、4個8位并口、1個全雙工串行口、2個16位定時/計數器。尋址范圍64K,并有控制功能較強的布爾處理器。??AT89C51是一種帶4K字節閃爍可編程可擦除只...
2021-07-19 08:37:44
51單片機入門教程之從原理到匯編
的方式 18 課:單片機的中斷系統 19 課:單片機定時器、中斷試驗 20 課:單片機定時/計數器實驗 21 課:單片機串行口介紹 22 課:單片機串行口通信程序設計 23 課:LED
2018-11-21 17:46:47
51單片機教程(從原理開始基于匯編)
定時器與計數器 17課:單片機定時器/計數器的方式 18課:單片機的中斷系統 19課:單片機定時器、中斷試驗 20課:單片機定時/計數器實驗 21課:單片機串行口介紹 22課:單片機串行口通信
2012-07-15 17:25:33
51單片機普通IO口模擬串行口之查詢方式
本帖最后由 diangongshi 于 2011-12-15 18:13 編輯
工程師經常碰到需要多個串口通信的時候,而低端單片機大多只有一個串行口,甚至沒有串口。這時候無論是選擇高端芯片
2011-12-15 18:11:56
51單片機的串行接口有幾種工作方式
51單片機的串行接口介紹串行口結構設置工作方式(串行口控制寄存器SCON)設置波特率 51單片機內部集成1~2個可編程通用異步串行通信接口(即UART),采用全雙工制式。該通信接口有四種工作方式
2021-11-18 07:37:22
51單片機的串行口擴展方法
本帖最后由 luna 于 2011-3-3 11:28 編輯
在以單片機為核心的多級分布式系統中,常常需要擴展單片機的串行通信口,本文分別介紹了基于SP2538專用串行擴展芯片及INTE18251的兩種串行口擴展方法,并給出了實際的硬件電路原理及相應的通信程序段。
2011-03-02 12:13:46
51單片機的串行口是什么
實驗原理51 單片機的串行口是一個可編程的全雙工的通信接口,具有 UART(通用異步收發器)的全部功能,能同時進行數據的發送和接收,也可以作為同步移位寄存器使用。51 單片機的串行口主要有兩個獨立
2021-07-16 07:06:02
89C51單片機異步串行口的通信原理和編程
單片機雙機通信一、實驗目的二、實驗內容三、實驗步驟四、C代碼如下五、實驗結果六、實驗體會一、實驗目的掌握89C51單片機異步串行口的通信原理和編程掌握串行口工作方式1的使用及其波特率的計算二、實驗
2021-11-09 07:32:14
串行口和并行口通信方式
波特率波特率計算三、51單片機串行口結構概況1、控制寄存器SCON表格1:位序號與位格式表格2:串口工作方式表格3:其他位功能2、時序圖時序圖工作步驟表格3、例程:串口調試助手通信4、例程:串口實現printf...
2021-11-22 06:11:59
串行口結構與相關寄存器
目錄前言一、串行口結構與相關寄存器1、串行口結構2、相關SFR二、串行口的工作方式三、串行口的初始化前言串行口知識簡單整理一、串行口結構與相關寄存器1、串行口結構(1)8051系列單片機片上有
2022-01-19 07:59:14
串行口通信技術教程下載
MCS-51內部除含有4個并行I/O接口外,還有一個串行通信I/O口,通過該串行口可以實現與其他計算機系統的串行通信。本章通過實訓完成一個串行通信實例,在介紹關于串行通信的基礎知識后,詳細論述MCS-51的串行口及其通信應用。
2009-09-30 11:07:50
單片機--串行口實驗 精選資料下載
實驗目的和任務目的:利用“模塊化單片機教學實驗平臺”,加深對單片機的串行口的理解。任務:利用單片機的串行口完成程序設計。實驗內容使用AT89S52單片機的串行口通過RS232通信接口與PC機進行通信
2021-07-19 06:52:04
單片機串行口 精選資料分享
單片機串行口是發送或接收完一幀數據才進入中斷的,一幀數據一般設定為一個字節(8位),此時串口的DR寄存器中只有這一幀的數據,記住只有這一幀的數據!!!
2021-08-13 07:32:34
單片機串行口的相關資料下載
、關于同步通信和異步通信六、關于同步通信和異步通信的比七、幾種常見電平信號的區別八、單片機串行口介紹九、關于串口流控的介紹十、關于單片機串行口的引腳十一、關于單片機串行口的應用十二、單片機串行口的應用總結前言本次講解STC8A8K64S4A12系列單片機串行口知識點。一、關于通訊和通信的區別目前,
2021-11-26 06:28:44
單片機串行口的相關資料分享
串行口是單片機與外界進行信息交換的工具。■ 8051單片機的通信方式有兩種:并行通信:數據的各位同時發送或接收。串行通信:數據一位一位次序發送或接收。參看下圖:串行通信的方式包括異步通信和同步通信
2021-12-08 07:20:10
單片機串行口通信程序設計
1.串行口方式0應用編程 8051單片機串行口方式0為移位寄存器方式,外接一個串入并出的移位寄存器,就能擴展一個并行口。例:用8051單片機串行口外接CD4094擴展8位并行輸出口,如圖所示,8位
2013-01-21 14:21:33
單片機C語言編程寶典大全,初學必備
單片機C語言編程寶典大全,初學必備:1. 51單片機入門教程 2. 初學者適用:單片機C語言實例100例(代碼及釋義) 3. 51單片機C語言快速上手4. 51單片機C編程(周立功) 5. 51
2022-04-18 10:04:16
單片機教程目錄——持續更新......
的方式控制字(18)單片機的中斷系統(19)定時器、中斷試驗(20)定時/計數器實驗(21)串行口介紹(22)串行口通信程序設計(23)LED數碼管靜態顯示接口與編程(24)動態掃描顯示接口電路及程序(25)鍵盤接口程序設計持續更新......
2018-06-12 14:17:58
單片機教程(21)串行口介紹
是為了在CHMOS的80C51單片機上實現電源控制而附加的。其中最高位是SMOD。串行口的工作方式8051單片機的全雙工串行口可編程為4種工作方式,現分述如下:方式0為移位寄存器輸入/輸出方式。可外接
2018-06-21 09:19:48
單片機教程(22)串行口通信程序設計
1.串行口方式0應用編程 8051單片機串行口方式0為移位寄存器方式,外接一個串入并出的移位寄存器,就能擴展一個并行口。例:用8051單片機串行口外接CD4094擴展8位并行輸出口,如圖所示,8位
2018-06-21 09:31:21
單片機的串行口及應用通信方式
單片機的串行口及應用通信方式:?1.并行通信:數據的各位同時進行傳送。速度快、效率高、成本高?2.串行通信:數據一位一位地按順序進行傳送。減少傳輸線、降低通信成本按照數據傳送方向: 單工、半雙工
2021-07-20 06:44:40
編程實現用單片機串行口自收發數據功能求助
大學生作業,數據通訊沒有學好啊。求各位大神幫助,在線等,挺急的編程實現用單片機串行口自收發數據功能。具體要求如下:(1)定義兩個數據緩沖區(數據)長度為10字節,一個發送數據緩沖區(帶初始值),一個
2015-06-26 12:56:36
Proteus 7 Professional 51單片機 入門教程
Proteus 7 Professional 51單片機 入門教程http://proteus.814e.com/下載了一個Proteus 7 Professional 51單片機 入門教程傳上來和大家分享
2008-11-17 17:56:29
STC15W4K32S4系列單片機的串行口功能
串行的使用概述STC15W4K32S4系列單片機有4個串行口功能快捷鍵撤銷:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜體:Ctrl
2021-07-20 06:51:40
STC51單片機入門分享!
口,比宏晶官網介紹更詳細,內容更準確。這是初搞。有什么需要可聯系xgliyouquan@126.com.目 錄第1篇 單片機KEIL開發環境第1章 點亮LED實例與經典延時程序介紹(看不懂就從第2章動
2019-11-03 18:54:53
[分享經典]單片機軟硬件設計視頻教程
學單片機之AVR入門篇第07講 異步串行口UART_手把手教你學單片機之AVR入門篇第08講 SPI串行口與DS1302_手把手教你學單片機之AVR入門篇第09講 IIC總線與at24c02_手把手
2011-03-02 11:02:08
uart串行口通信的相關資料推薦
前言人類生存于世,少不了溝通。溝通使人類互相認知,傳遞信息,提升生活品質。但然單片機也需要,不然單單一個機器,無法構成一個系統,發揮更大的力量。只有單片機與外圍設備傳遞信息,互相反饋才會有一個完美
2021-12-09 08:14:19
【單片機技術資料匯總】
`《不需要或者已經有的朋友可以略過。文件格式:PDF》《我會按此順序發上來》1 51單片機_C語言入門教程 23頁2 C51單片機C語言編程基礎和實例 42頁3 單片機紅外控制發射器設計 47頁4
2012-08-18 15:54:06
【下載】《AVR單片機實用C語言程序設計與典型實例》
基本硬件資源、GCC的AVR編程、基于Proteus的AVR設計仿真、算法、BootL0ader編程、AVRX操作系統、簡易PLC設計、MMC卡等。目錄前言第1章 單片機概述 1.1 常見單片機 1.2
2017-09-04 17:17:23
書籍教程:AVR單片機入門教程
本下載資料是關于AVR單片機的入門教程,希望大家多多捧場! 就我自己的學習經驗來看,對初學者而言,希望大家先學好51單片機,再來學AVR單片機...
2012-07-26 21:10:20
如何使用單片機串行口通信
一、目標單片機甲機P1端口外接8位撥碼開關;乙機P0外接8只LED。要求使用單片機串行口通信,在查詢狀態下使單片機乙機的8只LED能夠顯示甲機8位撥碼開關的狀態。二、布線三、實現四、結語...
2022-01-20 07:55:36
學習51單片機
講起的。第1課:單片機簡敘第2課:單片機引腳介紹第3課:單片機存儲器結構第4課:第一個單片機小程序第5課:單片機延時程序分析第6課:單片機并行口結構第7課:單片...
2021-11-18 08:45:39
手把手教你學單片機之AVR入門視頻教程
按鍵與數碼管的程序設計_手把手教你學單片機之AVR入門篇第06講 中斷與定時器_手把手教你學單片機之AVR入門篇第07講 異步串行口UART_手把手教你學單片機之AVR入門篇第08講 SPI串行口
2011-03-02 11:04:07
新手問大神 關于串行口
意圖:在上位機上用串口調試助手發送一個字符X,單片機收到后返回給上位機“I get X”,串行口波特率9600bps實際得到 XI get X 求問為什么多了X代碼如下串口調試助手界面見附圖
2017-08-07 15:02:30
用插值調整法設計單片機串行口波特率
傳統方法設計單片機串行口波特率時,往往要使用特殊頻率的晶振。本文在分析MCS-51單片機串行口工作原理的基礎上,提出基于 12 MHz晶振的單片機系統,通過編程實現所需波特率的
2009-04-08 09:43:19
19

51單片機的串行口擴展方法
在以單片機為核心的多級分布式系統中,常常需要擴展單片機的串行通信口,本文分別介紹了基于SP2538 專用串行口擴展芯片及Intel8251 的兩種串行口擴展方法,并給出了實際的硬件電
2009-06-15 09:53:11
33

單片機串行口應用舉例
單片機串行口應用舉例: 在計算機分布式測控系統中,經常要利用串行通信方式進行數據傳輸。80C51單片機的串行口為計算機間的通信提供了極為便利的條
2009-12-03 22:54:50
105

用純軟件擴展單片機串行口的一種方法
摘要:本文介紹一種用純軟件來擴展89C51單片機串行口的方法,詳細說明了通過掃描發送、中斷接收實現模擬串行通信的編程技巧。關鍵詞:串行口;通信;89C51;單片機;擴展
2010-07-15 12:25:00
33

單片機教程二十一:單片機串行口通信程序設計
單片機教程二十一:單片機串行口通信程序設計
1.串行口方式0應用編程 8051單片機串行口方式0為移位寄存器方式,外接一個串入并出的移位寄存器
2009-05-15 23:17:04
952

單片機入門教程第23課-常用接口電路及其編程
單片機入門教程第23課-常用接口電路及其編程
LED數碼顯示器的連接與編程 在單片機系統中,通常用LED數碼顯示器來顯示各種數字或符
2010-01-07 15:37:25
1105


單片機入門教程前言-新8051教程
單片機入門教程前言-新8051教程
傳統的單片機教學,均是以單片機的結構為主線,先講單片機的硬件結構,然后是指令,然后是軟件編程,然后是
2010-01-07 16:58:30
1316

單片機串行口的并行通信技術
單片機的串行口是最常用的端口, 對于存在兩個或多個串行口的單片機來說, 充分利用串行口進行通信是非常重要的。故以常見的8051系列單片機為基礎, 介紹了通過串行口實現與PC機的并
2011-12-09 15:19:08
103

22課:單片機串行口通信程序設計
1.串行口方式0應用編程 8051單片機串行口方式0為移位寄存器方式,外接一個串入并出的移位寄存器,就能擴展一個并行口。 單片機串行口通信程序設計硬件連接圖 例:用8051單片機串行口
2017-11-22 12:07:44
317


51單片機教程之80C51單片機的串行口介紹及如何進行串行總線的擴展
本文檔的主要內容詳細介紹的是51單片機教程之80C51單片機的串行口介紹及如何進行串行總線的擴展。主要內容包括了:1 串行通信基本知識,2 80C51單片機的串行口,3 80C51單片機的串行口應用,4 單片機的串行總線擴展
2018-12-05 11:53:53
27

51單片機教程之51單片機的串行口應用舉例資料說明
本文檔的主要內容詳細介紹的是51單片機教程之51單片機的串行口應用舉例資料說明主要內容包括了:1 計算機串行通信基礎,2 80C51的串行口,3 單片機串行口應用舉例
2018-12-12 17:27:25
17

AT89S52單片機的串行口教程課件免費下載
本章介紹AT89S52單片機片內串行口的工作原理,與串行口有關的特殊功能寄存器以及串行口的4種工作方式,串行口多機通信的工作原理,串行通信中的各種接口標準,以及雙機串行通信的軟件編程設計。
2019-10-25 14:58:00
11

單片機c語言編程入門教程
單片機c語言編程入門教程說難不難,說易不易,學習單片機c語言首先就要明白這兩樣東西是啥?單片機入門編程主要是學C語言,其次就是電路跟編程語言。
2021-07-29 10:39:16
17545

單片機--串行口實驗
實驗目的和任務目的:利用“模塊化單片機教學實驗平臺”,加深對單片機的串行口的理解。任務:利用單片機的串行口完成程序設計。實驗內容使用AT89S52單片機的串行口通過RS232通信接口與PC機進行通信
2021-11-17 09:36:02
10

單片機基礎(八):單片機串行口結構與工作方式及應用
單片機串行口結構??串行口結構如上圖??發送時,SBUF中寫入數據后,串行口通過發送控制器,將SBUF中的數據逐個逐位地通過串行輸出口TXD引腳逐個發出,當一個字節發送結束后,觸發TI中斷位,通知單片機
2021-12-01 16:06:05
13

評論