搶答器課程設(shè)計 (2)_第1頁
搶答器課程設(shè)計 (2)_第2頁
搶答器課程設(shè)計 (2)_第3頁
搶答器課程設(shè)計 (2)_第4頁
搶答器課程設(shè)計 (2)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計說明書題目:四路智能搶答器設(shè)計所屬課程:數(shù)字電路姓名:宗逸鴻學號:1111126027班級:光科1101指導教師:王立剛智力搶答器系統(tǒng)設(shè)計摘 要: 介紹一種以AT89C51單片機為核心控制器,在Protues軟件環(huán)境下,從硬件電路建立和軟件設(shè)計兩方面闡述了智能搶答器系統(tǒng)的設(shè)計過程和方法!通過仿真運行,表明該搶答器能夠及時準確的顯示第一有效搶答信號,具有反應快"區(qū)分度高"操作簡便和實用性強等特點。證明了本文闡述的方案和設(shè)計方法是可行的。關(guān)鍵詞:搶答器;單片機;Abstract: This paper introduces a AT89C51 MCU as the co

2、re controller, in the Protues software environment, the hardware circuit and software design of two aspects elaborates the design process and method of intelligent responder system! By running the simulation, show that the responder can timely and accurately display the first effective answer signal

3、, has quick reaction; discrimination high; easy operation and strong practicability. Prove the scheme and design method in this paper is feasible.Keywords: responder; single chip microcomputer;目錄 設(shè)計任務(wù)與要求3方案設(shè)計與論證3一.搶答器的原理框圖及基本要求3二. 方案的設(shè)計52.1 方案一:觸發(fā)器控制52.2 方案二:單片機控制6三、單元電路設(shè)計與參數(shù)計算73.1搶答電路設(shè)計73.2定時與聲光報警提

4、示電路設(shè)計93.3評分電路的設(shè)計93.4顯示電路的設(shè)計10四、總原理圖114.1總原理圖114.2元件清單11五、仿真調(diào)試125.1軟件調(diào)試135.2硬件調(diào)試13六、結(jié)論與心得15七、參考文獻16附錄一17設(shè)計任務(wù)與要求1) 搶答器具有數(shù)碼顯示、鎖存功能。 2) 搶答組數(shù)分為四組,即序號:1,2,3,4,各有一個搶答按鈕,搶答按鈕編號與組數(shù)序號相對應,分別是選手1,選手2,選手3,選手4,優(yōu)先搶答者按動本組序號開關(guān),該組號立即鎖存到LED顯示器上,同時封鎖其他組號。 3) 主持人設(shè)置外部清除鍵。按動清除鍵,LED顯示器自動清零滅燈。 4) 搶答器定時30S。啟動開始鍵后,要求: 30S定時器工

5、作。 揚聲器要短暫報警。 5) 搶答器在30S內(nèi)進行搶答,搶答有效,終止定時;30S定時到,無搶答者本次搶答無效,系統(tǒng)短暫報警。6) 按下復位key5(主持人),開啟倒計時以及流水燈循環(huán)流動,至5秒后,報警提示若無人作答,至流水燈以及倒計時提示熄滅,無人作答提示燈,點亮7) 若有人搶答,選手則按下選手1,選手2,選手3,選手4;8) 作答后,由主持選擇打分評價,按打分區(qū)鍵,進行打分評估,并將分數(shù)閃爍顯示在LED數(shù)碼管上。9) 由主持人按下清零鍵后,再按下復位鍵,開啟下一輪限時搶答10) 設(shè)計出電路圖,分析工作原理并仿真。方案設(shè)計與論證該電路的根本要求是準確的判斷出第一搶答者的信號并將其鎖存。實

6、現(xiàn)這一功能可用觸發(fā)器和鎖存器等。在得到第一信號后應立即將電路的輸入封鎖,即使其他組再次發(fā)出搶答信號也無效。同時還必須注意,第一搶答信號應該在主持人發(fā)出搶答命令之后才有效。當電路形成第一搶答信號之后,用編碼、譯碼及數(shù)碼顯示電路顯示出搶答者的組別或使用發(fā)光二極管來顯示搶到的人員。我們采用顯示電路來顯示出搶答者。一.搶答器的原理框圖及基本要求(1)搶答器的組成框圖定時搶答器的總體框圖如圖1所示,它由主體電路和擴展電路兩部分組成。主體電路完成基本的搶答功能,即開始搶答后,當選手按動搶答鍵時,能顯示選手的編號,同時能封鎖輸入電路,禁止其他選手搶答。擴展電路完成定時搶答的功能。圖 1所示的定時搶答器的工作

