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

正文內(nèi)容

基于at89c51的99秒倒計時器設(shè)計(編輯修改稿)

2024-12-16 16:06 本頁面
 

【文章內(nèi)容簡介】 函數(shù)ankey()矩陣按鍵的原理和方法:矩陣按鍵的兩端都與單片機的I/O口相連,在檢測時,人為的通過單片機I/O口送出低電平。檢測時,先送一行為低電平,其余幾列全為高電平,確定行數(shù),然后立即輪流檢測一次各列是否有低電平,若檢測到某一行為低電平,則確定列數(shù),這樣就可以確定按下那個數(shù)字。本設(shè)計用的是4行3列矩陣按鍵,它接AT89C51單片機的P1口,接法如圖所示:當按下0~9數(shù)字鍵時,會產(chǎn)生相應(yīng)數(shù)值賦給矩陣按鍵掃描函數(shù)中以定義的參數(shù)key,當按下*或鍵時,會分別產(chǎn)生10或11賦給key。若key=10,則將前面按下的數(shù)字送給顯示器;若key=11時調(diào)用對矩陣按鍵掃描進行相應(yīng)處理函數(shù)text(uchar )且key賦給它,text(uchar )函數(shù)對key值進行相應(yīng)處理:如果只按下一次數(shù)字鍵,那這數(shù)字就會是倒計時的個位,如果按下兩次數(shù)字鍵,那第一次的數(shù)字就會是倒計時的十位,第二次數(shù)字的數(shù)字就會是倒計時的個位,當按下或*鍵時,開始倒計時。動態(tài)數(shù)碼管顯示函數(shù)動態(tài)數(shù)碼管顯示就是輪流向各位數(shù)碼管送出段選及相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人眼感覺各位數(shù)碼管同時都在顯示,實際上多位數(shù)碼管是一位一位輪流顯示的,只是輪流比較快,我們分辨不出來。本設(shè)計用的是兩位動態(tài)共陰數(shù)碼管顯示,它和單片機的連接如圖所示:其中那排阻是驅(qū)動電路。復(fù)位電路如圖:RST為復(fù)位信號輸入端,高電平有效。系統(tǒng)上電后,當已經(jīng)進行過倒計時,這時想進行不同時間的倒計時,只要按下復(fù)位按鈕后,就可以進行新的倒計時。總電路圖六、總體程序include define uchar unsigned chardefine uint unsigned int sbit sw=P0^6。 //十位位選sbit gw=P0^7。 //個位位選sbit led=P3^7。//LED燈uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//編碼定義uchar numt0,num。void delayms(uint)。void text(uchar)。void display(uchar numdis) //動態(tài)數(shù)碼管顯示子函數(shù){ uchar shi,ge。 //分離兩個分別要顯示的數(shù) shi=numdis/10。 ge=numdis%10。 sw=0。 P2=table[shi]。 //送十位段選數(shù)據(jù) delayms(5)。 //延時 sw=1。 gw=0。 P2=table[ge]。 //送個位段選數(shù)據(jù) delayms(5)。 gw=1。}void delayms(uint x)//延時x ms { uint i,j。 for(i=x。i0。i) //i=x即延時約x毫秒 for(j=110。j0。j)。}void ankey() // 鍵盤掃描{ uchar temp,key。 P1=0xf7。//第1行 11110111 temp=P1。 temp=tempamp。0xf0。//temp低4位清0; if(temp!=0xf0) //判斷是否有鍵按下 { delayms(5)。 //延時,消除抖動 { temp=P1。 //重新讀取P1口 switch(temp)//判斷哪個鍵按下 { case 0xe7: key=1。 break。 case 0xd7: key=2。 break。 case 0xb7: k
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1