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

正文內(nèi)容

基于can總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā)畢業(yè)論文-文庫吧資料

2025-03-06 09:10本頁面
  

【正文】 自己沒按規(guī)則操作 下次測(cè)試的時(shí)候,當(dāng)系統(tǒng)上電初始化完成后,應(yīng)該先給 A1節(jié)點(diǎn)的 P2^6端口一個(gè)低電平的命令,這樣 A1節(jié)點(diǎn)才開始發(fā)送溫度信號(hào) 第五次 是 能 能 第 18 頁 共 20 頁 結(jié) 論 畢業(yè)論文實(shí)際是 培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們今后即將步入社會(huì)走向工作崗位的實(shí)際工作能力的具體訓(xùn)練和考察過程。 //將第 num個(gè)顯示編碼送 P0口 } 基于 CAN 總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā) 第 17 頁 共 20 頁 第 4 章 測(cè) 試 結(jié) 果 1.測(cè)試步驟 ( 1)利用電腦通過下載器將程序編譯燒制入單片機(jī) AT89S52中, A1節(jié)點(diǎn)拷貝 A1板程序, A2節(jié)點(diǎn)拷貝 A2板程序, B節(jié)點(diǎn)拷貝 B板程序; ( 2)上電使總線復(fù)位 ,并測(cè)試硬件連線是否連通 ; ( 3) A2節(jié)點(diǎn)發(fā)送一個(gè)按鍵信號(hào),看液晶顯示器能否顯示; ( 4) A1節(jié)點(diǎn)檢測(cè)到的溫度值,通過按鍵發(fā) 送至總線上,然后看液晶顯示器能否顯示溫度值。 //選通第一位數(shù)碼管的陽極 位選端 ,即給數(shù)碼管的共陽極供電 P2_6=0。 //溫度值擴(kuò)大 10倍,精確到 1位小 ? return(tvalue)。 tflag=1。 if(tvalue0x0fff) tflag=0。 tvalue=8。 b=ds1820rd()。 //*跳過讀序列號(hào) */ ds1820wr(0xbe)。 //*啟動(dòng)溫度轉(zhuǎn)換 */ ds1820rst()。 ds1820wr(0xcc)。 第 16 頁 共 20 頁 } } endif 4. 18B20溫度傳感器讀取溫度值函數(shù)代碼 read_temp() /*讀取溫度值并轉(zhuǎn)換 */ { uchar a,b。j34135。it。 } void delay_s(unsigned char t) //延時(shí)程序,延時(shí) 1秒 { unsigned char i,j。j0。i0。 } void delay10ms(void) //延時(shí)程序 ,延時(shí) 10毫秒 { unsigned char i,j。j33。it。 } } 3.延時(shí)頭文件代碼 ifndef __FUNCTION_h__ define __FUNCTION_h__ // write your header here //include void delay_ms(unsigned char t) { unsigned char i,j。 lcd(Curre:right turn )。 //寫數(shù)據(jù)分 write_hms(14,key_code)。 lcd(0x0c)。 gRXFlag=0。 lcd(Curre:xxxxxxxxxxxxxxxxxxxxxxxxxxxx )。 //顯示 該 板號(hào) b板 lcd_init()。 //初始化 B板獨(dú)立 CAN控制器 MCP2515 Init_Cpu()。 unsigned char b[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}。 } } } } 2. B板主程序里頭 main()函數(shù) void main() { unsigned char a[8]。 //發(fā)送按鍵狀 display(tvalue)。 //讀取溫度 ds1820disp()。 //延時(shí) 10毫秒 while(key==0)。 while(1) { unsigned char i=1。 //初始化顯示 P34=0。 //初始化 MCP2515獨(dú)立 CAN控制器 Init_Cpu()。 unsigned char b[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}。 需要注意的有兩個(gè)點(diǎn),仲裁程序和出錯(cuò)處理程序,這兩處的設(shè)計(jì)也正是 CAN協(xié)議的優(yōu)勢(shì),如圖 。 圖 系統(tǒng)總流程 第 12 頁 共 20 頁 程序流程圖 1. 單片機(jī) AT89S52處理信號(hào)流程圖 當(dāng)整個(gè)系統(tǒng)上電復(fù)位時(shí),首先 MCU與 MCP2515被初始化,接著等待中斷,當(dāng)確定中斷發(fā)生,先要關(guān)掉中斷(防止其他中斷進(jìn)入),然后再響應(yīng)中斷,具體如圖 。 C語言功能豐富,表達(dá)能力強(qiáng),目標(biāo)程序效率高,可移植性好,既具有高級(jí)語言的優(yōu)點(diǎn) ,又具有低級(jí)語言的許多特點(diǎn),應(yīng)用十分廣泛 [14]。 整體設(shè)計(jì) 本項(xiàng)目硬件設(shè)計(jì)的連線如圖 。然而,考慮到連線的有序性,本設(shè)計(jì)決定引腳連線設(shè)定如下。 表 1602液晶顯示器各引腳功能表 引腳號(hào) 引腳名 電平 輸入 /輸出 作用 1 VSS 電源地 2 VCC 電源( 5V) 3 VEE 對(duì)比調(diào)整電壓 4 RS 0/1 輸入 0=輸入指令 1=輸入數(shù)據(jù) 5 R/W 0/1 輸入 0=向 LCD寫入指令或數(shù)據(jù) 1=從 LCD讀取信息 6 E 1,1至 0 輸入 使能信號(hào), 1時(shí)讀取信息 1至 0(下降沿)執(zhí)行指令 7 DB0 0/1 輸入 /輸出 數(shù)據(jù)總線 line0(最低位) 8 DB1 0/1 輸入 /輸出 數(shù)據(jù)總線 line1 9 DB2 0/1 輸入 /輸出 數(shù)據(jù)總線 line2 10 DB3 0/1 輸入 /輸出 數(shù)據(jù)總線 line3 11 DB4 0/1 輸入 /輸出 數(shù)據(jù)總線 line4 12 DB5 0/1 輸入 /輸出 數(shù)據(jù)總線 line5 13 DB6 0/1 輸入 /輸出 數(shù)據(jù)總線 line6 14 DB7 0/1 輸入 /輸出 數(shù)據(jù)總線 line7(最高位) 15 A +VCC LCD背光電源正極 16 K 接地 LCD背光電源負(fù)極 第 10 頁 共 20 頁 CAN 總線現(xiàn)場(chǎng)的整體設(shè)計(jì) 單片機(jī)引腳的設(shè)定 AT89S52中 P0、 P P和 P3四個(gè)端口的最主要的共同點(diǎn)是:都是具有 8位的雙向 I/O口。在本設(shè)計(jì)中的 1602是 16腳的,1602的引腳圖如圖 。在此,我選擇第一種。 圖 DS18B20 芯片封裝 基于 CAN 總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā) 第 9 頁 共 20 頁 1602 液晶顯示器 所謂 1602是指顯示的內(nèi)容為 16*2,即可顯示兩行,每行 16個(gè)字符。 ( 1) 全數(shù)字溫度轉(zhuǎn)換及輸出; ( 2) 先進(jìn)的單總線數(shù)據(jù)通信; ( 3) 最高 12位分辨率,精度可達(dá)正負(fù) ; ( 4) 12位分辨率時(shí)的最大工作周期位 750毫秒; ( 5) 可選擇寄生工作方式; ( 6) 檢測(cè)溫度范圍為 55攝氏度 +125攝氏度; ( 7) 內(nèi)置 EEPROM,限溫報(bào)警功能; ( 8) 64位光刻 ROM,內(nèi)置產(chǎn)品序列號(hào),方 便多級(jí)掛接 [13]。尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓情況 (以太網(wǎng)則有可能出現(xiàn)這種情況 ); ( 4) CAN只需通過報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)即全局廣播等方式傳送接收數(shù)據(jù),無需專門的 “調(diào)度 ”; ( 5) CAN上的節(jié)點(diǎn)數(shù)最多可達(dá) 110個(gè) (主要取決于總線驅(qū)動(dòng)電路 ); ( 6) CAN采用短幀結(jié)構(gòu),單幀最大長(zhǎng)度僅 150位,傳輸時(shí)間短,從而保證了通信的實(shí)時(shí)性,受干擾概率低 ; ( 7) CAN的每幀信息都有 CRC校驗(yàn)及其他檢錯(cuò)措施,降低了數(shù)據(jù)出錯(cuò)率,保證 了數(shù)據(jù) 通信的可靠性; ( 8) CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響 [8][12]。 CAN協(xié)議的特點(diǎn)如下。 CAN 協(xié)議的原理 CAN的 ISO/OSI參考模型分層結(jié)構(gòu)如圖 。 1991年 9月 Philips半導(dǎo)體公司制定并發(fā)布了 CAN技術(shù)規(guī)范 (版本 ),該技術(shù)規(guī)范包括 A部分和 B兩部分,其中 CAN報(bào)文的標(biāo)準(zhǔn)格式; 標(biāo)準(zhǔn)和擴(kuò)展兩種格式。 CAN總線是德國(guó) Bosch公司為解決汽車監(jiān)控系統(tǒng)中的復(fù)雜技術(shù)難題而設(shè)計(jì)的數(shù)字信號(hào)通信協(xié)議,它屬于總線式串行通信網(wǎng)絡(luò)。 TXCAN:連接到 CAN總線的發(fā)送輸出引腳; RXCAN:連接到 CAN總線的接收輸入引腳; CLKOUT:帶可編程預(yù)分頻器的時(shí)鐘輸出引腳; OSC2:振蕩器輸出; OSC1:振蕩器輸入; VSS:邏輯和 I/O引腳的參考地; INT:中斷輸出引腳; SCK: SPI接口的時(shí)鐘輸入引腳; SI: SPI接口的數(shù)據(jù)輸入引腳; SO: SPI接口的數(shù) 據(jù)輸出引腳; CS: SPI接口的片選輸入引腳; RESET:低電平有效的器件復(fù)位輸入引腳; VDD:邏輯和 I/O引腳的正電源 [7]。 另外, MCP2515有兩種封裝類型: 18引腳 PDIP/SOIC與 20引腳 TSSOP,在此項(xiàng)目中,我使用 18引腳 PDIP/SOIC,它的引腳如圖 。 MCP2515自帶的兩個(gè)驗(yàn)收屏蔽寄存器和六個(gè)驗(yàn)收濾波寄存器可以過濾掉不想要的報(bào)文,因此減少了主單片機(jī)的開銷。 圖 AT89S52引腳 第 6 頁 共 20 頁 MCP2515 獨(dú)立 CAN 控制器的介紹 MCP2515是 Microchip的一款獨(dú)立控制器局域網(wǎng)絡(luò)( CAN)協(xié)議控制器,完全支持 CAN 。 ( 1) 擁有靈巧的 8位 CPU和在線可編程 FLASH; ( 2) 晶片內(nèi)部具有時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz); ( 3) 內(nèi)部程序存儲(chǔ)器( ROM)為 8KB; ( 4) 內(nèi)部數(shù)據(jù)存儲(chǔ)器( RAM)為 256B; ( 5) 32個(gè)可編程 I/O口線; ( 6) 8個(gè)中斷向量源; ( 7) 三個(gè) 16位定時(shí)器 /計(jì)數(shù)器 [4]。在 B節(jié)點(diǎn)上,數(shù)據(jù)幀被放在 MCP2515控制器的接收緩沖器中,接著把它轉(zhuǎn)換成電平信號(hào)發(fā)送給 AT89S52單片機(jī),最后在 1602液晶顯示器上顯示出來。 功能簡(jiǎn)介:在 A1節(jié)點(diǎn)上, 18B20溫度傳感器采集溫度值,由 AT89S52單片機(jī)處理發(fā)送給 MCP2515控制器,接著 MCP2515控制器把溫度信號(hào)轉(zhuǎn)換為 CAN數(shù)據(jù)幀的形式放在發(fā)送緩沖器里,同時(shí)查看 CAN總線電平,判斷是否有其他節(jié)點(diǎn)在使用總線,如果沒有,便開始發(fā)送數(shù)據(jù)幀。 系統(tǒng)總體結(jié)構(gòu)如圖 。 最終方案 經(jīng)過反復(fù)論證,我們最終確定的方案如下。 方案 2: A1節(jié)點(diǎn)采用 A1母版上的 CMOS電池供電, A B節(jié)點(diǎn)一樣,考慮到AT89S52的電壓極性引腳數(shù)不夠,所以使用了 CAN接線板,它上面提供了兩排電壓極性引腳,一組可作為 CAN總線的 ,一組便可作為擴(kuò)展的電源引腳使用,這樣, 1602液晶顯示 器與 18B20溫度傳感器就被供電了。 數(shù)碼管顯示模塊的選定 本設(shè)計(jì)中選擇 LCD1602液晶顯示器,因?yàn)?1602是字符型液晶,能顯示字母與數(shù)字,控制簡(jiǎn)單,成本較低 [5]。 溫度傳感器模塊的選定 由于在工業(yè)現(xiàn)場(chǎng)中,安裝的傳感器最好耐磨耐碰,體積小,接線方便,易于封裝,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。片上 Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。 微控制器控制模塊的選定 由于 AT89S52是一種低功耗 , 高性能 CMOS 8位微控制器,具有 8K在系統(tǒng)可編程 Flash 存儲(chǔ)器。 MCP2515:最大的優(yōu)點(diǎn)是價(jià)錢便宜,與單片機(jī)是通過 SPI接口的,接線簡(jiǎn)單只需要 4根線即可 [2][3]。 SJA1000:主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制。 CAN 節(jié)點(diǎn) 傳感器 總線配置、采集和控制節(jié)點(diǎn) CAN 節(jié)點(diǎn) 執(zhí)行器 CAN 節(jié)點(diǎn) 顯示器 ... ... 基于 CAN 總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā) 第 3 頁 共 20 頁 圖 系統(tǒng)設(shè)計(jì)方案 其中 A A2 和 B 都是由微控制器與 CAN 獨(dú)立控制器組成的 CAN 節(jié)點(diǎn),其中 A1 外接了一個(gè)溫度傳感器用于采集周圍的溫度, B 板外接一個(gè)數(shù)碼管顯示器用于顯示溫度傳感器采集到的溫度, A2 板用于向總線手動(dòng)發(fā)送摁鍵中斷信號(hào)。 總體設(shè)計(jì)方案 總體方案為:在整體上分為兩大模塊,分別是 CAN節(jié)點(diǎn)和 CAN總線。系統(tǒng)設(shè)計(jì)任務(wù)如圖 所示。 第 2 頁 共 20 頁
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1