51單片機的串行口擴展方法
2.2 基于intel8251的串行口擴展方法
上面基于sp2538的串口擴展方法可以說是一種串行的擴展方法,這里基于intel8251的擴展方法則是一種并行的方法。intel8251是一種通用的同步/異步發送器(usart),它的工作方式可以通過編程設置。能夠以同步或異步串行通信方式工作,能自動完成幀格式。
intel8251具有獨立的接收/發送器。在異步方式下,用于產生8251內部時序的時鐘clk輸入至少應為發送或接收時鐘的4.5倍。接收/發送(rxc/txc)時鐘應為波特率的1倍、16倍或64倍(由8251的工作方式字設定)。
圖(2)是用intel8251擴展一個串行通道的電路原理,圖中,11.0592mhz晶振經ale6分頻后于 、組合,產生1.8432mhz的時鐘頻率,分別作為8251與8253的時鐘輸入,若設定8251通信波特率為9600bps,波特率因子為16,則需要 153.6khz的接收/發送時鐘頻率,該頻率可由8253的out0產生。
下面的a51程序段說明了如何設置8253使其產生153.6khz的方波,以及如何用8251收/發數據:
設置8253的程序段:
mova,#36h ; 計數器0輸出方波控制字
movdptr,#0ffffh; 指向控制字寄存器
movx @dptr,a
movdptr,#0fffch; 指向0計數器地址
mova,#0dh
movx @dptr,a
mova,#0
movx dptr,a
setb p1.0
操作8251的程序段:
…
start: movdptr,#7fffh;8251控制、命令口地址
mova,#5eh;一個停止位,奇校驗,8位數據,異步*16
movx @dptr,a;寫入方式字
mova,#15h
movx @dptr,a;命令字,啟動發送和接收器
…
loop: sjmp loop ;等待8251中斷
8251_int: ;現場保護
movdptr,#7fffh
相關閱讀:
- ...2011/11/11 10:37·基于AT89C51單片機的溫度測控系統設計
- ...2011/09/19 14:49·基于MCS51單片機的工業屏柜散熱設計
- ...2011/09/14 13:07·51單片機在微機自動交換系統中穩定運行的設計方法
- ...· Efinix® 全力驅動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產品開發及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術