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

正文內(nèi)容

基于單片機的四路搶答器設計資料-文庫吧資料

2024-11-20 14:56本頁面
  

【正文】 } void buz_on(void) { uchar i。 //秒數(shù) write_digit(DIGIT1,number/10)。 write_digit(DIGIT0,LED_code[0])。 //顯示按鍵者號碼 buz_on()。 buz_on()。 //顯示 “0” write_digit(DIGIT1,0x0e)。 buz_on()。 //顯示犯規(guī)者號碼 write_digit(DIGIT1,0x0f)。 //如果 KEY3 被按下,返回 3 else return 4。 //如果 KEY2 被按下,返回 2 else if(key_stateamp。 //如果 KEY1 被按下,返回 1 else if(key_stateamp。 if(key_stateamp。 //讀取 P1 端口的低 4 位 if(key_state==0x0f) //若均為高電平,說明無人按鍵 return 0。 key_stateamp。 } uchar get_key_num() //檢測哪 個參賽者按鍵 { uchar key_state=0。 //4s else intr_counter=200。 //8s else if (P3^4==0) intr_counter=120。 if(P3^6==0) intr_counter=200。 //返回 1 else //如果 20ms 后仍為低電平,確認有按鍵動作 return 0。 //返回 1,表示沒有按鍵動作 else //如果 KEY5 為低,說明可能有按鍵動作 delay_20ms()。 //等待主持人按鍵以進入下一輪 continue。 //主持人按鍵后進入下一輪 } else //倒計時時間到仍無人按鍵 { time_over_handle()。 } } if(key_flg==1) //如果有人在規(guī)定時間內(nèi)答題 { while(control_key==1)。 //停止 T0 運行 } else //否則循環(huán)檢測 { display_time()。//按鍵處理 key_flg=1。key_flg==0) { key_number=getkey_num()。 //蜂鳴器響 500ms while(time_over_flg==0amp。 //讀取倒計時時間 init_t0()。 //等待主持人按鍵以進入下一輪 continue。 //犯規(guī)處理 foul_flg=1。 //檢查是否有人犯規(guī) if(key_number==0) //如果沒有,進行下一次循環(huán) continue。amp。 write_digit(DIGIT2,LED_code[0x0])。 //禁止 T0 運行 write_digit(DIGIT0,LED_code[0x0])。 //設置初始環(huán)境 time_over_flg=0。 max7219_reset()。 //函數(shù)功能:初始化 T0 定時器 void delay_20ms(void)。 //函數(shù)功能:按鍵處理 void time_over_handle(void)。 //函數(shù)功能:顯示倒計時剩余時間 void foul_handle(uchar)。 //函數(shù)功能:檢測主持人是否按鍵 uchar get_key_num(void)。 //底層的硬件驅(qū)動 uchar set_time(void)。 //向控制寄存器寫數(shù)據(jù) void write_digit(uchar,uchar)。 //是否有人在規(guī)定時間內(nèi)按鍵標志 void max7219_reset(void)。 //是否有人犯規(guī)標志 bit time_over_flg。 //在 bdata區(qū) 定義一個變量,便于位操作 sbit byte_7=byte^7。 define TIMER_HBYTE 50000/256 //定時 50ms define TIMER_LBYTE 50000%256 uchar intr_counter。 //定義 控制 MAX7219 的載入使能端 sbit CLK=P2^2。 sbit DIN=P2^4。 sbit LE=P1^4。限于篇幅,這里沒有給出顯示程序,參見 節(jié)中例 125。 圖 四路搶答器程序流程圖 程序如例 134所示。 無論是在規(guī)定時間內(nèi)有人按鍵、在規(guī)定時間內(nèi)無人按鍵或者是有人犯規(guī),都需要主持人再按一下?lián)尨鸢存I,之后單片機根據(jù) U3狀態(tài)決定倒計時時間, 3個數(shù)碼管全部顯示 “0” ,恢復到初始狀態(tài),準備下一輪搶答。 如果在規(guī)定時間內(nèi)無人按鍵,則 U5 顯示 “0” , U6 和 U7顯示 “EE” 以指示無人按鍵。 如果在主持人未按下?lián)尨鸢存I的時候有選手搶答,則此時蜂鳴器響一聲, U5顯示犯規(guī)者的編號, U6和 U7顯示 “FF” 以指示有人犯規(guī)。 如果有競賽者率先在規(guī)定時間內(nèi)按鍵,則蜂鳴器響一聲,數(shù)碼管 U5顯示該競賽者的編號, U6 和 U7 停止更新。 按下?lián)尨鸢存I之后,蜂鳴器響一聲,單片機開始倒計時,數(shù)碼管 U6 和 U7顯示倒計時時間,數(shù)碼管 U5 顯示 “0” 。 在按下?lián)尨鸢存I之前, 3個數(shù)碼管全部顯示 “0” 。如果沒有人為設置,默認為 10s。 蜂鳴器模塊:蜂鳴器在主持人發(fā)出可以搶答信號、有人按下?lián)尨鸢存I和倒計時時間到等 3種情況下發(fā)出蜂鳴聲。其中 U5 用來顯示按鍵者的編號, U U7 在倒計時時顯示還有多長時間,如果有人犯規(guī)搶答, U6~ U7 顯示 “FF” 。 單片機一旦檢測到有按鍵按下,立即將 置為低電平,將按鍵信息鎖存,以免后來的按鍵對其產(chǎn)生影響。 若 通過U3接地,倒計時時間為 10s;若 通過 U3 接地,倒計時時間為 8s,若 通過 U3 接地,倒計時時間為 6s,若 通過 U3接地,倒計時時間為 4s。 完成上述功能的電路如圖 所示。電路應該具有倒計時功能,倒計時時間可以設置并顯示,在規(guī)定時間內(nèi)沒有人搶答則本題作廢。 當?shù)谝粋€人按下按鍵后,則在顯示器上顯示此競賽者的號碼并進行聲音提示, 同時電路將其他搶答按鍵封鎖,使其不起作用 。 本次我們 單片機作為核心部件進行邏輯控制及信號產(chǎn) 生的四路搶答器。 能夠?qū)崿F(xiàn)搶答器功能的方式有多種 。 //設 置超時標志 TR0=0。 intr_counter。 //T0 運行 } void isr_t0(void) interrupt 1 //T0 中斷服務函數(shù) { TH0=TIMER_HBYTE。 //使能 CPU 中斷 ET0=1。 //定時時間為 50ms TL0=TIMER_LBYTE。 //關(guān)蜂鳴器 } void init_t0(void) { TMOD=0x01。i++) //延時 500ms delay_20ms。 //開蜂鳴器 for(i=1。 //秒數(shù)的個位數(shù)字 } void buz_on(void) { uchar i。 //秒數(shù) write_digit(DIGIT1,number/10)。 write_digit(DIGIT0,LED_code[0])。 //顯示按鍵者號碼 buz_on()。 buz_on()。 //顯示 “0” write_digit(DIGIT1,0x0e)。 buz_on()。 //顯示犯規(guī)者號碼 write_digit(DIGIT1,0x0f)。 //如果 KEY3 被按下,返回 3 else return 4。 //如果 KEY2 被按下,返回 2 else if(key_stateamp。 //如果 KEY1 被按下,返回 1 else if(key_stateamp。 if(key_stateamp。 //讀取 P1 端口的低 4 位 if(key_state==0x0f) //若均為高電平,說明無人按鍵 return 0。 key_stateamp。 } uchar get_key_num() //檢測哪個參賽者按鍵 { uchar key_state=0。 //4s else intr_counter=200。 //8s else if (P3^4==0) intr_counter=120。 if(P3^6==0) intr_counter=200。 //返回 1 else //如果 20ms 后仍為低電平,確認有按鍵動作 return 0。 //返回 1,表示沒有按鍵動作 else //如果 KEY5 為低,說明可能有按鍵動作 delay_20ms()。 //等待主持人按鍵以進入下一輪 continue。 //主持人按鍵后進 入下一輪 } else //倒計時時間到仍無人按鍵 { time_over_handle()。 } } if(key_flg==1) //如果有人在規(guī)定時間內(nèi)答題 { while(control_key==1)。 //停止 T0 運行 }
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1