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

正文內(nèi)容

基于usb接口的溫度控制器畢業(yè)設(shè)計(編輯修改稿)

2025-07-24 19:06 本頁面
 

【文章內(nèi)容簡介】 CH372接口芯片來完成,其和計算機的連接很簡單,所以這一部分主要的硬件實現(xiàn)是CH372和單片機AT89C51的連接問題。 USB簡介USB(Universal Serial Bus)是外圍設(shè)備與計算機進(jìn)行連接的新型接口,既一種新型的通用串型總線接口,USB具有即插即用、熱插撥、接口體積小、節(jié)省系統(tǒng)資源、傳輸可靠、提供電源、良好的兼容性、共享試通信等優(yōu)點。在USB產(chǎn)生之前,外部設(shè)備和計算機的通信主要是通過計算機主板所提供的各種接口,比如ISA接口、PCI接口、PS/2接口、串行接口,并行接口等,這些接口,存在這樣那樣的缺陷,比如接口規(guī)格不統(tǒng)一、不共享等為了克服上述外圍設(shè)備的缺陷,P制造商和用戶迫切需要一種新型的外設(shè)接口,USB正是在這樣的環(huán)境下產(chǎn)生的,它是一種快速、雙向、同步、廉價、并支持熱插撥功能的串行接口。USB是一種新型的接口,那么它必定有它的通信標(biāo)準(zhǔn),也就是我們所說的協(xié)議,下面簡單介紹USB的通信協(xié)議。一般的,對終端用戶來看,USB系統(tǒng)是USB設(shè)備連接到主機的簡單連接,但對開放人員來說,這中連接可分為三個層次:功能層、USB設(shè)備層、USB總線接口層,且每一層都由主機和USB設(shè)備的不同功能模塊組成??梢杂孟旅娴膱D型來形容。 USB通信層次模型由圖,一個USB設(shè)備由三個功能模塊組成:USB總線接口、USB邏輯設(shè)備、功能單元。USB總線接口是USB設(shè)備中的串行引擎(SIE);USB邏輯單元被看作是一個端點的集合;功能單元客戶軟件被看作接口的集合。USB傳輸類型包括批量傳輸、同步傳輸、中斷傳輸和控制傳輸,每種傳輸類型的傳輸速度、可靠性以及應(yīng)用范圍都不同??刂苽鬏斂煽啃允亲罡叩?,但速度最慢;同步傳輸速度快,滿足實時性,但可靠性低。在具體應(yīng)用中,端點傳輸類型可根據(jù)傳輸速度和可靠性選擇。在USB通信協(xié)議中,主機取得絕對主動權(quán)利,設(shè)備只能是“聽命令行事”,通過一定的命令格式(設(shè)備請求)完成通信。USB設(shè)備請求包括標(biāo)準(zhǔn)請求、廠商請求和設(shè)備類請求。設(shè)備的枚舉是標(biāo)準(zhǔn)請求命令完成的;廠商請求是用戶定義的請求;設(shè)備類請求是特定的USB設(shè)備類發(fā)出的請求,例如海量儲存類、打印機類和HID(人機接口)類。固件編程中設(shè)備請求必須遵循一定的格式,包括請求類型、設(shè)備請求、值、索引和長度。 USB芯片選擇USB的傳輸速度可分為低速()、全速(12Mbps)和高速(480Mb/s),按傳輸速度來分,供選擇的USB芯片類型主要有:低速()和全速(12Mbps),可選擇Philips公司的PDIUSBD12和Cypress公司的EZUSB2100系列以及國產(chǎn)的CH372芯片;高速(480Mbps)可選Philips公司的ISP1581和Cypress公司的USB接口芯片CY7C68013。 本次系統(tǒng)要傳輸?shù)乃俾时容^少,可以所以選擇全速的USB接口芯片,由于國產(chǎn)的芯片已經(jīng)有所好轉(zhuǎn),再加上資料比較齊全,這次系統(tǒng)設(shè)計所選擇的USB接口芯片是國產(chǎn)芯片CH372。芯片介紹:CH372是南京沁恒電子有限公司生產(chǎn)的新型USB接口芯片,具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU/MPU等控制器的系統(tǒng)總線上;它屏蔽了USB通信協(xié)議,用戶如果沒有涉及到底層開放,那么只要了解芯片的普通用法就可以快速的設(shè)計USB設(shè)備。 CH372和單片機框架連接下面給出CH372的引腳圖()及部分命令: CH372的管腳CH372芯片占用兩個地址位,當(dāng)A0 引腳為高電平時選擇命令端口,可以寫入命令;當(dāng)A0引腳為低電平時選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù)。單片機通過8 位并行口對CH372 芯片進(jìn)行讀寫,所有操作都是由一個命令碼、若干個輸入數(shù)據(jù)和若干個輸出數(shù)據(jù)組成,部分命令不需要輸入數(shù)據(jù),部分命令沒有輸出數(shù)據(jù)。命令操作步驟如下:①在A0=1 時向命令端口寫入命令代碼;②如果該命令具有輸入數(shù)據(jù),則在A0=0 時依次寫入輸入數(shù)據(jù),每次一個字節(jié);③如果該命令具有輸出數(shù)據(jù),則在A0=0 時依次讀取輸出數(shù)據(jù),每次一個字節(jié);④命令完成,可以暫?;蛘咿D(zhuǎn)到①繼續(xù)執(zhí)行下一個命令。 : 表 CH372命令 代碼命令名稱輸入數(shù)據(jù)輸出數(shù)據(jù)命令用途05HRESET_ALL(等40mS)執(zhí)行硬件復(fù)位06HCHECK_EXIST任意數(shù)據(jù)按位取反測試工作狀態(tài)12HSET_USB_IDVID 字節(jié)PID 字節(jié)設(shè)置USB的廠商VID和PID15HSET_USB_MODE模式代碼(等20uS)操作狀態(tài)設(shè)置USB工作模式22HGET_STATUS中斷狀態(tài)獲取中斷狀態(tài)并取消請求28HRD_USB_DATA從當(dāng)前USB中斷的端點緩沖區(qū)讀取數(shù)據(jù)塊并釋放當(dāng)前緩沖區(qū)2AHWR_USB_DATA5向USB端點1的上傳緩沖區(qū)寫入數(shù)據(jù)塊2BHWR_USB_DATA7向USB端點2的上傳緩沖區(qū)寫入數(shù)據(jù)塊 USB設(shè)備端的接口設(shè)計CH372芯片在本地端提供了通用的被動并行接口,包括:8位雙向數(shù)據(jù)總線D7~D0、讀選通輸入引腳RD、寫選通輸入引腳WR、片選輸入引腳CS、中斷輸出引腳INT以及地址輸入引腳A0。通過被動并行接口,CH372 芯片可以很方便地掛接到各種8位單片機、DSP、MCU 的系統(tǒng)總線上,并且可以與多個外圍器件共存。CH372芯片的RD和WR可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。CS由地址譯碼電路驅(qū)動,用于當(dāng)單片機具有多個外圍器件時進(jìn)行設(shè)備選擇。INT輸出的中斷請求是低電平有效,可以連接到單片機的中斷輸入引腳或者普通I/O 引腳,單片機可以使用中斷方式或者查詢方式獲知中斷請求。當(dāng)WR為高電平并且CS和RD及A0 都為低電平時,CH372 中的數(shù)據(jù)通過D7~D0輸出;當(dāng)RD為高電平并且CS和WR及A0 都為低電平時,D7~D0上的數(shù)據(jù)被寫入CH372 芯片中;當(dāng)RD為高電平并且CS和WR都為低電平而A1 為高電平時,D7~D0 上的數(shù)據(jù)被作為命令碼寫入CH372芯片中。CH372 芯片的VD+和VD引腳應(yīng)該直接連接到USB 總線上。如果為了芯片安全而串接保險電阻或者電感,那么交直流等效串聯(lián)電阻應(yīng)該在5Ω之內(nèi)。USB定義了四種傳輸類型:控制傳輸、快傳輸、中斷傳輸和同步傳輸。南京沁恒公司的USB接口芯片CH372支持控制傳輸、批量傳輸、中斷傳輸。CH372主要有兩種數(shù)據(jù)流傳輸方式:單向數(shù)據(jù)流方式和請求應(yīng)答方式。其中請求應(yīng)答方式步驟如下: ① 計算機應(yīng)用層按事先約定的格式將數(shù)據(jù)請求發(fā)送給CH372芯片;② CH372 芯片以中斷方式通知單片機;③ 單片機進(jìn)入中斷服務(wù)程序,獲取CH372的中斷狀態(tài)并分析;④ 如果是上傳,則釋放當(dāng)前USB 緩沖區(qū),然后退出中斷程序;⑤ 如果是下傳,則從數(shù)據(jù)下傳緩沖區(qū)中讀取數(shù)據(jù)塊;⑥ 分析接收到的數(shù)據(jù)塊,準(zhǔn)備應(yīng)答數(shù)據(jù),也可以先退出中斷程序再處理;⑦ 單片機將應(yīng)答數(shù)據(jù)寫入批量端點的上傳緩沖區(qū)中,然后退出中斷程序;⑧ CH372 芯片將應(yīng)答數(shù)據(jù)返回給計算機;⑨ 計算機應(yīng)用層接收到應(yīng)答數(shù)據(jù)。這種傳輸方式是必需要有計算機斷發(fā)出響應(yīng)才可以進(jìn)行的。在本次系統(tǒng)設(shè)計中,可以通過向計算機發(fā)出命令,下位機根據(jù)命令來進(jìn)行各種操作,包括設(shè)計報警溫度,采集溫度等。由于系統(tǒng)不需要那么多I/O口,所以本次系統(tǒng)設(shè)計的單片機端不需要擴展,直接用端片機的I/O端口,值得注意的是MCU不擴展,那么P0只能口只能作為I/O口使用,而不能作為數(shù)據(jù)/地址端口復(fù)用。這一點必須注意,而P0口做普通I/O使用必需要加上拉電阻1K到10K左右。否則系統(tǒng)將無法運行,這點特別提醒要注意的地方。最終CH372與單片機AT89C51之間的連接圖, CH372和89C51的連接圖 圖中P2作為CH372芯片8位雙向數(shù)據(jù)總線通信端口來使用。P1和P0端口作為普通的I/O口,USB 總線包括一對5V 電源線和一對(D+、D)數(shù)據(jù)信號線。通常,+5V 電源線是紅色,接地線是黑色,D+信號線是綠色,D信號線是白色。USB 總線提供的電源電流最大可以達(dá)到500mA,一般情況下,低功耗的USB 產(chǎn)品可以直接使用USB 總線提供的5V 電源。如果USB 產(chǎn)品通過其它供電方式提供常備電源,那么CH372 應(yīng)該與單片機一起使用該常備電源并且斷開USB總線的電源;如果需要同時使用USB 總線的電源,那么可以通過阻值約為1Ω的電阻R1 連接USB 總線的5V 電源線與USB 產(chǎn)品的5V 常備電源,并且兩者的接地線直接相連接。CH372 的CS固定為低電平,一直處于片選狀態(tài),在單片機程序中,可以控制各個I/O引腳模擬并口時序與CH372 進(jìn)行數(shù)據(jù)交換。比如控制P0P0P07來讀、寫命令。,可選電阻R2 用于在電源斷電后將電解電容C5 中的電能及時釋放掉,使VCC 及時下降到0V,確保在下次通電時CH372 能夠可靠地上電復(fù)位。電容C3 用于CH372 內(nèi)部電源節(jié)點退耦,C3 的獨石或高頻瓷片電容,如果對EMI 沒有要求那么可以省掉C3。電容C4和C5用于外部電源退耦,C4 。晶體X電容C1 和C2 用于CH372的時鐘振蕩電路。X1的頻率是12MHz,C1和C2是容量為15pF30pF 的獨石或高頻瓷片電容。本次系統(tǒng)設(shè)計的USB接口硬件設(shè)計已經(jīng)完成。而且應(yīng)用部分的硬件設(shè)計也已經(jīng)完成,下節(jié)將給出整體硬件設(shè)計的電路圖。 系統(tǒng)硬件整體實現(xiàn) 下位機的應(yīng)用部分是DS18B20,DS18B20采集到溫度信號,并轉(zhuǎn)換成數(shù)字信號然后輸出到單片機AT89C51,單片機對數(shù)字信號進(jìn)行處理,然后將處理的數(shù)據(jù)通過USB接口芯片傳到上位機的USB設(shè)備驅(qū)動程序,上位機的主USB控制驅(qū)動程序接受來自USB設(shè)備驅(qū)動程序的數(shù)據(jù),在計算機端的應(yīng)用軟件進(jìn)行各種操作。反之,計算機的控制命令通過USB總線接口,把控制命令通過USB芯片傳到單片機,由于本系統(tǒng)已經(jīng)對計算機程序的命令編碼過,所以單片機接受來自上位機命令,對其進(jìn)行判斷,從而做出不同的響應(yīng)。 硬件電路整體實現(xiàn)電路圖在附件中給出。5 系統(tǒng)軟件設(shè)計本系統(tǒng)進(jìn)行軟件設(shè)計包括下位機軟件設(shè)計和上位機軟件設(shè)計,下位機軟件設(shè)計可以使用匯編語言和單片機C語言,上位機設(shè)計可以采用的很多計算機高級語言,比如VC++、Delphi、C++ builder等,在這里選擇C++ builder來編寫上位機程序。至于下位機程序,主要有匯編語言、PL/M語言和C語言。匯編語言有執(zhí)行效率高、速度快、與硬件結(jié)合緊密等特點,尤其在I/O端口管理時,使用匯編語言有快捷、直觀的優(yōu)點。但是使用匯編語言相對于高級語言,比如單片機C語言來講,難度要大很多,而且匯編語言的呈現(xiàn)可讀性低、開放性差。所以下位機的程序設(shè)計選擇單片機C語言。下面簡單介紹本次軟件設(shè)計的編程工具。 軟件設(shè)計開發(fā)工具Keil C51是單片機的編寫軟件,是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。C++ builder是Inprise公司1998 年推出的,面向?qū)ο蟮?2位Windows程序設(shè)計開放工具,C++ builder不僅繼承了Delphi使用簡便、功能強大、效率高等特點,而且它還結(jié)合了C++語言的所有優(yōu)點。 C++ builder可以說是至今為止功能最強、最簡單易學(xué)的Windows開發(fā)工具之一。C++ builder 6具有非常友好的集成開發(fā)環(huán)境,提供一百多個VCL組件,使開發(fā)人員不需要太多的時間編碼,就能實現(xiàn)很多復(fù)雜的功能。它的編譯器 能夠自動列出VCL組件的屬性和方法供程序員選擇,而不必手工輸入復(fù)雜的代碼。正式因為這些優(yōu)點,所以本次系統(tǒng)設(shè)計選擇 C++ builder作為上位機軟件設(shè)計的開發(fā)工具。 系統(tǒng)軟件設(shè)計 系統(tǒng)要對溫度進(jìn)行采集,首先必須利用上位機對下位機(單片機)發(fā)出命令,單片機根據(jù)接收到的命令,根據(jù)預(yù)先的規(guī)則對不同的命令做出不同的處理。然后把處理結(jié)果發(fā)回上位機,上位機接收到溫度數(shù)據(jù)后,根據(jù)溫度數(shù)據(jù)畫出數(shù)據(jù)采集圖像。這就是系統(tǒng)要實現(xiàn)功能,根據(jù)這一要求,設(shè)計出系統(tǒng)的軟件。 系統(tǒng)整體模塊圖下面分別設(shè)計下位機和上位機的程序流程圖。單片機端的應(yīng)用程序主要實現(xiàn)的功能就是對DS18B20進(jìn)行采集溫度,把采集到的溫度通過USB接口芯片上傳到計算機端的應(yīng)用程序。 下位機的程序設(shè)計流程圖下位機的程序流程圖中包括單片機和DS18B20和單片機的通信流程圖,以及單片機和USB設(shè)備接口芯片的通信流程圖。這里是單片機如何根據(jù)DS18B20的特性來控制它,進(jìn)行溫度轉(zhuǎn)換,并讀取溫度。把溫度數(shù)據(jù)保存在單片機端。 DS18B20的程序流程圖 單片機先初始化DS18B20溫度傳感器,對其復(fù)位,然后按DS18B20的時序來讀寫命令,DS18B20根據(jù)命令進(jìn)行操作,單片機和DS18B20的通信過程主要為:單片機對DS18B20復(fù)位,跳過讀寫系列號操作(送0xCC命令到DS18B20),啟動溫度轉(zhuǎn)換,再次復(fù)位,送讀溫度命令0xBE,讀出溫度。這就是單片機和DS18B20的通信過程,
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1