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

正文內(nèi)容

基于pc機控制的點陣顯示屏設(shè)計畢業(yè)論文-資料下載頁

2025-02-26 10:01本頁面
  

【正文】 果處理等工作,由主程序來實現(xiàn)。 從有利于實現(xiàn)語言的直觀,易于記憶和檢查,可讀性較好和使語言程序占用較少的單片機存儲空間,實時處理系統(tǒng)可以快速的執(zhí)行指令的角度考慮,本設(shè)計中顯示屏程 序采用匯編語言編寫。 系統(tǒng)軟件編譯器介紹 使用 C 語言肯定要使用到 C 編譯器,以便把寫好的 C 程序編譯為機器碼,這樣單片機才能執(zhí)行編寫好的程序。 KEIL uVISION3 是眾多單片機應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的 MCS51 架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時還支持, PLM,匯編和 C 語言的程序設(shè)計,它的界面和常用的微軟 VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強大的功能。 軟件的選擇 單片機編程語言選擇 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 16 方案一:采用 匯編語言編程,由于匯編語言是比較低層的開發(fā)語言,它要求開發(fā)者非常熟悉單片機的硬件結(jié)構(gòu),存儲器結(jié)構(gòu)等等。加上匯編語言可讀性差,一般人是很難看懂的。還有也是比較致命的一點,可移植性比較差,所以使用匯編語言編程將需要大量的時間用于軟件的編寫和調(diào)試。 方案二:采用 C 語言編程,它不要求開發(fā)者深入了解單片機和硬件接口的結(jié)構(gòu),編譯器自動完成變量的存儲單元的分配,可讀性比較好,可移植性強,這是 C 語言最大的優(yōu)勢。而且現(xiàn)在很多編譯器都能很好的支持 C 語言的編譯和調(diào)試。 基于以上分析,我們決定采用方案二。 上位機控制傳輸 軟件選擇 方案一:采用網(wǎng)上下載的上位機控制傳輸軟件,由于他人制作的上位機軟件具有局限性,功能也達(dá)不到自己的要求,用起來也不方便。不能很好的體現(xiàn)系統(tǒng)的功能。 方案二:采用自己編寫的上位機軟件,不僅功能上可以滿足系統(tǒng)控制需要,并且通信協(xié)議可以自己給定,能更好的完成信息的交換。 基于以上分析,我們決定采用方案二。 程序主系統(tǒng)及驅(qū)動系統(tǒng) 主系統(tǒng) 系統(tǒng)的主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時器、中斷和端口;然后 LED 顯示屏進(jìn)入開機狀態(tài),轉(zhuǎn)入正常的顯示。首先是向上滾動顯示漢字,每個字停留時間約 。由于單片機沒有停機指令,所以可以設(shè)置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。 系統(tǒng)程序結(jié)構(gòu)屬中斷方式,絕大多數(shù)功能在中斷服務(wù)子程序中完成。根據(jù)總體結(jié)構(gòu),可將程序劃分為幾個功能化模塊:串行口中斷服務(wù)程序、多字滾動顯示子程序、單字顯示子程序、掃描程序。各個模塊可進(jìn)行獨立設(shè)計、調(diào)試和查錯,最終再連接成一個整體。這樣可方便程序調(diào)用,程序整體層次清晰,結(jié)構(gòu)一目了然,方便閱讀。 驅(qū)動系統(tǒng) 根據(jù)流程圖可以編寫出相應(yīng)的顯示程序。顯示驅(qū)動程序在進(jìn)入中斷后首先要對定時器T0 重新賦初值,以保證顯示屏刷新 率的穩(wěn)定, 1/16 掃描顯示屏的刷新率(幀頻)計算公式如下: 刷新率(幀頻) =161 T0 溢出率 =161 )65536(12 0tfosc ? 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 17 其中 fosc 為晶振頻率, t0 為定時器 T0 初值(工作在 16 位定時器模式)。 T0 初值 =2N -機周時間定時時間 其中 N 與工作方式有關(guān),本設(shè)計定時 /計數(shù)器工作于方式 1,如圖 41 所示,方式 1 構(gòu)成一個 16 位定時計數(shù)器,即 N=16。 方式 1 最大計數(shù)值為 216=65536 ,若 fosc=12MHz,則定時時間范圍為 1~ 65536μs。 機周時間與主振頻率有關(guān),機器周期是時鐘周期的 12 倍,因此,機周時間 =12/ fosc。當(dāng)fosc=12MHz 時, 1 機周 =1μs。 圖 41 定時 /計數(shù)器 T0 工作方式 1 邏輯電路結(jié)構(gòu)圖 然后顯示驅(qū)動程序查詢當(dāng)前燃亮的行號,從顯示緩存區(qū)內(nèi) 讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產(chǎn)生拖尾現(xiàn)象,驅(qū)動程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。顯示程序給出了各控制信號和顯示數(shù)據(jù),其作用及相互配合關(guān)系均已在硬件部分作過介紹,相應(yīng)的程序部分在清單的注釋區(qū)內(nèi)分別進(jìn)行了說明,在此不再一一詳述。 串口通信設(shè)計 串口的定義 串口是計算機上一種非常通用設(shè)備通信的協(xié)議。大多數(shù)計算機包含兩個基于 RS232 的串口。串口同時也是儀器儀表設(shè)備通用的通信協(xié)議;很多 GPIB 兼容的設(shè)備也帶有 RS—232口。同時,串口通信協(xié)議可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。 串口通信的原理 串口通信( Serial Communications)的概念非常簡單,串口按位( bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)( byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如 IEEE488 定義并行通行狀態(tài)時,規(guī)定設(shè)備線總長不得超過 20 米,并且任意兩個設(shè)備間的長度不得超過 2米;而對于串口而言,長度可達(dá) 1200 米。典型地,串口用于 ASCII 碼字符的傳輸。通信使用 3根線完成: ① 地線,② 發(fā)送, ③ 接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 18 接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進(jìn)行通信的端口,這些參數(shù)必須匹配。 a 波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的 bit 的個數(shù)。例如 300波特表示每秒鐘發(fā)送 300 個 bit。當(dāng)我們提到時鐘周期時,我們就是指波特率例如如果協(xié)議需要 4800 波特率,那么時鐘是 4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為 4800Hz。通常電話線的波特率為 14400, 28800 和 36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是 GPIB 設(shè)備的通信。 b 數(shù)據(jù)位:這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當(dāng)計算機發(fā)送一個信息包,實際的數(shù)據(jù)不會是 8 位的,標(biāo)準(zhǔn)的值是 7 和 8 位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII 碼是 0~ 127( 7 位)。擴展的 ASCII 碼是 0~ 255( 8 位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn) ASCII 碼),那么每個數(shù)據(jù)包使用 7 位數(shù)據(jù)。每個包是指 一個字節(jié),包括開始 /停止位,數(shù)據(jù)位和奇偶校驗位。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語 “包 ”指任何通信的情況。 c 停止位:用于表示單個包的最后一位。典型的值為 1, 和 2 位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。 d 奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng) 然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是 011,那么對于偶校驗,校驗位為 0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位為 1,這樣就有 3 個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。 作用 RS232( ANSI/EIA232 標(biāo)準(zhǔn))是 IBMPC 及其兼容機上的串行連 接標(biāo)準(zhǔn)。可用于許多用途,比如連接鼠標(biāo)、打印機或者 Modem,同時也可以接工業(yè)儀器儀表。用于驅(qū)動和連線的改進(jìn),實際應(yīng)用中 RS232 的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。 RS232 只限于 PC 串口和設(shè)備間點對點的通信。 RS232 串口通信最遠(yuǎn)距離是 50 英尺。 奇偶校驗位 在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是 011,那么對于偶校 驗,校驗位為 0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位位 1,這樣就有 3 個邏輯高大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 19 位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。 RS232( ANSI/EIA232 標(biāo)準(zhǔn))是 IBMPC 及其兼容機上的串行連接標(biāo)準(zhǔn)??捎糜谠S多用途,比如連接鼠標(biāo)、打印機或者 Modem,同時也可以接工業(yè)儀器儀表。用于驅(qū)動和連線的改進(jìn),實際應(yīng)用中 RS232 的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。 RS232 只 限于 PC 串口和設(shè)備間點對點的通信。 RS232 串口通信最遠(yuǎn)距離是 50 英尺。 上位機對單片機的通信協(xié)議 主要任務(wù)是負(fù)責(zé)接收上位機控制命令和數(shù)據(jù),同時也負(fù)責(zé)對單片機信息采集通過串口返回給上位機。 本系統(tǒng)采用了 MAX232 電平轉(zhuǎn)換電路實現(xiàn)了上位機的通信難題, MAX232 具有短距離傳輸穩(wěn)定行好的功能。 MAX232 是由德州儀器公司( TI)推出的一款兼容 RS232 標(biāo)準(zhǔn)的芯片。由于電腦串口RS232 電平是 10V +10V,而一般的單片機應(yīng)用系統(tǒng)的信號電壓是 TTL 電平 0 +5V,MAX232 就是用來進(jìn)行電平 轉(zhuǎn)換的,該器件包含 2個驅(qū)動器、 2個接收器和一個電壓發(fā)生電路提供 TIA/EIA232F 電平。 在多數(shù)情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現(xiàn),如一條發(fā)送線、一條接收線及一條地線。 MAX232 是標(biāo)準(zhǔn)的串口通信接口,對于一般的雙向通訊,只需要使用串行輸入口RXD(第 12 腳 )、串行輸出 TXD(第 11 腳 )和地線(第 10 腳)。 串行通訊的方式有異步通訊和同步通訊方式,這里簡單介紹異步通信方式: 異步通訊用一個起始位表示字符的開始,用停止位表示字符的結(jié)束。其每幀的格式如下: 在一幀格式中 ,先是一個起始位 0,然后是 8 個數(shù)據(jù)位,規(guī)定低位在前,高位在后,接下來是奇偶校驗位(可以省略),最后是停止位 1。用這種格式表示字符,則字符可以一個接一個地傳送。 一、上位機對單片機的通信協(xié)議 上位機與主機的通信采用標(biāo)準(zhǔn)的 RS232 通信,我們設(shè)置波特率為 9600b/s,一位停止位,一位起始位,無校驗位等作為 RS232 協(xié)議。 上位機通信數(shù)據(jù)幀格式,上位機在發(fā)送數(shù)據(jù)之間先發(fā)送命令字,如 “設(shè)置時間 ”就會在時間前加上命令 “ST”,在 6 位時間數(shù)據(jù)后面加上 ?\n?,表示一幀數(shù)據(jù)信息發(fā)送結(jié)束 , 命令和數(shù)據(jù)之間有空格,這在命令 解析中很重要。 單片機收到上位機發(fā)過來的數(shù)據(jù),首先存儲數(shù)據(jù),直到收到 ?\n?,將處理收到的數(shù)據(jù),然后解析命令字,根據(jù)命令字調(diào)用相關(guān)處理函數(shù)。 其他命令的處理基本類似,只是各命令都有自己獨立的處理函數(shù)和不同的命令字。 大連海洋大學(xué)本科畢業(yè)論文(設(shè)計) 第 四 章 系統(tǒng)軟件設(shè)計 20 單 片 機 接 收 到 數(shù) 據(jù)是 否 是 ‘ \ N ’存 儲 數(shù) 據(jù)判 斷 命 令 字 , 調(diào) 用 相 關(guān)函 數(shù) , 處 理 數(shù) 據(jù)結(jié) 束 , 等 待 下 一 次 數(shù) 據(jù)是否 上 位 機 發(fā) 送 讀 取 數(shù) 據(jù) 命 令上 位 機 接 收 數(shù) 據(jù)是 否 是 ’ \ N ’存 儲 數(shù) 據(jù)判 斷 命 令 字 , 調(diào) 用 相 關(guān)函 數(shù) , 處 理 數(shù) 據(jù)結(jié) 束 , 返 回是否 圖 42 單片機接收命令流程圖 圖 43 上位機接收信息流程圖 二、單片機對上位機的通信協(xié)議 單片機對上位機的通信主 要是要發(fā)送實時時間,日期,星期,溫度等,以完成在上位機相應(yīng)的顯示。 單片機對上位機通信協(xié)議,在發(fā)送數(shù)據(jù)之前會添加標(biāo)示符,如時間數(shù)據(jù)的話用 ?T?做標(biāo)示符,在數(shù)據(jù)后加上 ?\n?,表示數(shù)據(jù)信息發(fā)送結(jié)束。 上位機收到單片機發(fā)來的信息,首先存儲數(shù)據(jù),直到收到 ?\n?, 將處理到的數(shù)據(jù),然后判斷標(biāo)示符,根據(jù)標(biāo)示符將數(shù)據(jù)顯示到相應(yīng)的對話框中。 1 2 3 4ABCD4321DCBAT itleN um be r R e vis ionS iz e
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1