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

正文內(nèi)容

智能小區(qū)安防系統(tǒng)-資料下載頁

2024-12-04 00:51本頁面

【導(dǎo)讀】物有所值,下載后聯(lián)系QQ1246188598拿其它文檔和設(shè)計。提高元器件的可靠性.

  

【正文】 C 變?yōu)楦唠娖?,表示轉(zhuǎn)換結(jié)束,產(chǎn)生中斷。在中斷服務(wù)程序中,將轉(zhuǎn)換好的數(shù)據(jù)送到指定的存儲單元。 AT89C51 的頻率跟 ADC0809 的頻率不一致,所以選用 74LS74 進(jìn)行二分頻。 元器件的選?。? AT89C51 單片機(jī)一塊 ADC0809 芯片一塊 74LS74 芯片一塊 74LS02 芯片一塊 74LS04 芯片兩塊 AT89C51 與光報警接口電路 AT89C51 與光報警接口電路如圖 所示 圖 AT89C51與光報警接口電路圖 把四個發(fā)光二極 管分別接在 AT89C51 的 P1. 4~ P1. 7口。 P1. 4~ P1. 7口 控制的燈依次為正常信號燈 、煤氣 信號燈 、火災(zāi) 信號燈和 防盜 信號燈 。當(dāng)進(jìn)行一種報警時,所對應(yīng)的發(fā)光二極管就會亮。例如,當(dāng)進(jìn)行火災(zāi)報警時, 口的發(fā)光二極管就會亮。 元器件的選取: 四個 340 歐姆的電阻 四個發(fā)光二極管 裝 訂 線 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)報告用紙 第 19 頁 共 51 頁 鍵盤顯示接口電路 鍵盤顯示接口電路如圖 所示。 圖 鍵盤顯示接口電路圖 具體掃描法:( 1)將全部行線 Y0Y1(行)置低電平,然后檢測列的狀態(tài)。只要有一列的電平為低,則表示按鍵 中有鍵被按下,而且閉合的鍵位于低電平與 2 根行線相交叉的 4 個按鍵之中。若所有列線均為高電平,則鍵盤中沒有鍵按下。( 2)判斷閉合鍵所在的位置。在確定有按鍵按下以后,就可以進(jìn)入確定具體閉合鍵的過程。其方法是:依次將行線置低電平,即在置某根行線為低電平時,其線為高電平。在確定某根行線位置為低電平后,再將行檢測各列的電平狀態(tài)。若為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。 元器件的選?。? 按鍵選用我們熟悉的四腳矩形按鍵 8個 9012PNP放大三極管 4個 四位共陽 LED數(shù)碼管一塊 4個 AT89C51 與 CAN 總線接口電路 AT89C51 與 CAN 總線接口電路圖如圖 所示。 圖 AT89C51與 CAN總線接口電路圖 在系統(tǒng)中, SJA1000 的片選信號一般由地址總線經(jīng)譯碼獲得,并由此決定出 CAN 控裝 訂 線 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)報告用紙 第 20 頁 共 51 頁 制器各寄存器的地址。在本設(shè)計中,作者用單片機(jī) AT89C51 的 為片選信號。 SJA1000 的 TX1 腳懸空, RX1 引腳的電位必須維持在約 上,否則,將不能形成 CAN 協(xié)議所要求的電平邏輯。如果系統(tǒng)傳輸距離近,環(huán)境干擾小,可以不用電流隔離,這樣可直接把 82C250 的 VREF 端(約為 Vcc)與 RX1 腳相連,從而簡化了電路。 當(dāng)上電復(fù)位時, AT89C52 的上電復(fù)位,需要從低到高的電平變化來激活,而 SJA1000的 17 腳 RST 被激活,需要出現(xiàn)一個由高電平到低電平的跳變,因此,這必須加一個反相器。 82C50 第 8 腳與地之間的電阻 Rs 稱為斜率電阻,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。而在波特率較低、總線較短時,一般采用斜率控制方式,上升及下降的斜率取決于民的阻值,實驗數(shù)據(jù)表明 15~200kΩ 為 Rs 較理想的取值范圍,在該方式下,可以使用平行線或雙絞線作總線。 在本設(shè)計中, Rs 選用 150K。 元器件的選?。? SJA1000 芯片一塊 PCA82C250 芯片一塊 74LS04 芯片一塊 16MHZ 晶振一個 22PF 的二極管兩個 60 歐姆的電阻一個 150K 的電阻一個 裝 訂 線 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)報告用紙 第 21 頁 共 51 頁 4 軟件設(shè)計 本系統(tǒng)的軟件設(shè)計主 要是采集四個報警傳感器的報警信號,再通過發(fā)光二極管顯示,每一個發(fā)光二極管亮就表示有一種報警傳感器報警。當(dāng)小區(qū)住戶家里出現(xiàn)異常情況時,住戶就用按鍵按下自己家的房間號,來通知小區(qū)控制中心。單片機(jī)還要把采集的信號通過 CAN 總線傳輸?shù)缴衔粰C(jī),在上位機(jī) 上顯示出來。 CAN 總線程序 CAN 總線測控系統(tǒng)的通信軟件分為 3 部分: CAN 初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。 初始化 CAN 初始化 , 其主要是設(shè)置 CAN 的通信參數(shù)。需要初始化的寄存器有:模式寄存器( Peli CAN 模式)、時分寄存器、接收代碼寄存器、屏蔽寄存器、總線定時寄存器、輸出控制寄存器 。 CAN 初始化程序代碼為: include include include include define byte unsigned char define word unsigned int define time0 655362021 define BAUD 13 define MAIN 1 //定義主機(jī),從機(jī)地址 define ADDR 2 define READ ‘ R39。 define WRIT ‘ W39。 define CAN_PORT P0 define CAN_CR 0 //控制 define CAN_CMR 1 //命令 define CAN_SR 2 //狀態(tài) define CAN_IR 3 //中斷 define CAN_ACR 4 //驗收 define CAN_AMR 5 //屏蔽 define CAN_BTR0 6 //時序 0 define CAN_BTR1 7 //時序 1 define CAN_OCR 8 //輸出 define CAN_TXB 10 //發(fā)送緩沖 裝 訂 線 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)報告用紙 第 22 頁 共 51 頁 define CAN_RXB 20 //接收緩沖 define CAN_CDR 31 //分頻 sbit CAN_WR = P2^5。 sbit CAN_RD = P2^6。 sbit CAN_ALE = P2^0。 sbit CAN_RST = P1^0。 sbit da_in = P3^7。 sbit da_clk = P3^6。 sbit da_cs = P3^5。 sbit KEY1 = P2^2。 sbit KEY2 = P2^3。 sbit LED1 = P1^3。 sbit LED2 = P1^4。 sbit LED7 = P1^7。 sbit beer = P1^1。 bit CANBUS。 byte bdata Acc 。 sbit Acc7=Acc^7。 byte idata TXB[10]={1,2,3,4,5,6,7,8,9,10}。 //第一個為報文標(biāo)志碼 byte idata RXB[10]。 void CAN_INI() /*初始化部分 */ { CANW(CAN_CR,0x01)。 CANW(CAN_ACR,MAIN)。 //驗收濾波器需與報文標(biāo)志碼 (從機(jī)的發(fā)送的第一個字節(jié) )一致 CANW(CAN_AMR,0x00)。 CANW(CAN_BTR0,0x42)。 //125kBPS CANW(CAN_BTR1,0x1c)。 CANW(CAN_OCR,0x1A)。 //0xaa,0xd2,0xfa CANW(CAN_CR,0x02)。 //**中斷使能 } 數(shù)據(jù)發(fā)送 數(shù)據(jù)發(fā)送 , 現(xiàn)場的各傳感器把環(huán)境多參數(shù)的檢測信號(數(shù)字量、模擬量、開關(guān)量)進(jìn)行轉(zhuǎn)換處理后,發(fā)向 CAN 控制器的發(fā)送緩沖區(qū),然后啟動 CAN 控制器的發(fā)送命令,此時 CAN 控制器將自動 向總線發(fā)送數(shù)據(jù),不再需傳感器的微控制器進(jìn)行干預(yù)。 裝 訂 線 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)報告用紙 第 23 頁 共 51 頁 CAN 數(shù)據(jù)發(fā)送的程序代碼為: void CANW(byte adr,byte dat) //寫 CAN 數(shù) { CAN_ALE=1。 CAN_PORT=adr。 CAN_ALE=0。 CAN_WR=0。 CAN_PORT=dat。 CAN_WR=1。 } byte CANR(byte adr) //讀 CAN 數(shù) { byte dat。 CAN_ALE=1。 CAN_PORT=adr。 CAN_ALE=0。 CAN_PORT=0xff。 CAN_RD=0。 dat=CAN_PORT。 CAN_RD=1。 return dat。 } void CAN_SEND() /*發(fā)送數(shù)據(jù)部分 */ { byte i,p。 p=CANR(CAN_SR)。 if (pamp。0x04) { p=CAN_TXB。 /*p 指向發(fā)送緩存首址 */ for(i=0。i10。i++) CANW(p++,TXB[i])。 CANW(CAN_CMR,0x01)。 /*請求發(fā)送 */ } } 裝 訂 線 桂林電子科技大學(xué)畢業(yè)設(shè)計(論文)報告用紙 第 24 頁 共 51 頁 接收數(shù)據(jù) 數(shù)據(jù)接收 , 整個微機(jī)測控系統(tǒng)中的 CAN 控制器檢測到總線上有數(shù)據(jù)時會自動接收總線上的數(shù)據(jù),存入其接收緩沖區(qū),并向 AT89C51微控制器發(fā)送接收中斷,啟動中斷接收服務(wù)程序, AT89C51通過執(zhí)行中斷接收服務(wù)程序,從 CAN 控制器的接收緩沖區(qū)讀取數(shù)據(jù),并對其進(jìn)行進(jìn)一步處理工作。 CAN 接收數(shù)據(jù)程序為: void CAN_INT() interrupt 0 using 1 /*接收中斷 */ { byte i,p。 p=CANR(CAN_IR)。 if(pamp。0x01) { p=CAN_RXB。 for(i=0。i10。i++) { RXB[i]=CANR(p++)。 } CANW(CAN_CMR,0x04)。 /*釋放接收緩存 */ CANBUS=1。// LED2=1。 } } void CAN_SCAN() { TXB[0]=ADDR。 TXB[1]=8。 TXB[2]=ADDR。 TXB[3]=WRIT。 TXB[4]=2。 if(KEY1==0) TXB[5]=0。 else TXB[5]=1。 if(KEY2==0) TXB[6]=0。 else TXB[6]=1。 CAN_SEND()。 // while(!CANBUS)。 //等待接收完標(biāo)志 CANBUS=0。 TXB[0]=ADDR。 //總線地址 TXB[1]=8。 //發(fā)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1