單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 3.3 多路搶答器的實(shí)現(xiàn)_第1頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 3.3 多路搶答器的實(shí)現(xiàn)_第2頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 3.3 多路搶答器的實(shí)現(xiàn)_第3頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 3.3 多路搶答器的實(shí)現(xiàn)_第4頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 3.3 多路搶答器的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目搶答器的實(shí)現(xiàn)搶答器的實(shí)現(xiàn)任務(wù)目錄任務(wù)一開關(guān)控制LED燈顯示任務(wù)二數(shù)碼管顯示按鍵按下次數(shù)任務(wù)三多路搶答器的實(shí)現(xiàn)搶答器的實(shí)現(xiàn)主持人有一個(gè)開始搶答命令按鍵任務(wù)功能3個(gè)選手各有一個(gè)搶答按鍵當(dāng)主持人按下開始按鍵后,數(shù)碼管顯示“P”,允許選手開始搶答,否則搶答無效;某選手按下對(duì)應(yīng)的按鍵后,數(shù)碼管顯示選手號(hào),蜂鳴器鳴叫一段時(shí)間,此時(shí)其他選手不允許搶答;當(dāng)主持人重新按下對(duì)應(yīng)的按鍵后,上述動(dòng)作繼續(xù)主裁判點(diǎn)評(píng)在搶答的任意環(huán)節(jié),主裁判可打斷進(jìn)行點(diǎn)評(píng);點(diǎn)評(píng)后,恢復(fù)打斷前的狀態(tài)選手裁判主持搶答器硬件電路設(shè)計(jì)序號(hào)名稱Proteus中元件名參數(shù)數(shù)量1單片機(jī)STC15W4K32S4127段共陽數(shù)碼管7seg-com-anode

13排阻RX847014按鍵button55蜂鳴器buzzer16三極管PNP17電阻RES22018發(fā)光二極管LED8蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,根據(jù)使用方式分為:無源蜂鳴器:內(nèi)驅(qū)動(dòng)部無震蕩源,需要2KHZ-5KHZ的方波信號(hào)驅(qū)動(dòng)有源蜂鳴器:內(nèi)帶震蕩源,接入額定的電源電壓驅(qū)動(dòng)無源蜂鳴器:內(nèi)部不帶震蕩源,所以如果用直流信號(hào)無法令其鳴叫。必須用2K~5K的方波去驅(qū)動(dòng)它。優(yōu)點(diǎn)是:1.便宜2.聲音頻率可控,可以做出“多來米發(fā)索拉西”的效果。(a)有源蜂鳴器(b)無源蜂鳴器蜂鳴器蜂鳴器的工作電流在30mA左右,單片機(jī)的I/O口輸出電流:拉電流:<1mA灌電流:10mA單片機(jī)的I/O口不足以驅(qū)動(dòng)蜂鳴器,需要接驅(qū)動(dòng)電路。蜂鳴器sbitBUZZER=P3^6; voidmain() {

while(1) {

BUZZER=0;delay_ms(500);

BUZZER=1;delay_ms(500);} }搶答器的實(shí)現(xiàn)主持人有一個(gè)開始搶答命令按鍵任務(wù)功能3個(gè)選手各有一個(gè)搶答按鍵當(dāng)主持人按下開始按鍵后,數(shù)碼管顯示“P”,允許選手開始搶答,否則搶答無效;某選手按下對(duì)應(yīng)的按鍵后,數(shù)碼管顯示選手號(hào),蜂鳴器鳴叫一段時(shí)間,此時(shí)其他選手不允許搶答;當(dāng)主持人重新按下對(duì)應(yīng)的按鍵后,上述動(dòng)作繼續(xù)主裁判點(diǎn)評(píng)在搶答的任意環(huán)節(jié),主裁判可打斷進(jìn)行點(diǎn)評(píng);點(diǎn)評(píng)后,恢復(fù)打斷前的狀態(tài)選手裁判主持搶答器軟件程序設(shè)計(jì)循環(huán)內(nèi)有2個(gè)函數(shù),一個(gè)是判主持人是否按下開始鍵的函數(shù)chairman_scan();一個(gè)是判選手是否按下?lián)尨疰I的函數(shù)player_scan();chairman_scan()給出主持人是否按下的標(biāo)識(shí),根據(jù)該標(biāo)識(shí)來確定是否執(zhí)行player_scan()Y初始化state=1?Nplayer_scan()chairman_scan()程序主函數(shù)bitstate=0;//初始狀態(tài)不允許搶答voidmain(void){IO_Init();P0=0xff;//關(guān)數(shù)碼管state=0;//初始狀態(tài)不允許搶答while(1){ chairman_scan(); //掃描主持人按鍵if(state==1){ player_scan(); //掃描選手按鍵

}}}主持人按鍵函數(shù)sbitCHAIRMAN=P3^1;voidchairman_scan()//主持人掃描函數(shù)定義{ if(CHAIRMAN==0) { delay_ms(10);//去抖動(dòng)

