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

正文內(nèi)容

基于數(shù)碼管的電子時鐘設(shè)計-資料下載頁

2024-11-07 21:20本頁面

【導(dǎo)讀】LED數(shù)碼管顯示的設(shè)計方法。論和基本方法,鍛煉動手能力。、獨立收集資料、獨立設(shè)計的能力;培養(yǎng)分析、總結(jié)及撰寫技術(shù)報告的能力。表示時鐘、分鐘和秒鐘;同時一個發(fā)光二極管發(fā)出閃爍。隨著人類科技文明的發(fā)展,人們對于時鐘的要求在不斷地提高。本設(shè)計主要基于單片機技術(shù)原理,設(shè)計制作出一個電子時鐘系統(tǒng)。數(shù)碼管顯示,使用按鍵掃描進行時間校準。這種實現(xiàn)方法的優(yōu)點是電路簡單,性。能可靠,實時性好,時間精確,操作簡單,編程容易。Protues仿真軟件上進行仿真驗證所設(shè)計的時鐘系統(tǒng)穩(wěn)定可靠。圖3-1主程序框圖.....

  

【正文】 function=1。 shan=0。 while(1) { send()。 // 送數(shù) display(a0, a1, a2, a3, a4, a5, a6, a7)。 // 顯示 chuli()。 //處理 } } } } 16 void ini() //初始化 { TMOD=0x01, TH0=0x3c,TL0=0xb0。 TH1=0x3c,TL1=0xb0。 // 定時 50ms中斷一次 EA=1,ET0=1,TR0=0。 ET1=1。TR1=0。 //開中斷 } void chuli() //鍵值處理程序 { switch(key()) { case 0: break。 case 1: // 當(dāng)按鍵 k1按下后 {function++。 // 判斷按下的次數(shù) switch(function) {case 1:TR0=1。TR1=0。shan=0。break。 //一次條秒同時閃爍 case 2: //兩次調(diào)分同時閃爍 case 3: //三次調(diào)分同時閃爍 case 4: TR0=0。TR1=1。shan=1。break。 //四次跳出調(diào)整狀態(tài)時鐘繼續(xù)走時 case 5: function=1。TR0=1。TR1=0。shan=0。break。 //輪流循環(huán) } } break。 case 2: //k2鍵上調(diào) { switch(function) { case 1: break。 case 2: sec++。 if(sec==60) sec=0。break。 case 3: min++。 if(min==60) min=0。break。 case 4: hour++。 if(hour==24) hour=0。break。 } } break。 case 4: { switch(function) { case 1: break。 case 2: sec。 if(sec==255) sec=59。break。 17 case 3: min。 if(min==255) min=59。break。 case 4: hour。 if(hour==255) hour=23。break。 } } break。 } } void timer0() interrupt 1 //定時器 0的中斷服務(wù)程序 { TH0=0x3c,TL0=0xb0。 t0++。 if(t0==20) { t0=0。 sec++。 if(sec==60) { sec=0。 min++。 if(min==60) { min=0。 hour++。 {if(hour==24) hour=0。 } } } } } void timer1() interrupt 3 //定時器 1的中數(shù)服務(wù)程序,對 shan取反,以使燈閃爍 { TH0=0x3c,TL0=0xb0。 t1++。 if(t1==40) { t1=0。 shan=~shan。 18 } } uchar keychuli() { uchar k。 k=P1。 //P1口內(nèi)容送 K k=~k。 //取反 k=(kamp。0xff)。 //屏蔽高 4位 ,如果掃描 8鍵,屏蔽該句。 return(k)。 //返回鍵值 } uchar key() //鍵盤掃描程序 { uchar keyzhi,keyzhii。 //電子鐘鍵盤按鍵鍵值臨時存放 keyzhi=keychuli()。 if(keyzhi!=0) { send()。 display(a0, a1, a2, a3, a4, a5, a6, a7)。 display(a0, a1, a2, a3, a4, a5, a6, a7)。 keyzhi=keychuli()。 if(keyzhi!=0) { keyzhii=keyzhi。 while(keyzhi!=0) { send()。 display(a0, a1, a2, a3, a4, a5, a6, a7)。 display(a0, a1, a2, a3, a4, a5, a6, a7)。 keyzhi=keychuli()。 } keyzhi=keyzhii。 } } return(keyzhi)。 } void display(uchar a7,uchar a6,uchar a5,uchar a4,uchar a3,uchar a2,uchar a1,uchar a0) 19 { P0=table[a7]。 P2=0xfe。 delay(1)。 P0=table[a6]。 P2=0xfd。 delay(1)。 P0=table[a5]。 P2=0xfb。 delay(1)。 P0=table[a4]。 P2=0xf7。 delay(1)。 P0=table[a3]。 P2=0xef。 delay(1) P0=table[a2]。 P2=0xdf。 delay(1)。 P0=table[a1]。 P2=0xbf。 delay(1)。 P0=table[a0]。 P2=0x7f。 delay(1)。 } //將數(shù)送至緩沖單元,當(dāng) shan的標志位為 1 時,再根據(jù)此時的此時的 功能標示,對該位熄滅 void send() { a0=sec%10。 a1=sec/10。 a2=18。 a3=min%10。 a4=min/10。 a5=18。 a6=hour%10。 a7=hour/10。 if(shan==1) 20 {switch(function) { case 2: a0=16,a1=16。break。 case 3: a3=16,a4=16。break。 case 4: a6=16,a7=16。break。 } } } void delay(uint count) //延時子程序基數(shù)為 1毫秒 { uint j。 while(count!=0) { for(j=0。j80。j++)。 } } 附錄二 元件清單 元件 參數(shù) 數(shù)量 電阻 10k 1 個 按鈕開關(guān) / 4 個 AT89C51 芯片 / 1 個 TTL管 (74HC573) / 1 個 發(fā)光二極管 / 1 個 蜂鳴器 / 1 個 8 位數(shù)碼管 / 1 個 晶振 / 1 個 電容 33pF 2 個 上拉電阻 10k 8 個
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1