7、過程是:接通電源時,節(jié)目主持人將開關(guān)置于“清除”位置,搶答器處于禁止工作狀態(tài),編號顯示器滅燈,定時顯示器顯示設(shè)定的時間,當節(jié)目主持人宣布搶答題目后,說一聲“搶答開始”,同時將控制開關(guān)撥到“開始”位置,揚聲器給出聲響提示,搶答器處于工作狀態(tài),定時器倒計時。當定時時間到,卻沒有選手搶答時,系統(tǒng)報警,并封鎖輸入電路,禁止選手超時后搶答。當選手在定時時間內(nèi)按動搶答鍵時,搶答器要完成以下四項工作:優(yōu)先編碼電路立即分辨出搶答者的編號,并由鎖存器進行鎖存,然后由譯碼顯示電路顯示編號;揚聲器發(fā)出短暫聲響,提醒節(jié)目主持人注意;控制電路要對輸入編碼電路進行封鎖,避免其他選手再次進行搶答;控制電路要使定時器停止工作

8、,時間顯示器上顯示剩余的搶答時間,并保持到主持人將系統(tǒng)清零為止。當選手將問題回答完畢,主持人啟動計分器,并且給該選手加上或減去分數(shù)。計分器通過譯碼器將信號傳送給一數(shù)碼管顯示出來。圖1 定時搶答器總體框圖(2)本設(shè)計方案要求在所提供的元器件范圍內(nèi)設(shè)計一個4人搶答器,其功能要求如下:(1)能判別輸入量的優(yōu)先權(quán);(2)具有鎖存優(yōu)先判別功能;(3)主持人開關(guān)可以恢復下一輪搶答;(4)具有數(shù)字顯示和聲音提示。二. 方案的設(shè)計2.1 方案一:觸發(fā)器控制圖2 設(shè)計方案一流程圖搶答器主要是由四個三極管、和四個D觸發(fā)器以及四個或非門構(gòu)成,其中三極管是與主持人一起配合使用,用來控制是否開始搶答,當主持人將開關(guān)接地

9、時,三極管截至,此時三極管可以當作一個二極管使用當有選手搶答時就通過三極管將信號傳送給D觸發(fā)器,D觸發(fā)器在將信號傳送給或非門并將其他選手鎖存,同時將信號送給發(fā)光二極管與喇叭。其工作原理是當主持人按下?lián)尨痖_關(guān)時,選手能進行搶答。當有選手搶時,搶答信號就通過三極管傳入D觸發(fā)器,并且最先收到搶答信息的D觸發(fā)器送出一個反饋信號將其余三位選手的信號封鎖。2.2 方案二:單片機控制 圖3 方案二流程圖 方案二的搶答器則主要是由一個74LS373、若干按鍵,LED燈,無源蜂鳴器和8255a拓展芯片以及AT89C51單片機,AT89C51主要通過8255a拓展芯片的A、B端口與數(shù)碼管相接,而74LS373直接

10、與89c51單片機的P0 IO口相連。搶答鍵、控制鍵以及評分鍵分別接在單片機的P1口以及8255a的c端口。單片機通過對74ls373間接的對8255a進行控制,使其處于使能狀態(tài),進而接受來自于單片機的數(shù)據(jù)信號。再通過其對相應端口的控制進行數(shù)碼管顯示。主要流程為: (1)、按下復位鍵(主持人),開啟倒計時以及流水燈循環(huán)流動,至5秒后,報警提示若無人作答,至流水燈以及倒計時提示熄滅,無人作答提示燈點亮。(2)、若有人搶答,選手則按下選手1,或選手2或選手3或選手4,并立即顯示在led數(shù)碼管上顯示相應的選手數(shù)碼號。與此同時流水燈停止流動,相應的選手燈亮起。(3)、作答后,由主持選擇打分評價,按打分

