日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] 在PC機與MCS-51單片機之間進行串行通信時,基本是一對一的,即用PC機向單片機每發(fā)1條命令,就等待單片機的1條返回信息。這樣可能把大量時間浪費在PC機與單片機的通信過程中了。為此筆者經(jīng)過實踐,設計出可以批處理

 在PC機與MCS-51單片機之間進行串行通信時,基本是一對一的,即用PC機向單片機每發(fā)1條命令,就等待單片機的1條返回信息。這樣可能把大量時間浪費在PC機與單片機的通信過程中了。為此筆者經(jīng)過實踐,設計出可以批處理執(zhí)行PC機發(fā)給單片機的命令,就像DOS操作系統(tǒng)中的批處理命令一樣,可連續(xù)批處理信息,結果當然提高了系統(tǒng)速度。文中提供了部分平臺式C51軟件源代碼,以供大家參考。

1 通信協(xié)議

(1)通信數(shù)據(jù)格式
PC機→MCS-51單片機數(shù)據(jù)格式如表1所列。
MCS-51單片機→PC機數(shù)據(jù)格式如表2所列。

(2)初始通信參數(shù)

PC機與單片機間(9600,n,8,1)即波特率為9600 baud,1起始位,8數(shù)據(jù)位,1停止位,無奇偶校驗。

(3)數(shù)據(jù)收發(fā)方式

所有數(shù)據(jù)按二進制單字節(jié)發(fā)送。

(4)發(fā)送數(shù)據(jù)順序
  發(fā)送同步碼(1Byte):Stx=0X60
  發(fā)送后續(xù)字節(jié)的長度(2Byte):Len=2+N
  發(fā)送Len個后續(xù)數(shù)據(jù)字節(jié)(N+2 Byte):CommandH,CommandL,Data[0]…Data[N-1]
  發(fā)送校驗碼(1Byte): Edc=Stx^CommandH^ CommandL^Data[0]^…Data[N-1]
  發(fā)送結束碼(1Byte): Etx=0X03

2 單條命令COMMAND[n]

COMMAND[n]格式:

一般把單條命令的長度控制在255以內(nèi)。
PC機向單片機發(fā)送數(shù)據(jù)序列為:
STX,LENH,LENL,COMMANDH,COMMANDL,DATA…DATA,EDC,ETX
3 批處理的思想方法

(1)批處理命令BATCH_COMMAND (0X0000)

PC格式:

NUM——后續(xù)命令的個數(shù);
Flag——需要返回的標志(00為要返回數(shù)據(jù),其它為無需返回數(shù)據(jù))。
COMMAND[i]=LEN,子命令體
功能:批處理執(zhí)行功能。
返回狀態(tài)及數(shù)據(jù):根據(jù)Flag標志決定是否返回數(shù)據(jù),按發(fā)送命令的順序返回數(shù)據(jù)。

(2)控制批處理轉移的命令

功能:沒有數(shù)據(jù)和狀態(tài)返回,控制下位機跳轉。

① 控制BATCH_If(0X0001)用于判斷,條件執(zhí)行命令

功能:單片機遇到該命令,執(zhí)行判斷,如果結果為邏輯真,則執(zhí)行緊跟BATCH_If的第1條命令;否則執(zhí)行緊跟BATCH_If第2條命令。

PC格式:



num: 返回數(shù)據(jù)從右到左的第幾個數(shù)據(jù),為0時為狀態(tài)數(shù)據(jù)的低位字節(jié);
EQUAL/NOT——00為相等,1為不等;
VALUE——數(shù)值。
返回:無。

② 控制BATCH_Break(0x0002)跳出循環(huán)命令

功能:用于跳出BATCH_While循環(huán)。

PC格式:

返回:無。

③ 控制BATCH_While(0x0003)循環(huán)執(zhí)行循環(huán)體內(nèi)的命令

功能:循環(huán)執(zhí)行循環(huán)體內(nèi)的命令。

PC格式:

返回:無。

④ 控制BATCH_Return(0x0004)退出打包程序塊

功能:退出打包程序塊。

PC格式:

返回:無。

(3)注意事項

◇ BATCH _While循環(huán)不能嵌套使用;
◇ BATCH _Break只能用于BATCH _While循環(huán)體內(nèi);
◇ 需要立即獲取返回數(shù)據(jù)的命令,一般不要放到批處理中。

(4)控制打包程序轉移的PC機命令舉例說明

該實例根據(jù)命令的結果判斷是否轉移,循環(huán)中只使用Reader_Version()。

PC機下傳給單片機的代碼:BATCH_ COMMAND

Reader_Version():假設為0X1001

實際PC機下傳的代碼為(HEX格式):
60 28 00 00 06 01 00 03 00 00 05 01 00 04 00 01 00 00 03 01 00
02 00 02 01 00 05 00 01 05 00 61 01 00 02 00 04 00 00 02 10 01 校驗碼 03

4 程序流程

各程序流程如圖1~圖4所示。

5 部分源程序代碼

由于篇幅所限,這里只提供部分源程序。

(1)主程序

主程序首先接收數(shù)據(jù),對數(shù)據(jù)進行分析,區(qū)分批處理和單條命令;然后執(zhí)行命令;最后將結果返回上傳給PC機。

(2)批處理程序

批處理程序將控制轉移的命令都用標志來區(qū)分,通過解釋命令序列來執(zhí)行命令,最后將結果按照通信數(shù)據(jù)格式打包,上傳給PC機,程序清單見本刊網(wǎng)站補充版。

結束語

本文在PC機與單片機串行通信的軟件編程中做了探索,實現(xiàn)批處理信息數(shù)據(jù)通信的處理。相信這種新的思路和方法會有所發(fā)展并很快應用于實際嵌入式系統(tǒng)。

參考文獻
1 曹素芬. 單片微型計算機原理與接口技術. 沈陽:東北大學出版社,1994
2 李朝青. PC機及單片機數(shù)據(jù)通信技術. 北京:北京航空航天大學出版社,1999
3 徐愛鈞,彭秀華. 單片機高級語言C51應用程序設計. 北京:電子工業(yè)出版社,1998
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