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

正文內(nèi)容

數(shù)字鐘的設(shè)計_畢業(yè)設(shè)計-資料下載頁

2025-08-19 13:22本頁面

【導(dǎo)讀】鐘表的數(shù)字化給人們生產(chǎn)生活。帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的功能。用、通信、網(wǎng)絡(luò)等眾多領(lǐng)域,所有這些都是以鐘表數(shù)字化為基礎(chǔ)的。本文是基于單片機(jī)控制的數(shù)字鐘系統(tǒng)的設(shè)計。此設(shè)計以軟件控制硬件及軟硬件結(jié)合為指導(dǎo)思想,充分發(fā)揮單片機(jī)功能。同時,該數(shù)字鐘系統(tǒng)還具有功耗小、成本低的特點,具有很強(qiáng)的實用性。實現(xiàn)的功能簡單,因此具有一定的可擴(kuò)展性。關(guān)鍵詞:AT89C51單片機(jī);數(shù)碼管顯示;

  

【正文】 3P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1C13 0 p FC23 0 p FX11 2 M H z234567891R P 1RE S P A C K 8V C CV C CB U Z 1B UZ Z E RV C CR31kQ12 N22 2 2R20 .2 kR11kC32 2 u FS W 1S W S P S TS W 2S W S P S T 附錄 2 程序清單 //按下運(yùn)行按鍵,啟動定時器 0,開始計時; //當(dāng)鬧鐘 調(diào)時開關(guān) 閉合時,可通過時分秒調(diào)整按鍵實現(xiàn)鬧鐘預(yù)設(shè)值的調(diào)整; //當(dāng)鬧鐘 調(diào)時開關(guān) 斷開時時,可通過時分秒調(diào)整按鍵實現(xiàn)時鐘當(dāng)前時間的調(diào)整; //在進(jìn)行鬧鐘調(diào)時過程中,數(shù)碼管只顯示 鬧鐘預(yù)設(shè)值,不顯示時鐘當(dāng)前時間,直到 鬧鐘 調(diào)時開關(guān) 閉合; //不可以在設(shè)置鬧鈴的過程中設(shè)置時間 ; //每當(dāng)設(shè)置鬧鈴時,鬧 鐘時間需在之前的基礎(chǔ)上修改; //可通過開關(guān)控制鬧鐘的運(yùn)行; include define uchar unsigned char define uint unsigned int uchar code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//顯示 0~9 數(shù)字 uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}。//顯示 0~9 數(shù)字及小數(shù)點 uchar code table3[]={0xbf,0xb0,0xdb,0xf9,0xf4,0xed,0xef,0xb8,0xff,0xfd}。//數(shù)碼管倒置后顯示小數(shù)點及正立的數(shù)字 uchar dis[6] ={0,0,0,0,0,0}。//對各數(shù)碼管顯示的數(shù)初始化 uchar shihao, second,minite,hour,bsel。 uchar tsecond=0。 uchar tminite=0。 uchar thour=0。 uint i,j,m,n。 sbit P1_0=P1^0。 sbit P1_1=P1^1。 sbit P1_2=P1^2。 sbit P1_3=P1^3。 sbit P1_4=P1^4。 sbit beep=P3^6。 void display()。 void ndisplay()。 void tiaoshi()。 void ntiaoshi()。 delay(m,n) { for(i=m。i0。i) for(j=n。j0。j)。 }//可調(diào)延時程序 void main(void) { TMOD=0x10。//T0 方式 1 定時 TH0=(6553610000)/256。//預(yù)置計數(shù)初值 TL0=(6553610000)%256。 ET0=1。 EA=1。//開中斷 while(1) { if(P1_4==0) { delay(100,100)。//軟件消抖動 if(P1_4==0) ndisplay()。 ntiaoshi()。 } else if(P1_4==1) { delay(100,100)。 if(P1_4==1) display()。 tiaoshi()。 if(P1_3==0) { delay(100,100)。 if(P1_3==0) TR0=1。//啟動定時 while (P1_0==0 )。 } } } } void timer0(void) interrupt 1 using 1//T0 中斷服務(wù)程序 { TH0=(6553610000)/256。//定時時間 10ms/次 TL0=(6553610000)%256。 shihao++。 if(shihao100) { shihao=0。 second++。 if(second=60) { second=0。 minite++。 if(minite=60) { minite=0。 hour++。 if(hour=24) hour=0。 } } } } void display() { dis[0]=second%10。//秒個位 dis[1]=second/10。//秒十位 dis[2]=minite%10。//分個位 dis[3]=minite/10。//分十位 dis[4]=hour%10。//時個位 dis[5]=hour/10。//時十位 P3=bsel。 bsel=0xfe。 P2= table1[dis[0]]。//送秒個位 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table3[dis[1]]。 //送秒十位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table2[dis[2]]。 //送分個位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table3[dis[3]]。 //送分十位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table2[dis[4]]。//送時個位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table1[dis[5]]。//送時十位 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 if(hour==thouramp。amp。minite==tminite)//判斷是否滿足驅(qū)動蜂鳴器的條件 beep=0。// 驅(qū)動蜂鳴器 else beep=1。 delay(500,1000)。//延時 P3=0xff。//數(shù)碼管熄滅 delay(500,1000)。//延時 } void ndisplay() { dis[0]=tsecond%10。 //鬧鐘秒個位 dis[1]=tsecond/10。 //鬧鐘秒十位 dis[2]=tminite%10。 //鬧鐘分個位 dis[3]=tminite/10。 //鬧鐘分十位 dis[4]=thour%10。 //鬧鐘時個位 dis[5]=thour/10。 //鬧鐘時十位 P3=bsel。 bsel=0xfe。 P2= table1[dis[0]]。 送鬧鐘秒個位 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table3[dis[1]]。 //送鬧鐘秒十位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table2[dis[2]]。 //送鬧鐘分個位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table3[dis[3]]。 //送鬧鐘分十位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table2[dis[4]]。 //送鬧鐘時個位和小數(shù)點 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 P2=table1[dis[5]]。 //送鬧鐘時十位 bsel=(bsel1)|1。 delay(10,100)。 P2=0x00。 } void tiaoshi() { while(1) { if(P1_0==0)//判斷秒調(diào)整鍵 { delay(100,100)。//軟件消抖動 if(P1_0==0) { second++。//秒位加 1 if(second=60) //判斷是否超過秒鐘最大值 second=0。 //清零 while (P1_0==0 )。//判斷按鍵松開 } } else if(P1_1==0) //判斷分調(diào)整鍵 { delay(100,100)。 //軟件消抖動 if(P1_1==0) { minite++。//分位加 1 if(minite=60)//判斷是否超過分鐘最大值 minite=0。//清零 while (P1_1==1 )。 //判斷按鍵松開 } } else if(P1_2==0) { delay(100,100)。 //軟件消抖動 if(P1_2==0) { hour++。//時位加 1 if(hour=24) //判斷是否超過時鐘最大值 hour=0。 //清零 while (P1_2==0)。 //判斷按鍵松開 } } } } void ntiaoshi() { while(1) { if(P1_0==0) { delay(100,100)。 if(P1_0==0) { tsecond++。 if(tsecond=60) tsecond=0。 while (P1_0==0 )。 } } else if(P1_1==0) { delay(100,100)。 if(P1_1==0) { tminite++。 if(tminite=60) tminite=0。 while (P1_1==1 )。 } } else if(P1_2==0) { delay(100,100)。 if(P1_2==0) { thour++。 if(thour=24) thour=0。 while (P1_2==0)。 } } } }
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1