if(CHAIRMAN==0) { state=1; P0=0x8c; //顯示"P",表示開始搶答

}while(CHAIRMAN==0); //等待按鍵釋放 }}P3&0x38=0x38?NNYY延時(shí)幾個(gè)msYY顯示”1”退出P3&0x38=0x38?P3&0x38=0x38?顯示”2”顯示”3”關(guān)閉顯示N0x300x280x18其他選手按鍵函數(shù)增加state=0;增加beep();選手按鍵函數(shù)

voidplayer_scan(){if((P3&0x38)!=0x38) {delay_ms(10);//去抖動(dòng) if((P3&0x38)!=0x38) {switch(P3&0x38){ case0x30:P0=segtab[1];P1=~0x01;break; case0x28:P0=segtab[2];P1=~0x02;break;case0x18:P0=segtab[3];P1=~0x04;break;default:P0=0xff;P1=0xff;} state=0;beep();//聲音提示

while((P3&0x38)!=0x38); //等待按鍵釋放}

}}蜂鳴器鳴叫函數(shù)sbitBUZZER=P3^6;voidbeep(){unsignedchari;for(i=0;i<200;i++)//產(chǎn)生200個(gè)周期為1ms左右的方波

{delay_ms(1);//延時(shí)1ms

BUZZER=~BUZZER;//產(chǎn)生方波

}}IO初始化voidIO_Init(){P0M0=0x00;P0M1=0x00;//設(shè)置P0工作于準(zhǔn)雙向口模式P1M0=0x00;P1M1=0x00;//設(shè)置P1工作于準(zhǔn)雙向口模式P3M0=0x00;P3M1=0x00;//設(shè)置P3工作于準(zhǔn)雙向口模式}搶答器的實(shí)現(xiàn)主持人有一個(gè)開始搶答命令按鍵任務(wù)功能3個(gè)選手各有一個(gè)搶答按鍵當(dāng)主持人按下開始按鍵后,數(shù)碼管顯示“P”,允許選手開始搶答,否則搶答無效;某選手按下對(duì)應(yīng)的按鍵后,數(shù)碼管顯示選手號(hào),蜂鳴器鳴叫一段時(shí)間,此時(shí)其他選手不允許搶答;當(dāng)主持人重新按下對(duì)應(yīng)的按鍵后,上述動(dòng)作繼續(xù)主裁判點(diǎn)評(píng)在搶答的任意環(huán)節(jié),主裁判可打斷進(jìn)行點(diǎn)評(píng);點(diǎn)評(píng)后,恢復(fù)打斷前的狀態(tài)選手裁判主持什么是中斷單片機(jī)中斷系統(tǒng)結(jié)構(gòu)中斷處理過程第5章中斷1、隨時(shí)發(fā)生2、自動(dòng)響應(yīng)3、執(zhí)行中斷后自動(dòng)返回主函數(shù)什么是中斷?執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點(diǎn)中斷請(qǐng)求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回?fù)尨鹌鞯膶?shí)現(xiàn)

中斷的作用

中斷功能強(qiáng)弱是單片機(jī)性能優(yōu)劣的重要標(biāo)志

實(shí)現(xiàn)并行工作

提高CPU效率

實(shí)時(shí)處理

異常處理中斷(1)主程序:原來正常運(yùn)行的程序稱為主程序。(2)斷點(diǎn):主程序被斷開的位置(或地址)稱為斷點(diǎn)。(3)中斷源:引起中斷的原因,或能發(fā)出中斷申請(qǐng)的來源,稱為中斷源。(4)中斷請(qǐng)求:中斷源要求服務(wù)的請(qǐng)求稱為中斷請(qǐng)求(或中斷申請(qǐng))。(5)中斷服務(wù)程序:CPU響應(yīng)中斷后,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,該處理程序通常稱之為中斷服務(wù)程序。中斷相關(guān)概念中斷中斷的主要來源

外部中斷

定時(shí)中斷串行中斷

中斷源外部中斷外部中斷的來源:來自于單片機(jī)外部的可以產(chǎn)生下降沿或低電平的器件。可以出發(fā)外部中斷的器件:按鍵、開關(guān)、傳感器……

外部中斷用什么方式能夠使按鍵的讀取變簡(jiǎn)單,且實(shí)現(xiàn)并行工作?解決辦法:外部中斷外部中斷編程實(shí)例1:

外部中斷控制LED狀態(tài)切換要求:P1端口連接8個(gè)LED,P3.2引腳連接一個(gè)按鍵K1。

(1)正常情況下LED全亮。

(2)按下K1一次,LED燈狀態(tài)切換一次;項(xiàng)目任務(wù)分析和編寫外部中斷程序:外部中斷程序結(jié)構(gòu):

1、外部中斷的初始化部分 2、外部中斷服務(wù)程序的編寫外部中斷程序1、外部中斷的初始化外部中斷1、外部中斷的初始化——使用外部中斷0的相關(guān)設(shè)置:

外部中斷有效方式的設(shè)置:

IT0=0:低電平觸發(fā);IT0=1:下降沿觸發(fā);

單片機(jī)如何能響應(yīng)定時(shí)器中斷:

EX0=1,EA=1;

外部中斷TF1

TF0

IE1IT1IE0IT0TCON88H

外部中斷INT0觸發(fā)方式控制位(TCON.2):

IT0=0,電平觸發(fā)方式

IT0=1,下降沿觸發(fā)方式765432101、外部中斷的初始化——①TCON寄存器外部中斷EA=0:禁止所有中斷EA=1:CPU開放所有中斷EX0(EX1)=0:禁止外部中斷EX0(EX1)=1:允許外部中斷1、外部中斷的初始化——注意:兩個(gè)寄存器都可以位尋址。EA—ET2ESET1EX1ET0EX0②IE(中斷允許寄存器)外部中斷2.外部中斷服務(wù)程序的編寫函數(shù)名()interrupt

n

usingm{

函數(shù)內(nèi)部實(shí)現(xiàn)….}

中斷源編號(hào)n外部00定時(shí)器01外部12定時(shí)器13串口4usingm:定義中斷函數(shù)使用的工作寄存器組,m的取值范圍為0-3,可以缺省。①不能進(jìn)行參數(shù)傳遞;②無返回值;③在任何情況下,不能直接調(diào)用中斷函數(shù);④不同的中斷函數(shù)使用不同的寄存器組,避免沖突。外部中斷編程實(shí)例1:

外部中斷控制LED狀態(tài)切換要求:P10引腳連接LED,P3.2引腳連接一個(gè)按鍵K1。(1)正常情況下LED亮。(2)按下K1一次,LED燈狀態(tài)切換一次;voidmain(){EA=1;//開總中斷開關(guān)EX0=1;//開外部中斷0中斷允許控制位IT0=1;//把IT0設(shè)為下降沿觸發(fā)P10=0;//設(shè)置初始狀態(tài)while(1);//原地等待不變}voidint0()interrupt0//中斷服務(wù)程序0{ P10=~P10;//把P10的值切換}外部中斷編程實(shí)例1:

外部中斷控制LED狀態(tài)切換要求:P1端口連接8個(gè)LED,P3.2引腳連接一個(gè)按鍵K1。(1)正常情況下LED全亮。(2)按下K1一次,8燈狀態(tài)切換一次;使用外部中斷1處理,軟硬件應(yīng)該如何修改?外部中斷項(xiàng)目任務(wù):

多路搶答器的實(shí)現(xiàn)項(xiàng)目實(shí)現(xiàn)voidINT_Init(){EX0=1;//允許外部中斷0IT0=1;//中斷觸發(fā)方式:上升沿/下降沿EA=1;//中斷總允許位置1}項(xiàng)目任務(wù):

多路搶答器的實(shí)現(xiàn)項(xiàng)目

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論