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

正文內(nèi)容

基于51單片機的電子記分牌的設計-資料下載頁

2024-11-17 21:43本頁面

【導讀】單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。此裝置利用低功耗、高性能CMOS8. 況進行比分的修改和時間的準確顯示。本文詳細地介紹了系統(tǒng)硬件與軟件的設計。硬件設計中,完成了LED數(shù)碼管顯示、按鍵控制系統(tǒng)設計以及輔助功能。軟件設計中,完成了功能選擇、倒計時。本文還包括通過單片機實現(xiàn)籃。球記分牌功能的整個設計流程,采用C語言編寫程序。該籃球記分牌硬件結構。小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,開發(fā)較為容易。而美國ATMEL公司開發(fā)生產(chǎn)。能,尤其是特殊的獨特的一些功能。一個不是很復雜的功能要是用美國50年代。但是如果要是用美國70年代成功投放市場的系列單片機,結果就會。通用型/專用型這是按單片機適用范圍來區(qū)分的。例如,80C51是通用型單。的溫度測量控制電路。成本和芯片體積,這類單片機稱為非總線型單片機??刂菩?家電型這是按照單片機大致應用的領域進行區(qū)分的。

  

【正文】 設計按鍵部分的源代碼: void key_scan() { if(key1==0) { delayms(1)。 if(key1==0) { key1_n++。 } } else if(key2==0) { delayms(1)。 if(key2==0) { key2_n++。 } } else if(key3==0) { delayms(1)。 if(key3==0) { key3_n++。 } } else if(key4==0) { delayms(1)。 if(key4==0) { key4_n++。 } } else if(set_secd_flag==0amp。amp。key5==0) { delayms(1)。 if(key5==0) { key5_n++。 } } else if(set_minu_flag==0amp。amp。key6==0) { delayms(1)。 if(key6==0) { key6_n++。 } } else if(key7==0) { delayms(1)。 if(key7==0) { key7_n++。 speaker=0。 } } else if(key8==0) { delayms(1)。 if(key8==0) { key8_n++。 } } } void key_pro() { int s。 if(key1_n0amp。amp。key1==1)//a+ { key1_n=0。 if(set_minu_flag==0amp。amp。set_secd_flag==0)scoa++。 else if(set_minu_flag==1amp。amp。set_secd_flag==0)minu++。 else if(set_minu_flag==0amp。amp。set_secd_flag==1)secd++。 if(scoa999)scoa=999。 if(minu59)minu=0。 if(secd59)secd=0。 } else if(key2_n0amp。amp。key2==1)//a { key2_n=0。 if(set_minu_flag==0amp。amp。set_secd_flag==0)scoa。 else if(set_minu_flag==1amp。amp。set_secd_flag==0)minu。 else if(set_minu_flag==0amp。amp。set_secd_flag==1)secd。 if(scoa0)scoa=0。 if(minu0)minu=59。 if(secd0)secd=59。 } else if(key3_n0amp。amp。key3==1)//b+ { key3_n=0。 scob++。 if(scob999)scob=999。 } else if(key4_n0amp。amp。key4==1)//b { key4_n=0。 key2_n=0。 scob。 if(scob0)scob=0。 } else if(key5_n0amp。amp。key5==1)//set min { key5_n=0。 TR0=0。 stop_flag=1。 set_minu_flag=~set_minu_flag。 } else if(key6_n0amp。amp。key6==1)//set sec { key6_n=0。 TR0=0。 stop_flag=1。 set_secd_flag=~set_secd_flag。 } else if(key7_n0amp。amp。key7==1)//stop? { key7_n=0。 speaker=1。 stop_flag=~stop_flag。 if(minu==0amp。amp。secd==0)stop_flag=1。 if(stop_flag==1)TR0=0。 else TR0=1。 } else if(key8_n0amp。amp。key8==1)//excahnge { key8_n=0。 s=scoa。scoa=scob。scob=s。 } } void key() { key_scan()。 key_pro()。 } 顯示程序 顯示部分采用 7 段共陰極數(shù)碼管顯示,通過查表指令進行顯示,首先將要顯示的緩存單元,送入累加器中,通過累加器進行查表,將要顯示的數(shù)值存儲起來,然后通過位選信號,將要顯示的位的數(shù)碼管打開,進行現(xiàn)實。本模塊程序使用swith case 語句實現(xiàn)顯示,當顯示完一圈后程序重復。因為我 們使用 74HC373 鎖存芯片保持 10 位數(shù)碼管的數(shù)據(jù)鎖存,所以每段 case 語句中當對所刷位選存入數(shù)據(jù)后對鎖存芯片使能端開啟后然后再關閉。程序中還有一個細節(jié)就是關于時間設定之后數(shù)碼管閃爍的設定,我在程序中加入了 Kn 參量用來實現(xiàn)數(shù)碼管設定時的閃爍。以下便是我們本次設計顯示部分源代碼: Unsigned char code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 void seg_display(uchar minu,uchar sec,uchar sca,uchar scb) { static uchar i=0。 t1=1。t2=1。t3=1。t4=1。 a1=1。a2=1。a3=1。 b1=1。b2=1。b3=1。 // if(set_minu_flag==0amp。amp。set_secd_flag==0)kn=0。 else kn++。 if(kn400)kn=0。 switch(i) { case 0: t1=0。 if(kn200)P2=table[minu/10]。 else if(set_minu_flag==0amp。amp。kn=200)P2=table[minu/10]。 else if(set_minu_flag==1amp。amp。kn=200)P2=0x00。 en=1。 en=0。 i++。 break。 case 1: t2=0。 if(kn200)P2=table[minu%10]。 else if(set_minu_flag==0amp。amp。kn=200)P2=table[minu%10]。 else if(set_minu_flag==1amp。amp。kn=200)P2=0x00。 en=1。 en=0。 i++。 break。 case 2: t3=0。 if(kn200)P2=table[sec/10]。 else if(set_secd_flag==0amp。amp。kn=200)P2=table[sec/10]。 else if(set_secd_flag==1amp。amp。kn=200)P2=0x00。 en=1。 en=0。 i++。 break。 case 3: t4=0。 if(kn200)P2=table[sec%10]。 else if(set_secd_flag==0amp。amp。kn=200)P2=table[sec%10]。 else if(set_secd_flag==1amp。amp。kn=200)P2=0x00。 en=1。 en=0。 i++。 break。 case 4: a1=0。 P2=table[sca/100]。 en=1。 en=0。 i++。 break。 case 5: a2=0。 P2=table[sca/10%10]。 en=1。 en=0。 i++。 break。 case 6: a3=0。 P2=table[sca%10]。 en=1。 en=0。 i++。 break。 case 7: b1=0。 P2=table[scb/100]。 en=1。 en=0。 i++。 break。 case 8: b2=0。 P2=table[scb/10%10]。 en=1。 en=0。 i++。 break。 case 9: b3=0。 P2=table[scb%10]。 en=1。 en=0。 i=0。 break。 default:i=0。break。 } delayms(1)。 } 第五章 Protues 仿真 Protues 簡介 Proteus 是英國 Labcenter 公司開發(fā)的電路分析 與實物仿真軟件。它運行于 Windows 操作系 統(tǒng)上,可以仿真、分析 (SPICE)各種模擬器件和集成電路,該軟件的特點是: ( 1)實現(xiàn)了單片機仿真和 SPICE 電路仿真相結合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、 RS232 動態(tài)仿真、 調(diào)試器、 調(diào)試器、 I2C SPI 鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 ( 2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:ARM7(LPC21xx)、 8051/52 系列、 AVR 系列、 PIC10/12/16/18 系列、 HC11 系列以及多種外圍芯片。 ( 3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil C51uVision MPLAB 等軟件。 ( 4)具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和 SPICE分析于一身的仿真軟件,功能極其強大。 仿真結果 仿真結果:本次畢業(yè)設計要求基本上全部達到,仿真結果表明本次設計良好的 具備了一下功能: ( 1)具有 099 分鐘任意時間倒計時功能,而且可以通過按鍵手動任意更改比賽時間長度; ( 2)比賽分數(shù)加減功能,可以通過按鍵分別對甲乙兩隊的比分進行加減操作; ( 3)時間暫停功能,倒計時進行過程中,可以通過按鍵隨時暫停時間倒計 時; ( 4)比分交換功能,當需要對調(diào)兩隊比分時,可以通過按鍵交換場上兩隊比分; ( 5)報警功能,當?shù)褂嫊r時間為零時,系統(tǒng)內(nèi)蜂鳴器會自動開始報警提示該階段比賽結束。 以下為這次仿真的基本過程: 首先在 Protues 下完成電路的連接,如下圖 51: 圖 51 完成硬件電路之后,把 keil 軟件生成的 HEX 文檔導入到仿真程序中的單片機里面,如下圖 52 所示: 圖 52 檔導入單片機之后按下軟件頁面下的開始按鍵就可以開始進行軟件的仿真,仿真圖如下圖 53 所示: 圖 53 參考文獻 [1]楊素行 .模擬電子技術基礎 .清華大學電子教研組 .~518 [2]李士平 .北京電子報 .北京電子報社 98 合訂本下 .1998 [3]趙保經(jīng) .中國集成電路大全 .國防工業(yè)出版社 .~82 [4]童詩白 .現(xiàn)代電子學及應用 .東南大學出版社 .~34 [5]童詩白 .模擬電子技術基礎 .高等教育出版社 .~78 [6]曉 喻 .電子制作 .中國家用電器維修協(xié)會 .~18 [7]翟德富 .家用電路手冊 .機械工業(yè)出版社 .~60 [8]陳克安 .集成電路速查
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1