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

正文內(nèi)容

利用51單片機(jī)linux系統(tǒng)在arm板上顯示的溫度測量儀表-資料下載頁

2024-08-29 09:50本頁面

【導(dǎo)讀】撰寫一份課程設(shè)計(jì)報(bào)告。隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。下進(jìn)行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。需要大量的外圍器件。CE的PDA,僅靠機(jī)內(nèi)電源使用幾天,而一臺筆記本僅僅能夠支持三小時左右。致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。但由于繼電器動作頻繁,可能會因觸點(diǎn)不良而影響正常工作。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩,由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可。更能串接多個數(shù)字溫度傳感器DS18B20進(jìn)行范圍的溫度檢測。因此在溫度檢測這一模塊上,利用DS18B20這一目前比較先。用,通過ARM,最終在電腦上顯示。

  

【正文】 } HD7279A_DATA=0。 HD7279A_CS=1。 return ret。 } 21 void write_hd7279(unsigned char cmd, unsigned char dat) { send_byte(cmd)。 send_byte(dat)。 } unsigned char read_hd7279(unsigned char cmd) { send_byte(cmd)。 return recv_byte()。 } DS18B20 頭文件: ifndef _DS18b20_2020_8_11_ define _DS18b20_2020_8_11_ /*******************************ds18b20***********************************/ sbit DQ =P3^7。 //定義通信端口 define uint unsigned int define uchar unsigned char /*************延時函數(shù) *************/ void delay(unsigned int i) { while(i)。 } /*************初始化函數(shù) *************/ Init_DS18B20(void) 22 { uchar x=0。 DQ = 1。 //DQ 復(fù)位 delay(8)。 //稍做延時 DQ = 0。 //單片機(jī)將 DQ 拉低 delay(80)。 //精確延時 大于 480us DQ = 1。 //拉高總線 delay(14)。 x=DQ。 //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay(20)。 } /*************讀一個字節(jié) *************/ ReadOneChar(void) { uchar i=0。 uchar dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 delay(4)。 } return(dat)。 } /************寫一個字節(jié) **************/ WriteOneChar(unsigned char dat) { 23 uchar i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 } //delay(4)。 } /***************讀取溫度 *************/ uint ReadTemperature(void) { uchar a=0。 uchar b=0。 uint t=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度 a=ReadOneChar()。 b=ReadOneChar()。 t=b。 t=8。 t=t|a。 t=t*。 //有效位到小數(shù)點(diǎn)后 1 位 return(t)。 } 24 /******************************ds18b20 結(jié)束 *********************************/ endif Linux 代碼: include sys/ include sys/ include include //串口操作需要調(diào)用的功能 include include include include define BAUDRATE B9600 //define RS_DEVICE /dev/ttyS0 //串口 0 define RS_DEVICE /dev/ttySAC3 //串口 0 void f1() { int fd。 struct termios oldtio,newtio。//放串口參數(shù) fd=open(RS_DEVICE,O_RDWR|O_NOCTTY)。 tcgetattr(fd,amp。oldtio)。 //把串口原來的配置保存到 oldtio 中,以備后面恢復(fù) bzero(amp。newtio,sizeof(newtio))。 //把 newtio 全部清 0 =BAUDRATE|CS8|CLOCAL|CREAD。 //9600 銆 ?浣嶃€佸拷鐣 CD 25 淇″彿銆佸惎鐢ㄦ帴鏀惰 ? |=IGNPAR。 //蹇界暐濂囧伓 =0。 =0。 [VMIN]=0。 [VTIME]=100。 tcflush(fd,TCIFLUSH)。 // tcsetattr(fd,TCSANOW,amp。newtio)。 //把 newtio 中的參數(shù)設(shè)置給串口 printf(\nready to write/read COM)。 char buf2[16]。 int i。 bzero(buf2,16)。 read(fd,buf2,8)。//從串口讀取 8 個字節(jié)的數(shù)據(jù),保存到 buf2 printf(\n)。 for(i=0。i8。i++) printf(%d %d,buf2[i])。 tcsetattr(fd,TCSANOW,amp。oldtio)。//恢復(fù)串口原來的配置 close(fd)。//關(guān)閉串口 printf(Close OK...\n)。 } int main(int argc, char *argv[]) { while(1) { f1()。 //getchar()。 sleep(1)。 } 26 return 0。 } 27 教師評語
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1