基于51單片機(jī)電子門(mén)鈴設(shè)計(jì)( proteus仿真+程序+設(shè)計(jì)報(bào)告+原理圖+講解視頻)
仿真圖proteus7.8及以上
程序編譯器:keil 4/keil 5
編程語(yǔ)言:C語(yǔ)言
設(shè)計(jì)編號(hào):S0091
1. 主要功能:
基于51單片機(jī)的智能門(mén)鈴設(shè)計(jì)
1、系統(tǒng)采用一個(gè)按鍵簡(jiǎn)潔設(shè)計(jì),可以選擇門(mén)鈴聲;
2、門(mén)鈴聲音通過(guò)蜂鳴器播放,5種類型音樂(lè),數(shù)碼管顯示當(dāng)前選擇的門(mén)鈴聲類型編號(hào);
3、在正常模式下長(zhǎng)按按鍵2秒以上,進(jìn)入門(mén)鈴聲類型選擇模式短按進(jìn)行類型選擇,再次長(zhǎng)按按鍵退出選擇模式;
4、在正常模式下,短按一下,門(mén)鈴聲響一次,3秒內(nèi),短按5次,門(mén)鈴聲響1分鐘。
需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。
以下為本設(shè)計(jì)資料展示圖:
2. 講解視頻:
講解視頻包含仿真運(yùn)行講解和代碼講解
3. 仿真
打開(kāi)仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開(kāi)始仿真。開(kāi)始仿真后數(shù)碼管顯示1,默認(rèn)按下門(mén)鈴鈴聲1響起。
可以通過(guò)長(zhǎng)按按鍵再松手進(jìn)入鈴聲設(shè)置模式,指示燈點(diǎn)亮。進(jìn)入設(shè)置模式短按按鍵切換鈴聲1-鈴聲5,設(shè)置好之后再次長(zhǎng)按退出設(shè)置模式,設(shè)置指示燈熄滅。
設(shè)置完短按按鍵播放對(duì)應(yīng)的鈴聲,短按一下,門(mén)鈴聲響一次,3秒內(nèi),短按5次,門(mén)鈴聲響1分鐘。
4. 程序代碼
使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^7;//蜂鳴器
sbit k1=P3^2;//按鈕
sbit led=P2^0;
//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0,mode=0;//系統(tǒng)變量
uchar num=1;//編號(hào)
uchar start=0,sec=0,shu=0;
uint miao=0;
//延時(shí)
void delay(uint i)
{
while(i--);
}
//蜂鳴器門(mén)鈴鈴聲
void sound(uchar m)
{
uint i=0,j=0;
if(m==1)
{
for(i=0;i<2000;i++)//長(zhǎng)響
{
beep=!beep;
delay(110);
}
beep=1;
}
if(m==2)
{
for(i=0;i<500;i++)//0.5s響一次
{
beep=!beep;
delay(110);
}
beep=1;
for(i=0;i<500;i++)
{
delay(110);
}
for(i=0;i<500;i++)//0.5s響一次
{
beep=!beep;
delay(110);
}
beep=1;
for(i=0;i<500;i++)
{
delay(110);
}
beep=1;
}
if(m==3)
{
for(i=150;i>50;i--)//升頻率
{
for(j=0;j<5;j++)
{
beep=!beep;
delay(i);
}
}
beep=1;
for(i=150;i>50;i--)//升頻率
{
for(j=0;j<5;j++)
{
beep=!beep;
delay(i);
}
}
beep=1;
}
if(m==4)//叮咚
{
for(i=0;i<200;i++)
{
beep=!beep;
delay(70);
}
beep=1;
for(i=0;i<500;i++)
{
delay(110);
}
beep=1;
for(i=0;i<800;i++)
{
beep=!beep;
delay(130);
}
beep=1;
}
if(m==5)//升降頻率
{
for(i=150;i>50;i--)//升頻率
{
for(j=0;j<5;j++)
{
beep=!beep;
delay(i);
}
}
for(i=50;i<150;i++)//降頻率
{
for(j=0;j<5;j++)
{
beep=!beep;
delay(i);
}
}
}
if(m==6)//嘟嘟嘟
{
for(i=0;i<200;i++)
{
beep=!beep;
delay(110);
}
beep=1;
for(i=0;i<200;i++)
{
delay(110);
}
beep=1;
for(i=0;i<200;i++)
{
beep=!beep;
delay(110);
}
beep=1;
for(i=0;i<200;i++)
{
delay(110);
}
beep=1;
for(i=0;i<200;i++)
{
beep=!beep;
delay(110);
}
beep=1;
for(i=0;i<200;i++)
{
delay(110);
}
beep=1;
}
}
//主函數(shù)
void main()
{
P0=smgduan[1];
//設(shè)置INT0
IT0=1;//跳變沿出發(fā)方式(下降沿)
EX0=1;//打開(kāi)INT0的中斷允許。
TMOD|=0X01;
TH0=0X3C;
TL0=0XB0;
ET0=1;//打開(kāi)定時(shí)器0中斷允許
EA=1;//打開(kāi)總中斷
TR0=1;//打開(kāi)定時(shí)器
while(1)
{
if(mode==0)
led=1;
else
led=0;
if(miao==0)
{
if(!k1)
{
if(mode==0)
{
start=1;//啟動(dòng)計(jì)時(shí)
shu++;
}
while(!k1);//等待按鍵松開(kāi)
if(time==30)//長(zhǎng)按
mode=!mode;
else//短按
{
if(mode==0)
sound(num);//播放
else
{
if(num<6)
num++;
else
num=1;
P0=smgduan[num];
}
}
time=0;
}
}
else
{
sound(num);//響1分鐘
}
}
}
//定時(shí)器中斷
void Timer0() interrupt 1
{
if(!k1 )//長(zhǎng)按檢測(cè)
{
if(time<30)
time++;
}
if(start==1)
{
if(sec<60)//3s
sec++;
else
{
sec=0;
if(shu>4)//按5次
{
miao=1200;//60s
start=0;
}
shu=0;
}
}
if(miao>0)//1分鐘計(jì)時(shí)
miao--;
}
5. 設(shè)計(jì)報(bào)告
7044字設(shè)計(jì)報(bào)告,內(nèi)容包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件框圖、調(diào)試、結(jié)論等
隨著現(xiàn)代智能化技術(shù)的迅速進(jìn)步和廣泛應(yīng)用,人們對(duì)于家居設(shè)備的功能拓展以及用戶體驗(yàn)的關(guān)注度日益提升。在當(dāng)今智能家居生態(tài)系統(tǒng)中,各種智能硬件產(chǎn)品不僅需要具備基礎(chǔ)功能,更需要滿足用戶個(gè)性化、便捷化的需求,從而創(chuàng)造更加舒適、愉快的生活空間。本課程設(shè)計(jì)項(xiàng)目正是順應(yīng)這一發(fā)展趨勢(shì),將經(jīng)典的51系列單片機(jī)作為核心控制單元,巧妙地結(jié)合了數(shù)碼管顯示技術(shù)和蜂鳴器發(fā)聲元件,旨在研發(fā)一款擁有音樂(lè)選擇功能的智能門(mén)鈴系統(tǒng)。
這款智能門(mén)鈴的設(shè)計(jì)理念注重簡(jiǎn)潔與易用性,力求讓每一位用戶都能夠輕松上手并享受到個(gè)性化定制的樂(lè)趣。系統(tǒng)內(nèi)預(yù)置了多種風(fēng)格各異的門(mén)鈴音效,用戶可以根據(jù)個(gè)人喜好通過(guò)按鍵操作在五種不同的音樂(lè)類型之間切換,而當(dāng)前所選的音樂(lè)類型編號(hào)會(huì)實(shí)時(shí)清晰地顯示在數(shù)碼管上,增強(qiáng)了交互界面的直觀性和友好性。
6. 原理圖
原理圖使用AD繪制,可供實(shí)物參考,仿真不同于實(shí)物,經(jīng)驗(yàn)不足不要輕易搞實(shí)物。
元器件清單:
元件 | 型號(hào) | 數(shù)量 |
---|---|---|
單片機(jī) | AT89C51 | 1 |
電容 | 10uf | 1 |
電容 | 30pf | 2 |
晶振 | 12MHZ | 1 |
電阻 | 10k | 1 |
按鈕 | 2 | |
電阻 | 1k | 1 |
三極管 | PNP | 1 |
蜂鳴器 | 無(wú)源 | 1 |
數(shù)碼管 | 1位共陰 | 1 |
排阻 | 10k | 1 |
LED | 紅色 | 1 |
電阻 | 100歐 | 1 |
電源部分 | ||
排針 | 2P | 1 |
電容 | 0.1uf | 2 |
電容 | 100uf | 2 |
穩(wěn)壓器 | 7805 | 1 |
Proteus仿真和實(shí)物作品的區(qū)別:
1.運(yùn)行環(huán)境:Proteus仿真是在計(jì)算機(jī)上運(yùn)行的,而實(shí)物則是在硬件電路板上運(yùn)行。
2.調(diào)試方式:在Proteus仿真中,可以方便地進(jìn)行單步調(diào)試和觀察變量值的變化,而在實(shí)物中則需要通過(guò)調(diào)試器或者串口輸出等方式進(jìn)行調(diào)試。
電路連接方式:在Proteus仿真中,可以通過(guò)軟件設(shè)置進(jìn)行電路連接的修改,而在實(shí)物中則需要通過(guò)硬件電路板和連接線進(jìn)行修改。
3.運(yùn)行速度:Proteus仿真通常比實(shí)物運(yùn)行速度快,因?yàn)榉抡媸腔谟?jì)算機(jī)運(yùn)行的,而實(shí)物則需要考慮電路板上的物理限制和器件的響應(yīng)時(shí)間等因素。
4.功能實(shí)現(xiàn):在Proteus仿真中,可以通過(guò)軟件設(shè)置實(shí)現(xiàn)不同的功能,而在實(shí)物中則需要根據(jù)電路設(shè)計(jì)和器件的性能進(jìn)行實(shí)現(xiàn)。
7. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接
資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。
0、常見(jiàn)使用問(wèn)題及解決方法–必讀?。。?!
1、程序
2、proteus仿真
3、功能要求
4、軟硬件流程圖
5、開(kāi)題報(bào)告
6、設(shè)計(jì)報(bào)告
7、原理圖
8、元器件清單
9、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開(kāi)查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url
資料下載鏈接(可點(diǎn)擊):
https://docs.qq.com/doc/DS3VZb2RpRXBKSE5F
更多資源 點(diǎn)擊下方鏈接:
https://docs.qq.com/sheet/DS0xIa0llTmtNakRW
3、功能要求
4、軟硬件流程圖
5、開(kāi)題報(bào)告
6、設(shè)計(jì)報(bào)告
7、原理圖
8、元器件清單
9、講解視頻
Altium Designer 安裝破解
KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開(kāi)查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url
[外鏈圖片轉(zhuǎn)存中…(img-GiFFZXhy-1715594003019)]
資料下載鏈接(可點(diǎn)擊):
https://docs.qq.com/doc/DS3VZb2RpRXBKSE5F
更多資源 點(diǎn)擊下方鏈接:
https://docs.qq.com/sheet/DS0xIa0llTmtNakRW