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

正文內(nèi)容

基于c53單片機的音樂播放器的設計(完整版)

2025-07-30 18:51上一頁面

下一頁面
  

【正文】 8B20及獨立式按鍵就可以實現(xiàn)上述功能。以音樂為例,之前人們都是在家聽音樂?,F(xiàn)如今,人們已經(jīng)沒有過多的閑暇時間留在家中享受這種天籟之音了。1 引言 隨著科學技術(shù)的飛速發(fā)展,電子產(chǎn)品的開發(fā)越來越受到人們的關(guān)注,各種各樣的電子產(chǎn)品也進入越來越多人的生活。利用單片機控制音樂播放也多不勝舉,利用單片機存儲音樂,控制播放最為廣泛。 單片機的應用領(lǐng)域 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領(lǐng)域,大致可分為如下幾個范疇:1. 在智能儀器儀表的應用單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。 單片機的發(fā)展趨勢 單片機現(xiàn)在可以說是百花齊放,百家爭鳴的時期,世界上各大芯片制造公司都推出了自己的單片機,從8位、16位到32位,數(shù)不勝數(shù),應有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補,為單片機的應用提供了廣闊的天地。所以這種工藝將是今后一段時期單片機發(fā)展的主要途徑。這類單片機有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500。 STC89C53芯片介紹系統(tǒng)微處理器采用宏晶科技公司的8位單片機STC89C53,該單片機是8位高性能MCU,超低功耗:,空閑模式下典型功耗2mA,正常工作下典型功耗4~7mA。發(fā)光二極管和LED數(shù)碼管比較常用,軟硬件都比較簡單。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。但由于1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,這樣顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 指令4:顯示開關(guān)控制。 指令11:讀數(shù)據(jù)。 此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。當Vcc2小于Vcc1時,DS1302由Vcc1供電。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細說明。該芯片通過一個單線接口接收與發(fā)送信息,因此與中央微處理器之間只需要一根連接線即可。當總線上掛有多個DS18B20器件時,通過這些命令可以區(qū)分每個器件。同時, DS18B20內(nèi)部還有兩個減法計數(shù)器,分別為減法計數(shù)器1和減法計數(shù)器2。補償是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的值來實現(xiàn)的。獨立式鍵盤適用于按鍵數(shù)目較少的場合,矩陣式鍵盤適用于按鍵數(shù)量多的系統(tǒng)中。 液晶顯示模塊設計在單片機的控制應用系統(tǒng)中,有時需要知道系統(tǒng)輸出的具體信息是什么。實時時鐘信息的采集我采用了實時時鐘芯片DS1302來實現(xiàn)。圖5為放音模塊硬件電路圖。在軟件設計過程中,采用分模塊進行設計的方法,逐步實現(xiàn)播放器的各功能。在音樂中常把中音C上方的A音定為標準音高,其頻率f=440Hz,其余音均與其進行比較。一般說來,常采用的方法就是通過單片機的定時器進行定時中斷,在中斷服務程序中將單片機上外接揚聲器的I/O口來回置高電平或置低電平,從而讓蜂鳴器發(fā)出聲音。將t=1136us和f=12MHz代入上面兩式,即可求出標準音高A在單片機定時器工作方式1下的定時器高低計數(shù)器的初值為 TH0=(655361136*12/12)/256=FBH TL0=(655361136*12/12)%256=90H根據(jù)上面的求解方法,我們就可以求出其他音調(diào)相應的計數(shù)器的預置初值。首先,需要編寫一個精確的基本時長的延時程序,比如說以十六分音符的時長為基本的延時時間,那么,對于一個音符,如果它為十六分音符,則只需要用一次延時程序,如果它為四分音符,則只需要調(diào)用四次延時程序,如果它為二分音符,則只需要調(diào)用八次延時程序,依次類推。本設計采用液晶顯示器顯示曲目名稱及電子書內(nèi)容和實時時鐘信息與溫度值。while(ms){for(i=0。rw=1。e=0。P0=cmd。_nop_()。P0=dat。_nop_()。dely(1)。lcd_pos(0x01)。while(dis2[i] != 39。DS1302與CPU的連接只需要三條線,即SCLK(7)、I/O(6)、RST(5),硬件聯(lián)系較為簡單,便于單片機對DS1302的讀寫操作。/***********************向1302寫數(shù)據(jù)******************/void Write1302(unsigned char date) { unsigned char i。 delaynus(2)。 delaynus(5)。i++) { date=1。 RST=0。 return date。 WriteSet1302(0x84,((0/10)4|(0%10)))。}/***************顯示分****************/void display_Minute(unsigned char minute) { unsigned char i,j。 i=hour/10。 TMOD=0X01。 seconds=(((valueamp。0x70)4)*10+(valueamp。0x0f))。在本設計中,我采用了DS18B20對溫度進行采集與測量。unsigned char TH,TL,TN,TD,length。time200。time200。 _nop_()。 if(DQ==1) dat=dat|0x80。i8。time++)。time++)。}/************顯示溫度整數(shù)部分*********************/ void Display_Integer(unsigned char x) { unsigned char j,k。 delay1ms(5)。 //1602液晶初始化 dely(2)。length) { for(i=0。 TL=~TL。 Display_Integer(TN)。本設計采用獨立式鍵盤實現(xiàn)按鍵控制。為了確保確實有按鍵被按下,需要對按鍵進行去抖操作。 }EA=0。 Keil軟件簡介單片機的程序設計需要在特定的編譯器中進行。C51編譯器C51編譯器報告所有必要的信息,如變量名、函數(shù)名、行數(shù)以及uVision3調(diào)試器或其他仿真器,用來詳細調(diào)試和分析程序所需要的信息。當連接器處理一個庫時,只有那些被使用的目標模塊才被真正使用。在編譯方面,它也支持IAR、KEIL和MPLAB等多種編譯器。 圖10 液晶屏顯示電子書內(nèi)容上圖為音樂播放器進入電子書模式,顯示電子書內(nèi)容。這次設計我學到很多很多的東西,學會了怎么樣去制定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。通過這次設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。 圖12 液晶屏顯示溫度信息上圖為音樂播放器進入顯示溫度信息模式,顯示當前的溫度值。用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件;仿真處理器及其外圍電路;可以仿真51系列、 AVR、PIC、ARM等常用主單片機,還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。單片機系統(tǒng)軟件向RTOS發(fā)展是一種趨勢,這種趨勢對于186和386及68K系列CPU更為明顯和必須,8051因CPU較為簡單,程序結(jié)構(gòu)等都不太復雜,RTX51作用顯得不太突出,其專業(yè)版軟件PK51軟件包甚至不包括RTX51Full,而只有一個RTX51Tiny版本的 RTOS。A51編譯器A51是一個8051MCU系列的宏匯編器。Keil C51軟件是眾多單片機應用開發(fā)軟件中優(yōu)秀的軟件之一,支持不同公司MCS51架構(gòu)的芯片。5 調(diào)試與仿真軟件設計完成后,需要驗證程序是否正確,這就需要對程序進行編譯與調(diào)試。當單片機接收到有按鍵被按下時,先延時一段時間,然后再次判斷是否有按鍵被按下。本設計共使用了八個按鍵,分別為:下一曲、上一曲、播放、暫停、電子書與音樂播放功能切換、電子書向上翻頁、電子書向下翻頁及溫度和實時時鐘信息與音樂播放功能切換。 dely(10)。 TL+=1。i++) { flag=0。 dely(5)。 delay1ms(50)。 k=x%10。 WriteDS18B20(0XCC)。 for(time=0。 _nop_()。 for(time=0。 _nop_()。 return temp。 DQ=1。 DQ=1。而且,該芯片便于讀寫操作。}實時時鐘信息的顯示是由單片機與液晶顯示器及實時時鐘芯片的配合共同實現(xiàn)的。 display_Minute(minutes)。0x0f))。 IntDS1302()。 lcd_pos(0x01)。 j=minute%10。 i=second/10。 flag= ReadSet1302(0x81)。 RST=1。 SCLK=1。 SCLK=1。 delaynus(2)。 delaynus(2)。實際上,在調(diào)試程序時可以不加電容器。){lcd_wdat(dis2[i])。while(dis1[i] != 39。dely(1)。e=0。_nop_()。e=0。_nop_()。}/************************寫命令******************************/ void lcd_wcmd(unsigned char cmd){ while(lcd_bz())。_nop_()。i++){_nop_()。下面的程序是液晶顯示模塊的軟件設計:includeinclude/************定義液晶顯示器與單片機的引腳連接**********/sbit rs=P2^0。在單片機上實現(xiàn)音樂播放,一般只需要逐個播放音符即可。這里1=C,1=G表示樂譜的曲調(diào),簡單地說就是跟音調(diào)有關(guān)系;這里4/3/4用來表示節(jié)拍。以標準音高A為例,介紹如何確定一個頻率所對應的定時器的定時值。在音樂中音符1(do)與音符,音符2(來)與音符等等之間正好相差一個倍頻程,在音樂學中稱它相差一個八度音。通過單片機產(chǎn)生不同的頻率的脈沖信號,由蜂鳴器放出,就產(chǎn)生了美妙和諧的樂曲。如圖6所示。這兩個芯片與單片機的鏈接都比較簡單。一般情況下,與單片機配合使用的顯示裝置主要有LED數(shù)碼顯示管、二極管和液晶顯示器。由于使用的按鍵數(shù)目較
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1