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

正文內(nèi)容

基于arm7的無線的無紙化排隊(duì)叫號系統(tǒng)系統(tǒng)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-15 21:59 本頁面
 

【文章內(nèi)容簡介】 T|LED1。 DelayNS(20)。 IO1CLR=IO1CLR|LED1。 DelayNS(20)。 IO1SET=IO1SET|LED1。 RCVCOMP_ID=0。 UART0_SendBuf()。 UART0_SendBufEx(RcvBuf,RCV_LEN1+2)。 RcvBuf[0]=0x05。 //從機(jī)地址 RFSendPacket((char*)RcvBuf,17)。 } //task2 按鍵掃描 if(SCAN_ID==1) { SCAN_ID=0。 KeyScan()。 } //task3 發(fā)送柜臺號 if(SendDesk_ID==1) { SendDesk_Pro()。 SendDesk_ID=0。 } ifdef WATCHDOG //看門狗喂狗 IRQDisable()。 //關(guān)中斷 WDFEED = 0xAA。 //第一次喂狗啟動(dòng)WDT WDFEED = 0x55。 //喂狗序列 IRQEnable()。 //開中斷 endif } return 0。}void DelayNS (uint32 dly){ uint32 i。 for ( 。 dly0。 dly) for (i=0。 i50000。 i++)。} //短延時(shí)子程序void delay(uint8 t){ uint8 i,j。 for(i=0。it。i++) for(j=0。j10。j++)。 }void VAR_Init(void){ uint8 i。 = 8。 //串口數(shù)據(jù)位 = 1。 //串口停止位 = 0。 //串口校驗(yàn)位 rcv_new = 0。 //串口接收完數(shù)據(jù)標(biāo)志 RSMCHR=0。 //接收數(shù)據(jù)暫存變量 RSMCHR=0。 //判斷接收數(shù)據(jù)用標(biāo)志 RSSMS_ID=0。 //直接接收數(shù)據(jù)標(biāo)志 RCVCOMP_ID=0。 //接收完成標(biāo)志 SCAN_ID=1。 //按鍵掃描定時(shí)標(biāo)志 INPUT1=0。 //按鍵掃描去抖動(dòng)計(jì)數(shù) INPUT1_ID=1。 //按鍵按下放開標(biāo)志 Desk_NUM=0x50。 //柜臺號,初始值為無效柜臺號 SendDesk_ID=0。 //發(fā)送柜臺號標(biāo)志 timerCount=0。 //定時(shí)器計(jì)數(shù)變量 for(i=0。iMaxDeskNum。i++) { DeskDriver[i].allow10s=1。 //初始值1為10秒已經(jīng)過去,可以接受按鍵柜臺號 DeskDriver[i].keyScaned=0。 //初始值0表示還沒有按鍵柜臺號被接受 DeskDriver[i].sendCount=0。 //初始值0表示發(fā)送次數(shù)為0,發(fā)送一次加1 DeskDriver[i].sendOK=0。 //初始值0表示沒發(fā)送成功 DeskDriver[i].timeCnt=0。 //初始值0,定時(shí)計(jì)數(shù)為0,每秒加1 DeskDriver[i].enable=1。 //初始值1表示允許發(fā)送 }}void IO_Init(void){ PINSEL0 = 0x00000005。 //設(shè)置I/O連接到UART0 PINSEL0 =PINSEL0 |0x00050000 。 //配置UART1引腳功能 PINSEL0 =PINSEL0 |0x00005500 。 //配置SPI總線引腳 PINSEL1 = 0x00000001。 // TI_CC_GDO0_PIN 為外部中斷引腳 IO0DIR = 0x00000000。 IO1DIR = 0x00000000。 IO1DIR = IO1DIR|IO1DIR|LED1|LED2|LED3|LED4。 //連LED的引腳配置為輸出引腳 IO0DIR=IO0DIR|KEY_R1| KEY_R2| KEY_R3| KEY_R4。 //行線引腳配置為出輸出引腳 IO0DIR=IO0DIR|MOSI0|SCLK0|TI_CC_CSn_PIN。 //配置SPI的cs片選為輸出 MOSI0|SCLK0| EXTMODE=0x01。 //EINT0使用邊沿激活 EXTPOLAR=0x00。 //下降沿或低電平有效}void TC0_Init(void){ T0TC = 0。 // 定時(shí)器設(shè)置為0 T0PR = 0。 // 時(shí)鐘不分頻 T0MCR = 0x03。 //設(shè)置T0MR0匹配后復(fù)位T0TC,并產(chǎn)生中斷標(biāo)志 T0MR0 = Fpclk / 50。 //20毫秒 100則10ms定時(shí),修改定時(shí)間隔只需修改除數(shù) T0TCR = 0x01。 // 啟動(dòng)定時(shí)器 }void __irq IRQ_Timer0 (void){ timerCount++。 if(timerCount20) // { timerCount=0。 ifdef WIRLTEST TimerSend_ID=1。 endif if(IO1PINamp。LED2) IO1CLR=IO1CLR|LED2。 else IO1SET=IO1SET|LED2。 time1sCount++。 if(time1sCount=3) // { time1sCount=0。 UpdataDesk()。 //更新柜臺號結(jié)構(gòu)體的信息 } sendDeskNum()。 //發(fā)送柜臺號給pc端 } SCAN_ID=1。 //開啟按鍵掃描 T0IR = 0x01。 //清除中斷標(biāo)志,并復(fù)位中斷 VICVectAddr = 0x00。 //通知VIC中斷處理結(jié)束 }void UpdataDesk(void){ uint8 i。 for(i=0。iMaxDeskNum。i++) { if(DeskDriver[i].allow10s==0) //按鍵按下還沒有過10s限定時(shí)間 { DeskDriver[i].timeCnt++。 if((DeskDriver[i].timeCnt==2)|(DeskDriver[i].timeCnt==4)|(DeskDriver[i].timeCnt==5)) { DeskDriver[i].enable=1。 //每隔3秒允許發(fā)送 } if(DeskDriver[i].timeCnt=7) //超過限定時(shí)間,開啟允許接收按鍵,并更新整個(gè)結(jié)構(gòu)體 { DeskDriver[i].allow10s=1。 DeskDriver[i].keyScaned=0。 //初始值0表示還沒有按鍵柜臺號被接受 DeskDriver[i].sendCount=0。 //初始值0表示發(fā)送次數(shù)為0,發(fā)送一次加1 DeskDriver[i].sendOK=0。 //初始值0表示沒發(fā)送成功 DeskDriver[i].timeCnt=0。 //初始值0,定時(shí)計(jì)數(shù)為0,每秒加1 DeskDriver[i].enable=1。 //初始值1表示允許發(fā)送 } } } //end for}void sendDeskNum(void){ uint8 i。 for(i=0。iMaxDeskNum。i++) //論詢所有柜臺結(jié)構(gòu),看是否有滿足發(fā)送條件的 { if((DeskDriver[i].keyScaned==1)amp。(DeskDriver[i].sendOK==0)amp。(DeskDriver[i].enable==1)) { DeskLoadBuf(i)。 //將柜臺號轉(zhuǎn)載到發(fā)送緩沖區(qū) RFSendPacket(SendBuf, PAKT_LEN+1)。 //無線發(fā)射 DeskDriver[i].sendCount++。 //發(fā)送次數(shù)加1 DeskDriver[i].enable=0。 //關(guān)閉允許發(fā)送 return。 } }}void DeskLoadBuf(uint8 deskNum){ SendBuf[0]=OPPO_ADDR。 //對方無線地址 SendBuf[1]=39。a39。 //打頭關(guān)鍵字 SendBuf[2]=39。b39。 SendBuf[3]=(char)deskNum。 //柜臺號碼 SendBuf[4]=0x0d。 //結(jié)尾關(guān)鍵字 SendBuf[5]=0x0a。 }ifdef WATCHDOGvoid WATCHDOG_Init(void){ while(( WDMOD amp。 0x04 ) == 0x04) //判斷看門狗超時(shí)標(biāo)志 { WDMOD = 0x00。 //則軟件清零看門狗超時(shí)標(biāo)志位 } WDTC = 0x5f0000。 //設(shè)置看門狗定時(shí)器參數(shù) WDMOD = 0x03。 //設(shè)置看門狗模式:中斷且復(fù)位 IRQDisable()。 //關(guān)中斷 WDFEED = 0xAA。 //第一次喂狗啟動(dòng)WDT WDFEED = 0x55。 //喂狗序列 IRQEnable()。 //開中斷}endifint8 UART0_Init (uint32 baud, UARTMODE set){ uint32 bak。 /* 參數(shù)過濾 */ if ((baud ==0 ) || (baud 115200)) return (0)。 if (( 5) || ( 8)) return (0)。 if (( == 0) || ( 2)) return (0)。 if ( 4) return (0)。 /* 設(shè)置串口波特率 */ U0LCR = 0x80。 // DLAB = 1 使能除數(shù)所存訪問 bak = (Fpclk 4) / baud。 //外設(shè)時(shí)鐘左移四位相當(dāng)于除以16 相當(dāng)于(Fpclk/16)/16 U0DLM = bak 8。 //除數(shù)高位取16位分頻值的高8位 相當(dāng)于 bak/256 U0DLL = bak amp。 0xFF。 //除數(shù)低位取16位分頻值的低8位 相當(dāng)于 bak%256 /* 設(shè)置串口模式 */ bak = 5。 // 設(shè)置字長 if ( == 2) bak |= 0x04。 // 判
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1