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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)-基于stc89c52rc單片機(jī)的音樂(lè)播放器設(shè)計(jì)(已修改)

2025-10-30 01:33 本頁(yè)面
 

【正文】 基于 STC89C52RC單片機(jī)的音樂(lè)播放器設(shè)計(jì) 一、 設(shè)計(jì)要實(shí)現(xiàn)的功能 ( 1) 利用 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演奏歌曲(總共九首) 。 ( 2) 采用 共陽(yáng) 七段數(shù)碼管顯示當(dāng)前播放歌曲的序號(hào)。 ( 3) 可以通過(guò)按鍵實(shí)現(xiàn)暫停、繼續(xù)、上一首、下一首以及復(fù)位等基本操作。 二、 設(shè)計(jì)所需基礎(chǔ)知識(shí)儲(chǔ)備 1. 要產(chǎn)生音頻脈沖,只要計(jì)算某一音頻的周期,然后將此周期處以 2,即為半周期的時(shí)間。利用定時(shí)器記時(shí)這個(gè)個(gè)半周期時(shí)間,每當(dāng)記時(shí)到后就輸出脈沖的 I/O 反相,然后重復(fù)記時(shí)此半周期的時(shí)間再對(duì) I/O 反相,就可在 I/O 腳上得到此頻率的脈沖。 2. 利 用 8051 的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式 MODE1 下,改變計(jì)數(shù)值 TH0及 TL0 以產(chǎn)生不同頻率的方法,例如頻率為 523HZ,其周期 T=1/523=1912us,因此只要令計(jì)數(shù)器記時(shí) 956us/1us=956,在每次計(jì)數(shù) 956 次時(shí)將 I/O 反相,就可得到中音 DO( 523HZ)。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下 :N=Fi/2/Fr,其中N 是計(jì)數(shù)值, Fi 是 8051 內(nèi)部頻率,一般用的是 1MHZ(因?yàn)?8051 內(nèi)部記時(shí)一次時(shí)間為 1us), Fr 為要產(chǎn)生的頻率。 3. 計(jì)數(shù)初值的求法如下: T=65536N=65536Fi/2/Fr 例如:求低音 DO( 261HZ)中音 DO( 523HZ)高音 DO( 1046HZ)的計(jì)數(shù)值。 T=65536N=65536 Fi/2/Fr=655361000000/2/Fr=6553650000/Fr 低音 DO 的T= 6553650000/262=63267 中音 DO 的T= 6553650000/523=64580 高音 DO 的T= 6553650000/1047=65059 三、 硬件設(shè)計(jì) 本次設(shè)計(jì)用到的主要器件有 STC89C52,七段共陽(yáng)數(shù)碼管,無(wú)源蜂鳴器(詳細(xì)列表在后面列出)。硬件原理圖也在后 面列出。 四、 功能說(shuō)明 ( 1) 硬件電路中 口為音頻輸出端口。 ( 2) 用 和 分別作為上一首和下一首歌曲的功能鍵, 接一個(gè)自鎖按鍵,當(dāng)按鍵按下時(shí)暫停播放音樂(lè),再按一下按鍵,按鍵彈起繼續(xù)原來(lái)的播放進(jìn)度。 ( 3) 用 這幾個(gè)管腳來(lái)控制七段數(shù)碼管的顯示。 ( 4) 單片機(jī) 18 和 19 號(hào)管教接 12MHZ 的晶振,其中電容皆為 30PF 的瓷片電容。 ( 5) 單片機(jī) 40 號(hào)管腳接 VCC, 20 號(hào)管腳接地。 31 號(hào)管腳接 VCC, 9 號(hào)管腳外接復(fù)位電路。 五、 主要元器件介紹 Ⅰ、 STC89C52 單片機(jī) STC89C52 是高性能 CMOS 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器( PEROM) 和 256bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM),器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn) MCS- 51 指令系統(tǒng)及 8052 產(chǎn)品引腳兼容,片內(nèi)置通用 8 位中央處理器( CPU)和 Flash 存儲(chǔ)單元,功能強(qiáng)大 STC89C52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。 主要功能特性 兼容 MCS51 指令系統(tǒng) 8k 可反復(fù)擦寫(xiě) (1000 次) Flash ROM 32 個(gè)雙向 I/O 口 256x8bit 內(nèi)部 RAM 3 個(gè) 16 位可編程定時(shí) /計(jì) 數(shù)器中斷 時(shí)鐘頻率 024MHz 2 個(gè)串行中斷 可編程 UART 串行通道 2 個(gè)外部中斷源 共 6 個(gè)中斷源 2 個(gè)讀寫(xiě)中斷口線 3 級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能 主要管腳有: XTAL1( 19 腳)和 XTAL2( 18 腳)為振蕩器輸入輸出端口,外接 12MHz 晶振。 RST( 9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。 VCC( 40 腳)和 VSS( 20 腳)為供電端口,分別接 +5V 電源的正負(fù)端。 P0~P3 為可編程通用 I/O 腳,其功能用途由軟件定義 , STC89C52 有 40 個(gè)引腳, 32 個(gè)外部雙向輸入 /輸出( I/O)端口,同時(shí)內(nèi)含 2 個(gè)外中斷口, 3 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器 ,2 個(gè)全雙工串行通信口, 2 個(gè)讀寫(xiě)口線,STC89C52 可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和 Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的 Flash 存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。 其管腳圖如下所示: P0 口有三個(gè)功能: ( 1) 外部擴(kuò)充存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線( D0D7) ( 2) 外部擴(kuò)充存儲(chǔ)器時(shí),當(dāng)做數(shù)據(jù)總線( A0A7) ( 3) 不擴(kuò)充時(shí),可做一般 I/O 使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。 . P1 口 只做 I/O 使用,但其內(nèi)部有上拉電阻。 P2 口有兩個(gè)功能 ( 1)擴(kuò)充外部存儲(chǔ)器時(shí),當(dāng)做地址總線( A8A15)使用。 ( 2)做一般 I/O 使用,其內(nèi)部有上拉電阻。 P3 口有兩種功能。 除了作為 I/O 使用外(內(nèi)部有上拉電阻),還有一些特殊功能。如下 : 端口引腳 第二功能 RXD(串行輸入口 ) TXD(串行輸出口) INT0(外部中斷 0) INT1(外部中斷 1) T0(定時(shí) /計(jì)數(shù)器 0) T1(定時(shí) /計(jì)數(shù)器 1) WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)入控制信號(hào)) RD(外部數(shù)據(jù)存儲(chǔ)器讀取控制信號(hào)) 此外, P3 口還接收一些用于 Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 RST: 復(fù)位輸入。當(dāng)振蕩器工作時(shí), RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片復(fù)位。 ALE/PROG: 當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí), ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下, ALE 仍以時(shí)鐘振蕩頻率的 1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘 或用于定時(shí)目的 。 對(duì) Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖( PROG)。 此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ALE 禁止位無(wú)效 。 PSEN: 程序儲(chǔ)存允許( PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng) AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次 RSEN 信號(hào) 。 EA/VPP: 外部訪問(wèn)允許。欲使 CPU 僅訪問(wèn)外部程序存儲(chǔ)器(地址為 0000H-FFFFH), EA 端必須保持低電平(接 地)。需注意的是 : 如果加密位 LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存 EA 端狀態(tài) 。 如 EA 端為高電平(接 Vcc 端), CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。 Flash 存儲(chǔ)器編程時(shí),該引腳加上 +12V 的編程允許電源 VPP,當(dāng)然這必須是該器件是使用 12V 編程電壓 VPP。 XTAL1: 振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 XTAL2: 振蕩器反相放大器的輸出端 。 VCC: 電源電壓 。 GND: 地 。 中斷寄存器 : STC89C52 有 6 個(gè)中斷源, 2 個(gè)中斷優(yōu)先級(jí), IE 寄存器控制各中斷位, IP 寄存器中 6 個(gè)中斷源 的每一個(gè)可定為 2 個(gè)優(yōu)先級(jí)。 數(shù)據(jù)存儲(chǔ)器 : AT89C52 有 256 個(gè)字節(jié)的內(nèi)部 RAM, 80H- FFH 高 128 個(gè)字節(jié)與特殊功能寄存器( SFR)地址是重疊的,也就是高 128 字節(jié)的 RAM 和特殊功能寄存器的地址是相同的,但物理上它們是分開(kāi)的。 當(dāng)一條指令訪問(wèn) 7FH 以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問(wèn)高 128字節(jié) RAM還是訪問(wèn)特殊功能寄存器。如果指令是直接尋址方式則為訪問(wèn)特殊功能寄存器。 例如,下面的直接尋址指令訪問(wèn)特殊功能寄存器 0A0H(即 P2 口)地址單元。 MOV 0A0H,# data 間接尋址指令訪問(wèn)高 128 字節(jié) RAM,例如,下面的間接尋址指令中, R0的內(nèi)容為 0A0H,則訪問(wèn)數(shù)據(jù)字節(jié)地址為 0A0H,而不是 P2 口( 0A0H)。 MOV @ R0,# data 堆棧操作也是間接尋址方式,所以,高 128 位數(shù)據(jù) RAM 亦可作為堆棧區(qū)使用。 中斷: STC89C52 共有 6 個(gè)中斷向量:兩個(gè)外中斷( INT0 和 INT1), 3 個(gè)定時(shí)器中斷(定時(shí)器 0、 2)和串行口中斷。 這些中斷源可通過(guò)分別設(shè)置專(zhuān)用寄存器 IE 的置位或清 0來(lái)控制每一個(gè)中斷的允許或禁止。 IE 也有一個(gè)總禁止位 EA,它能控制 所有中斷的允許或禁止。 定時(shí)器 2 的中斷是由 T2CON 中的 TF2 和 EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是 TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。 定時(shí)器 0 和定時(shí)器 1 的標(biāo)志位 TF0 和 TF1 在定時(shí)器溢出那個(gè)機(jī)器周期的 S5P2狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢(xún)?cè)撝袛鄻?biāo)志。然而,定時(shí)器 2 的標(biāo)志位 TF2 在定時(shí)器溢出的那個(gè)機(jī)器周期 S2P2 狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢(xún)到該標(biāo)志。 時(shí)鐘振蕩器: STC89C52 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相 放大器,引腳 XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器 . 外接石英晶體(或陶瓷諧振器)及電容 C C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容 C C2 雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用 30pF177。10pF,而如使用陶瓷諧振器建議選擇 40pF177。10pF. 用戶(hù)也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖右圖 所示。這種情況下,外部時(shí)鐘脈沖接到 XTAL1 端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端, XTAL2 則懸空。 Flash 存儲(chǔ)器的編程 : STC89C52 單片機(jī)內(nèi)部有 8k 字節(jié)的 Flash PEROM,這個(gè) Flash 存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(即所有存儲(chǔ)單元的內(nèi)容均為 FFH),用戶(hù)隨時(shí)可對(duì)其進(jìn)行編程。編程接口可接收高電壓( +12V)或低電壓( Vcc)的允許編程信號(hào)。低電壓編程模式適合于用戶(hù)在線編程系統(tǒng),而高電壓編程模式可與通用 EPROM編程器兼容。 STC89C52 的程序存儲(chǔ)器陣列是采用字節(jié)寫(xiě)入方式編程的,每次寫(xiě)入一個(gè) 字節(jié),要對(duì)整個(gè)芯片內(nèi)的 PEROM 程序存儲(chǔ)器寫(xiě)入一個(gè)非空字節(jié),必須使用片擦除的方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。 Ⅱ、共陽(yáng)七段數(shù)碼管 LED 數(shù)碼管是由發(fā)光二極管構(gòu)成的,亦稱(chēng)半導(dǎo)體數(shù)碼管。 將條狀發(fā)光二極管按照共陽(yáng)極 (正極 )的方法連接,組成 “8”字,再把發(fā)光二極管另一電極作筆段電極,就構(gòu)成了 LED 數(shù)碼管。若按規(guī)定使某些筆段上的發(fā)光二極管發(fā)光,就能顯示從 0~ 9 的 一 系列數(shù)字。同熒光數(shù)碼管 (VFD)、輝光數(shù)碼管 (NRT)相比,它具有:體積小、功耗低、耐震動(dòng)、壽命長(zhǎng)、亮度高、單色性好、發(fā)光響應(yīng)的時(shí)間短,能與 TTL、 CMOS 電路兼容等的數(shù)顯器件。 如上圖所示是共陽(yáng)極七段數(shù)碼管的原理圖 共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極 COM 接到 +5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮 。 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類(lèi)。 ① 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的 I/O 端口進(jìn)行驅(qū)動(dòng),或者使用如 BCD 碼二 十進(jìn)制譯碼器譯 碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用 I/O 端口多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 58= 40 根 I/O 端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51 單片機(jī)可用的 I/O 端口才 32 個(gè)呢),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 ② 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位選通控制電路,位選通由各自獨(dú)立的 I/O 線控制,當(dāng)單 片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1