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

正文內(nèi)容

智能小區(qū)安防系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫(kù)吧資料

2025-07-04 04:39本頁面
  

【正文】 } 溫度傳感器18B20 DS18B20的程序見附錄三。 if(RXB[6]==0) LED2=0。 if(RXB[5]==0) LED1=0。// while(!CANBUS)。 TXB[4]=2。 //發(fā)送數(shù)據(jù)字節(jié)個(gè)數(shù)! TXB[2]=ADDR。 TXB[0]=ADDR。// while(!CANBUS)。 else TXB[6]=1。 else TXB[5]=1。 TXB[4]=2。 TXB[2]=ADDR。 }}void CAN_SCAN(){ TXB[0]=ADDR。 /*釋放接收緩存*/ CANBUS=1。i++) { RXB[i]=CANR(p++)。 for(i=0。 if(pamp。 CAN接收數(shù)據(jù)程序?yàn)椋? void CAN_INT() interrupt 0 using 1/*接收中斷*/{ byte i,p。 CANW(CAN_CMR,0x01)。i10。0x04) { p=CAN_TXB。 p=CANR(CAN_SR)。 return dat。 dat=CAN_PORT。 CAN_PORT=0xff。 CAN_PORT=adr。}byte CANR(byte adr) //讀CAN數(shù){ byte dat。 CAN_PORT=dat。 CAN_ALE=0。CAN數(shù)據(jù)發(fā)送的程序代碼為:void CANW(byte adr,byte dat) //寫CAN數(shù){ CAN_ALE=1。 //0xaa,0xd2,0xfa CANW(CAN_CR,0x02)。 //125kBPS CANW(CAN_BTR1,0x1c)。 //驗(yàn)收濾波器需與報(bào)文標(biāo)志碼(從機(jī)的發(fā)送的第一個(gè)字節(jié))一致 CANW(CAN_AMR,0x00)。void CAN_INI() /*初始化部分*/{ CANW(CAN_CR,0x01)。byte idata TXB[10]={1,2,3,4,5,6,7,8,9,10}。byte bdata Acc 。sbit beer = P1^1。sbit LED2 = P1^4。sbit KEY2 = P2^1。sbit da_cs = P3^5。sbit da_in = P3^7。sbit CAN_ALE = P2^7。define CAN_PORT P0define CAN_CR 0 //控制define CAN_CMR 1 //命令define CAN_SR 2 //狀態(tài)define CAN_IR 3 //中斷define CAN_ACR 4 //驗(yàn)收define CAN_AMR 5 //屏蔽define CAN_BTR0 6 //時(shí)序0define CAN_BTR1 7 //時(shí)序1define CAN_OCR 8 //輸出define CAN_TXB 10 //發(fā)送緩沖define CAN_RXB 20 //接收緩沖define CAN_CDR 31 //分頻sbit CAN_WR = P2^5。define WRIT 39。CAN初始化程序代碼為:include include include include define byte unsigned chardefine word unsigned intdefine time0 655362000define BAUD 13define MAIN 1 ///定義主機(jī),從機(jī)地址define ADDR 2define READ 39。CAN初始化,其主要是設(shè)置CAN的通信參數(shù)。單片機(jī)還要把采集的信號(hào)通過CAN總線傳輸?shù)缴衔粰C(jī),在上位機(jī)上顯示出來。元器件的選?。篠JA1000芯片一塊PCA82C250芯片一塊74LS04芯片一塊16MHZ晶振一個(gè)22PF的二極管兩個(gè)60歐姆的電阻一個(gè)150K的電阻一個(gè)4 軟件設(shè)計(jì)本系統(tǒng)的軟件設(shè)計(jì)主要是采集四個(gè)報(bào)警傳感器的報(bào)警信號(hào),再通過發(fā)光二極管顯示,每一個(gè)發(fā)光二極管亮就表示有一種報(bào)警傳感器報(bào)警。而在波特率較低、總線較短時(shí),一般采用斜率控制方式,上升及下降的斜率取決于民的阻值,實(shí)驗(yàn)數(shù)據(jù)表明15~200kΩ為Rs較理想的取值范圍,在該方式下,可以使用平行線或雙絞線作總線。當(dāng)上電復(fù)位時(shí),AT89C52的上電復(fù)位,需要從低到高的電平變化來激活,而SJA1000的17腳RST被激活,需要出現(xiàn)一個(gè)由高電平到低電平的跳變,因此,這必須加一個(gè)反相器。SJA1000的TX1腳懸空,否則,將不能形成CAN協(xié)議所要求的電平邏輯。在本設(shè)計(jì)中。元器件的選?。喊存I選用我們熟悉的四腳矩形按鍵8個(gè)9012PNP放大三極管4個(gè)四位共陽LED數(shù)碼管一塊 AT89C51與CAN總線接口電路。在確定某根行線位置為低電平后,再將行檢測(cè)各列的電平狀態(tài)。在確定有按鍵按下以后,就可以進(jìn)入確定具體閉合鍵的過程。若所有列線均為高電平,則鍵盤中沒有鍵按下。 鍵盤顯示接口電路圖具體掃描法:(1)將全部行線Y0Y3(行)置低電平,然后檢測(cè)列的狀態(tài)。例如,當(dāng)進(jìn)行火災(zāi)報(bào)警時(shí)。P1.4~P1.7口控制的燈依次為正常信號(hào)燈、煤氣信號(hào)燈、火災(zāi)信號(hào)燈和防盜信號(hào)燈。AT89C51的頻率跟ADC0809的頻率不一致,所以選用74LS74進(jìn)行二分頻。ADC0809的轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)EOC接到AT89C51的INT1引腳,當(dāng)A/D轉(zhuǎn)換完成后,EOC變?yōu)楦唠娖?,表示轉(zhuǎn)換結(jié)束,產(chǎn)生中斷。=0時(shí),與寫信號(hào)WR共同選通ADC0809。元器件的選?。篈DC0809芯片一塊插針?biāo)膫€(gè)(三排插針兩個(gè),兩排插折兩個(gè))47K的電阻一個(gè),51歐姆的電阻一個(gè),50K的電阻兩個(gè) AT89C51與ADC0809接口電路。 ADC0809和傳感器的接口電路圖上圖所示的四個(gè)插針分別代表溫度傳感器,煙霧傳感器,煤氣傳感器和防盜傳感器。數(shù)據(jù)接收,整個(gè)微機(jī)測(cè)控系統(tǒng)中的CAN控制器檢測(cè)到總線上有數(shù)據(jù)時(shí)會(huì)自動(dòng)接收總線上的數(shù)據(jù),存入其接收緩沖區(qū),并向AT89C51微控制器發(fā)送接收中斷,啟動(dòng)中斷接收服務(wù)程序,AT89C51通過執(zhí)行中斷接收服務(wù)程序,從CAN控制器的接收緩沖區(qū)讀取數(shù)據(jù),并對(duì)其進(jìn)行進(jìn)一步處理工作。需要注意的是,這些寄存器僅能在復(fù)位期間可寫訪向,因此,在對(duì)這些寄存器初始化前,必須確保系統(tǒng)進(jìn)入了復(fù)位狀態(tài),并且系統(tǒng)中各CAN控制器的總線定時(shí)寄存器的初始化字必須相同。CAN初始化,其主要是設(shè)置CAN的通信參數(shù)。 本單元需要兩個(gè)并行口:一個(gè)作為行信號(hào)輸出,它與顯示器的位選碼共享一個(gè)口,;另一個(gè)作為列信號(hào)的讀入口。每次驅(qū)動(dòng)A/D轉(zhuǎn)換后等待外部中斷1,中斷到來說明A/D轉(zhuǎn)換已經(jīng)完成,通過中斷服務(wù)程序讀取轉(zhuǎn)換得到的數(shù)據(jù)。當(dāng)這些輸出端輸出低電平時(shí),對(duì)應(yīng)的信號(hào)燈便會(huì)發(fā)光報(bào)警。把四個(gè)發(fā)光二極管分別接在AT89C51的P1.4~P1.7口。進(jìn)行防盜報(bào)警時(shí),作者選用了價(jià)格比較合適的熱電釋紅外傳感器RE200B。人體發(fā)出的紅外線,通過菲涅爾濾光片增強(qiáng)后,聚集到紅外感應(yīng)源上。人體有恒定的體溫,一般在37攝氏度,所以會(huì)發(fā)出特定波長(zhǎng)的紅外線。進(jìn)行煤氣報(bào)警。把數(shù)字溫度傳感器AS18B20和煙霧傳感器NIS09C分別接到ADC0809IN4口和IN5口。進(jìn)行火災(zāi)報(bào)警,需要溫度和煙霧兩個(gè)傳感器,當(dāng)溫度達(dá)到一定的度數(shù)和煙霧的濃度達(dá)到一定的百分比時(shí),就進(jìn)行火災(zāi)報(bào)警。 軟件模塊通過上面分析,決定選用C51系列單片機(jī)作為控制器,那么它的軟件編寫就要按照單片機(jī)語言:C語言或匯編語言來編寫,這里選用執(zhí)行效率高的匯編語言編寫。測(cè)量電路的類型視轉(zhuǎn)換元件的不同而定.經(jīng)常采用的有電橋電路和其它特殊電路,加高阻抗輸入電路、脈沖電路、振蕩電路等。(2)轉(zhuǎn)換元件(變換器) 它能將其它物理量直接轉(zhuǎn)換為有確定關(guān)系的電量的元件。除自源型傳感器外,還需外加輔助電源,用框圖表示。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,傳感器輸出信號(hào)的形式應(yīng)盡可能是電量。有時(shí),對(duì)被測(cè)量只進(jìn)行一次變換還不夠,必須進(jìn)行第二次、第三次變換,一直到所希望的能量形式為止。嚴(yán)格地說,應(yīng)該區(qū)別檢測(cè)和變換這兩個(gè)概念。傳感器是一個(gè)從系統(tǒng)接收功率,通常以另一種形式將功率送到第二個(gè)系統(tǒng)中的器件。(4)設(shè)計(jì)時(shí)將SJA1000的CLOCKOUT的時(shí)鐘信號(hào)接至AT89C51的時(shí)鐘電路輸入端,作為AT89C51的外部時(shí)鐘輸入,解決了時(shí)鐘同步問題;SJA1000中斷輸出信號(hào)/INT接至AT89C51的/INT0端,通過中斷方式與AT89C51通信。(3)SJA1000的TX1腳懸空,否則,將不能形成CAN協(xié)議要求的電平邏輯。(2)PCA82C250為CAN控制器和物理總線之間的接口,它可以提供向總線的差動(dòng)發(fā)送能力和CAN控制器的差動(dòng)接收能力,TXD和RXD引腳分別發(fā)送經(jīng)過驅(qū)動(dòng)后的發(fā)送和接收信號(hào)。,在進(jìn)行電路設(shè)計(jì)時(shí)應(yīng)注意以下幾點(diǎn),否則達(dá)不到預(yù)期的效果。而且它與“ISO 11898”標(biāo)準(zhǔn)完全兼容。 PCA82C250是CAN 協(xié)議控制器和物理總線之間的接口。AT89C51是CAN總線接口電路的核心,其承擔(dān)CAN控制器的初始化、CAN的收發(fā)控制等任務(wù)。SJA1000在電路中是一個(gè)總線接口芯片,通過它實(shí)現(xiàn)上位機(jī)與現(xiàn)場(chǎng)微處理器之間的數(shù)據(jù)通信。輸入時(shí)鐘頻率為16MHZ時(shí)鐘,輸出可編程控制。SJA1000是高集成度CAN控制器。對(duì)于不同型號(hào)的CAN總線通信控制器,實(shí)現(xiàn)CAN協(xié)議部分電路的結(jié)構(gòu)和功能大多相同,而與微處理器接口部分的結(jié)構(gòu)和方式存在一些差異。CAN的通信協(xié)議主要由CAN控制器完成。CAN(Controller Area Network)總線,又稱控制器局域網(wǎng),是Bosch公司在現(xiàn)代汽車技術(shù)中領(lǐng)先推出的一種多主機(jī)局域網(wǎng)。因此,本作品選用了由LED組成的7段發(fā)光顯示器,它有簡(jiǎn)單、經(jīng)濟(jì)、易于與單片機(jī)接口等優(yōu)點(diǎn)。單片機(jī)所用的顯示有LED和LCD兩種,從設(shè)計(jì)的難度和成本造價(jià)來說LCD都要高于LED。但需要通過軟件來解決按的識(shí)別、防抖動(dòng)以及如何產(chǎn)生鍵碼的問題。非編碼鍵盤也稱簡(jiǎn)易鍵盤,它的按鍵是排列成行、列矩陣形式的。編碼鍵盤使用方便,也不用編寫太復(fù)雜的程序。 P0 ALE89C51/INT1/WR/RD74LS373CLK AD0~D7 B CEOCV+VSTALE OE==1/21 數(shù)據(jù)采集模塊 單片機(jī)系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。圖中ADC0809的轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)EOC接到89C51的INT1引腳,當(dāng)A/D轉(zhuǎn)換完成后,EOC變?yōu)楦唠娖?,表示轉(zhuǎn)換結(jié)束,產(chǎn)生中斷。圖中ALE信號(hào)與ST信號(hào)連在一起,在WR信號(hào)的前沿寫入地址信號(hào),在其后沿啟動(dòng)轉(zhuǎn)換。ADC0809的通道選擇地址A,B,C分別由AT89C51的P0.0~P0.2經(jīng)地址鎖存器74LS373輸出提供。(3)中斷法:EOC必須經(jīng)過非門接到AT89C51的中斷請(qǐng)求輸入線INT0或INT1上,AT89C51的中斷觸發(fā)方式為下降沿觸發(fā)。單片機(jī)啟動(dòng)ADC0809后,延遲10uS,檢測(cè)EOC,若EOC=0則A/D轉(zhuǎn)換沒有結(jié)束,繼續(xù)檢測(cè)EOC直到EOC=1。單片機(jī)讀取A/D轉(zhuǎn)換結(jié)果的方法有三種(1)延遲法:單片機(jī)啟動(dòng)ADC0809后,延時(shí)130uS以上,可以讀到正確的A/D轉(zhuǎn)換結(jié)果。在A/D轉(zhuǎn)換期間,EOC維持高電平,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),EOC變成高電平。單片機(jī)要想讀到A/D轉(zhuǎn)換結(jié)果,必須使ADC0809的允許輸出控制端OE為高電平,打開三態(tài)輸出鎖存器,A/D轉(zhuǎn)換結(jié)果出現(xiàn)在DB0—DB7上。ADC0809的時(shí)鐘信號(hào)由CLOCK端送入,其最高頻率為640MHz,在這個(gè)最高頻率下ADC0809的A/D轉(zhuǎn)換時(shí)間為100uS左右。GND——接地端。當(dāng)模擬信號(hào)電壓較低時(shí),基準(zhǔn)電壓也可取低于5v的數(shù)值?;鶞?zhǔn)電壓的典型值為+5v,可與電源電壓(+5v)相連,但電源電壓往往有一定波動(dòng),將影響A/D精度。若MC5—51型單片機(jī)兩個(gè)中斷源已用完,則EOC也可與P1口或四口的一條端線相連,不采用中斷方式,采用查詢方式,查得EOC為高電平后,再讀A/D轉(zhuǎn)換值。當(dāng)啟動(dòng)0809A/D轉(zhuǎn)換后;EOC輸出低電平;轉(zhuǎn)換結(jié)束后,EOC輸出高電平,表示可以讀取A/D轉(zhuǎn)換結(jié)果。事實(shí)上也無法將A內(nèi)容寫進(jìn)0809,0809中沒有一個(gè)寄存器能容納A中內(nèi)容,0809的輸入通道是IN0—IN7,輸出通道是D0—D7,因此,執(zhí)行“MOVX@DPTR,A”指令與A中內(nèi)容無關(guān),但DPTR地址應(yīng)指向當(dāng)前A/D的通道地址。FEF8H—FEFFH分別為8路模擬輸入通道的地址。當(dāng)START端輸入一個(gè)正脈沖時(shí),立即啟動(dòng)0809進(jìn)行A/D轉(zhuǎn)換。8路模擬通道地址由A、B、C輸入,在0809的ALE信號(hào)有效時(shí)將該8路地址鎖存(注意0809ALE與803lALE的區(qū)別)。當(dāng)DPTR為FEFFH,且執(zhí)行MOVX A,@DPTR指令后,或非后產(chǎn)生高電平,使0809端有效,0809將A/D轉(zhuǎn)換結(jié)果送入數(shù)據(jù)總線Po口,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1