串列傳輸

Similar documents
定時器/計數器

W77E58中文手册

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

DPJJX1.DOC

目 录

Microsoft Word - Delta Controller ASCII_RTU_TC

LCD模組之應用

Microsoft Word - 專題封面.doc

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

128K Flash EPROM 的程序?\(Bank=64K\) 切?

7688使用手冊V10.doc

Microsoft PowerPoint - C_Structure.ppt

51 C 51 isp 10 C PCB C C C C KEIL

《计算机应用基础》学习材料(讲义)

目 錄 摘 要... 1 壹 研 究 動 機... 1 貳 研 究 目 的... 1 參 文 獻 探 討... 1 肆 研 究 設 備 及 材 料... 2 伍 研 究 過 程 及 方 法... 2 陸 研 究 結 果... 6 柒 討 論 捌 結 論 玖 參 考 資 料 及

PCM-3386用户手册.doc


1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

中文手册

PowerPoint 簡報

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

C/C++ - 文件IO

2005.book

STC90C51RC-cn.pdf

Microsoft Word - 最新正文.doc

单片机原理及应用实验指导书.doc

1

CC213

2-2 第二章系統分析 XTAL1/ (19/18): 時脈接腳 1. 使用內部振盪器 C1 XTAL1 C2 VSS 2. 使用外部時脈 圖 2-2 使用內部振盪器接線圖 時脈輸入 空接.. 時脈輸入 XTAL1 XTAL1 時脈輸入 XTAL1 VSS VSS VSS (a) (b) (c) 圖

100

投影片 1

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

84

Microsoft Word - PLC與GP接線說明_缺WDH_2.doc

2 12

Microsoft Word - Delta Controller ASCII_RTU_SC

untitled

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

Microsoft PowerPoint - chap12.ppt

嵌入式系統初學指引 ~ 自走車系統開發實例 第一單元 MSC-51 基礎架構 1-1 第一單元 MSC-51 基礎架構 本單元將介紹 MSC-51 家族下的基本認識及系統架構, 基本認識內容 包含何謂單晶片 封裝 接腳配置 MSC-51 系列與基本電路 系統架構 則講解記憶體結構與重置及實驗模板解析

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

