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

正文內(nèi)容

原創(chuàng))基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)(編輯修改稿)

2024-12-18 15:49 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 60。如果一個(gè)中斷請(qǐng)求已被響應(yīng),則同級(jí)的其它中斷服務(wù)將被禁止。即同級(jí)不能嵌套。如果同級(jí)的多個(gè)中斷同時(shí)出現(xiàn),則按CPU查詢(xún)次序確定哪個(gè)中斷請(qǐng)求被響應(yīng)。其查詢(xún)次序?yàn)椋和獠恐袛?→定時(shí)中斷→外部中斷→定時(shí)中斷→串行中斷。中斷優(yōu)先級(jí)控制,除了中斷優(yōu)先級(jí)控制寄存器之外,還有兩個(gè)不可尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器。其中一個(gè)用于指示某一高優(yōu)先級(jí)中斷正在進(jìn)行服務(wù),從而屏蔽其它高優(yōu)先級(jí)中斷;另一個(gè)用于指示某一低優(yōu)先級(jí)中斷正在進(jìn)行服務(wù),從而屏蔽其它低優(yōu)先級(jí)中斷,但不能屏蔽高優(yōu)先級(jí)的中斷。此外,對(duì)于同級(jí)的多個(gè)中斷請(qǐng)求查詢(xún)的次序安排,也是通過(guò)專(zhuān)門(mén)的內(nèi)部邏輯實(shí)現(xiàn)的。上述四個(gè)專(zhuān)用寄存器的用途可以用圖10說(shuō)明。圖10 MCS51中斷系統(tǒng)二、本籃球計(jì)時(shí)計(jì)分器功能及實(shí)現(xiàn)過(guò)程(一) 系統(tǒng)總體設(shè)計(jì) 1. 系統(tǒng)總體設(shè)計(jì)思路作為一個(gè)基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器,本設(shè)計(jì)所采用的美國(guó)ATMEL公司的AT89C52單片機(jī)是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。由于AT89C52單片機(jī)的上述優(yōu)點(diǎn),所以在本系統(tǒng)中采用此單片機(jī)可以盡可能地降低成本。本設(shè)計(jì)是一個(gè)基于美國(guó)ATMEL公司的AT89系列的單片機(jī)的籃球計(jì)時(shí)計(jì)分器,整個(gè)系統(tǒng)可分為中央處理器及美國(guó)ATMEL公司的AT89C52單片機(jī),關(guān)于AT89C52單片機(jī)的一些參數(shù)及簡(jiǎn)單原理已經(jīng)在前面有介紹。人及交互界面,其中人及交互界面又包括顯示部件,本系統(tǒng)的顯示界面是采用七段式共陰數(shù)碼管作為輸出。七段是共陰數(shù)碼管,由于發(fā)光二極管的單向?qū)щ娦?,將一定?shù)量的發(fā)光二極管按照一定的排列方式排列,在通過(guò)編程實(shí)現(xiàn)部分或者全部二極管的亮滅即可以顯示0到9的所以數(shù)字從而實(shí)現(xiàn)單片機(jī)的輸出。在數(shù)碼管中的發(fā)光二極管具有兩種電氣連接方式,一種是共陽(yáng)一種是共陰,在這兩種連接方式中,七段式共陰數(shù)碼管內(nèi)部的八個(gè)發(fā)光二極管的負(fù)極全部接地,每個(gè)發(fā)光二極管的正極作為輸入只要在數(shù)碼管的正極給一個(gè)高電平,數(shù)碼管的負(fù)極接地就可以點(diǎn)亮數(shù)碼管從而實(shí)現(xiàn)顯示。共陽(yáng)數(shù)碼管的原理同共陰數(shù)碼管一樣的只是在數(shù)碼管內(nèi)部采用的是與共陰數(shù)碼管相反的接法即將所有的數(shù)碼管正極相連,工作的時(shí)候只要公共正極接高,而每個(gè)二極管的負(fù)極只要接低電平就可以實(shí)現(xiàn)數(shù)字的顯示。其中有六位數(shù)碼管輸出甲乙隊(duì)的比分,由于在有限的比賽時(shí)間內(nèi)比分不可能會(huì)超過(guò)三位數(shù),所以只每一個(gè)比賽方提供三位數(shù)的計(jì)分。其余的4位數(shù)碼管用于計(jì)時(shí),預(yù)設(shè)48分鐘的總比賽時(shí)間。五個(gè)按鍵作為系統(tǒng)的輸入,其中四個(gè)分別為甲對(duì)加分、甲隊(duì)減分、乙隊(duì)加分、乙隊(duì)減分,第五個(gè)按鍵作為繼續(xù)/暫停鍵使用。其中還有一個(gè)蜂鳴器用于提醒球員在預(yù)設(shè)的時(shí)間點(diǎn)注意時(shí)間。2. 計(jì)時(shí)部分設(shè)計(jì)分析 由于本設(shè)備為基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器,所以設(shè)備的計(jì)分就不可避免。由于AT89C52單片機(jī)內(nèi)部自帶有計(jì)時(shí)計(jì)數(shù)器,在AT89C52單片機(jī)內(nèi)部可以通過(guò)對(duì)關(guān)于計(jì)時(shí)計(jì)數(shù)器寄存器的設(shè)置來(lái)規(guī)定單片機(jī)內(nèi)部計(jì)時(shí)計(jì)數(shù)器的工作方式,其中有工作方式0,工作方式1,工作方式2,工作方式3,關(guān)于每種工作方式的詳情在前面有關(guān)單片機(jī)的計(jì)時(shí)計(jì)數(shù)器已經(jīng)有所介紹,由于AT89C52自帶的計(jì)時(shí)計(jì)數(shù)器的功能能夠完全滿(mǎn)足本系統(tǒng)的設(shè)計(jì)需求,而在盡量降低成本的前提下我們采用單片機(jī)自帶的計(jì)時(shí)器來(lái)計(jì)時(shí)。當(dāng)然也可以采用外部計(jì)時(shí)計(jì)數(shù)器作為單片機(jī)的計(jì)時(shí)計(jì)數(shù)器,并且也有這樣的現(xiàn)成模塊供使用。根據(jù)美國(guó)籃球協(xié)會(huì)的規(guī)定:一場(chǎng)籃球比賽的總的比賽時(shí)間為48分鐘,一共分為四節(jié),每一節(jié)平均12分鐘,中場(chǎng)和小節(jié)有一定的休息時(shí)間。所以在本系統(tǒng)中的計(jì)時(shí)部分在系統(tǒng)開(kāi)機(jī)時(shí)自動(dòng)將時(shí)間賦給總的比賽時(shí)間及48分鐘并在比賽開(kāi)始時(shí)自動(dòng)倒計(jì)時(shí)計(jì)時(shí)單位為1秒。由于比賽具有隨機(jī)性,可以在系統(tǒng)運(yùn)行的任何時(shí)候只要按下暫停鍵即可以實(shí)現(xiàn)計(jì)時(shí)器的暫停功能,當(dāng)需要比賽繼續(xù)時(shí)只要再一次按下暫停鍵就可以實(shí)現(xiàn)比賽的繼續(xù),即計(jì)時(shí)器繼續(xù)計(jì)時(shí)。還由于在比賽過(guò)程中每完成一個(gè)小節(jié)的計(jì)時(shí)任務(wù)有小節(jié)結(jié)束的暫停時(shí)間,并且此過(guò)程不需要人為的干涉,所以在系統(tǒng)每小節(jié)計(jì)時(shí)結(jié)束時(shí)應(yīng)該有一個(gè)暫停的功能。當(dāng)小節(jié)結(jié)束的暫停時(shí)將結(jié)束時(shí)可以在人為的按一下暫停鍵即可以實(shí)現(xiàn)計(jì)時(shí)的繼續(xù),在后面的小節(jié)結(jié)束并且需要暫停的時(shí)候能夠在小節(jié)結(jié)束時(shí)自動(dòng)暫停。并且需要繼續(xù)計(jì)時(shí)時(shí)只要在人為的按一下暫停鍵即可實(shí)現(xiàn)繼續(xù)計(jì)時(shí)。整個(gè)籃球計(jì)時(shí)過(guò)程結(jié)束時(shí)即48分鐘計(jì)時(shí)完畢,計(jì)時(shí)器上顯示時(shí)間結(jié)束,此時(shí)如果需要加時(shí)賽只要在按一下暫停鍵就可以在有5分鐘的加時(shí)賽時(shí)間,依次類(lèi)推,如果加時(shí)賽結(jié)束還沒(méi)有分出勝負(fù)待計(jì)時(shí)結(jié)束后只需要在一次按下暫停鍵即可再一次得到5分鐘的加時(shí)賽時(shí)間。所以本設(shè)計(jì)中的計(jì)時(shí)部分在開(kāi)機(jī)時(shí)設(shè)為初值48分鐘并在比賽開(kāi)始時(shí)自動(dòng)倒計(jì)時(shí),計(jì)時(shí)單位為1秒。并且考慮到在每一節(jié)比賽結(jié)束時(shí)有一定的暫停時(shí)間,所以系統(tǒng)在每計(jì)時(shí)12分鐘時(shí)會(huì)有一個(gè)自動(dòng)暫停,當(dāng)需要比賽繼續(xù)時(shí)直接按一下暫停鍵即可。這樣依次倒計(jì)時(shí)當(dāng)48分鐘倒計(jì)完時(shí)計(jì)時(shí)結(jié)束。 當(dāng)每節(jié)及終場(chǎng)快結(jié)束的時(shí)候,在結(jié)束的最后3分鐘蜂鳴器響10秒來(lái)提醒球員和裁判注意合理利用時(shí)間。3. 計(jì)分部分設(shè)計(jì)分析 分部分的設(shè)計(jì),根據(jù)設(shè)計(jì)要求。由于本計(jì)時(shí)計(jì)分器時(shí)用于對(duì)籃球比賽的計(jì)時(shí)計(jì)分,所以計(jì)分的對(duì)象有兩個(gè),及比賽的主隊(duì)與客隊(duì)。所以本計(jì)時(shí)計(jì)分器也實(shí)現(xiàn)對(duì)兩隊(duì)的計(jì)分功能。由于在有限的48分鐘比賽時(shí)間內(nèi)主客兩隊(duì)的分?jǐn)?shù)必定在一定的范圍內(nèi),根據(jù)以往的比賽經(jīng)驗(yàn)籃球比賽分?jǐn)?shù)一般不會(huì)超過(guò)3位數(shù)。所以本計(jì)時(shí)計(jì)分器的計(jì)分部分位數(shù)為3位計(jì)分,及本系統(tǒng)的最大計(jì)分值為999分,夠滿(mǎn)足要求。計(jì)分部分分為兩部分:顯示部分,以及分?jǐn)?shù)輸入部分。由于計(jì)分部分采用三位數(shù)碼管,所以?xún)申?duì)的計(jì)分器一共有6位數(shù)碼管。所以在本系統(tǒng)的程序中,由于計(jì)時(shí)和計(jì)分部分是本系統(tǒng)的兩大主要程序設(shè)計(jì)模塊,所以在程序設(shè)計(jì)中先通過(guò)初始化子函數(shù)的調(diào)用來(lái)對(duì)程序進(jìn)行初始化,為了使得程序看起來(lái)更簡(jiǎn)潔,所以將計(jì)時(shí)和計(jì)分部分以及其他的程序都采用子函數(shù)的方式,當(dāng)在主函數(shù)中需要實(shí)現(xiàn)相應(yīng)的模塊功能是只要在主函數(shù)中對(duì)相應(yīng)的子函數(shù)調(diào)用即可。而對(duì)于在程序中的計(jì)時(shí)部分子函數(shù)的設(shè)計(jì),所以在計(jì)分部分的分?jǐn)?shù)顯示部分函數(shù)設(shè)計(jì)中同樣采用計(jì)時(shí)部分程序設(shè)計(jì)的思路,即采用動(dòng)態(tài)顯示的方式對(duì)6位數(shù)碼管進(jìn)行掃描顯示。計(jì)分部分的顯示部分分為甲隊(duì)和乙隊(duì)分?jǐn)?shù)顯示,在程序設(shè)計(jì)中將甲隊(duì)分?jǐn)?shù)的百位送到6位數(shù)碼管的第一位顯示,并延時(shí)一定時(shí)間,然后將甲隊(duì)的分?jǐn)?shù)的十分位送到6位數(shù)碼管的第二位顯示并延時(shí)一定的時(shí)間,在再將甲隊(duì)的分?jǐn)?shù)的個(gè)位送到6位數(shù)碼管中的第三位顯示并延時(shí)一定的時(shí)間。同樣的在顯示乙隊(duì)的分?jǐn)?shù)時(shí)也采用的方法來(lái)顯示,這樣在數(shù)碼管的動(dòng)態(tài)顯示過(guò)程中即可實(shí)現(xiàn)甲乙隊(duì)的分?jǐn)?shù)刷新顯示。由于籃球比賽過(guò)程中的加分時(shí)間具有隨機(jī)性,所以本計(jì)時(shí)計(jì)分器的分?jǐn)?shù)輸入部分采用4個(gè)按鍵輸入。其中兩個(gè)用于主隊(duì)的加分和減分,并且每按一次加分鍵主隊(duì)加一分,同樣每按一次減分鍵分?jǐn)?shù)減一分。另外兩個(gè)按鍵用于客隊(duì)的分?jǐn)?shù)加減。當(dāng)需要加減不止一分時(shí)可以通過(guò)連續(xù)按下幾次加減分鍵來(lái)實(shí)現(xiàn)。4. 加時(shí)賽部分設(shè)計(jì)分析由于籃球比賽在規(guī)定的時(shí)間內(nèi)分?jǐn)?shù)具有隨機(jī)性,所以在48分鐘的有限時(shí)間內(nèi)有可能主客隊(duì)的分?jǐn)?shù)一樣。這樣就區(qū)分不出來(lái)主客隊(duì)的輸贏,由于有這樣的可能性存在,此時(shí)就必須要求加時(shí)賽。在本計(jì)時(shí)計(jì)分器中加入計(jì)時(shí)賽計(jì)時(shí)部分,具體的實(shí)現(xiàn)方法是在比賽結(jié)束的時(shí)候及48分鐘計(jì)時(shí)結(jié)束后如果需要進(jìn)行加時(shí)賽,只需要在按一下暫停鍵即可得到5分鐘的加時(shí)賽時(shí)間。如果加時(shí)賽時(shí)間已經(jīng)結(jié)束還是沒(méi)有分出勝負(fù),可以在按一下暫停鍵有可以得到5分鐘的加時(shí)賽時(shí)間。5. 程序設(shè)計(jì)的步驟根據(jù)程序的設(shè)計(jì)步驟,首先是程序的頭文件申明,然后初始化程序然后分別調(diào)用計(jì)時(shí)部分和計(jì)分部分。由于本單片機(jī)計(jì)時(shí)計(jì)分器的設(shè)計(jì)采用的是美國(guó)ATMEL公司的AT89C52單片機(jī),該單片機(jī)是基于Intel 公司的MCS51系列的單片機(jī)。故本設(shè)計(jì)的程序設(shè)計(jì)部分采用C++語(yǔ)言來(lái)設(shè)計(jì)。首先在程序開(kāi)頭處申明頭文件,即include。,使用此文件的目的是在程序開(kāi)始處即對(duì)本設(shè)計(jì)所要采用的單片機(jī)的寄存器進(jìn)行申明。由于在對(duì)單片機(jī)的控制時(shí),不外乎就是采用軟件的方法對(duì)其寄存器不斷地進(jìn)行置位和清零的操作。,及define uint unsigned int 和define uchar unsigned char即是什么了uint和uchar兩個(gè)宏定義,這兩個(gè)宏定義分別表示了無(wú)符號(hào)的int型數(shù)據(jù)及無(wú)符號(hào)的整型數(shù)據(jù)變量和無(wú)符號(hào)的char型數(shù)據(jù)即為無(wú)符號(hào)的字符變量 。在兩個(gè)宏定義的定義結(jié)束后就是對(duì)本程序所要使用到得變量進(jìn)行申明,其中uchar型變量有aa,minute,second,minuteshi,minutege,secondshi,secondge,score1,score2,score1bai,score1shi,score1ge,score2bai,score2shi,score2ge分別為aa 表示在計(jì)時(shí)過(guò)程中要用到的中間變量,還有就是在計(jì)時(shí)過(guò)程中的分鐘minute 和計(jì)時(shí)過(guò)程中的秒變量second,由于需要把比賽時(shí)間顯示出來(lái),有因?yàn)樵诒鞠到y(tǒng)中的硬件采用的動(dòng)態(tài)掃描顯示技術(shù),所以在軟件設(shè)計(jì)的時(shí)候也需要根據(jù)硬件做出相應(yīng)的調(diào)整,又由于在比賽的時(shí)間是由四位數(shù)分別表示的時(shí)間分鐘的時(shí)位,時(shí)間分鐘的個(gè)位,時(shí)間秒鐘的十位以及時(shí)間秒鐘的個(gè)位。所以在此處的程序開(kāi)始的申明時(shí)就需要將以上時(shí)間的四個(gè)位數(shù)依次申明以便于在程序設(shè)計(jì)時(shí)能進(jìn)行相應(yīng)功能的實(shí)現(xiàn)。由于此系統(tǒng)實(shí)現(xiàn)的功能是計(jì)時(shí)計(jì)分的功能,所以就涉及到有對(duì)分?jǐn)?shù)的記錄由于籃球的雙方比分一般都不會(huì)超過(guò)三位數(shù),所以在以上的uchar型變量的申明中對(duì)比賽雙方的分?jǐn)?shù)進(jìn)行了申明,并且同樣采用與時(shí)間顯示的方式對(duì)分?jǐn)?shù)進(jìn)行顯示,即將score1 和score2 的百位和十位以及個(gè)位分別申明便于程序使用變量。當(dāng)對(duì)程序中要使用的變量申明結(jié)束后,由于在系統(tǒng)中還要用到分?jǐn)?shù)的加減,即是人為的操作,所以本系統(tǒng)中用到了按鍵。所以就不可置疑的就要使用位定義將所使用的每個(gè)按鍵都定義到其對(duì)應(yīng)的寄存器中。所以在對(duì)程序中間變量的申明結(jié)束后就需要進(jìn)行位定義,此處的位定義采用sbit 命令。,為段選和位選的定義。還有將甲乙隊(duì)的加分鍵和減分鍵都定義到單片機(jī)的P3口。位定義結(jié)束后在定義一個(gè)中間變量temp,采用uint型的數(shù)據(jù)變量來(lái)定義。當(dāng)所有的數(shù)據(jù)變量定義結(jié)束后,在來(lái)定義三組無(wú)符號(hào)的字符型變量的代碼段。即為table[],table1[],fenwei[]。此三組代碼段分別為顯示的代碼區(qū)和位選擇代碼區(qū)。由于單片機(jī)的RAM非常緊張,所以在定義此三組數(shù)據(jù)時(shí)采用uchar code table[]={}的形式目的是將此段數(shù)據(jù)放在ROM中以緩解單片機(jī)緊張的RAM。至此此程序的變量定義部分完成。由于在此程序中采用了模塊化的程序設(shè)計(jì)思想,所以只需要設(shè)計(jì)好相應(yīng)的子程序,并且在main函數(shù)中來(lái)不斷地調(diào)用子函數(shù)即可實(shí)現(xiàn)相應(yīng)的函數(shù)功能。下面分別對(duì)各個(gè)子函數(shù)進(jìn)行解釋。子函數(shù)void init()子函數(shù),此函數(shù)是初始化函數(shù),顧名思義就是對(duì)程序的參數(shù)以及單片機(jī)的寄存器進(jìn)行初始化的函數(shù)。在init函數(shù)中首先對(duì)鎖存器74HC573的選通進(jìn)行初始化,及將選通多設(shè)為0,即是說(shuō)將鎖存器在程
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1