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

正文內(nèi)容

單片機課程設(shè)計報告-籃球計時計分器(編輯修改稿)

2024-08-30 01:28 本頁面
 

【文章內(nèi)容簡介】 82HE79H86H707HF8F71H8EH四、電路方案設(shè)計功能控制電路該控制電路可以實現(xiàn)籃球比賽的節(jié)數(shù)、時間、24秒復(fù)位、比賽暫停、兩隊的分數(shù)加減等功能的設(shè)置。采用7個復(fù)位開關(guān)一端共地,另一端接入與門,再連接到單片機的13號腳(),實現(xiàn)外部中斷1請求。①、賽程時間設(shè)置在計時電路中,“修改移位開關(guān)”和“紅隊加、減分開關(guān)”共同用來設(shè)置比賽的節(jié)次、剩余時間等。比如:比賽時間為第一小節(jié)剩余10分鐘,則通過按“修改移位開關(guān)”,使數(shù)碼管1進入修改模式,再按“紅隊加、減分開關(guān)”鍵,設(shè)定本場比賽的小節(jié)數(shù),使數(shù)碼管1顯示“1”即可;繼續(xù)按動“修改移位開關(guān)”可以使其他的數(shù)碼管進入修改模式,按以上方法修改即可。當(dāng)比賽結(jié)束時,如果由于一些特殊原因需要增加比賽時間,這時增加比賽時間同樣由以上方法來設(shè)置。②、賽程時間啟動/暫停設(shè)置當(dāng)時間設(shè)置完成后,這時,如果裁判吹響開始的哨聲時,則應(yīng)立即按下按“暫停/啟動”鍵,表示賽程開始,計時顯示則開始倒計時,在此過程中24秒也開始倒計,在24秒倒計到06秒時,蜂鳴器發(fā)出警報,報警燈開始閃爍,如果24秒倒計為00前,沒有被復(fù)位(有人24秒進攻違例),則比賽自動暫停。如果無進攻違例,則需要記分人員手動復(fù)位24秒(按控制鍵盤中的“復(fù)位”開關(guān)即可)。比賽暫停后,需要按“暫停/啟動”鍵來激活時間倒計。③、比分刷新控制由于在比賽中,甲、乙兩隊的比分是不斷在變化的,所以需要設(shè)置比分刷新控制裝置;此部分功能由計分電路中的所示的按鍵開關(guān)“紅隊加分”、“紅隊減分”、“藍隊加分”、“藍隊減分”來完成的。時鐘產(chǎn)生方式采用內(nèi)部時鐘方式(在單片機的XTAL1和XTAL2引腳外接晶振即可),途中,電容器C1和C2的作用是穩(wěn)定頻率和快速起振。復(fù)位電路該電路采用:按鍵與上電復(fù)位 上電復(fù)位要求接通電源后,單片機自動實現(xiàn)復(fù)位操作。上電瞬間RST引腳獲得高電平,隨著電容C3的充電,RST引腳的高電平將逐漸下降。RST引腳的高電平只要能保持足夠的時間(兩個機械周期),單片機就可以進行復(fù)位操作。按下復(fù)位開關(guān)時,短接電容C3,使RST引腳瞬間得到高電平也可實現(xiàn)復(fù)位功能。 顯示電路顯示電路是由數(shù)碼管組成的,主要用來顯示籃球比賽過程中的節(jié)次、24秒、比賽剩余時間、兩隊分數(shù)。在此電路中,單片機的P1口用于控制4位LED的段選碼:—。由于所有的段選碼連在一起,所以同一瞬間只能顯示同一種字符。但如果要顯示不同字符,則要由位選碼來控制,—。(—,—。)顯示電路的主電路圖如下: 電路總圖綜上所述,結(jié)合以上各個電路,加上適當(dāng)?shù)慕M件,即可得到籃球比賽計時計分器的總設(shè)計圖:五、編程與仿真keil軟件的應(yīng)用利用keil軟件,編寫程序,并進行調(diào)試,調(diào)試結(jié)果出現(xiàn)0個錯誤時,即可生成hex文件(部分程序流程圖如下)。計時程序部分流程圖:按下調(diào)時開關(guān)立即數(shù)00H取出,LE輸出高電平,然后將LE清零開放定時中斷啟動定時器,T0開始定時定時中斷初始化調(diào)用定時中斷程序記分程序部分流程圖:按下計分鍵輸出低電平,外部中斷產(chǎn)生調(diào)用中斷程序串行數(shù)據(jù)輸出移位脈沖輸出顯示數(shù)據(jù),兩隊相應(yīng)比分變化串行口發(fā)送完畢,標(biāo)志清零程序流程圖:HEX文件的生成方式:在所建工程上右鍵→下拉菜單中點擊‘options for target‘target1’’→點擊輸出選項卡→勾中創(chuàng)建hex文件(如下圖)→確定→運行。即可再所建工程的文件夾下找到hex文件proteus的應(yīng)用按照原理圖搭建防真電路圖,加載hex文件運行即可。Hex文件加載方式:雙擊仿真電路圖中的AT89C52單片機→單擊program file項后面的文件夾圖標(biāo)→選中剛剛建立的hex文件→確定(如下圖所示)→確定進行電路仿真以上準備工作全部完成后就可以進行電路仿真啦,單擊開始進行仿真。運行效果圖如下:六、 心得與總結(jié) 在本次設(shè)計中,我通過基于典型單片機AT89C52的設(shè)計和應(yīng)用,對于單片機工作原理,功能有了宏觀的了解,并對單片機匯編程序的應(yīng)用有了新的、進一步的認識。在設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很不順手,看似很簡單的電路,要動手把它給設(shè)計出來,是很難的一件事,主要原因是我們沒有經(jīng)常動手設(shè)計過電路。另外單片機系統(tǒng)的知識似懂非懂,而且很多知識當(dāng)時弄明白了,現(xiàn)在要用的時候又不記得,造成我用了大量的時間去查閱各種資料和程序命令,因此整個過程時間安排不合理。由于設(shè)計的計劃沒有安排好,設(shè)計的時間極為倉促,尤其是在仿真調(diào)試的過程中出現(xiàn)了很大的問題。另外資料的查找也是一大難題,這就要求我們在以后的學(xué)習(xí)中,應(yīng)該注意到這一點,更重要的是我們要學(xué)會把從書本中學(xué)到的知識和實際的電路聯(lián)系起來,這不論是對我們以后的就業(yè)還是學(xué)習(xí),都會起到很大的促進和幫助。本次設(shè)計測試結(jié)果以及不足之處:計時電路可完成倒計時、暫停、繼續(xù)等功能,在比賽時間到后可進行報警。記分電路工作正常,可完成對比分的刷新與暫存。但在測試過程中發(fā)現(xiàn),在比賽上半場時間到后,不能進行比分的交換。進行分析后得出結(jié)論如下:系統(tǒng)電路部分設(shè)計沒有原則性的錯誤,基本達到本次課程設(shè)計的要求。附表一程序編程清單:include define uchar unsigned char define uint unsigned int define TH_value 0xb1define TL_value 0xe0 //定時器工作于方式1,每20ms產(chǎn)生一個中斷sbit speak=P3^7。sbit ext=P3^2。sbit led=P3^4。/**********BCD碼字***************/uchar code bcd[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F}。/************0~9數(shù)字顯示**************/uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}。uchar munite。 //比賽剩余分位數(shù)uchar second。 //比賽剩余秒位數(shù)uchar part。 //當(dāng)前比賽的節(jié)次 uchar s24。 //24秒標(biāo)志uchar red_mark。 //紅隊得分uchar blue_mark。 //藍隊得分uchar key_move。 //設(shè)置位移動uchar key_red_add。 //紅隊得分增加1uchar key_red_mul。 //紅隊得分減少1uchar key_blue_add。 //藍隊得分增加1uchar key_blue_mul。 //藍隊得分減少1uchar key_pause。 //暫停uchar key_reset。 //24秒復(fù)位及進入下一節(jié)復(fù)位uchar time_tick1,time_tick2。uchar station。 //狀態(tài)標(biāo)志位uchar flag。 //跳亮標(biāo)志位uchar talk1,talk2,num,num1。 //報警信號標(biāo)志/*******函數(shù)聲明********/void init()。void init_timer()。void init_extra()。uchar key_scan()。void scanf(uchar p,uchar tw,uchar m,uchar s,uchar r,uchar b)。void scanf1(uchar p,uchar r,uchar b)。void scanf2(uchar tw,uchar r,uchar b)。void scanf3(uchar m,uchar r,uchar b)。void scanf4(uchar s,uchar r,uchar b)。void play24()。void playstop1()。void playstop2()。/*********延時程序,t=1時,延時1ms************/void delay(uchar t){ int i,j。 for(j=0。jt。j++) for(i=0。i110。i++)。}/***********主程序************/void main(){ init()。 init_timer()。 init_extra()。 //初始化 while(1) { if(station==0) //狀態(tài)0:比賽狀態(tài) { scanf(part,s24,munite,second,red_mark,blue_mark)。 if(time_tick1==50) { time_tick1=0。 if(second==0) //時間計數(shù) { if(munite==0) { if(part=4) { talk2=1。 //終場報警操作 TR0=0。 //關(guān)閉定時器中斷0 TR1=1。 } else { talk2=1。 //小節(jié)結(jié)束報警 TR1=1。 TR0=0。 } } else { munite。 second=59。 } } else second。 if(s24==0) //24秒計數(shù) { TR0=0。 } else { if(s242) { talk2=1。 TR1=1。 TR0=0。 key_pause=0。 } else if(s248) { talk1=1。 TR1=1。 } s24。 //6秒提醒 }
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1