日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机音乐倒数计时器c语言,音乐倒数计时器单片机课程设计报告.doc

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机音乐倒数计时器c语言,音乐倒数计时器单片机课程设计报告.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WORD格式 整理分享

范文范例 參考指導

音樂倒是計時器

一、設計要求

利用STC89C51單片機結合字符型LCD顯示器設計一個簡易的倒數計數器,可用來煮方便面、煮開水或小睡片刻等。做一小段時間倒計數,當倒計數為0時,則發出一段音樂聲響,通知倒計數終了,該做應當做的事。同時輸出控制一個繼電器吸合,繼電器驅動一個3W的大功率LED燈,亮度可以由單片機控制從50%~100%連續可調。

定時鬧鐘的基本功能如下。

字符型LCD(16???2)顯示器。

顯示格式為“TIME 分分:秒秒”。

用4個按鍵操作來設置當前想要倒計數的時間。一旦按下鍵則開始倒計數,當計數為0時,發出一陣音樂聲。

1、程序執行后工作指示燈LED閃動,表示程序開始執行,按下操作鍵K1~K4動作如下。

K1—可調整倒計數的時間1~60分鐘。

K2—設置倒計數的時間為5分鐘,顯示“0500”。

K3—設置倒計數的時間為10分鐘,顯示“1000”。

K4—設置倒計數的時間為20分鐘,顯示“2000”。

2、復位后LCD的畫面應能顯示倒計時的分鐘和秒數,此時按K1鍵則在LCD上顯示出設置畫面。此時,若:

a. 按操作鍵K2—增加倒計數的時間1分鐘。

b. 按操作鍵K3—減少倒計數的時間1分鐘。

c. 按操作鍵K4—設置完成。

二、系統硬件說明

2.1:音樂倒是計時器要實現一種由單片機控制的帶LCD顯示的倒數計時器,單片機工作于12MHZ時鐘頻率,使用其定時/計數器T0,改變計數值TH0和TL0可以產生不同頻率的脈沖信號。該設計具有5個功能按鍵,用戶可以通過這些按鍵設置定時時間和選擇控制定時,倒計數為零時,可通過揚聲器將音樂播放出來。

系統結構圖如下圖所示。

振蕩電路復位電路

振蕩電路

復位電路

蜂鳴器輸出電路

89C52芯片

LCD顯示電路

按鍵控制電路

2.2 AT89C52

AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。

主要特性:

· 兼容MCS51指令系統 · 8k可反復擦寫(>1000次)Flash ROM

· 32個雙向I/O口 · 256x8bit內部RAM

· 3個16位可編程定時/計數器中斷 · 時鐘頻率0-24MHz

· 2個串行中斷 · 可編程UART串行通道

· 2個外部中斷源 · 共8個中斷源

· 2個讀寫中斷口線 · 3級加密位

· 低功耗空閑和掉電模式

2.3電路原理圖如下:

2.4電路仿真圖如下:

三、系統軟件設計

音樂倒數計時器軟件設計關鍵是實現音樂的播放。利用定時計數器,通過載入不同的計數初值,產生頻率不同的方波,輸入到蜂鳴器(SOUNER)中,使其發出頻率不同的聲音。本設計中單片機晶振為11.0592MHz,通過計算各音階頻率,可得1、2、3、4、5、6、7共7個音應賦給定時器的初值為64580、64684、64777、64820、64898、64968、65030。通過K1~K5開關進行控制時間設置來完成其基本功能,當倒計時為零時,通過通過蜂鳴器放出一段音樂。

3.1系統基本流程圖如下:

3.2 部分程序如下:

#include

#include

#define time 100

#define uint unsigned int

#define uchar unsigned char

uint flag,flag0,flag1,flag2,flag3,flag4,flag5,minute,second=60;

int t=0,flag6=0;

uchar num,j,i,k=0,time_H,time_L,times,m,n,p;

uchar code table[]="TIME 00:00";

uchar code FREQH[]={

0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,//低音1234567

0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,//1,2,3,4,5,6,7,!

0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,//高音1234567

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF};//超高音123

總結

以上是生活随笔為你收集整理的单片机音乐倒数计时器c语言,音乐倒数计时器单片机课程设计报告.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。