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

正文內(nèi)容

基于can總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā)畢業(yè)論文(編輯修改稿)

2025-04-03 09:10 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 據(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口。所以從功能效果上說,用哪個(gè)引腳連接外設(shè)都無所謂。然而,考慮到連線的有序性,本設(shè)計(jì)決定引腳連線設(shè)定如下。 ( 1) 與 MCP2515控制器的連接(對(duì)三個(gè)節(jié)點(diǎn)統(tǒng)一): sbit SCK=P2^3; sbit SI=P2^2; sbit SO =P2^1; sbit CS =P2^0; ( 2) A1節(jié)點(diǎn)中 18b20溫度傳感器的連線: sbit DQ=P2^4; ( 3) A2節(jié)點(diǎn)中按鍵的連線: sbit key=P2^6; ( 4) B節(jié)點(diǎn)中 1602液晶顯示器的連線: sbit en=P0^2; sbit rw=P0^1; sbit rs=P0^0。 整體設(shè)計(jì) 本項(xiàng)目硬件設(shè)計(jì)的連線如圖 。 圖 硬件連線 基于 CAN 總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā) 第 11 頁 共 20 頁 第 3 章 軟 件 設(shè) 計(jì) 在進(jìn)行 CAN總線現(xiàn)場(chǎng)采集控制系統(tǒng)開發(fā)中,我們基于 具體情況 , 主要使用Keil C51軟件 與 proteus professional軟件,采用主流設(shè)計(jì)語言 C語言對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。 C語言功能豐富,表達(dá)能力強(qiáng),目標(biāo)程序效率高,可移植性好,既具有高級(jí)語言的優(yōu)點(diǎn) ,又具有低級(jí)語言的許多特點(diǎn),應(yīng)用十分廣泛 [14]。 CAN 總線系統(tǒng)總體流程 CAN總線的大致流程如圖 。 圖 系統(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)中斷,具體如圖 。 上 電 復(fù) 位 M C U 初 始 化 和 M C P 2 5 1 5 初 始 化等 待 中 斷 有 中 斷 發(fā) 生 ?關(guān) 中 斷定 時(shí) 器 中 斷 ?A N O 通 道 執(zhí) 行 A / D 轉(zhuǎn) 換 讀 M C P 2 5 1 5 中 斷 標(biāo) 志轉(zhuǎn) 換 值 寫 入 M C P 2 5 1 5 發(fā) 送 緩 沖 錯(cuò) 誤 中 斷 錯(cuò) 誤 處 理 程 序向 M C P 2 5 1 5 發(fā) 送 數(shù) 據(jù) 發(fā) 送 請(qǐng) 求 命 令 讀 M C P 2 5 1 5 接 受 過 濾 寄 存 器重 置 定 時(shí) 器 過 濾 匹 配 ? 無 效 報(bào) 文處 理 請(qǐng) 求打 開 中 斷 允 許NYY NYNNY 圖 AT89S52單片機(jī)控制流程 2. 報(bào)文發(fā)送流程圖 由于 MCP2515 CAN獨(dú)立控制器處理報(bào)文接收與報(bào)文發(fā)送的工作原理基 本上一致,因此在這,本設(shè)計(jì)只給出報(bào)文發(fā)送流程圖。 需要注意的有兩個(gè)點(diǎn),仲裁程序和出錯(cuò)處理程序,這兩處的設(shè)計(jì)也正是 CAN協(xié)議的優(yōu)勢(shì),如圖 。 基于 CAN 總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā) 第 13 頁 共 20 頁 開 始任 一T X B n C T R L T X R E Q位 = 1 ?清 零 T X B n C T R L A B T FT X B n C T R L M L O AT X B n C T R L T X E R RC A N 總 線 是 否 可 進(jìn) 行 報(bào) 文 發(fā) 送 ?檢 查 T X B n C T R L T X P 1 : 0 以 確 定 最 高 優(yōu) 先 級(jí) 的 報(bào) 文報(bào) 文 發(fā) 送報(bào) 文 發(fā) 送 成 功 ?T x B n C T R L T X R E Q 位 清 零C A N I N T ET X n I E = 1 ?C A N I N T E . T X n I F置 一產(chǎn) 生 中 斷返 回 開 始是否T X B n C T R L . T X R E Q = 0或 C A N C T R L A B A T = 1 ?否報(bào) 文 出 錯(cuò)或 仲 裁 失 敗 ?T x B n C T R L T XE R R 置 1T x B n C T R L M LO A 置 1C A N I N TE . M E E R E ?C A N I N T E . M E ER F 置 1產(chǎn) 生中 斷是是報(bào) 文出 錯(cuò)仲 裁失 敗是否否是是否否圖 報(bào)文發(fā)送流程 第 14 頁 共 20 頁 部分功能代碼 1. A1板主程序里頭 main()函數(shù) void main() { unsigned char num=0。 unsigned char b[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}。 Init2515()。 //初始化 MCP2515獨(dú)立 CAN控制器 Init_Cpu()。 //初始化微控制器 CPU init_play()。 //初始化顯示 P34=0。 display(10)。 while(1) { unsigned char i=1。 if(key==0) //判斷 A1節(jié)點(diǎn)上的微控制器的 P^ { delay10ms()。 //延時(shí) 10毫秒 while(key==0)。 while(i==1) { read_temp()。 //讀取溫度 ds1820disp()。 //顯示 CAN_Send_onebyte(tvalue)。 //發(fā)送按鍵狀 display(tvalue)。 delay10ms()。 } } } } 2. B板主程序里頭 main()函數(shù) void main() { unsigned char a[8]。 unsigned char key_code。 unsigned char b[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}。 Init2515()。 //初始化 B板獨(dú)立 CAN控制器 MCP2515 Init_Cpu()。 //初始化 B板微控制器 CPU 基于 CAN 總線的數(shù)據(jù)采集控制系統(tǒng)開發(fā) 第 15 頁 共 20 頁 display(11)。 //顯示 該 板號(hào) b板 lcd_init()。 while(1) { lcd(0x80+0x40)。 lcd(Curre:xxxxxxxxxxxxxxxxxxxxxxxxxxxx )。 key_code=CAN_Receive_onebyte()。 gRXFlag=0。 delay_ms(100)。 lcd(0x0c)。 write_hms(11,key_code)。 //寫數(shù)據(jù)分 write_hms(14,key_code)。 //寫數(shù)據(jù)秒 lcd(0x80+0x40)。 lcd(Curre:right turn )。 delay_ms(100)。 } } 3.延時(shí)頭文件代碼 ifndef __FUNCTION_h__ define __FUNCTION_h__ // write your header here //include void delay_ms(unsigned char t) { unsigned char i,j。 for (i=0。it。i++) for(j=0。j33。j++) 。 } void delay10ms(void) //延時(shí)程序 ,延時(shí) 10毫秒 { unsigned char i,j。 for(i=20。i0。i) for(j=248。j0。j)。 } void delay_s(unsigned char t) //延時(shí)程序,延時(shí) 1秒 { unsigned char i,j。 for(i=0。it。i++) { for(j=0。j34135。j++)。 第 16 頁 共 20 頁 } } endif 4. 18B20溫度傳感器讀取溫度值函數(shù)代碼 read_temp() /*讀取溫度值并轉(zhuǎn)換 */ { uchar a,b。 ds1820rst()。 ds1820wr(0xcc)。 //*跳過讀序列號(hào) */ ds1820wr(0x44)。 //*啟動(dòng)溫度轉(zhuǎn)換 */ ds1820rst()。 ds1820wr(0xcc)。 //*跳過讀序列號(hào) */ ds1820wr(0xbe)。 //*讀取溫度 */ a=ds1820rd()。 b=ds1820rd()。 tvalue=b。 tvalue=8。 tvalue=tvalue|a。 if(tvalue0x0fff) tflag=0。 else { tvalue=~tvalue+1。 tflag=1。 } tvalue=tvalue*()。 //溫度值擴(kuò)大 10倍,精確到 1位小 ? return(tvalue)。 } void display(unsigned char num) // 顯示子函數(shù) { P3_5=0。 //選通第一位數(shù)碼管的陽極 位選端 ,即給數(shù)碼管的共陽極供電 P2_6=0。 //選通第二位數(shù)碼管的陽極位選端 ,即給數(shù)碼管的共陽極供電 P1=table[num]。 //將第 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ā) 送至總線上,然后看液晶顯示器能否顯示溫度值。 2.測(cè)試結(jié)果及其分析 測(cè)試過程如表 。 表 測(cè)試數(shù)據(jù)記錄 內(nèi)容 結(jié)果 次數(shù) 硬件連線是否成功 數(shù)碼管能否顯示按鍵值 數(shù)碼管能否顯示溫度值 問題詳細(xì)描述 針對(duì)錯(cuò)誤問題的解釋 針對(duì)錯(cuò)誤問題的解決辦法 第一次 否 否 否 A2節(jié)點(diǎn)上的 CAN控制器的電源燈不斷閃爍 A2節(jié)點(diǎn)上的CAN控制器與微控制器的 SPI接口有可能松動(dòng) 將相應(yīng)的 SPI接口稍微用力壓,使連接嚴(yán)實(shí) 第二次 是 否 否 數(shù)碼管不能顯示任何信號(hào)值 經(jīng)過檢查,原來是 沒加上拉電阻 在 端各接上一個(gè) 120歐姆的上拉電阻 第三次 是 能 否 數(shù)碼管上只能顯示按鍵值 問題應(yīng)該源于18B20溫度傳感器上面 將 18B20的三根引腳線重接一下,保證接觸良好 第四次 是 能 否 如上 問題應(yīng)該出在軟件設(shè)計(jì)上,接下來看相應(yīng)的軟件模塊,發(fā)現(xiàn)自己沒按規(guī)則操作 下次測(cè)試的時(shí)候,當(dāng)系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1