11、區(qū)鍵,進行打分評估。(4)、由主持人按下清零鍵后,再按下復位鍵,開啟下一輪限時搶答2.3.方案論證及選擇通過以上兩種方案的比較可知,方案一的設(shè)計是每當有選手搶答成功時,都會有聲光伴隨,而且是具體到每一位,給人直觀的感覺。方案二的設(shè)計則是用一個數(shù)碼顯示器顯示搶答成功者的號碼,另外方案二更加的簡潔、易行,而且使用到的元器件也都是我們所常用到的一些元件比如: 74LS373以及開關(guān)二極管、電容的電路,因此方案二顯得更簡單、明了,并且易用軟件仿真,非常易于調(diào)試。三、單元電路設(shè)計與參數(shù)計算3.1搶答電路設(shè)計搶答電路的功能有兩個:一是能分辨選手按鍵的先后,并鎖存優(yōu)先搶答者的編號,供譯碼顯示電路用;二是能封

12、鎖其他選手的按鍵操作。選用優(yōu)先編碼器74LS373和鎖存器8255A可以完成上述功能。工作過程:開關(guān)S置于"清除"端時,RS觸發(fā)器的 端均為,個觸發(fā)器輸出置,使74LS373的 ,使之處于工作狀態(tài)。當開關(guān)S置于"開始"時,搶答器處于等待工作狀態(tài),當有選手將鍵按下時(如按下S5),74LS373的輸出 經(jīng)RS鎖存后,1Q=1, =1,74LS48處于工作狀態(tài),QQQ=101,經(jīng)譯碼顯示為""。此外,1,使74LS373 ,處于禁止狀態(tài),封鎖其他按鍵的輸入。當按鍵松開即按下時,74LS373的 此時由于仍為,使 ,所以74LS373仍處于

13、禁止狀態(tài),確保不會出二次按鍵時輸入信號,保證了搶答者的優(yōu)先性。如有再次搶答需由主持人將開關(guān)重新置"清除"然后再進行下一輪搶答。表1 74LS373的功能真值表圖4 搶答電路設(shè)計3.2定時與聲光報警提示電路設(shè)計采用軟件設(shè)計的方法進行定時電路的設(shè)計。通過軟件程序?qū)纹瑱C內(nèi)的定時寄存器進行控制,進而達到一個定時的作用。再者是聲光報警提示電路的設(shè)計,是由四只LED發(fā)光二極管作為選手燈一只作為無人搶答的標志燈以及賦予報警功能的無源蜂鳴器組成的。此電路充分利用了LED發(fā)光二極管工作偏壓較低,可以與集成芯片的配合使用的特性,大大的減少的電路的復雜程度,是電路簡單明了,易制作,有較高的使用

14、性。圖5 定時與聲光報警提示電路設(shè)計3.3評分電路的設(shè)計 此電路是由11個按鍵和8255A以及單片機構(gòu)成。通過編程對按鍵進行掃描檢測按鍵是否被按下。通過相應的按鍵給予相應的評分。單片機通過控制8255A相應的端口對按鍵進行操作,最終在通過8255A的A端口,B端口將數(shù)據(jù)傳送到顯示電路中進行顯示。圖6 評分電路的設(shè)計3.4顯示電路的設(shè)計顯示電路由單片機,數(shù)碼管,已經(jīng)8255A芯片。其功能是接受來自于8255A相應端口的數(shù)據(jù)進行顯示,此處的作用是用來配合其他單元電路使用,接受并將數(shù)據(jù)進行譯碼顯示。 圖7 顯示電路的設(shè)計四、總原理圖4.1總原理圖圖8 總原理圖4.2元件清單數(shù)碼管7SEG-MPX4-

15、CC1電阻MINRES 1KR=1K5LEDLED-BIBYBV=4V,IMAX=10mA5揚聲器SOUNDER18255A8255A1AT89C51AT89C51F=12MHZ174LS37374LS3731按鍵BUTTON16五、仿真調(diào)試系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們設(shè)計好的硬件電路和軟件程序,只有經(jīng)過聯(lián)合調(diào)試,才能驗證其正確性;軟硬件的配人情況以及是否達到設(shè)計任務(wù)的要求,也只有經(jīng)過調(diào)試,才能發(fā)現(xiàn)問題并加以解決、完善,最終開發(fā)成實用產(chǎn)品。硬件調(diào)試分單元電路調(diào)試和聯(lián)機調(diào)試,單元電路試驗在硬件電路設(shè)計時已經(jīng)進行,這里的調(diào)試只是將其制成印刷電路板后試驗電路是否正確,并