25.( 0 在 進 行 水 溫 與 溶 解 量 的 實 驗 時, 每 一 匙 糖 都 要 刮 平 的 主 要 目 的 為 何? 1 避 免 一 次 溶 解 太 多 糖 2 可 以 增 加 溶 解 糖 的 次 數 3 控 制 加 入 的 每 一 匙 糖 都 一 樣 多 4 可 以 減 少 溶 解 量

Microsoft Word - TDS-E9 通訊說明書_ docx

Microsoft Word - ch01.doc

Microsoft Word - CY-S100 系列 說明書_0926

untitled

プログラムの設計と実現II

Microsoft PowerPoint - chap3.ppt

新版 明解C言語入門編

PowerPoint 簡報

CC213

PROTEUS VSM

SeTAQ 是 山 东 西 泰 克 仪 器 有 限 公 司 的 注 册 商 标 本 说 明 书 未 经 书 面 许 可 不 得 翻 印 修 改 或 引 用 警 告 : 请 专 业 人 员 检 测 和 维 修 本 设 备! 警 告 : 本 仪 表 使 用 24V 直 流 电 源, 请 务 必 正 确

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

Microsoft Word - SMB-63-2(簡体字).doc

TouchWin Human Machine Interface

初始化A7121

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i

LSTA126中文操作说明

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

新・解きながら学ぶC言語

KL DSC DEMO 使用说明

untitled

Microsoft Word - MSP430 Launchpad 指导书.docx

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

RS-232C [11-13] 1 1 (PLC) (HMI) Visual Basic (PLC) 402

微處理機期末專題

C/C++ - 字符串与字符串函数

新・明解C言語入門編『索引』

微處理機

untitled

LF 打印并走一行

SPMC75F2413A_EVM_使用说明_V1.2.doc

C/C++ 语言 - 循环

untitled

Persuasive Techniques (motorcycle helmet)

<4D F736F F D FB971BEF7BB50B971A46CB8735FB773A55FA5ABA5DFB7E7AADAB0AAAFC5A475B77EC2BEB77EBEC7AED55FA97EAE61C0F4B9D2B4BCBC7AB1B1A8EEA874B2CE2E646F63>

Ps22Pdf

untitled

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

寻医问药指南(十七)

電腦設備LP _第七組顯示卡規範書

图 片 展 示 : 资 源 简 介 : FPGA Altera CycloneII EP2C5T144C8 (4608 个 LE) 2 路 有 源 晶 振 (50M,25M) AS & JTAG 标 准 接 口 VGA 接 口 UART 接 口 蜂 鸣 器 8bit 并 行 DAC 8 路 按 键

Microsoft PowerPoint - chap11.ppt

<4D F736F F D20A7EBBCD0B6B7AABEAAFEA5F3322D3935A67EB2C432A6B8B2C433B2D5C5E3A5DCA564B357BD64AED12E646F63>

1

网上对外发布资料适用版本

目录

A. 城 市 化 是 我 国 发 展 的 必 由 之 路 B. 单 纯 发 展 大 城 市 不 利 于 城 市 化 的 推 进 C: 要 实 现 城 市 化, 就 必 须 让 城 市 充 分 吸 纳 农 村 人 口 D: 大 城 市 对 外 地 农 村 人 口 的 吸 引 力 明 显 低 于 中 小

Transcription:

串列傳輸

簡介 Start D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop 0 1 通用非同步收發傳輸器 (Universal Asynchronous Receiver/Transmitter, 通常稱作 UART, 讀音 /ˈjuːart/) 是一種非同步收發傳輸器, 將資料由串列傳輸 (Serial communication) 與平行傳輸 (Parallel communication) 間作傳輸轉換 UART 通常用在與其他通訊協定 ( 如 EIA RS-232) 的連結上 RS-232C 是標準的串列傳輸標準 RS(Recommended standard) 代表推薦標準,232 是標識號,C 代表 RS232 的第三次修改 (1969 年 ) IBM PC 機上的 COM1 COM2 介面, 就是 RS-232C 介面

簡介 STC12C5410AD 系列單片機具有 1 個採用 UART(Universal Asychronous Receiver/Transmitter) 工作方式的全雙工串列通信介面 串列口由 2 個資料緩衝器 一個移位暫存器 一個串列控制寄存器和一個串列傳輸速率發生器等組成 串列口的資料緩衝器由 2 個互相獨立的接收 發送緩衝器構成, 可以同時發送和接收資料 發送緩衝器只能寫入而不能讀出, 接收緩衝器只能讀出而不能寫入, 因而兩個緩衝器可以共用一個位址碼 串列口的兩個緩衝器統稱為串列通信特殊功能寄存器 SBUF, 其共用的位址碼是 99H

簡介 STC12C5410AD 系列單片機的兩個串列口都有 4 種工作方式, 其中兩種方式的串列傳輸速率是可變的, 另兩種是固定的, 以供不同應用場合選用 使用者可用軟體設置不同的串列傳輸速率和選擇不同的工作方式 主機可通過查詢或中斷方式對接收 / 發送進行程式處理 STC-12C5410AD 系列單片機串列口對應的硬體部分是 TxD/P3.1 和 RxD/P3.0 引腳 STC12C5410AD 系列單片機的串列通信口, 除用於資料通信外, 還可方便地構成一個或多個並行 I/O 口, 或作串 並轉換, 或用於擴展串列外設等

串列口的相關寄存器

PCON : 電源控制寄存器 ( 不可位定址 ) Address bit B7 B6 B5 B4 B3 B2 B1 B0 87H name SMOD SMOD0 LVDF POF GF1 GF0 PD IDL SMOD: 串列傳輸速率選擇位元 復位時 SMOD=0 SMOD=1, 則使串列通信方式 1 2 3 的串列傳輸速率加倍 ; SMOD=0, 則各工作方式的串列傳輸速率不變 SMOD0: 幀錯誤檢測有效控制位元 復位時 SMOD0=0 當 SMOD0=1,SCON 寄存器中的 SM0/FE 位元用於 FE( 幀錯誤檢測 ) 功能 ; 當 SMOD0=0,SCON 寄存器中的 SM0/FE 位用於 SM0 功能, 和 SM1 一起指定串列口的工作方式

串列控制寄存器 SCON Address bit B7 B6 B5 B4 B3 B2 B1 B0 98H name SM0/FE SM1 SM2 REN TB8 RB8 TI RI 用於選擇串列通信的工作方式和某些控制功能 SM0 SM1 確定串列口 1 的工作方式 REN: 允許 / 禁止串列接收控制位元 REN=1 為允許串列接收狀態 TI: 發送插斷要求中斷標誌位元 由硬體自動設定 TI=1, 用軟體設定 TI=0 RI: 接收插斷要求標誌位元 由硬體自動設定 RI=1, 用軟體設定 RI=0

串列控制寄存器 SCON Address bit B7 B6 B5 B4 B3 B2 B1 B0 98H name SM0/FE SM1 SM2 REN TB8 RB8 TI RI 用於選擇串列通信的工作方式和某些控制功能 SM0/FE: 若 SMOD0=1, 當檢測到一個無效停止位時, 設定 SM0/FE=1, 必須用軟體清除 SM2: 允許方式 2 或方式 3 多機通信控制位 TB8: 用在方式 2 或方式 3, 發送第 9 位元, 使用軟體設定 RB8: 用在方式 2 或方式 3, 接收第 9 位元

SM0 SM1 確定串列口的工作方式 SM0 SM1 工作方式功能說明串列傳輸速率 0 0 方式 0 同步移位元 元串列方式 : 移位暫存器 0 1 方式 1 8 位元 UART, 串列傳輸速 率可變 當 UART_M0x6=0 時, 串列傳輸速率是 SYSclk/12, 當 UART_M0x6=1, 串列傳輸速率是 SYSclk/2 (2 SMOD /32) ( 計時器 1 的溢出率 ) 1 0 方式 2 9 位 UART (2 SMOD /64)xSYSclk 系統工作時鐘頻率 1 1 方式 3 9 位元 UART, 串列傳輸速率可變 (2 SMOD /32)x( 計時器 1 的溢出率 ) 當 T1x12 = 0 時, 計時器 1 的溢出率 = SYSclk/12/( 256 - TH1); 當 T1x12 = 1 時, 計時器 1 的溢出率 = SYSclk / ( 256 - TH1)

資料緩衝寄存器 SBUF 緩衝寄存器 (SBUF) 的位址是 99H, 對應兩個不同的寄存器, 1 個是只寫寄存器,1 個是唯讀寄存器 接收寄存器 : 在方式 0 時它的字長為 8 位元元, 其他方式時為 9 位元元 第 9 位裝入 SCON 寄存器中的 RB8 位 接收後, 將資料由移位暫存器裝入 SBUF, 可立即開始接收下一個資訊, 主機應在該幀接收結束前從 SBUF 緩衝器中將資料取走, 否則前一幀資料將丟失

輔助寄存器 AUXR Address B7 B6 B5 B4 B3 B2 B1 B0 8EH T0x12 T1x12 UART_M0x6 EADCI ESPI ELVDI - - T1x12: 計時器 1 速度設置位元元 如果 UART 串口用計時器 1 做串列傳輸速率發生器,T1x12 位就可以控制 UART 串口是 12T 還是 1T 了 UART_M0x6: 串列口模式 0 的通信速度設置位元元 0,UART 串口的模式 0 的速度是 12 分頻 ; 1,UART 串口的模式 0 的速度是 2 分頻 ;

IE : 中斷允許寄存器 ( 可位定址 ) Address B7 B6 B5 B4 B3 B2 B1 B0 A8H EA EPCA_LVD EADC_SPI ES ET1 EX1 ET0 EX0 EA : CPU 的總中斷允許控制位, EA=1,CPU 開放中斷, EA=0,CPU 遮罩所有的中斷申請 ES : 串列口中斷允許位元, ES=1, 允許串列口中斷, ES=0, 禁止串列口中斷

IPH : 中斷優先順序控制寄存器 PSH, PS: 串列口中斷優先順序控制位元 當 PSH=0 且 PS=0 時, 為最低優先順序中斷 ( 優先順序 0) 當 PSH=0 且 PS=1 時, 為較低優先順序中斷 ( 優先順序 1) 當 PSH=1 且 PS=0 時, 為較高優先順序中斷 ( 優先順序 2) 當 PSH=1 且 PS=1 時, 為最高優先順序中斷 ( 優先順序 3)

串列口工作模式 0: 同步移位暫存器 串列口資料由 RxD/P3.0 端輸入 / 輸出, 同步移位脈衝 (SHIFTCLOCK) 由 TxD/P3.1 輸出 發送 接收的是 8 位元資料, 低位元在先 接收 SBUF RI D7 D6 D5 D4 D3 D2 D1 D0 移位暫存器 RXD 腳 D7 D6 D5 D4 D3 D2 D1 D0 串列資料 發射 SBUF 時脈信號 TI D7 D6 D5 D4 D3 D2 D1 D0 TXD 腳

模式 0 的發送過程 : 當主機執行將資料寫入發送緩衝器 SBUF 指令時啟動發送, 串列口即將 8 位元資料從 RxD 管腳輸出, 發送完中斷標誌 TI 置 1 TxD 管腳輸出同步移位脈衝 (SHIFTCLOCK) 模式 0 接收過程 : 啟動接收過程後,RxD 為串列輸入端, TxD 為同步脈衝輸出端 串列傳輸速率固定為 SYSclk/12 或 SYSclk/2, 無需計時器提供 UART_M0x6/AUXR.5=0,SYSclk/12 (12 分頻 ) UART_M0x6/AUXR.5=1,SYSclk/2 (2 分頻 ) 由 TX 和 RX 控制單元分別產生插斷要求信號, 並置 TI=1 或 RI =1, 經 或閘 送主機請求中斷, 所以主機回應中斷後必須軟體判別是 TI 還是 RI 請求中斷, 必須軟體清 0 插斷要求標誌位元 TI 或 RI

串列口工作模式 1: 8 位元 UART, 串列傳輸速率可變 SM0 SM1=01 一幀資訊為 10 位元 :1 位元起始位元,8 位元資料位元 ( 低位元在先 ) 和 1 位停止位 TxD/P3.1 為發送資訊,RxD/P3.0 為接收端接收資訊 串列模式 1 的串列傳輸速率 =2 SMOD (TIMER1 溢出率 )/32 T1x12 = 0,TIMER1 的溢出率 = SYSclk/12/( 256 - TH1); T1x12 = 1, TIMER1 的溢出率 = SYSclk / ( 256 - TH1) UART 串列埠傳輸格式

串列埠模式 1 串列傳輸 接收 SBUF RI D7 D6 D5 D4 D3 D2 D1 D0 start stop D0 D1 D2 D3 D4 D5 D6 D7 移位暫存器 D7 D6 D5 D4 D3 D2 D1 D0 stop start RXD 腳串列資料串列資料 TXD 腳 發射 SBUF TI D7 D6 D5 D4 D3 D2 D1 D0

串列口工作模式 2: 9 位元 UART, 串列傳輸速率固定 SM0 SM1=10 一幀資訊由 11 位元組成 :1 位元起始位元,8 位元資料位元 ( 低位元在先 ),1 位可程式設計位元 ( 第 9 位元資料 ) 和 1 位元停止位 TxD/P3.1 為發送埠,RxD/P3.0 為接收埠 模式 2 的串列傳輸速率為 : =2 SMOD (SYSclk 系統工作時鐘頻率 ) /64

串列口工作模式 2: 9 位元 UART, 串列傳輸速率固定 第 9 資料位元,TB8(SCON.3) 可指定為 0 或 1; 或將同位檢查旗標 (P, PSW.0) 存放到 TB8 在接收週期時, 第 9 資料位元會被存放到 RB8 接收 SBUF RI D7 D6 D5 D4 D3 D2 D1 D0 start stop D0 D1 D2 D3 D4 D5 D6 D7 移位暫存器 TB9 D7 D6 D5 D4 D3 D2 D1 RB8 D0 stop start RXD 腳串列資料串列資料 TXD 腳 發射 SBUF TI D7 D6 D5 D4 D3 D2 D1 D0

串列口工作模式 3: 9 位元 UART, 串列傳輸速率可變 一幀的資訊由 11 位元組成 :1 位元起始位元,8 位元資料位元 ( 低位元在先 ),1 位可程式設計位元和 1 位元停止位 發送時可程式設計第 9 位元資料, 由 SCON 中的 TB8 提供, 可軟體設置為 1 或 0, 或者可將 PSW 中的奇 / 偶校驗位 P 值裝入 TB8 模式 3 的串列傳輸速率為 : =2 SMOD (TIMER1 的溢出率 )/32 T1x12 = 0,TIMER1 的溢出率 = SYSclk/12/( 256 - TH1); T1x12 = 1, TIMER1 的溢出率 = SYSclk / ( 256 - TH1)

傳輸速率的設置 串列通信模式 0 UART_M0x6/AUXR.5 = 0 時, 其串列傳輸速率 = SYSclk/12 UART_M0x6/AUXR.5 = 1 時, 其串列傳輸速率 = SYSclk/2 串列通信工作模式 2 SMOD=1, 傳輸速率 = (SYSclk)/32; SMOD=0, 傳輸速率 = (SYSclk)/64 串列通信模式 1 3 傳輸速率 =2 SMOD (TIMER1 的溢出率 )/32 T1x12 = 0,TIMER1 的溢出率 = SYSclk/12/(256 - TH1); T1x12 = 1, TIMER1 的溢出率 = SYSclk /(256 - TH1)

傳輸速率的設置 UART 在 Mode1 模式下, 使用 Timer1 工作於 Mode2( 自動重新載入模式 ) 計算傳輸率公式如下 : 9600 2 32 SMOD 振盪器頻率 12 256 ( TH1) 配合 9600 傳輸率, 使用 11.0592MHz 石英晶體振盪器, 且 SMOD=0, 得出 TH1 為 : TH1 256 253 2 11.0592 10 384 9600 FDH 6

傳輸速率的設置 T1x12=0,TIMER1 的溢出率 =SYSclk (2 8 -N)/12 T1x12=1,TIMER1 的溢出率 =SYSclk (2 8 -N) 常用串列傳輸速率系統時鐘頻率 (MHz) SMOD 計時器 1 C/T 方式重新裝入值 方式 0 MAX:1M 12 方式 2 MAX:375K 12 1 方式 1 和 3 62.5K 12 1 0 2 FFH 19.2K 11.059 1 0 2 FDH 9.6K 11.059 0 0 2 FDH 4.8K 11.059 0 0 2 FAH 2.4K 11.059 0 0 2 F4H 1.2K 11.059 0 0 2 F8H 137.5 11.986 0 0 2 1DH 110 6 0 0 2 72H 110 12 0 0 1 FFFBH

雙機通信 如果兩個 8051 應用系統距離很近, 可將它們的串列埠直接相連 (TXD RXD,RXD TXD,GND GND 地 ), 即可實現雙機通信

RS232 的串列信號 UART 串列埠傳輸格式 Start D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop 0 1 8051 與 RS232 的串列信號電壓轉換 8051 信號 5V 0V RS232 信號 +10V -10V

串列埠 UART 電路 V CC R S23 2 1 6 2 7 3 8 4 9 5 1 3 5 J62 2 4 6 + + 22 u 2 14 13 7 8 6 22 u V+ 15 GND VCC 16 T1 OU T R 1IN T2 OU T R 2IN V- C 1+ C 1- T1 IN R 1O UT T2 IN R 2O UT C 2+ C 2- IC1 1 3 11 12 10 9 4 5 C ON 6 + + 22 u TX D R XD 22 u J62 1 3 2 4 P3 1 P3 0

5 9 4 8 3 7 2 6 1 RS-232C 接腳

UART 電路 8051 的 RXD 與 TXD 與 EIA 界面 ICL232 連接, 做訊號準位轉換 - 準位 0V 轉換為 -8V-15V - 準位 5V 轉換為 8V-15V 使用 9PIN 的 RS-232 接頭, PIN2(RXD) 接腳接收 PIN 3(TXD) 接腳傳送 PIN5(GND) 接地

雙機非同步通信軟體協定 甲機發送資料, 乙機接收資料 在雙機開始通信時, 先由甲機發送一個呼叫符號 ( 例如 06H ), 以詢問乙機是否可以接收資料 ; 乙機接收到呼叫符號後, 若同意接收資料, 則發回 00H 作為應答信號, 否則發 05H 表示暫不能接收資料,; 甲機只有在接收到乙機的應答信號 00H 後才可將存儲在外部資料記憶體中的內容逐一發送給乙機, 否則繼續向乙機發呼叫符號, 直到乙機同意接收

位元組數 n 資料 1 資料 2 資料 3 資料 n 累加校驗和 發送資料格式如上 : 位元組數 n: 甲機向乙機發送的資料個數 ; 資料 1~ 資料 n: 甲機將向乙機發送的 n 幀資料 ; 累加校驗和 : 為位元組數 n 資料 1 資料 n, 這 (n+1) 個位元組內容的算術累相加的和. 乙機根據接收到的 校驗和 判斷已接收到的 n 個資料是否正確 若接收正確, 向甲機回發 0FH 信號, 否則回發 F0H 信號 甲機只有在接收到乙機發回的 0FH 信號才算完成發送任務, 返回被調用的程式, 否則繼續呼叫, 重發資料

雙機通信軟體 ( 查詢方式 ) 甲機發送副程式

雙機通信軟體 ( 查詢方式 ) 乙機接收副程式段

雙機通信軟體 ( 中斷方式 ) 由於 STC-12C5410AD 系列單片機的串列通信是雙工的, 且中斷系統只提供一個中斷向量入口位址, 所以實際上是中斷和查詢必須相結合, 即接收 / 發送均可各自請求中斷, 回應中斷時主機並不知道是誰請求中斷, 統一轉入同一個中斷向量入口, 必須由中斷服務程式查詢確定並轉入對應的服務程式進行處理 甲方 ( 發送方 ) 任以查詢方式通信 ( 從略 ), 乙方 ( 接收方 ) 則改用中斷 查詢方式進行通信

常用的串列埠函數 stdio.h 內定函數格式 getkey (void) getchar (void) putchar (char) printf (const char,...) gets (char, int n) scanf (const char,...) puts (const char) 串列埠輸出入說明接收一個按鍵資料接收一個字元資料發射一個字元資料發射字元 字串及數值資料接收一個字串字元資料接收字串資料發射一個字串字元常數資料

常用顯示格式字元表 字元 動作 %d 顯示有符號 10 進制資料 %u 顯示無符號 10 進制資料 %f 顯示浮點數 10 進制資料 %e 顯示指數 10 進制資料 %g 先以浮點數顯示, 若不行則以指數顯示資料 %o 顯示 8 進制資料 %x 顯示 16 進制資料 %6d 10 進制資料佔用 6 格, 資料右移 %06d 10 進制資料佔用 6 格, 資料右移, 前面加 0 %-6d 10 進制資料佔用 6 格, 資料左移 %c 顯示字元資料 %6c 顯示字元資料, 佔用 6 格, 資料右移 %-6c 顯示字元資料, 佔用 6 格, 資料左移 %s 顯示字串資料

常用 \ 控制字元表 控制字元 動作 ASCII 碼 (16 進制 ) \0 空字元 (NULL) 0x00 \n 換行 (LF) 0x0A \r 歸位 (CR) 0x0D \t 跳 9 格 (HT) 0x09 \b 倒退 (BS) 0x08 \f 換頁 (FF) 0x0C \ 單引號 0x27 \ 雙引號 0x22 \\ 反斜線 0x5C

UART 使用時設定 1.ES 2.EA 3.IP,IPH 當串列口接收插斷要求標誌位元 RI 和串列口發送插斷要求標誌位元 TI 中的任何一個被置為 1 後, 串列口中斷都會產生

範例 8_1 // 串列傳輸模擬的觀察與練習 // 從 8051 傳送字串 Hello kitty 到 PC 的超級終端機 // 不使用中斷, 每次傳送 1 BYTE 後檢查 TI=1, 表示傳送結束, 必須用軟體設定 TI=0

範例 8_1

範例 8_1

範例 8_2 //PC 和 8051 的串列傳輸 // 從 PC 的超級終端機輸入字元 0,1,...9 到 8051, 在 8051 的 port 2 顯示, // 從 8051 的 port 2 讀取資料, 傳送到 PC 的超級終端機顯示,

範例 8_2

範例 8_3 // 串列傳輸模擬的觀察與練習 // 從 8051 傳送字串 Hello kitty 到 PC 的超級終端機 // 使用中斷, 每次傳送 1 BYTE 後, 在中斷服務程式表示傳送結束, 必須用軟體設定 TI=0

範例 8_3

範例 8_3

範例 8_3

範例 8_4 //PC 和 8051 的串列傳輸 // 從 PC 的超級終端機輸入字元 0,1,...9 到 8051, 在 8051 的 port 0 顯示, // 從 8051 的 port 0 讀取資料, 傳送到 PC 的超級終端機顯示,

範例 8_4

範例 8_4

Ex8_4 test even parity 串列傳輸的同位元檢查有 none,even,odd,1,0 等 5 種 不用同位檢查, 只需 8 位元, 使用模式 1; 其他方式, 需要 9 位元, 使用模式 3 設定傳輸速率 9600

Ex8_4 test even parity

Ex8_4 test even parity

Ex8_4 test even parity

傳輸速率的設置

Ex8_4 test even parity

Ex8_4 test even parity

作業 1 使用 8051 的 UART 和 PC 連接 8051 的 P2 連接 LED 在 PC 使用超級終端機, 當按下 1 時, 第 1 個 (P2.0)LED 亮,, 按下 8 時, 第 8 個 (P2.7)LED 亮 當按下 9 時,8051 讀取 P2 的資料, 將之轉換成 16 進位, 傳回 PC 例當 P2=01000000,PC 上出現 0x40 當 P2=00001000, PC 上出現 0x08

~ END ~