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

正文內容

基于單片機的煙霧報警電路設計(參考版)

2024-12-05 22:46本頁面
  

【正文】 //接收地址 //***NRF24L01 寄存器指令 ***** define READ_REG 0x00 // 讀寄存器指令 define WRITE_REG 0x20 // 寫寄存器指令 define RD_RX_PLOAD 0x61 // 讀取接收數(shù)據(jù)指 define WR_TX_PLOAD 0xA0 // 寫待發(fā)數(shù)據(jù)指令 define CONFIG 0x00 // 配置收發(fā)狀態(tài), CRC 校驗模式以及收發(fā)狀態(tài)響應方式 。 //***NRF24L01******* define TX_ADR_WIDTH 5 define RX_ADR_WIDTH 5 define TX_PLOAD_WIDTH 2 define RX_PLOAD_WIDTH 2 uint const TX_ADDRESS[5]= {0x34,0x43,0x10,0x10,0x01}。 uchar frq。 sbit LED=P3^4。 sbit CE =P1^5。 sbit MISO =P1^7。 sbit MOSI =P1^1。 typedef unsigned char uint。 return wd。0x80)==1) wd=~wd+1。 wd=(wd8)|wdl。 wdh=ds18b20_read()。 38 ds18b20_write(0xbe)。 ds18b20_init()。 } /* 讀取溫度值 */ unsigned int read_temp() { uchar wdh,wdl。 ds18b20_write(0xcc)。 } return dat。 delayus(7)。 dat=dat|dq。 _nop_()。i0。 dq=1。 } } } /* ds18b20 讀數(shù)據(jù) */ uchar ds18b20_read() { uchar i,dat。 delayus(5)。 delayus(2)。 dq=1。 if(CY==0) { dq=0。i0。 dq=1。//90us dq=1。(i200))i++。//250us dq=1。//1us dq=0。 dq=1。x)。 for(x=z。 } 溫度傳感器程序 36 sbit dq=P2^1。 lcd_wcmd(0xc0)。 } } void jiemian() { 35 lcd_wcmd(0x80)。 } void write_string(uchar *s) { while(*s0) { lcd_wdat(*s)。 } /******設定顯示位置 ***********/ void write_char(uchar X,uchar Y) { lcd_wcmd(0x80+X)。 lcd_wcmd(0x06)。 lcd_wcmd(0x0c)。 en=0。 en=0。 en=1。 P1=date。 en=0。 en=1。 P1=。j++)。i++) for(j=0。 for(i=0。 //延時函數(shù) void delay2(unsigned int x) { unsigned int i。 sbit rw=P0^1。 } Lcd1602 顯示: //*********LCD 端口定義 ******** typedef unsigned char uchar。 TL0=frq。 check_temp()。 Disp_temp()。 Temp_l=20。 Delay(6000)。 star_temp()。 ds18b20_init()。 } void main() { 33 init_t0()。 ET0=1。 TL0=0x00。 } } void init_t0() { TMOD=0x01。} } }jiemian()。 } else {flag=0。 write_char(0x40+11,Temp_l/10)。 Temp_l=Temp_l+5。num++。 while(flag) { if(KEY==0) { delay_ms(10)。 write_char(0x40+11,Temp_l/10)。 lcd_wcmd(0xc0)。} if(num300) { num=0。 while(KEY==0) {delay_ms(10)。 Sound()。 lcd_wcmd(0xc6)。 SPI_RW_Reg(WRITE_REG+STATUS,0XFF)。 TxBuf[1]=0x55。i5。 if(MQ2==0) { delay_ms(50)。 Sound()。 lcd_wcmd(0xc6)。 SPI_RW_Reg(WRITE_REG+STATUS,0XFF)。 TxBuf[1]=0x55。i5。 } } } /* 溫度檢測 */ void check_temp() { uchar i。 TR0=0。 else LED=1。 //延時 10ms,累減頻率值 frq=i。i0。 else LED=1。 //延時 10ms,累加頻率值 frq=i。i } /* 聲光報警 */ void Sound() { uchar i。0x30)。 write_char(11,39。`39。 write_char(9,Temp%10)。.39。 write_char(7,Temp%100/10)。//大概 z*1ms } /* 溫度顯示程序 */ void Disp_temp() { Temp=read_temp()。y0。x0。 /* 延時 */ void delay_ms(uint z) { uint x,y。 sbit BUZZ=P0^6。 //設置發(fā)射速率為 1MHZ,發(fā)射功率為最大值 0dB } /* IO 口定義 */ sbit MQ2=P2^0。 // 設置信道工作為 ,收發(fā)必須一致 SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH)。 // 頻道 0 自動 ACK 應答允許 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01)。 // 寫本地地址 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH)。 SCK=0。 CE=0。 //置高 CE,激發(fā)數(shù)據(jù)發(fā)送 inerDelay_us(10)。 // 裝載數(shù)據(jù) SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e)。 //StandBy I 模式 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH)。 return revale。 revale =1。 if(RX_DR){ CE = 0。 } /*函數(shù): uchar NRF24L01_RxPacket(uchar* rx_buf) 功能:數(shù)據(jù)讀取后放如 rx_buf 接收緩沖區(qū)中 */ uchar NRF24L01_RxPacket(uchar* rx_buf) { uchar revale=0。 // IRQ 收發(fā)完成中斷響應, 16位 CRC ,主接收 CE = 1。 } /*函數(shù): void SetRX_Mode(void) 功能:數(shù)據(jù)接收配置 **/ void SetRX_Mode(void) { CE=0。 CSN = 1。 uchar_ctruchars。 status = SPI_RW(reg)。 } /*函數(shù) : uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars) 功能 : 用于寫數(shù)據(jù):為寄存器地址, pBuf:為待寫入數(shù)據(jù)地址, uchars:寫入數(shù)據(jù)的個數(shù) */ uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars) { uint status,uchar_ctr。 CSN = 1。uchar_ctruchars。 status = SPI_RW(reg)。 } /*函數(shù): uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars) 功能 : 用于讀數(shù)據(jù), reg:為寄存器地址, pBuf:為待讀出數(shù)據(jù)地址, uchars:讀出數(shù)據(jù)的個數(shù) */ uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars) { uint status,uchar_ctr。 CSN = 1。 status = SPI_RW(reg)。 } /**功能: NRF24L01 讀寫寄存器函數(shù) ******/ uint SPI_RW_Reg(uchar reg, uchar value) { uint status。 CSN = 1。 SPI_RW(reg)。 } 27 /**函數(shù): uchar SPI_Read(uchar reg) 功能: NRF24L01 的 SPI 時序 *******/ uchar SPI_Read(uchar reg) { uchar reg_val。 SCK = 0。 SCK = 1。 0x80)。bit_ctr8。 } /**函數(shù): uint SPI_RW(uint uchar) 功能: NRF24L01 的 SPI 寫時序 *****/ uint SPI_RW(uint uchar) { uint bit_ctr。n0。 i++)。 for(i=0。 is。 //******長延時 ***** void Delay(unsigned int s) { unsigned int i。 sbit TX_DS =sta^5。 //接收地址 //***NRF24L01 寄存器指令 ***** define READ_REG 0x00 // 讀寄存器指令 define WRITE_REG 0x20 // 寫寄存器指令 define RD_RX_PLOAD 0x61 // 讀取接收數(shù)據(jù)指 define WR_TX_PLOAD 0xA0
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1