日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
“叮咚”門鈴制作
“叮咚”門鈴制作
 更新時間:2009-7-9 16:50:20  點擊數(shù):0
【字體: 字體顏色

1. 實驗任務

當按下開關SP1,AT89S51單片機產(chǎn)生“叮咚”聲從P1.0端口輸出到LM386,經(jīng)過放大之后送入喇叭。

2. 電路原理圖

 

 圖19.1

3. 系統(tǒng)板上硬件連線

(1. 把“單片機系統(tǒng)”區(qū)域中的P1.0端口用導線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;

(2. 在“音頻放大模塊”區(qū)域中的SPK OUT端口上接上一個8歐或者是16歐的喇叭;

(3. 把“單片機系統(tǒng)”區(qū)域中的P3.7/RD端口用導線連接到“獨立式鍵盤”區(qū)域中的SP1端口上;

4. 程序設計方法

(1. 我們用單片機實定時/計數(shù)器T0來產(chǎn)生700HZ和500HZ的頻率,根據(jù)定時/計數(shù)器T0,我們?nèi)《〞r250us,因此,700HZ的頻率要經(jīng)過3次250us的定時,而500HZ的頻率要經(jīng)過4次250us的定時。

(2. 在設計過程,只有當按下SP1之后,才啟動T0開始工作,當T0工作完畢,回到最初狀態(tài)。

(3. “!焙汀斑恕甭曇舾髡加0.5秒,因此定時/計數(shù)器T0要完成0.5秒的定時,對于以250us為基準定時2000次才可以。

5. 程序框圖

主程序框圖 

 

T0中斷服務程序框圖

 

圖19.2

6. 匯編源程序
T5HZ EQU 30H
T7HZ EQU 31H
T05SA EQU 32H
T05SB EQU 33H
FLAG BIT 00H
STOP BIT 01H
SP1 BIT P3.7
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START: MOV TMOD,#02H
MOV TH0,#06H
MOV TL0,#06H
SETB ET0
SETB EA
NSP: JB SP1,NSP
LCALL DELY10MS
JB SP1,NSP
SETB TR0
MOV T5HZ,#00H
MOV T7HZ,#00H
MOV T05SA,#00H
MOV T05SB,#00H
CLR FLAG
CLR STOP
JNB STOP,$
LJMP NSP
DELY10MS: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
INT_T0: INC T05SA
MOV A,T05SA
CJNE A,#100,NEXT
MOV T05SA,#00H
INC T05SB
MOV A,T05SB
CJNE A,#20,NEXT
MOV T05SB,#00H
JB FLAG,STP
CPL FLAG
LJMP NEXT
STP: SETB STOP
CLR TR0
LJMP DONE
NEXT: JB FLAG,S5HZ
INC T7HZ
MOV A,T7HZ
CJNE A,#03H,DONE
MOV T7HZ,#00H
CPL P1.0
LJMP DONE
S5HZ: INC T5HZ
MOV A,T5HZ
CJNE A,#04H,DONE
MOV T5HZ,#00H
CPL P1.0
LJMP DONE
DONE: RETI
END

7. C語言源程序
#include <AT89X51.H>
unsigned char t5hz;
unsigned char t7hz;
unsigned int tcnt;

bit stop;
bit flag;

void main(void)
{
unsigned char i,j;

TMOD=0x02;
TH0=0x06;
TL0=0x06;
ET0=1;
EA=1;

while(1)
{
if(P3_7==0)
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
t5hz=0;
t7hz=0;
tcnt=0;
flag=0;
stop=0;
TR0=1;
while(stop==0);
}
}
}
}

void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==2000)
{
tcnt=0;
if(flag==0)
{
flag=~flag;
}
else
{
stop=1;
TR0=0;
}
}
if(flag==0)
{
t7hz++;
if(t7hz==3)
{
t7hz=0;
P1_0=~P1_0;
}
}
else
{
t5hz++;
if(t5hz==4)
{
t5hz=0;
P1_0=~P1_0;
}
}
}

  • 上一篇: 基于ISP芯片的漢字定時顯示裝置的設計
  • 下一篇: 基于51單片機數(shù)字式電子鐘
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1