16、排除一些加工工藝性錯誤(如錯線、開路、短路等)。這種調(diào)試可單獨模擬進行,也可通過開發(fā)裝置由軟件配合進行。硬件聯(lián)機調(diào)試則必須在系統(tǒng)軟件的配合下進行。軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機調(diào)試兩個階段。程序的分塊調(diào)試一般在單片機開發(fā)裝置上進行,可根據(jù)所調(diào)程序功能塊的入口參量初值編制一個特殊的程序段,并連同被調(diào)程序功能塊一起在開發(fā)裝置上運行;也可配合對應硬件電路單獨運行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預想的不一致,可以通過單步運行或設(shè)置斷點的方法,查出原因并加以改正,直到運行結(jié)果正確為止。這時該 程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程序功能塊可按此法進行調(diào)試。程序聯(lián)機調(diào)試就是將已調(diào)試好

17、的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個完整程序,在所研制的硬件電路上運行。從而試驗程序整體運行的完整性、正確性和與硬件電路的配合情況。在聯(lián)調(diào)中可能會有某些支路上的程序、功能塊因受條件制約而得不到相應的輸入?yún)?shù),這時,調(diào)試人員應創(chuàng)造條件進行模擬調(diào)試。在聯(lián)調(diào)中如發(fā)現(xiàn)硬件問題也應及時修正,直到單片機系統(tǒng)的軟件、硬件全部調(diào)試成功為止。系統(tǒng)調(diào)試完成后,還要進行一段時間的試運行,從而檢驗系統(tǒng)的穩(wěn)定性和抗干擾能力,驗證系統(tǒng)功能是否達到設(shè)計要求,是否達到預期的效果。具有清零裝置和搶答控制,可由主持人操縱。具有定時功能,在30S內(nèi)無人搶答表示所有參賽選手對本題棄權(quán)。30S時仍無人搶答其報警電路工作表示搶答時間耗盡并禁

18、止搶答。電路中的十六個按鍵,分別是清零鍵、開始鍵、評分鍵和四組選手的按鍵。5.1軟件調(diào)試通過keil軟件編程已達到硬件上的功能實現(xiàn)。仿真的程序參考附錄一。5.2硬件調(diào)試仿真現(xiàn)象及調(diào)試結(jié)果如圖9、圖10、圖11、圖12所示。1)圖9為主持人按下清零鍵后的截圖,此時液晶屏兩項均顯示0.圖9 清零鍵按下后顯示圖2)主持人按下啟動鍵后的截圖,液晶屏顯示從30秒開始倒計時。如圖10:圖10 三十秒倒計時3)選手按下時的截圖,顯示對應的選手編號,例如2號選手,如圖11所示:圖11 2號選手對應編號4) 主持人按下評分鍵時的截圖顯示,例如:評分96.5如圖12所示:圖12 評分96.5六、結(jié)論與心得通過這次

19、課程設(shè)計:首先,加深了我對數(shù)字電路知識的了解,尤其是數(shù)字芯片的性能和使用。其次,使我對數(shù)字電路設(shè)計更感興趣,一些電子功能可以通過組合各種各樣的元器件,從而產(chǎn)生想要實現(xiàn)的功能,關(guān)鍵在于能夠設(shè)計出符合要求的電路。再次,使我對課本知識得到鞏固和加強,畢竟課本知識是抽象的,只有真正在實踐中利用它,做到學以致用,才能加深對它的理解,所以設(shè)計出這個題目后,我發(fā)現(xiàn)以前對課本有疑問的地方都隨著在課程設(shè)計中豁然開朗了。最后,加強了我思考和解決問題的能力。由于知識水平的局限,該課程設(shè)計有一些不足的地方,真誠地希望老師給予批評和指正。七、參考文獻1 于海生等,微型計算機控制技術(shù)M,清華大學出版社,2008.2 郭天

