freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機與pc機串行通信系統(tǒng)設(shè)計(參考版)

2024-11-14 02:53本頁面
  

【正文】 C,D,E,F,(空格 ), end 。0,1,2,3,4,5 db 7dh,07h,7fh,6fh,77h,7ch 。選用工作寄存器組 0 mov 50h,40 intout0: mov 51h,100 intout: reti 。小于 6 不允許 mov r0,dataadd 。不等于 6 時判定大于還是小于 6 datamove1: clr f0 。r0 指向下一個待移動的數(shù)據(jù) djnz r2,intout1 。將數(shù)據(jù)區(qū)中的數(shù)據(jù)移動到顯示緩沖區(qū)的 45h 單元 datamove: mov 45h,r0 。原 40h 單元數(shù)據(jù)放入 45h 中 sjmp intout1 。顯示緩沖區(qū)數(shù)據(jù)左移一位 jb f0,datamove 。選用工作寄存器組一 mov 0fh,40h 。外層循環(huán)未結(jié)束退出中斷程序 。定時器 T0 中斷子程序,實 現(xiàn)數(shù)據(jù)動態(tài)顯示 t0_int: djnz 51h,intout 。新數(shù)據(jù)送入顯示緩沖區(qū) clr rs0 。選用寄存器組一 mov r0,dataadd mov r2,datanum 。取數(shù)據(jù)的段碼 mov r1,a inc r1 djnz r2,loop 。取轉(zhuǎn)換數(shù)據(jù) clr c 。r2 放轉(zhuǎn)換個數(shù) mov dptr,duanma 。Ascii 碼轉(zhuǎn)換成段碼子程序 asctoduan: mov r1,dataadd 。接收下一個字符 lcall asctoduan 。保存新數(shù)據(jù)的個數(shù) data_ti: setb f0 mov r1,dataadd data_get: jnb ri,$ clr ri mov r1,sbuf 。接收字符個數(shù) jz display_jmp 。等待發(fā)送結(jié)束 clr ti jnb ri,$ 。非規(guī)定的握手信號 mov sbuf,0ffh 。顯示未結(jié)束繼續(xù)本次顯示 sjmp display0 handle: mov r5,sbuf 。位碼左移 mov r6,a jbc ri,handle 。P2 口輸出段碼 dec r0 。r6 存放數(shù)碼管的位碼,顯示初始化 24 display1: mov p0,r6 。r0 執(zhí)行待輸出的數(shù)據(jù)地址處 mov r7,6 。初始時接收數(shù)據(jù)的個數(shù)為 0 display: mov r7,6 mov r0,40h cl_next: mov r0,0 inc r0 djnz r7,cl_next 。開定時器 T0 中斷 setb ea 。1s 定時初始化 setb tr0 。晶振頻率 ,波特率設(shè)置為 9600 mov scon,50h 。從 0fh 開始設(shè)置堆棧 mov tmod,22h 。接收到的數(shù)據(jù)存放的地址 0000h ljmp main 000bh ljmp t0_int 0100h 。定時間到關(guān)閉定時器,設(shè)置標志位 End Sub Private Sub txtsend_Click() = End Sub 23 附錄 2:單片機 源 程序 datanum equ 20h 。收到正確的回應,發(fā) 送字符個數(shù)和數(shù)據(jù) writebuff = strsend = writebuff = False 39。收到對方的回應 = False 39。定時時間到未收到回應信號重發(fā) 握手信號 End If Loop Until 39。發(fā)送握手信號 = True 39。準備握手信號 amp。開始發(fā)送握手信號時回應標志位為 FALSE writebuff = Chr$(amp。 打開成功! 波特率=9600bps 39。 = 串口 COM amp。清除輸出緩沖區(qū) = True 39。以字符形式從緩沖區(qū)中接受字符 = 0 39。串口屬性設(shè)置 = 1 39。串行通信口參數(shù)設(shè)置 21 = 1 39。 vbCrLf amp。讀輸入緩沖區(qū)數(shù)據(jù) strsend = intsend = Len(strsend) If intsend = 0 Then MsgBox 請輸入數(shù)字字符! , , 錯誤 Exit Sub End If 39。發(fā)送的字符長度 Dim writebuff As Variant 39。等待回應時間到標志位,為 FALSE 時時間沒有到, TRUE 時時間到 Private Sub cancel_Click() Unload Me End End Sub Private Sub send_Click() 39。 室友、師兄、師姐和 身邊的朋友們在平時的學習、生活中給予了我很大的支持,在此表示衷心的感謝 ! 最后感謝 家人,是他們 給予我精神上的鼓勵、生活上的照顧、學業(yè)上的支持, 使我 順利完成 大學學業(yè) 。有了這么多的支持和無私幫助,才使我得以順利完成畢業(yè)設(shè)計。 18 參考文獻 [1] 李長林 . Visual Basic 串口通信技術(shù)與典型實例 [M]. 北京 : 清華大學出版社 , [2] 李朝青 , 劉艷玲 , 沈怡麟 . 單片機與 PC 機網(wǎng)絡通信技術(shù) [M]. 北京 : 北京航空航天大學出版社 , [3] 萬福軍 , 潘松峰 , 劉芳 . MCS51 單片機原理、系統(tǒng)設(shè)計與應用 . [M] 北京 :清華大學出版社, [4] 周志敏,周紀海,紀愛華 . LED 驅(qū)動電路設(shè)計與應用 [M]. 北京:人民郵電出版社, [5] [6] [7] [8] [9] [10] [11] [12] [13] ……… .[20] 19 致 謝 經(jīng)過幾個月的努力,終于完成了 PC 機與單片機的串行通信這個畢業(yè)設(shè)計。在設(shè)計的過程中我體會到了過程的快樂和結(jié)果的喜悅。 當然本設(shè)計也存在著很大的問題,比如說功能上相對簡單容易出錯等,這些問題可以在以后的工作中繼續(xù)完善。 3. 介紹了軟件設(shè)計,流程,通信協(xié)議,初始化,波特率計算 等軟件上的準備與設(shè)計,從而為整個設(shè)計的匯編階段做好準備。 主要論述內(nèi)容總結(jié)如下: 1. 介紹了單片機的在現(xiàn)實生活中的使用情況與應用環(huán)境領(lǐng)域,市場前景與未來應用,并對總體設(shè)計做了概括性的描述。由于將多功能 8 位 CPU 和閃爍存儲器組合 在單個芯片中,ATMEL的 AT89C51是一種高效微控制器,所以它的使用前景會是相當廣泛與受歡迎。 17 7 結(jié)語 本文主要詳述了 AT89C51 單片機與 PC 機的串行通信 實現(xiàn)的設(shè)計 方法和內(nèi)容 ,AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除 只讀存儲器 ( FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS 8 位微處理器。編譯后將 .hex 文件下載到仿真電路的 AT89C51 中,點擊“ Play”按鈕得到圖 62 仿真結(jié)果 ,經(jīng)過一段時間后得到圖 63 所示的結(jié)果。為了仿真單片機系 16 統(tǒng)的顯示是否正常,在顯示 緩沖區(qū)初始化后、顯示前 加上 如下 測試程序: mov 30h,3fh mov 31h,06h mov 32h,5bh mov 33h,4fh mov 34h,66h mov 35h,6dh mov 36h,7dh mov 37h,07h mov 38h,7fh mov 39h,6fh mov 3ah,77h mov 3bh,7ch mov 3ch,58h mov 3dh,5eh mov 3eh,7bh mov 3fh,71h mov 08h,dataadd mov datanum,3 mov 0ah,datanum setb f0 可以 通過 修改 mov datanum,3 中 3 處的數(shù)值 ( 1~16 之間的數(shù)值) 來觀察不同個數(shù)數(shù)據(jù)顯示結(jié)果 ,此處以 3 個數(shù)據(jù)為例進行 仿真 測試 。有此可知 PC 機通行程序基本可以工作。 仿真結(jié)果分析 PC 界面運行結(jié)果 點擊“ Start”按鈕,出現(xiàn)設(shè)計的 PC 機串行通行界面,在“發(fā)送數(shù)據(jù)”文本框中輸入要發(fā)送的數(shù)字字符串(字符串長度不超過 16),點擊“發(fā)送”按鈕, 出現(xiàn)如圖 61所示的運行結(jié)果。 Proteus 是世界上著名的 EDA 工具,從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計 ,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計,是目前世界上唯一將電路仿真軟件、 PCB 設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持 805 HC1 PIC10/12/16/18/24/30/DsPIC3AVR、 ARM、 8086 和 MSP430 等。 應答 超時 開始 發(fā)送數(shù)據(jù)準備 數(shù)據(jù)完整性驗證 設(shè)置、打開串行端口 應答? 發(fā)送通信請求 發(fā)送數(shù)據(jù)個數(shù)和數(shù)據(jù) 通信結(jié)束關(guān)閉端口 14 圖 55 主程序及定時中斷子程序流程圖 是 開始 串口工作方式、波特率設(shè)置 定時器 t0 初始化 開定時器 t0 中斷 初始化字節(jié)數(shù)寄存器 20H 初始化顯示緩沖區(qū) 40H~45H 掃描顯示初始化 p0 口輸出位碼 p2 口輸出段碼 調(diào)整位碼、準備數(shù)據(jù) ri=1? 掃描結(jié) 束? 否 否 是 sbuf=ffh 否 發(fā)應答信號 接收字符個數(shù)送 20h 數(shù)據(jù)送 30h~3fh 置位數(shù)據(jù)加載 標志位 f0 ascii 碼轉(zhuǎn)段碼 否 是 是 是 否 是 定時中斷入口 定時到? 置位 rs0 ( 40h) → 0fh 40h~45h 高字節(jié)向低字節(jié)移動一位 r0→ 45h r0+1→ r0 否 f0=1? r21=0? (20h)6? 修改 r0、 r2 清 rs0 定時中斷返回 ( 0fh) → 45h 清 f0 標志位 否 ( a) 主程序流程圖 ( b) 定時中斷流程圖 15 6 仿真調(diào)試及結(jié)果分析 Protues 仿真軟件 簡介 Protues 軟件是英國 Labcenter electronics 公司出版的 EDA 工具軟件。 主 程序 完成數(shù)據(jù)的顯示和監(jiān)視通信端口,其程序流程如圖 55 所示;定時中斷實現(xiàn)動態(tài)顯示數(shù)據(jù)處理,其程序流程 如圖 55 所示 。 圖 53 添加控件后的窗體 13 表 51 主要控件屬性 類型 名稱 屬性 功能 Form Form1 Caption=上位機串口通信 Commandbutton Send Caption=發(fā)送 數(shù)據(jù)發(fā)送 Cancel Caption=退出 結(jié)束數(shù)據(jù)發(fā)送 Label Label1 Caption=發(fā)送數(shù)據(jù): Label2 Caption=串口選擇: Label3 Caption=狀態(tài) TextBox Txtsend Text=請輸入要發(fā)送 的數(shù)字字符串! 輸入發(fā)送數(shù)據(jù) Txtport 顯示串行通信端口 Txtmsg 顯示端口的 狀態(tài) Msm Msm 默認 串口通信 Timer Timer Eaable=false Interval=250 應答超時控制 代碼 實現(xiàn) 單片機與 PC 機串口通信應用界面程序流程圖如圖 54 所示 , 事件過程及編程見附錄 1。 3)設(shè)計窗體界面 窗體主要完成如下功能:對整個程序初始化、串行端口設(shè)置、輸入發(fā)送數(shù)據(jù)、對各個按鈕響應、顯示當前通信端口及端口信息 , 。在控件工具欄上單擊鼠標右鍵,在彈
點擊復制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1