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

正文內(nèi)容

紅外報警器-單片機原理及應(yīng)用課程設(shè)計(參考版)

2025-06-08 11:22本頁面
  

【正文】 //得到百位。//得到個位, timesdata[1]=times%100/10。//紅外查詢清零。//報警標(biāo)志清零。//times 計數(shù)器清零。 ) } if(serialdat==255)//如果發(fā)的是 255,則清零。//將查詢標(biāo)志關(guān)閉。//報警標(biāo)志開啟。) else//如果非零。//如果口串口收到 0,則 checkir 標(biāo)志開啟,即 A機中說的握手信號。 serialdat=SBUF。 display_times()。i0。 14 delay_10us(8)。 delay_10us(8)。i)//用于產(chǎn)生一定頻率的方波,始蜂鳴器發(fā)聲。 for(i=//消影。 delay_50us(10)。 PA8255=smg_we[i]。 { PB8255=smg_du[timesdata[i]]。(checkir==0)。i6amp。//先拆解。(為后面與 A 機握手準(zhǔn)備) } void display_times()//顯示 函數(shù) { uchar i。//times 加 1... } checkir=0。(第二次則不要等待,第二次 times 肯定不為 0了) if(!ir)//有紅外。 } 13 void check_ir() { if(!times)//當(dāng) times 為零時(即開機或復(fù)位) if(ir)。 ES=1。 EA=1。//設(shè)置串口為工作方式 1 REN=1。//啟動定時器 1 SM0=0。 TL1=0xfD。 } } } void serial_init()//申明 串口初始化 函數(shù) { TMOD=0x20。 { ring()。//查詢后顯示已接收到紅外的次數(shù)。//查詢紅外。//串口工作初始化 .... while(1)//大循環(huán)。 void main ()//主函數(shù) { COM8255=0x80。 uchar ringflag。 uchar checkir。 uchar serialdat。 12 uchar receiveok。//定義 timesdata數(shù)組,保存 16 進制數(shù)轉(zhuǎn) 10進制數(shù)的數(shù)據(jù) . uint times。//定義“ 0~9“對應(yīng)的數(shù)碼管段碼數(shù)組 unsigned char code smg_we[]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe}。//申明報警函數(shù)。//申明 串 口初始化 函數(shù) void timestrans()。 void display_times()。//位定義蜂鳴器控制引腳 void check_ir()。具體代碼如下: include include include define uint unsigned int define uchar unsigned char define sint signed int define schar signed char define ulong unsigned long sbit ir=P1^1。//當(dāng)?shù)诙伟赐庵袛?1 按鍵時, start 標(biāo)志變?yōu)?0,功能同上。//當(dāng)按一次外中斷 1 按鍵時, start 標(biāo)志變?yōu)?1,供 A 機查詢用于控制開始與暫停發(fā)送紅外。//取得紅外次數(shù)的百位值存 timedata[2]... } void int0() interrupt 0 { serial_send(255)。//取得紅外次數(shù)的個位值存 timedata[0]... timesdata[1]=times%100/10。//發(fā)送完成則軟件清零。//等待發(fā)送完成。//將 要發(fā)送的數(shù)據(jù)通過串口發(fā)送給 B 機。//如果發(fā)送的是 255,則將紅外次數(shù)清零(程序設(shè)計中 ,255 是作為清零的標(biāo)志 ,0 零是作為雙機握手信號, B 機中會提到。防鬼影。 PB8255=0xff。 delay_50us(20)。 PA8255=smg_we[i]。i++)//動態(tài)示次數(shù) ... 10 { PB8255=smg_du[timesdata[i]]。j)//此處把顯示循環(huán) 50次,有延時的作用 for(i=0。見下方詳細函數(shù) for(j=50。 timestrans()。//次數(shù)加 1,記錄紅外次數(shù)。//發(fā)送完成標(biāo)志清零,為下次使用作初始化。完成則執(zhí)行以下。//發(fā)完后,發(fā)關(guān)完成標(biāo)志置 1,供后面計數(shù)查詢。 } irsend=1。 //用于控制調(diào)制的頻率 .. irsend=1。i) { irsend=0。 for(i=50。//外中斷 1為負邊緣觸發(fā)。//外中斷 0為負邊緣觸發(fā)。//開外中斷 1。//開外中斷 0。//開總中斷。 SM1=1。 TR1=1。 TL1=0xfd。//設(shè)置定時器 1為工作方式 2 TH1=0xfd。用于使 B機退出顯示去查詢紅外。 serial_send(0x00)。 display_times()。 serial_send(times)。//記錄紅外次數(shù)。//發(fā)送紅外線。 { if(start)/如果 start 非零,則執(zhí)行以下。//初始化 8255 為工作方式 0,端口為輸出方式 .... 8 init()。//定義一個開始標(biāo)志。//定義一個發(fā)送完成標(biāo)志位。//定義全局變量 times,用于保存紅外發(fā)送的次數(shù)。//定義數(shù)碼管的位選碼 uchar timesdata[6]。 uch
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1