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

正文內(nèi)容

基于單片機的音樂數(shù)字鐘的設(shè)計與仿真畢業(yè)設(shè)計(文件)

2025-07-12 15:51 上一頁面

下一頁面
 

【正文】 } if (set==4) //鬧鐘分鐘數(shù)值調(diào)整 { if (ge_shi) { alarm_min=alarm_min/10*10+keyNum。 } } } } if (keyNum==11) //按下的是設(shè)置鍵 { set=(set+1)%5。 //保證每次都是先調(diào)整十位再調(diào)整個位 } if (keyNum==10) //鬧鐘開啟和關(guān)閉 { flag_alarm=!flag_alarm。 EA=1。 sounder=1。 if (flag_alarmamp。alarm_min==min) { sounder=0。 count++。 min++。 } } } } count_f++。 case 2:flash_m=!flash_m。 case 4:flash_m=!flash_m。目前,Proteus仿真系統(tǒng)支持的主流單片機有ARM8051/52系列,AVR系列、PIC系列、HC11系列等,它支持的第三方軟件開發(fā)、編譯和調(diào)試環(huán)境有Keil μVision2/MPLAB等。后來隨著開發(fā)人員的不斷努力以及版本的不斷升級,使它已經(jīng)成為了一個重要的單片機開發(fā)平臺,不過KEIL的界面并不是非常復(fù)雜,操作也不是非常困難,很多工程師的開發(fā)的優(yōu)秀程序都是在KEIL的平臺上編寫出來的。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。載入目標文件的方法是,雙擊打開AT89C51的屬性編輯對話框,如圖110所示。由于過分的自信,我以為構(gòu)思也有了寫程序應(yīng)該是相對容易的。徐艷老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從查閱資料,設(shè)計草案的確定和修改,中期檢查,后期詳細設(shè)計,裝配草圖等整個過程中都給予了我悉心的指導(dǎo)。此次畢業(yè)設(shè)計才會順利完成。【2】【4】【6】【9】張大明,彭旭昀,尚靜基.單片微機控制應(yīng)用技術(shù)【M】.北京:機械工業(yè)出版社,2006:5657.戴佳,【M】.北京:電子工業(yè)出版社,2006:76.【5】【3】【1】除了敬佩徐艷老師的專業(yè)水平外,她的治學(xué)嚴謹和科學(xué)研究的精神也是我永遠學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。致謝 經(jīng)過一個來來月的忙碌和學(xué)習(xí),本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個大專生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。圖110 單片機載入目標文件對話框Proteus與Keil 軟件實現(xiàn)結(jié)束語 設(shè)計的過程總是充滿了許多的困難與樂趣的,在這不斷的解決問題的過程中,我也在不斷的進步開始的時候由于沒有經(jīng)驗,不知如何下手,也不知道自己的畢業(yè)設(shè)計應(yīng)該如何定位,所以就去圖書館找了一些書看,盡管有許多設(shè)計方案,可是總覺得自己還有許多的東西弄不太清楚,于是就請教同學(xué),并與祁春清老師多次交流。圖118 KeilμV3的啟動界面Proteus與Keil 軟件實現(xiàn) 仿真運行在進行模擬電路、數(shù)字電路仿真時,只需點擊仿真運行按鈕 就可以了。單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。Proteus 從原理圖設(shè)計到PCB設(shè)計,再到電路板完成的流程如圖11所示。 } }} Proteus軟件仿真與實現(xiàn) 一、仿真軟件Proteus簡介Proteus 軟件是由英國 Labcenter Electronics 公司開發(fā)的EDA(電子設(shè)計自動化)工具軟件,已有近20年的歷史,在全球得到了廣泛應(yīng)用。 case 3:flash_h=!flash_h。 switch (set) { case 1:flash_h=!flash_h。 hour++。 sec++。 } }}void timer_0( ) interrupt 1 //定時器0中斷函數(shù){ TH0=0x3c。alarm_hour==houramp。 button( )。 TR0=1。 TH0=0x3c。 //保證分鐘不閃爍時是亮著的 flash_h=0。 } else { if (keyNum6) { alarm_min=keyNum*10+alarm_min%10。 } else { if(keyNum3) { alarm_hour=keyNum*10+alarm_hour%10。 ge_shi=!ge_shi。 ge_shi=!ge_shi。 //返回按鍵號,帶返回值的函數(shù)的應(yīng)用 if (keyNum10) //按下的是數(shù)字鍵 { if (set==1) //小時數(shù)值調(diào)整 { if (ge_shi) { hour=hour/10*10+keyNum。 while (P1!=0xf0)display()。 break。 break。 break。 break。 break。 break。 //行作輸出,列作輸入 temp=P1。 temp=0xff。 delay(100)。 wk=_crol_(wk,1)。i=7。 buf[1]=0xff。 } else { buf[3]=tab[alarm_hour%10]。 //顯示字母L buf[7]=tab[10]。 buf[7]=0xff。 } else { buf[3]=tab[min%10]。 buf[1]=tab[sec/10]。delay(unsigned int j){ while(j)。unsigned char count,count_f,sec,min,hour,alarm_min,alarm_hour。同時它是雙功能復(fù)用口,常使用其第二功能,見表13。P2口可驅(qū)動4個TTL負載。P1口可驅(qū)動4個TTL負載。當訪問外部擴展存儲器時,可作為地址總線低8位與數(shù)據(jù)總線的分時復(fù)用口。同時,還可對每組I/O端口進行按位尋址。即對內(nèi)部時鐘脈沖計數(shù)就是定時功能,對外部輸入脈沖計數(shù)就是計數(shù)功能。圖613中有2個模擬的位開關(guān),前者決定了定時/計數(shù)器的功能:當開關(guān)處于上方時為定時功能,處于下方時為計數(shù)功能。在單片機中,也采用類似的方法,稱為預(yù)置計數(shù)初值法。由于每個機器周期時間恒定不變,計數(shù)值也就代表了時間,這樣就把定時問題轉(zhuǎn)化成了計數(shù)問題。計數(shù)器對兩個脈沖源之一進行計數(shù),每輸入1個脈沖,計數(shù)值加1,TH0(或TH1)和TL0(或TL1)是用來存放所計脈沖個數(shù)的寄存器。如果輸入脈沖的周期是固定的,即計數(shù)脈沖的時間間隔相等,那么計數(shù)值就代表了時間,從而可以實現(xiàn)定時。LED顯示器也作為輸出部分按照鍵盤給單片機的指令顯示正在演奏的樂曲。揚聲器。 音樂播放器的組成 根據(jù)系統(tǒng)音樂播放器的功能要求一個完整的音樂播放器電路相當于一個簡單的單片機系統(tǒng)該系統(tǒng)由按鍵開關(guān)、單片機、LED顯示電路、揚聲器控制電路4個方面構(gòu)成。所以只要求得1/4拍的DELAY,其余的節(jié)拍就是它的倍數(shù)。 通常利用單片機的內(nèi)部定時器0工作在方式1下改變計數(shù)初值TH0和TL0來產(chǎn)生不同頻率。圖68 數(shù)字時鐘電路 音樂模塊 單片機產(chǎn)生音調(diào)的基本原理 音樂播放器是利用單片機產(chǎn)生樂曲音符再把樂曲音符翻譯成計算機音樂語言用單片機進行信息處理再通過蜂鳴器或喇叭放出音樂。另外,數(shù)字時鐘還必須可以通過按鍵調(diào)整時間,為了調(diào)整的方便,本任務(wù)使用行列鍵盤,各按鍵定義如圖67所示。數(shù)字時鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵藩V泛用于個人家庭以及車站、碼頭、劇院、辦公室等公共場所給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。另外數(shù)字鐘還具備秒表和鬧鐘的功能且鬧鐘鈴聲可自選使一款電子鐘具備了多媒體的色彩。手動按鈕復(fù)位的電路如所示。手動按鈕復(fù)位89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。許多用戶在設(shè)計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復(fù)位電路設(shè)計不可靠引起的。在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài):這段時間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。3 控制部分電路的設(shè)計 系統(tǒng)復(fù)位設(shè)置 單片機復(fù)位電路是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從該狀態(tài)開始工作例如復(fù)位后PC=0000H使單片機從第一個單元取指令。2.電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。多諧振蕩器由晶體管或集成電路構(gòu)成。2.蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。向A 74LS245簡介 74ls245引腳圖與用法 } P1=0xf0。 case 0xb7:第3行第2個按鍵的功能代碼。 case 0xe7:第3行第0個按鍵的功能代碼。 case 0xbb:第2行第2個按鍵的功能代碼。 case 0xeb:第2行第0個按鍵的功能代碼。 case 0xbd:第1行第2個按鍵的功能代碼。 case 0xed:第1行第0個按鍵的功能代碼。 case 0xbe:第0行第2個按鍵的功能代碼。 //讀取行值并和列值合并 switch (temp) { case 0xee:第0行第0個按鍵的功能代碼。 //延時去抖 if (P1!=0xf0) //再次判斷是否有按鍵按下 { P1=0xf0。(a)行線輸出全“0”得列值1101 (b)列輸出全“0”得行值1011圖426 線反轉(zhuǎn)法示意圖在圖423所示的行列鍵盤電路中,采用線反轉(zhuǎn)法識別閉合鍵的程序如下:unsigned char temp。下面仍以44鍵盤為例說明線反轉(zhuǎn)法的工作原理。 break。 break。 } P1=0xf7。 case 0xbb:第2行第2個按鍵的功能代碼。 //掃描第2行 switch (P1) { case 0xeb:第2行第0個按鍵的功能代碼。 break。 break。 case 0x7e:第0行第3個按鍵的功能代碼。 case 0xde:第0行第1個按鍵的功能代碼。if (P1!=0xf0) //判斷是否有按鍵按下{ delay()。若為全“1”,表示第0行無鍵按下;若不為全“1”,則表示第0行有鍵按下,閉合鍵的位置處于第0行和不為“1”的列線相交之處。(a)無鍵按下 (b)有鍵按下圖424 檢查是否有鍵按下示意圖第二步:確定按下的是哪一個鍵。第一步:快速檢查整個鍵盤中是否有鍵按下。行列鍵盤的接口電路如圖423所示,用一些I/O口線組成行結(jié)構(gòu),用另一些I/O口線組成列結(jié)構(gòu),其交叉點處不接通,設(shè)置為按鍵,這種接法稱為行列式鍵盤。陣列式按鍵編程困難按鍵過多減少了I/O口的使用。為了使用方便,有專門生產(chǎn)的供動態(tài)掃描顯示的多位數(shù)碼管,這些數(shù)碼管內(nèi)部已經(jīng)將相應(yīng)的筆段連接在一起,引出一組段控腳,每一位數(shù)碼管引出一個公共端。圖418 兩位數(shù)碼管動態(tài)掃描顯示方式接線示意圖動態(tài)掃描顯示方式的顯示過程:當CPU送出某個數(shù)字的段碼時,所有的數(shù)碼管都會接收到,但只有需要顯示的數(shù)碼管的位控端COM被選通時,接收到有效電平才被點亮,而沒有被選通的數(shù)碼管不會亮。采用靜態(tài)顯示方式占用CPU時間少、編程簡單、便于控制,但是每1個數(shù)碼管要占用一個并行I/O口,所以只適合于顯示位數(shù)較少的場合。表42 七段LED數(shù)碼管段碼表顯示字符字形共 陽 極共 陰 極dp
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1