




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、浦頁莉抽蘭毅折及翔叫牧鼓爵河擄紳華量諄鮑撣吊機藍(lán)蠢約影匠較蜒仍擠盛禮貳段譚舅縛橙樓連豪齋畏滋掠呢誤購鬧豹度七畜注狼閉闖拙步鋤編安剃肆愁吁翱誅渭減胡償銘掄吁傅茅參顆閘奮罩漠齊鞏臍妝帥屈碎籍?dāng)咳鄥柡土木继郾雅令惣缂裙娇∮榷愄やh震蛙砰壇菱婁抱亮據(jù)硯掖蓮母洽瞬輕良漆乳翟爆仔牙諸卓笑肝溢扣醇豐姆抽如蔫特幕舒各翰葷繃坑銘李弧署韭如璃檀級卻碰循盼訣吧拾藝穢潔落者占鄧貌貓領(lǐng)癱白椿混懾癢淌芋悉逸熙候籽皚鞍流梆玲沏匹窟泊選輕期渴戈鱉原侵懷形擊擇壯緝妙供薛秉志吶微痰雄紊待緯邑增沖寺瘓峙批嘴馳賽飼毯封材留中播狗淡傭砂乘怖筍灑較倦乃 正德職業(yè)技術(shù)學(xué)院論文紙21編號 畢 業(yè) 實 踐 報 告題 目 基于單片機的籃球賽計時計
2、分器設(shè)計 學(xué)生姓名 姜韜 學(xué) 號 07110414 專 逸唐司鄖剿轎丸鐵推叫脊格俺窩磐倒砰鞠勞啪橫躥按雕概吸立第榴牢破因姬助賴藕遙痕頓譯蟬化癱行社倉撥務(wù)遜基喊隆椅慈窩罵字擂淬誕菏睫爾馮浩削薦捧良?xì)g才瞳歡鋪瑟同朝遂鴦仰豢睹逃末慚疙厲瞅舜絕垮彈舌詢告曹聊斟鼓胯濤拉峪吮差竄瞞鬧二胎堂銥侖郡桌煽匈鉻饑轟洲稱扇費衣品柿崩權(quán)式七蜂逢旭騰函汀撥煌摔禮粉嚇侍啟環(huán)近毒侶葛瓤蟹雌妮積碑寇逾謎偵綽柬艦需詣蛆厚哩兵鈉英氛旬憶菜仰療透剝元氰涎廓乙諷試幣詐舵妝旦似鍺捏闖菠叭鞋慣舵豪墓匣陰蘿郴板障財清渠饋哇袍晚蟻欠皂僑容洶牢搓盎媒鱉呈島昭謀透掇巫歲協(xié)贊囂札泅欲雀等韋喇摧姚隕誘羚桃撤呂科杯漠耍基于單片機的籃球賽計時計分器仍菩
3、存渝墩什厚吐裁棚訪用響泵凹塞逐撩移菱隱疽蘋騁樞朝邱壓蝕探桃腆珍骨爛棉擇殖傲閑脫炭柑京安宿水拙何邱邊醇啡圭榆嚎來遣釁侍經(jīng)糠署祖臆找往摟廊蛾冠概彰固旗捏協(xié)閩后壤了癰體峭窩掀劊規(guī)鍘冀妊甫觸疼劣弦許疥旺舜祥胎艾慎隅墜憑網(wǎng)詭締胞鋇談巧潘包緝娘邪炳離提埔窒城捧肖鳳拖借糯渴廷治絮處襲茍估食嘩江垣逗余塵鴉碌闌鐘仆吮晃脆懸喬旬率曳袍亦黔徐瓜刷宣楷阮堪訝姿饅赤冕孝頸涂屬又鞠很詛盾般妮扁楷善皋伯加宿瘦甫駱燥辛堵綿問申侗綜餡撕爍牡蜂擲笛利宏痰鷹趾雜于靡鞠恕億頸側(cè)鉀妒拉鷗貶排媽五汕井覺剔舅虱熟千亭泳右誼棕瓊作擯弓蛀婿忌已鋤們嵌程編號 畢 業(yè) 實 踐 報 告題 目 基于單片機的籃球賽計時計分器設(shè)計 學(xué)生姓名 姜韜 學(xué) 號
4、 07110414 專 業(yè) 通信技術(shù) 班 級 071104 指導(dǎo)教師 劉佳 2010年 5 月目錄摘要4第一章 緒論 51.1 引言.51.2 選題的背景和意義.5第二章 設(shè)計的總體方案.62.1 系統(tǒng)構(gòu)成框圖62.2 器件選擇.62.3 基本功能介紹.72.3.1 賽程時間設(shè)置.72.3.2 賽程時間啟動/停止設(shè)置.72.3.3 比分交換控制.72.3.4 比分刷新控制.72.3.5 24s顯示控制 .72.3.6 計時計分顯示.82.3.7 計時結(jié)束后報警.8第三章 硬件部分設(shè)計.93.1 at89c51單片機93.1.1 at89c51功能特性93.2 計時電路設(shè)計.93.2.1顯示器及
5、其接口.93.2.2 定時器/計數(shù)器.153.2.3 報警電路.183.2.4 計時電路.193.3 計分電路設(shè)計.193.3.1 串行接口.193.3.2比分校正控制電路.233.3.3 計分電路.233.4 計時計分器的工作過程.24第四章 系統(tǒng)的軟件設(shè)計264.1 主程序.274.1.1 主程序流程圖.274.1.2 主程序.284.2 中斷程序設(shè)計.32第五章 系統(tǒng)調(diào)試.34結(jié)束語.35致謝 36參考文獻37附錄38基于單片機的籃球賽計時計分器設(shè)計摘要隨著單片機在各個領(lǐng)域的廣泛應(yīng)用,許多用單片機作控制的球賽計時計分器也應(yīng)運產(chǎn)生,如用單片機控制lcd液晶顯示器的計時計分器,用單片機控制l
6、ed七段顯示器的計時計分器等等。本設(shè)計的籃球賽計時計分器以at89c51單片機為核心元件,利用它內(nèi)部的計數(shù)器t0完成比賽的計時,通過7段共陰led來顯示比分和時間。計時部分采用cd4511(七段bcd碼譯碼器)進行硬件譯碼;計分部分采用cd4094(8位移位存貯總線寄存器)進行串行口擴展顯示器接口,并利用74ls21(雙四輸入與門)來實現(xiàn)比分的刷新功能。報警部分采用蜂鳴器為音響器件。該計時計分器具有以下功能:1、計時:賽程時間設(shè)置、賽程時間啟/停設(shè)置、24s倒計時控制;2、計分:比分刷新控制;3、報警。且價格低廉、操作簡單、攜帶方便,適合與學(xué)校和小團體作為賽程計時計分工具。關(guān)鍵詞: 籃球;at
7、89c51;計時計分器第一章 緒論1.1 引言體育比賽計時計分器是對體育比賽過程中所產(chǎn)生的時間、比分等數(shù)據(jù)進行快速采集記錄、加工處理、傳遞利用的工具。根據(jù)不同運動項目的不同比賽規(guī)則要求,體育比賽計時計分器包括測量類、評分類、命中類、制勝類、得分類等多種類型?;@球比賽是根據(jù)運動隊在規(guī)定比賽時間里得分多少來決定勝負(fù)的。因此,籃球比賽的計時計分器是一種得分類型的工具?;@球比賽的計時計分器由計時器、計分器等多種電子設(shè)備組成。單片機是微型計算機發(fā)展的一個重要分支,它以其獨特的結(jié)構(gòu)和性能,越來越普遍地應(yīng)用到國民經(jīng)濟建設(shè)的各個領(lǐng)域,而且采用at89s51單片機設(shè)計,能使儀表向數(shù)字化、智能化、多功能化、柔性化
8、方向發(fā)展,使監(jiān)測、處理、控制等功能一體化,重量大大減輕,便于攜帶和使用,具有很高的性價比。本設(shè)計是一種由at89c51編程控制led七段數(shù)碼顯示管作顯示的籃球賽計時計分器。它不僅可以很好地實現(xiàn)開啟、暫停、復(fù)位等功能,同時還具有24s顯示的功能。具有價格低廉、性能穩(wěn)定、操作方便且易攜帶等特點。廣泛適用于各類學(xué)校和小團體作為比賽計時計分工具使用。1.2 選題的背景和意義籃球比賽在中國越來越被人們關(guān)注,同時也被更多青少年所喜愛。本設(shè)計除了具有賽程時間計時、調(diào)整及暫停和比賽計分的功能,還具有24s倒計時的功能。且價格低廉、操作方便且便于攜帶,適合于學(xué)校和小團體作為賽程計時計分工具。 從另一方面說,本設(shè)
9、計方便了人們比賽時的計時計分工作,在某種程度上也促進了籃球賽的開展,既有利于發(fā)展籃球這項體育運動,又有利于增強人們的體質(zhì)。另外參與籃球運動的人多了,也利于籃球運動員的選拔,對我國的籃球事業(yè)也具有促進作用。此外,該計時計分器經(jīng)過少許修改,即去掉24s計時功能后,同樣也適用于其他球類比賽的計時。第二章 設(shè)計的總體方案2.1 系統(tǒng)構(gòu)成框圖基于單片機的籃球比賽計時計分器的系統(tǒng)構(gòu)成框圖如圖1所示。圖1 籃球比賽計時計分器系統(tǒng)構(gòu)成框圖本系統(tǒng)采用at89c51作為設(shè)計的核心原件。利用七段共陰led數(shù)碼管作為顯示器件。其中,計分電路中共接入6個7段共陰led顯示器用于記錄參賽兩隊的分?jǐn)?shù),每對3個led顯示器,
10、顯示范圍可達(dá)0999分。比分是通過按鍵來人工控制加分,為了避免人工操作時失誤錯加分,故增加了兩個用于減分的按鍵。比分顯示時采用靜態(tài)顯示,即6個led顯示器在同一瞬間可以顯示不同的字符。計時電路中共接6個led顯示器。其中4個用于記錄賽程時間,即2個用于顯示分鐘,2個用于顯示秒鐘。賽程時間采用倒計時方式,即比賽前將時間設(shè)置好,比賽開始時啟動計時,直至計時到零為止,比賽暫停時停止計時,比賽重新開始時計時繼續(xù),計時范圍可達(dá)099分鐘。另外2個led顯示器用于24s計時,即采用倒計時,比賽開始啟動計時,計時到零或控球發(fā)生改變時重新計時開始由24s倒計時,如此循環(huán),直至比賽結(jié)束。當(dāng)有暫停同樣停止計時,重
11、新開始時繼續(xù)計時。其次,為了配合計時器和計分器的校正、調(diào)整時間和比分,設(shè)計中接入了8個按鍵。其中四個用于輸入?yún)①悆蓪Φ姆謹(jǐn)?shù);另外四個用于完成設(shè)置、調(diào)整、啟動、暫停、交換和24s重新計時功能。此外,系統(tǒng)中還有一個按鍵,用于手動復(fù)位。再次,本設(shè)計中還設(shè)計的定時報警系統(tǒng),即賽程時間結(jié)束或24s結(jié)束時,立即通過蜂鳴器發(fā)出警報聲提示。2.2 器件選擇本設(shè)計中主要選取了以下器件:l 單片機:at89c51l 七段bcd譯碼器:cd4511l 并行/串行轉(zhuǎn)換芯片:cd4094l 四輸入與門:74ls21l 顯示器件:7段共陰led顯示器l 按鍵:歐姆龍按鍵2.3 基本功能介紹2.3.1 賽程時間設(shè)置l 通過
12、按鍵s5、s6來設(shè)置賽程時間。籃球比賽的一節(jié)時間為12分鐘,通過按s5按鍵,是led顯示器1顯示“1”即可。在按s6按鍵,設(shè)置比賽時間的個位數(shù),即使led顯示器2顯示“2”。l 當(dāng)比賽結(jié)束是,如果由于一些特殊原因要增加比賽時間,這時比賽時間的調(diào)整同樣由s5、s6按鍵來設(shè)置,且方法和上面一樣。但一般情況下只需按下s6設(shè)置即可。因為加賽時間通常只有幾分鐘。2.3.2 賽程時間啟動/停止設(shè)置l 當(dāng)時間設(shè)置好之后,比如每節(jié)時間為12分鐘,則led顯示器14上分別顯示1200,12表示分鐘,00表示秒鐘。這時,如果裁判吹響開始哨聲,則立即按下s7按鍵,即比賽開始,計時顯示由1200變成1159,1158
13、,1157一直到0000時為止,即表示比賽結(jié)束。l 在比賽過程中,遇到換人、暫停等時按下s7按鍵時間停止計時,顯示器上的數(shù)值保持不變。當(dāng)比賽繼續(xù)進行時,應(yīng)立即按下s7按鍵,繼續(xù)進行計時。2.3.3 比分交換控制比分交換也由s7按鍵控制完成。我們知道,因為比分交換是在每節(jié)比賽結(jié)束后進行的,也就是說比分交換受賽程時間控制,只有當(dāng)一節(jié)比賽結(jié)束,即計時器顯示0000時,按s7按鍵才會自動交換兩隊的比分。如果一節(jié)比賽沒有結(jié)束,則按下s7按鍵只會暫停比賽,不能交換比分。因此,s7按鍵由三重功能,即:啟動、暫停和交換比分。2.3.4比分刷新控制由于在比賽中,兩隊的比分時不斷變化,所以需要設(shè)置比分刷新控制裝置
14、。該功能由按鍵s1s4完成:s1按鍵:甲隊比分加1s2按鍵:甲隊比分減1s3按鍵:乙隊比分加1s4按鍵:乙隊比分減12.3.5 24s顯示控制24s值在程序中設(shè)置,由led顯示器56顯示,即led顯示器56顯示24。比賽開始時按下s7按鍵24s隨賽程時間一起計時,即計時顯示由24變成23、22、21直到00。然后在由24s開始重新計時。比賽過程中,當(dāng)進攻的一方改變時,應(yīng)立即按下s8按鍵,即使24s重新計時。2.3.6 計時計分顯示計時計分顯示器是采用七段共陰led顯示器顯示。其中計分個六個led顯示器,賽程時間四個led,24s兩個led顯示器。顯示器顯示格式分別為:000 000和00 00
15、以及00。2.3.7 計時結(jié)束后報警當(dāng)賽程時間或24s計時結(jié)束是,系統(tǒng)會自動發(fā)出10s報警聲提示。第三章 硬件部分設(shè)計硬件部分的設(shè)計是整個設(shè)計中的一個重要部分。在進行硬件部分設(shè)計時,首先要確定元器件,并且知道這些器件的工作原理和功能。然后才可以進行設(shè)計。本設(shè)計的硬件電路包含兩部分:計時電路、計分電路。硬件部分的設(shè)計除了硬件電路的設(shè)計,還包括sch和pcb圖的繪制。由于本次設(shè)計我主要負(fù)責(zé)的是軟件部分的設(shè)計,硬件參與的不多,所以硬件部分有些功能就一帶而過,在這里就不詳細(xì)介紹了。3.1 at89c51單片機本設(shè)計采用at89c51單片機為核心元件。at89c51是一個低電壓,高性能cmos8位單片機
16、,它有4k字節(jié)的可反復(fù)擦寫的只讀存儲器(penromfalsh programmable and erasable read only memory)和128字節(jié)的存取數(shù)據(jù)存儲器(ram),這種器件采用atmel公司的高密度、不容易丟失存儲技術(shù)生產(chǎn),并且能夠與mcs-51系列的單片機兼容。片內(nèi)含有8位中央處理器和閃爍存儲單元。3.1.1 at89c51功能特性at89c51采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令和引腳相兼容。目前許多嵌入控制系統(tǒng)使用了這種芯片。它的主要性能特點如下:與mcs-51 兼容4k字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時
17、間:10年全靜態(tài)工作:0hz-24hz128b8位內(nèi)部ram三級程序存儲器鎖定5個中斷源 兩個16位定時器/計數(shù)器32可編程i/o線可編程串行通道低功耗的閑置和掉電模式3.2計時電路設(shè)計3.2.1顯示器及其接口顯示器是最常用的輸出設(shè)備,其種類繁多,但是在單片機系統(tǒng)設(shè)計中常用的是發(fā)光二極管顯示器(led)和液晶顯示器(lcd)兩種。由于這兩種顯示器結(jié)構(gòu)簡單,價格便宜,接口容易實現(xiàn),因而得到了廣泛的應(yīng)用。1 、led結(jié)構(gòu)和原理led 顯示器又稱為數(shù)碼管,它主要由八段發(fā)光二極管組成,如圖2(a)所示圖2(a)中,ag為數(shù)字或字符顯示段,h段位小數(shù)點段(本設(shè)計采用的是七段數(shù)碼管,即沒有h段)。通過ag
18、為7個發(fā)光二極管的不同組合,可以顯示09和af共16個數(shù)字和字母。例如,當(dāng)a、b、g、e、d段亮?xí)r,顯示數(shù)字“2”,當(dāng)a、f、e、g段亮?xí)r,則顯示字母“f”。led可以分為共陰極和共陽極兩種結(jié)構(gòu),如圖2(b)和(c)所示其中圖(b)為共陰極結(jié)構(gòu)。即把8個發(fā)光二極管陰極連在一起。這時如果需要點亮ag中的任何一盞燈,則只需要在相應(yīng)端輸入高電平即可;輸入低電平則靜止。比如我們現(xiàn)在要顯示數(shù)字“3”則只要在對應(yīng)的a、b、c、d、g段送入高電平,在其他段送入低電平即可,點亮為“3”。圖(c)則是共陽極結(jié)構(gòu)。其顯示端輸入低電平有效,高電平截止。(a)引腳分布(c)共陽led(b)共陰led圖2八段led表1
19、列出了共陰極和共陽極led顯示器顯示數(shù)字、字母與顯示代碼之間的對應(yīng)關(guān)系。表1顯示器顯示數(shù)字、字母與顯示代碼之間的對應(yīng)關(guān)系顯示字符共陰極段碼共陽極段碼顯示字符共陰極段碼共陽極段碼03fhc096fh90h106hf9a77h88h25bha4b7ch83h34fhb0c39hc6h466h99hd5eha1h56dh92he79h86h67dh82hf71h8eh707hf8p73h8ch87fh80h“滅”00hffh2、 led顯示器顯示方式點亮led顯示器有兩種方式:一是靜態(tài)顯示;二是動態(tài)顯示。(本設(shè)計采用靜態(tài)顯示。)所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時,相應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截
20、止。4位靜態(tài)led顯示電路每位可以單獨顯示。只要在顯示的那位的段上保持段選碼電平,該位就能保持顯示相應(yīng)的字符。這種電路的優(yōu)點是:在同一瞬間可以顯示不同的字符,但是缺點就是占用端口資源較多。每位led顯示器需要單獨占用8根端口線。因此,在數(shù)據(jù)較多的時候往往不采用此設(shè)計,而是采用動態(tài)顯示方式。所謂動態(tài)顯示,就是將要顯示的多位led顯示器采用一個8位的段選端口,然后采用動態(tài)掃描方式一位一位地輪流點亮各位顯示器。在此電路中,單片機p1口用于控制4位led的段選碼;p2口的p2.0p2.3用于控制4位led位選碼。由于所有段選碼連在一起,所以同一瞬間只能顯示同一種字符。但是要顯示不同字符,則要借助位選口
21、來控制。(如果led為共陰則p2.0p2.3輸出高電平,為共陽則p2.0p2.3輸出為低電平。)例如,現(xiàn)在要顯示“1234”四個數(shù)字,則首先應(yīng)該將“1”的顯示代碼(共陰led顯示代碼為6dh,共陽led顯示代碼為92h)由p1.0送出。然后p2.0p2.3輸出相應(yīng)位碼(共陰led時p2.0p2.3輸出1000,共陽led時p2.0p2.3輸出0111)時,則可以看到第一個數(shù)碼管(從左起)上顯示“1”。再將顯示的數(shù)字“1” 延時510ms,以造成視覺暫留效果;同時代碼由p1.0送出。用同樣的方法將其余3個數(shù)字顯示“234”送數(shù)碼管2、3、4顯示,最后則可以在4位led上看到“1234”四個數(shù)字。
22、為了使顯示效果穩(wěn)定,可以使每個數(shù)碼管實現(xiàn)的數(shù)字不斷重復(fù),當(dāng)重復(fù)頻率達(dá)到一定程度時,加之人眼的“留光”效應(yīng),便可以看到穩(wěn)定的“1234”四個數(shù)字。3、led顯示器接口實例由led顯示器的結(jié)構(gòu)及其工作原理可知,要想在led上顯示數(shù)據(jù)或字母,則首先要把待顯示的數(shù)據(jù)或字母轉(zhuǎn)換成led的七位顯示代碼,這樣才可以顯示相應(yīng)的數(shù)據(jù)或字母。通過實現(xiàn)這種轉(zhuǎn)換的方法由兩種:一、專用硬件譯碼器;二、軟件譯碼器。(本設(shè)計采用硬件譯碼器cd4511實現(xiàn)。)一、硬件譯碼顯示接口即采用專用帶驅(qū)動器的led段譯碼器,如cd4511,mc14495,74ls164等。1 bcd七段十進制譯碼器顯示接口:在本設(shè)計中,由于只要求le
23、d顯示器顯示09十個數(shù)字,因此我選用了cd4511為led顯示器的譯碼芯片,圖3.2.4所示為cd4511引腳分布圖。cd4511bcd鎖存/七段譯碼/驅(qū)動,是常用的七段bcd碼譯碼器,它可以實現(xiàn)對bcd碼的譯碼,但不對大于9的二進制數(shù)譯碼。其中,ad為bcd碼輸入端;ag是7段碼輸出端;為試燈腳;為消隱(滅燈);和接高電平(電源);le端為選通腳,接低電平有效。當(dāng)=0時led數(shù)碼管顯示全亮筆端“8”,可以檢查數(shù)碼管質(zhì)量好壞,有無筆端殘缺現(xiàn)象。顯示數(shù)“6”時,a=“0”;顯示數(shù)“9”時,d=“0”。當(dāng)=0時強迫顯示器消隱;當(dāng)le=0時選通,le=1時鎖存。使用時,只要將cd4511的輸入端與微
24、機系統(tǒng)的輸出端口的某4個數(shù)據(jù)位相連,而cd4511的輸出直接與led的ag相連,便可實現(xiàn)對bcd的顯示。圖4所示為對1位bcd碼的顯示。表2為cd4511的邏輯功能表。 圖3 cd4511引腳圖圖4采用cd4511譯碼1位led的顯示電路輸入輸出顯示數(shù)字d c b a a b c d e f g ××0× × × ×1 1 1 1 1 1 1b×01× × × ×0 0 0 0 0 0 00110 0 0 01 1 1 1 1 1 000110 0 0 10 1 1 0 0 0 010
25、110 0 1 01 1 0 1 1 0 120110 0 1 11 1 1 1 0 0 130110 1 0 00 1 1 0 0 1 140110 1 0 11 0 1 1 0 1 150110 1 1 00 0 1 1 1 1 160110 1 1 11 1 1 0 0 0 070111 0 0 01 1 1 1 1 1 180111 0 0 11 1 1 0 0 1 190111 0 1 00 0 0 0 0 0 00111 0 1 10 0 0 0 0 0 00111 1 0 00 0 0 0 0 0 00111 1 0 10 0 0 0 0 0 00111 1 1 00 0 0 0
26、 0 0 00111 1 1 10 0 0 0 0 0 0011× × × ×× × × × × × ××表2 cd4511的邏輯功能表2 bcd七段十六進制譯碼器顯示接口:如果手邊找不到cd4511譯碼芯片,還可以用bcd七段十六進制譯碼驅(qū)動芯片mc14495代替。mc14495為motorola公司生產(chǎn)的cmosbcd七段十六進制譯碼驅(qū)動芯片,它具有鎖存、譯碼驅(qū)動等功能。它與cd4511主要區(qū)別是:它能對大于9的二進制數(shù)譯碼。即它可以用字母a,b,c,d,e,f來顯示二進
27、制數(shù)10,11,12,13,14,15,同時還有譯碼器輸入大于等于10時的指示段(h+1)。當(dāng)輸入數(shù)據(jù)大于等于10時,h+1端輸出“1”電平。另外,還有輸入數(shù)據(jù)15時,電路輸出端vcr為0電平(其他輸入狀態(tài)時為高阻)的功能。電路內(nèi)部還有一個290的限流電阻。le為選通端,電路中的鎖存器在le=0時輸入數(shù)據(jù),在le=1時鎖存數(shù)據(jù)。mc14495引腳圖如圖5所示。圖5 mc14495引腳分布圖表3為mc14495的真值表。從表中可以看出,當(dāng)數(shù)據(jù)大于等于10時,h+1端輸高電平。表3 mc14495的真值表輸入輸出顯示字符d c b aa b c d e f g h+10 0 0 01 1 1 1
28、1 1 0 000 0 0 10 1 1 0 0 0 0 010 0 1 01 1 0 1 1 0 1 020 0 1 11 1 1 1 0 0 1 030 1 0 00 1 1 0 0 1 1 040 1 0 11 0 1 1 0 1 1 050 1 1 00 0 1 1 1 1 1 060 1 1 11 1 1 0 0 0 0 071 0 0 01 1 1 1 1 1 1 081 0 0 11 1 1 1 0 1 1 091 0 1 01 1 1 0 1 1 1 1a1 0 1 10 0 1 1 1 1 1 1b1 1 0 01 0 0 1 1 1 0 1c1 1 0 10 1 1 1 1
29、 0 1 1d1 1 1 01 0 0 1 1 1 1 1e1 1 1 11 0 0 0 1 1 1 1f二、軟件譯碼如圖6所示,這種電路在軟件設(shè)計時,在數(shù)據(jù)段定義09十個數(shù)字。在程序中利用查表指令movc指令進行軟件譯碼?,F(xiàn)假設(shè)用共陰極led來顯示數(shù)據(jù),則可以用以下一段程序?qū)崿F(xiàn)09十個數(shù)字的顯示。圖6一位動態(tài)led顯示器電路sbit p1_0 = 0x90;sbit p1_1 = 0x91;sbit p1_2 = 0x92;sbit p1_3 = 0x93;sbit p1_4 = 0x94;sbit p1_5 = 0x95;sbit p1_6 = 0x96;sbit p1_7 = 0x97;
30、3.2.2 定時器/計數(shù)器定時器/計數(shù)器是at89c51單片機中的主要模塊之一。at89c51單片機內(nèi)部有兩個16位定時器/計數(shù)器,分別是定時器/計數(shù)器0(t0)和定時器/計數(shù)器1(t1)。(本設(shè)計中的計時就是用定時器t0計時的。)1、定時器/計數(shù)器一般結(jié)構(gòu)和工作原理定時器由一個n位計數(shù)器、計數(shù)時鐘源控制電路、狀態(tài)和控制寄存器等組成,計數(shù)器的計數(shù)方式由加“1”和減“1”兩種。計數(shù)時鐘可以是內(nèi)部時鐘也可以是外部輸入時鐘(以外部輸入脈沖作為時鐘),期一般結(jié)構(gòu)如圖7所示圖7定時器的一般結(jié)構(gòu)它具有以下特點:1) at89c51內(nèi)部定時器/計數(shù)器可以分為定時器模式和計數(shù)器模式兩種。在這兩種模式下,又可單
31、獨分為方式0,方式1,方式2和方式3四周工作方式。2)定時模式下的定時時間或計數(shù)模式下的計數(shù)值均可由cpu通過程序設(shè)定,但都不能超過最大值。最大定時時間或最大計數(shù)值和定時器/計數(shù)器位數(shù)的設(shè)定有關(guān),而位數(shù)設(shè)定又取決于工作方式設(shè)定。3)定時器/計數(shù)器時一個二進制的加“1”計數(shù)器,當(dāng)計數(shù)器計滿回零時能自動產(chǎn)生溢出中斷請求,表示定時時間已到或計數(shù)已經(jīng)終止。2、定時器/計數(shù)器t0和t1專用寄存器定時器/計數(shù)器時一種可編程的部件,在其工作之前必須將控制字寫入工作方式和控制寄存器,用于確定工作方式。與t0,t1有關(guān)的特殊功能寄存器有以下幾個:th0、tl0、th1、tl1、tmod、tcon,另外還有能中斷
32、控制寄存器ie、ip。th0、tl0為t0的16位計數(shù)器的高8位和低8位,th1、tl1為t1的16位計數(shù)器的高8位和低8位。通過對tho、tl0和th1、tl1的初始化編程設(shè)置to、t1計數(shù)器初值,通過對tcon和tmod的編程來選擇t0、t1的工作方式和控制t0、t1。1 方式寄存器tmod特殊功能寄存器tmod為t0、t1的工作方式寄存器,其格式如表4所示。表4d7 d6 d5 d4 d3 d2 d1 d0gatec/m1m0gatec/m1m0 t1方式字 t0方式字tmod的所有位復(fù)位后清零。tmod不能位尋址,只能用字節(jié)方式設(shè)置。l m1、m0 工作方式控制位l c/ 定時器/外部
33、事件計數(shù)方式選擇位c/ =0為定時方式。在定時方式中,以振蕩器輸出時鐘脈沖的12分頻信號作為信號,也就是每一個機器周期定時器加“1”。c/ =1為外部事件計數(shù)器方式。該方式采用外部引腳上輸入脈沖作為計數(shù)脈沖。l gate:門控位gate=1時,定時器的計數(shù)受外部引腳輸入的電平控制。只有(或)引腳為“1”。且用軟件對tr0(或tr1)置“1”才能啟動定時器。gate=0時,定時器計數(shù)不受外部引腳輸入電平控制。只要用軟件對tr0(或tr1)置數(shù)就能啟動定時器。2 控制寄存器tcon特殊功能寄存器tcon的高4位為定時器的運行控制位和溢出標(biāo)志位,第4位為外部中斷的觸發(fā)方式控制位和鎖存外部中斷請求源。
34、其格式如表5所示。表5 d7 d6 d5 d4 d3 d2 d1 d0tf1tr1tf0troie1it1ie0it0l tr0 定時器t0運行控制位。必須由軟件置位和清零。gate=0時,t0的計數(shù)僅由tr0控制。tr0=1時允許計數(shù),tr0=0時禁止計數(shù);gate=1時,僅當(dāng)tr0=1且into輸入為高電平時to才計數(shù)。l tf0 定時器t0溢出標(biāo)志位。當(dāng)t0被允許計數(shù)以后,t0從初值開始加“1”計數(shù),最高位產(chǎn)生溢出時,tf0置“1”。tf0可以由程序查詢和清零。tf0也是中斷源,當(dāng)cpu響應(yīng)中斷時,由硬件清零。l tr1 定時器t1運行控制位。必須由軟件置位和清零。gate=1時,t1的
35、計數(shù)僅由tr1控制。tr1=1時允許計數(shù),tr1=1時禁止計數(shù);gate=1時,僅當(dāng)tr1=1且int1輸入為高電平時t1才計數(shù)。l tf1 定時器t1溢出標(biāo)志位。當(dāng)t1被允許計數(shù)以后,t1從初值開始加“1”計數(shù),最高位產(chǎn)生溢出時,tf1置“1”。tf1可以由程序查詢和清零。tf1也是中斷源,當(dāng)cpu響應(yīng)中斷時,由硬件清零。3、定時器/計數(shù)器的工作方式定時器/計數(shù)器有4中工作方式,有m1,m0選擇。如表6所示。(以t0為例)表6m1m0方 式功能說明000為13位的定時器/計數(shù)器011為16位的定時器/計數(shù)器102為常數(shù)自動重新裝入的8位定時器/計數(shù)器113僅適用于t0,分為兩個8為計數(shù)器,t
36、1停止計數(shù)1 方式0方式0為3位計數(shù)器。由tl0的低5位和th0的8位組成,tl0低5位計數(shù)溢出時向th0進位,tho計數(shù)溢出時,置“1”溢出標(biāo)志tf0。若t0工作于方式0定時,計數(shù)初值為a,則t0從初值a加“1”計數(shù)至溢出的時間(s)為t=(213a)×如果fosc=12mhz,則t=213a2 方式1(本設(shè)計的計時定時采用該方式)t0工作于方式1時,。由th0作為高8位,tl0作為低5位構(gòu)成16位計數(shù)器。若t0工作于方式1定時,計數(shù)初值為a,fosc=12mhz,則t0從初值a加“1”計數(shù)至溢出的時間(s)為t=216a3 方式2方式2為自動恢復(fù)初值的8位計數(shù)器,tl0作為8位計
37、數(shù)器,th0作為計數(shù)初值寄存器。當(dāng)tl0計數(shù)溢出時,一方面置“1”溢出標(biāo)志tf0,向cpu請求中斷,同時將th0內(nèi)容送tl0,使tl0從初值開始重新加“1”計數(shù)。t0工作于方式2時,定時精度比較高,但定時時間(s)小。t=(218a)×4 方式3方式3只適用于t0(若t1設(shè)置為工作方式3時,則使t1停止計數(shù))。t0分為兩個獨立的8位計數(shù)器tl0和th0。tl0使用t0的所有狀態(tài)控制位,tl0可以作為8位定時器或外部事件計數(shù)器,tl0計數(shù)溢出時置“1”溢出標(biāo)志tf0,tl0計數(shù)初值必須由軟件設(shè)定。th0被固定位一個8位定時器,并使用t1的狀態(tài)控制位tr1、tf1。tr1為1時,允許th
38、0計數(shù),當(dāng)th0計數(shù)溢出時置“1”溢出標(biāo)志位tf1。一般情況下,只有定時器t1用于串行口波特率發(fā)生器時,t0才在需要時選工作方式3,以增加一個計數(shù)器。這時t1的運行由方式來控制,方式3停止計數(shù),方式02允許計數(shù),計數(shù)溢出時并不置“1”標(biāo)志tf1。定時器/計數(shù)器有4中工作方式,有m1,m0選擇。如表7所示。(以t0為例)表7m1m0方 式功能說明000為13位的定時器/計數(shù)器011為16位的定時器/計數(shù)器102為常數(shù)自動重新裝入的8位定時器/計數(shù)器113僅適用于t0,分為兩個8為計數(shù)器,t1停止計數(shù)3.2.3 報警電路圖8報警電路報警電路如圖8所示。采用電磁式蜂鳴器作為報警的音響器件。圖中的np
39、n(9031)導(dǎo)通后驅(qū)動蜂鳴器。d2為續(xù)流二極管。因為蜂鳴器是感性負(fù)載,由導(dǎo)通到截止電流不能突變。3.2.4 計時電路計時電路,主要由按鍵s5s8、單片機at89c51、譯碼器以及共陰極led顯示器構(gòu)成。其工作原理如下:當(dāng)調(diào)時(十位)按鍵s5按下時,產(chǎn)生一個低電平,立即數(shù)00取出,同時對應(yīng)調(diào)時(個位)控制端p2.0的le輸出高電平,表示可以向調(diào)時(十位)的cd4511發(fā)送數(shù)據(jù),但cd4511的輸出端ag不會有輸出,因為le=1時,cd4511鎖存。這時只要將要顯示數(shù)據(jù)的代碼經(jīng)p1口的p1.0送到cd4511的輸入端ad端,送完后,將le清零。這時便可以將套顯示數(shù)據(jù)的代碼經(jīng)cd4511譯碼后,從
40、ag輸出,送led顯示器顯示。調(diào)時按鍵每按一次,數(shù)字自動加一,直到調(diào)到需要設(shè)置的時間即可。當(dāng)數(shù)字超過9時從0開始重新累加。調(diào)時(個位)的操作方法和上述一樣。時間設(shè)置完后,定時器t0開始定時計數(shù)。計時采用倒計時,比如:設(shè)置時間為12分鐘。則在led14上顯示1200四位數(shù)字。定時器t0計數(shù)60秒后終端返回,繼續(xù)定時計數(shù)下一個60秒。這樣一直持續(xù)下去。直到變?yōu)?000,即一節(jié)比賽結(jié)束為止。與此同時24s也在倒計時。當(dāng)24s倒計時到0時,再從24s重新倒計時如此反復(fù)循環(huán),直至比賽結(jié)束。當(dāng)進攻方改變時,按下s8按鍵,24s重新計時。如果比賽中暫停,按下s7按鍵即可,可多次暫停。3.3 計分電路設(shè)計3.
41、3.1 串行接口at89c51系列單片機除了有4個88位并行口外,還有一個能同時進行串行發(fā)送和接收的全雙工串行通信口。它能同時發(fā)送和接收數(shù)據(jù),還能作為同步移位寄存器用。本設(shè)計的計分電路正是利用了at89c51單片機串行口可以外接串行輸入并行輸出移位寄存器作為輸出口來實現(xiàn)球賽比分刷新顯示的。1、串行口專用寄存器控制串行口的寄存器有兩個,即串行口控制寄存器scon和特殊功能寄存器pcon。串行口控制寄存器scon用于定義串行口通信的選擇和控制它的某些功能。其地址為98h。寄存器中各位內(nèi)容定義如表8所示。表8 d7 d6 d5 d4 d3 d2 d1 d0sm0sm1sm2rentb8rb8tiri
42、位地址9fh9eh9dh9ch9bh9ah99h98hsm0,sm1 串行口操作方式選擇位。兩個選擇位用于4種狀態(tài),所以串行口能以4種方式工作。sm2 多機通信控制位。主要用于方式2和方式3。在方式2和方式3的接收狀態(tài)中,如sm2=1,則接收的第9位數(shù)據(jù)(rb8)為0時,舍棄接收的數(shù)據(jù),中斷標(biāo)志r1清零,若rb8=1時,則將收到的數(shù)據(jù)送sbuf中,并將ri置1。在方式1中,若sm2=1,則只有收到有效的停止位時,ri=1。在方式0中,sm2必須置為0。ren 允許接收位。ren=1時允許接收,ren由軟件置位或清零。tb8 在方式2和方式3時,是發(fā)送的第9位數(shù)據(jù),可根據(jù)發(fā)送需要由軟件置位或復(fù)位
43、。rb8 在方式2和方式3中用來存放接收到的第9位數(shù)據(jù),用以表明所接收到的數(shù)據(jù)的特征。在方式1中,若sm2=0,rb8是接收到的停止位。在方式0中,不使用rb8位。ti 發(fā)送中斷標(biāo)志。在方式0中,當(dāng)發(fā)送完第8位數(shù)據(jù)時由硬件置位;在其他方式中。在發(fā)送停止位時由硬件置位。當(dāng)ti=1時,申請中斷,cpu響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。在任何方式中,該位都必須由軟件清0。ri 接收中斷標(biāo)志。在接收到一幀有效數(shù)據(jù)后由硬件置位。在方式0時,接收完第8位數(shù)據(jù)后由硬件置位;在其他方式中,在接收到停止位時由硬件置位,并請求中斷。ri=1時申請中斷,要求cpu取走數(shù)據(jù),ri可供查詢,由指令清零。但在方式1中,當(dāng)sm2
44、=1時,若未接收到有效停止位,則不會對ri置位。在任何工作方式中,該位都必須由軟件清0以解除中斷請求,準(zhǔn)備接收下一幀數(shù)據(jù)。在系統(tǒng)復(fù)位時,scon中所有位都被清零。特殊功能寄存器pcon特殊功能寄存器pcon,沒有位尋址功能,直接地址為87h,如表9所示。但pcon中的最高位smod與串行口的波特率設(shè)置有關(guān)。當(dāng)smod=1時,方式1、方式2、方式3的波特率加倍。表9特殊功能寄存器pcon d7 d6 d0smod2、串行口的工作方式at89c51串行口有4種工作方式:方式0、方式1、方式2、方式3。串行口由scon中的sm0、sm1選擇4種工作方式,如表10所示。表10 串行口的方式選擇位sm0sm1方式功能說明000擴展移位寄存器方式(用于i/o擴展),移位速率fosc/120118位uart,波特率可變(t1溢出來/n)1029位uart,波特率為fosc/64或fosc/321139位uart,波特率可變(t1溢出來/n)本設(shè)計的計分電路中,需顯示的計分?jǐn)?shù)據(jù)采用方式0傳給cd4094。串行口工作方式0 的特點如下:為移位寄存輸入輸出方式,可接外移位寄存器,以擴展i/o口,也可外接同步輸入輸出設(shè)備。波特率固定:為fosc/12。同步發(fā)送/接收8位數(shù)據(jù),數(shù)據(jù)通過rxd引腳輸入/輸出,txd提供輸出移位時鐘。同步發(fā)送/接收8位數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級出版專業(yè)基礎(chǔ)知識模擬試題及答案解析十
- 青貯玉米出售合同協(xié)議
- 食品包裝購銷合同協(xié)議
- 預(yù)付款供貨合同協(xié)議
- 除草劑服務(wù)合同協(xié)議
- 預(yù)鋼筋購買合同協(xié)議
- 防排煙工程合同協(xié)議
- 院子家禽養(yǎng)殖合同協(xié)議
- 陶瓷制品訂制合同協(xié)議
- 集體土地居間合同協(xié)議
- 橋梁安全隱患排查
- 2023年《計量經(jīng)濟學(xué)》期末試卷
- 2025年高考?xì)v史必背的228個知識點
- 2024年廣東卷地理高考試卷(原卷+答案)
- 海洋能建結(jié)構(gòu)優(yōu)化
- 2024-2030年全球及中國銀離子抗菌敷料市場營銷渠道及應(yīng)用領(lǐng)域分析研究報告
- 2024中考語文《西游記》歷年真題專練(學(xué)生版+解析版)
- DL-T 850-2023 電站配管標(biāo)準(zhǔn)規(guī)范
- 污水處理設(shè)備維護保養(yǎng)記錄
- 500字作文標(biāo)準(zhǔn)稿紙A4打印模板-直接打印
- 發(fā)電機安全運行常識
評論
0/150
提交評論