20、祥,51單片機C語言教程入門、提高、開發(fā)、拓展全攻略M,電子工業(yè)出版社3 李震梅,電子技術(shù)實驗與課程設(shè)計。北京:機械工業(yè)出版社。20084 李忠波,電子設(shè)計與仿真技術(shù)。北京:機械工業(yè)出版社。20045 高吉祥,電子技術(shù)基礎(chǔ)實驗與課程設(shè)計。北京:電子工業(yè)出版社。20026 侯建軍,電子技術(shù)基礎(chǔ)實驗、綜合設(shè)計實驗與課程設(shè)計。北京:高等教育出版社。20077 楊力,電子技術(shù)課程設(shè)計。北京:中國電力出版社。20098 蔣輝平,基于Proteus的單片機系統(tǒng)設(shè)計與仿真實例。北京:機械工業(yè)出版社2009附錄一/程序功能:十秒計時搶答器/*1、點亮流水燈使燈循環(huán)流動 2、30秒倒計時,伴有蜂鳴器報時提示 3

21、、選手搶答按鍵 4、答題后,再由主持人進行相應的打分評估,顯示打分評價 5、復位鍵,工作指示燈以及無人答題提示燈 操作步驟: 1、按下復位key5,開啟倒計時以及流水燈循環(huán)流動,至10秒后,報警提示若無人作答,至流水燈以及倒計時提示熄滅,無人作答提示燈,點亮 2、若有人搶答,選手則按下key1,或key2或key3或key4 3、作答后,由主持選擇打分評價,按打分區(qū)鍵,進行打分評估。 4、由主持人按下清零鍵后,再按下復位鍵,開啟下一輪限時搶答*/程序:#include<reg52.h>#include<absacc.h>#include<intrins.h>

22、#define uint unsigned int#define uchar unsigned char# define PORTA XBYTE0X7F7C# define PORTB XBYTE0X7F7D# define PORTC XBYTE0X7F7E# define CONTROL XBYTE0X7F7Fuint a,LedNumVal=30,DelayCNT=0; /變量定義uint LedOut4;display1(int bai,int shi,int ge);display(uchar num1,uchar aa,uchar bb);void daojishi();void

23、dafenkey();uchar keyscan1();uchar keyscan2();uchar keyscan3();void liushudeng();void delay( uint z);void key();void init(); sbit key1=P10; sbit key2=P11; sbit key3=P12; sbit key4=P13; sbit key5=P14; sbit d1=P15; sbit beep=P26;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar

24、code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;uchar code Tab1=0xfe,0xfd,0xfb,0xf7; uchar code Tab2=0xe0,0xd0,0xb0,0x70; uchar cc,temp,flog,flog1,num,num1,tt,bb,num3,num4,num5,flog2=1,flog3=1,flog4=1,flog5=1,flog6=1,flog7=1,flog8=1,bai,shi,ge,i=0;void main() init(); while(1) if(key5=0

25、) LedNumVal=30; TR0=1; TR1=1; flog=0; i=0; d1=1; if(!flog8) dafenkey(); /*初始化子程序*/ void init() CONTROL=0x80;PORTA=0XFF;PORTB=0xff;PORTC=0xff;TMOD =0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;EA=1;ET1=1;ET0=1; /*定時器調(diào)用按鍵顯示*/ void exter0() interrupt 1 TH0=

26、(65536-50000)/256; TL0=(65536-50000)%256; daojishi(); key(); liushudeng(); /*蜂鳴器以及工作指示燈的開啟*/void exter1() interrupt 3 TH1=(65536-5000)/256; TL1=(65536-5000)%256; if(!flog) beep=0; delay(5); beep=1; delay(5); beep=0; delay(5); beep=1; delay(5); beep=0; delay(5); beep=1; delay(5); beep=0; delay(5); be

27、ep=1; delay(5); /*延時子程序*/ void delay( uint z) uint x,y;for(x=z;x>0;x-)for(y=10;y>0;y-); /*按鍵顯示子程序*/void key()if(key1=0) delay(5); if(key1=0) display( 1,0xfe,0xfe); if(key2=0)delay(5); if(key2=0) display(2,0xfd,0xfd); if(key3=0) delay(5); if(key3=0)display(3,0xfb,0xfb); if(key4=0)delay(5); if(k

28、ey4=0) display(4,0xf7,0xf7); /*數(shù)碼管顯示子程序*/display(uchar num1,uchar aa,uchar bb) PORTB=aa; PORTA=tablenum1; P2=bb; TR0=0; TR1=0; flog8=0; flog5=1; return(num1,aa,bb); /* 流水燈演示子程序 */ void liushudeng() if(cc=20) /校準程序,使倒計時與流水燈同時開啟 cc=15; P2=Tab1num; num+; if(num=4) num=0; else cc+; /掃描子程序 30秒倒計時void dao

29、jishi() if(+DelayCNT>=20) /控制數(shù)字變化速度 DelayCNT=0; /20個掃描周期清零一次 -LedNumVal; if(LedNumVal=0) PORTB=0xff;/關(guān)燈數(shù)碼管 P2=0xff;/關(guān)燈d1=0;/ 開啟無人作答指示燈 TR1=0;/關(guān)蜂鳴器TR0=0; else LedOut0=0x40; LedOut1=tableLedNumVal%100/10; LedOut2=tableLedNumVal%10; LedOut3=0x40; for( a=0; a<4; a+) PORTA = LedOuta; PORTB= Tab1a;

30、/使用查表法進行位選 delay(40); PORTA=0x00;/消隱 if(LedNumVal=29) TR1=0; if(LedNumVal=5) /5秒后,報警提示 TR1=1; /*打分顯示程序*/ void dafenkey() while(flog5) bai=keyscan1(); while(!flog6)shi=keyscan2(); while(!flog7)ge=keyscan3(); while(!flog2)&(!flog3)&(!flog4) display1( bai,shi,ge); if(PORTC=0xb7) flog2=1; PORTB=

31、0xff; PORTC=0xff; P2=0xff;/關(guān)燈 /打分百位選擇位子程序uchar keyscan1() PORTC=0xfd; temp=PORTC; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=PORTC; temp=temp&0xf0;while(temp!=0xf0)temp=PORTC;switch(temp) case 0xed:num3=1;flog2=0;flog6=0;flog5=0;break; case 0xdd:num3=2;flog2=0;flog6=0;flog5=0;break; c

32、ase 0xbd:num3=3;flog2=0;flog6=0;flog5=0;break; case 0x7d:num3=4;flog2=0;flog6=0;flog5=0;break; while(temp!=0xf0) temp=PORTC; temp=temp&0xf0; PORTC=0xfb; temp=PORTC; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=PORTC; temp=temp&0xf0;while(temp!=0xf0)temp=PORTC;switch(temp) case 0xeb:

33、num3=5;flog2=0;flog6=0;flog5=0;break; case 0xdb:num3=6;flog2=0;flog6=0;flog5=0;break; case 0xbb:num3=7;flog2=0;flog6=0;flog5=0;break; case 0x7b:num3=8;flog2=0;flog6=0;flog5=0;break; while(temp!=0xf0) temp=PORTC; temp=temp&0xf0; PORTC=0xf7; temp=PORTC; temp=temp&0xf0; while(temp!=0xf0) delay(

34、20); temp=PORTC; temp=temp&0xf0;while(temp!=0xf0)temp=PORTC;switch(temp) case 0xe7:num3=9;flog2=0;flog6=0;flog5=0;break; case 0xd7:num3=0;flog2=0;flog6=0;flog5=0;break; while(temp!=0xf0) temp=PORTC; temp=temp&0xf0; return num3;/打分十位選擇位 uchar keyscan2() PORTC=0xfd; temp=PORTC; temp=temp&0

35、xf0; while(temp!=0xf0) delay(20); temp=PORTC; temp=temp&0xf0;while(temp!=0xf0)temp=PORTC;switch(temp) case 0xed:num4=1;flog4=0;flog6=1;flog7=0;break; case 0xdd:num4=2;flog4=0;flog6=1;flog7=0;break; case 0xbd:num4=3;flog4=0;flog6=1;flog7=0;break; case 0x7d:num4=4;flog4=0;flog6=1;flog7=0;break; wh

36、ile(temp!=0xf0) temp=PORTC; temp=temp&0xf0; PORTC=0xfb; temp=PORTC; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=PORTC; temp=temp&0xf0;while(temp!=0xf0)temp=PORTC;switch(temp) case 0xeb:num4=5;flog4=0;flog6=1;flog7=0;break; case 0xdb:num4=6;flog4=0; flog6=1;flog7=0;break; case 0xbb:

37、num4=7;flog4=0; flog6=1;flog7=0;break; case 0x7b:num4=8;flog4=0;flog6=1;flog7=0;break; while(temp!=0xf0) temp=PORTC; temp=temp&0xf0; PORTC=0xf7; temp=PORTC; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=PORTC; temp=temp&0xf0;while(temp!=0xf0)temp=PORTC;switch(temp) case 0xe7:num4=9;flog4=0;flog6=1;flog7=0;break; case 0xd7:num4=0;flog4=0; flog6=1;flog7=0;break; while(temp!=0xf0) temp=PORTC; temp=temp&0xf0; return num4;/打分個位選擇位子程序uchar keyscan3()PORTC=0xfd; temp=PORTC; temp=temp&0xf0; while(temp!=0xf0) delay(20); temp=PORTC

溫馨提示

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

評論

0/150

提交評論