叮咚门铃的单片机控制
基于单片机的门铃设计

基于单片机的门铃设计门铃是一种常见且具有实用性的装置,其用途是提醒主人外面有人到来。
随着科技的不断发展,基于单片机的门铃设计也变得越来越智能化和便捷。
本文将介绍一种基于单片机的智能门铃设计。
该设计使用单片机作为主要控制芯片,并搭配其他传感器和模块实现门铃的自动响铃、录像等功能。
设计理念是通过使用单片机来感知和处理外部信号,并通过触发相应的操作来实现人们对门铃的需求。
首先,我们需要选用一款适合的单片机作为主控制芯片。
单片机的选择要考虑处理能力、外设接口、功耗等因素。
推荐使用一款低功耗的低端单片机,如Arduino Uno。
其较小的体积和就能耗使其非常适合此类小型应用。
其次,我们需要考虑门铃的触发方式。
常见的门铃触发方式有按钮触摸、声音识别、人体感应等。
本设计采用人体感应作为门铃的触发方式。
通过连接红外传感器,当有人接近门口时,红外传感器将检测到人体的红外辐射,并触发门铃响铃。
然后,我们需要实现声音的播放和存储功能。
为了实现门铃响铃的功能,我们可以使用单片机内部的PWM模块来控制一个扬声器的输出。
另外,为了增加门铃的智能性,我们还可以将声音存储在一个闪存模块中,通过单片机的读取将门铃声音可视化,可以使用一块microSD卡作为存储介质。
最后,我们可以添加一些附加的功能,如拍摄照片、录制视频等。
为了实现这些功能,我们可以使用一块摄像头模块,例如一款带有Omnivision 5642芯片的摄像头模块。
通过连接摄像头模块和单片机,我们可以实现在有人接近门铃时自动拍摄照片或录制视频。
这些文件可以保存在存储介质中,并在需要的时候被读取。
综上所述,基于单片机的门铃设计可以实现智能化和便捷化。
通过使用单片机作为主要控制芯片,并搭配其他传感器和模块,我们可以实现门铃的自动响铃、存储声音、拍摄照片、录制视频等功能。
这些功能大大提高了门铃的实用性和智能性,为主人提供了更多的便利。
随着科技的不断进步,我们相信基于单片机的门铃设计将会有更多的创新和发展。
单片机课程设——叮咚门铃设计

单片机课程设计报告课程单片机课程设计设计题目“叮咚”门铃设计年级专业 12级自动化学号学生姓名指导教师设计题目:一、要求要求按下按键时,蜂鸣器发声,并播出“叮咚-叮咚-叮咚”声音二、分析系统方案本次课设是基于STC89C51单片机的叮咚门铃设计。
STC89C51单片机是一款性能稳定,价格比较低廉的单片机,用STC89C51作为主控芯片,结合外设蜂鸣器电路,可使门铃性能更加优良,更适合用于现实生活中去。
在该设计中,STC89C51单片机是整个系统主控芯片,它主要负责输出不同频率的PWM脉宽,从而控制三极管通断次数来使扬声器发出不同频率的声音。
程序方案本次课设主要用高级语言C语言来实现,通过KEIL公司的U vision4软件编译,stc-isp下载工具下载程序三、设计1、硬件设计(包括设计方案及说明、完整的硬件连接图等)叮咚门铃硬件电路主要包括单片机最小系统、蜂鸣器电路、按键。
电路图如下蜂鸣器电路最小系统总电路图2、软件编程(包括流程图、完整的汇编源程序及其注释)软件设计流程图程序代码#include <AT89X52.H>unsigned char obuf1;unsigned char obuf2;unsigned int obuf3;bit stopb;bit flagb;void delayms(unsigned int k){unsigned char p;for(; k > 0; k--)for(p = 110; p > 0; p--);}void main(void){unsigned char i,j, k;TMOD=0x02; //定时器T0初始化TH0=0x06;TL0=0x06;ET0=1;EA=1; //允许总中断while(1){if(P1_0==0) //检测K1按键{for(k = 0; k < 3; k++){ // 三重循环P1=0x00;for(i=10;i>0;i--)for(j=248;j>0;j--);if(P1_0==0){obuf1=0;obuf2=0;obuf3=0;flagb=0;stopb=0;TR0=1; //启动定时器T0,发出"叮咚"声while(stopb==0);P1=0xff;}delayms(3000); // 延时函数}}}}void t0(void) interrupt 1 using 0{obuf3++;if(obuf3==3000){obuf3=0;if(flagb==0){flagb=~flagb;}else{stopb=1;TR0=0;}}if(flagb==0){obuf2++;if(obuf2==1){obuf2=0;P1_6=~P1_6;}}else{obuf1++;if(obuf1==25){obuf1=0;P1_6=~P1_6;}}}3、调试说明在对系统设计以及实现后,需要进入调试阶段,以检查系统所存在的缺陷,以便排除各种可能出现的不利于系统正常运行的因素。
铃儿响叮当机器人的指挥系统单片机.pptx

您做对了吗?
任务三:创意音乐铃声的设计
发挥创意,制作个性化音乐铃声
1
小组讨论,明确思路
2
完成编程
3
上传 测试
4
交流分享
更多声谱可参考教学网站“任务三”
任务三:创意音乐铃声的设计
发挥创意,制作个性化音乐铃声
更多声谱可参考教学网站“任务三”
展望
我们今天只是学习铃声创意的第一课,Mixly还有更强 大创意编程功能等待我们去学习。
如:另类电子琴
注意过学校的铃声吗?
铃儿响叮当
——“机器人的指挥系统——单片机”
斗门区城南学校铃声的基本音阶
同学们有没有想过,通过编程也可以 制作铃声呢!
任务一:使蜂鸣器发出声音
要求:编写程序,使蜂鸣 器发出“叮咚”的门铃声
比一比
任务一:使蜂鸣器发出声音
您做对了吗?
任务二: 按钮控制蜂鸣器发声
基于89c51单片机“叮咚”门铃

“叮咚”门铃1.实验任务当按下开关SP1,AT89S51单片机产生“叮咚”声从P1.0端口输出到LM386,经过放大之后送入喇叭。
2.电路原理图图4.19.13.系统板上硬件连线(1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;(2.在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭;(3.把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;4.程序设计方法(1.我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时。
(2.在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。
(3.“叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。
5.程序框图主程序框图T0中断服务程序框图图4.19.26.汇编源程序T5HZ EQU 30HT7HZ EQU 31HT05SA EQU 32HT05SB EQU 33HFLAG BIT 00HSTOP BIT 01HSP1 BIT P3.7ORG 00HLJMP STARTORG 0BHLJMP INT_T0 START: MOV TMOD,#02H MOV TH0,#06HMOV TL0,#06HSETB ET0SETB EANSP: JB SP1,NSPLCALL DELY10MSJB SP1,NSPSETB TR0MOV T5HZ,#00HMOV T7HZ,#00HMOV T05SA,#00HMOV T05SB,#00HCLR FLAGCLR STOPJNB STOP,$LJMP NSPDELY10MS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$DJNZ R6,D1RETINT_T0: INC T05SA MOV A,T05SACJNE A,#100,NEXT MOV T05SA,#00HINC T05SBMOV A,T05SBCJNE A,#20,NEXT MOV T05SB,#00HJB FLAG,STPCPL FLAGLJMP NEXTSTP: SETB STOPCLR TR0LJMP DONENEXT: JB FLAG,S5HZ INC T7HZMOV A,T7HZCJNE A,#03H,DONE MOV T7HZ,#00HCPL P1.0LJMP DONES5HZ: INC T5HZMOV A,T5HZCJNE A,#04H,DONE MOV T5HZ,#00HCPL P1.0LJMP DONEDONE: RETIEND7. 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;}}}。
电子综合实训-叮咚门铃电路的设计

电子综合实训-叮咚门铃电路的设计
叮咚门铃电路设计
本文主要介绍了一款叮咚门铃电路的设计,该电路采用的是一个多功
能可编程的电子组件,单片机(MCU),以及一些电源安装组件、及一些
基本的电路元器件。
1.首先,施工方应确定要安装的电路的功能,以及其所涉及到的元器件,以便确定所需组件的规格和数量。
2.确定元器件后,可以开始电路的设计,主要分为硬件部分和软件部分。
(1)硬件设计:
a.从电源开始,选择合适的电源,例如市电220V或者其他电源,然
后将电源通过继电器控制按钮与电路连接。
b.接下来主要是MCU电路部分,使用Atmel89C2051系列型号的MCU,便于编程和使用,并且可以连接两个按钮,一个用于开门铃,另一个用于
关闭,读取键盘数据,或者控制播放音乐文件等。
此外,还可以连接一些
外部控制组件,如数码显示器,音频模块等,以满足不同的需求。
c.最后,可以选择一些用于接收和发射门铃声音的发射器和接收器,可以让用户收到门铃声音,从而实现开门的功能。
(2)软件设计:
a.使用单片机(MCU)提供的软件开发软件,可以轻松设计出一个叮
咚门铃程序,实现在按钮按下后播放叮咚音乐。
19. “叮咚”门铃

19.“叮咚”门铃1.实验任务当按下开关SP1,AT89S51单片机产生叮咚声从P1.0端口输出到LM386,经过放大之后送入喇叭。
2.电路原理图图4.19.13.系统板上硬件连线(1.把单片机系统区域中的P1.0端口用导线连接到音频放大模块区域中的SPKIN端口上;(2.在音频放大模块区域中的SPKOUT端口上接上一个8欧或者是16欧的喇叭;(3.把单片机系统区域中的P3.7/RD端口用导线连接到独立式键盘区域中的SP1端口上;4.程序设计方法(1.我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时。
(2.在设计过程,只有当按下SP1之后,才启动T0 开始工作,当T0工作完毕,回到最初状态。
(3.叮和咚声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。
6.汇编源程序T5HZEQU30HT7HZEQU31HT05SAEQU32HT05SBEQU33HFLAGBIT00HSTOP BIT01HSP1BITP3.7ORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVT MOD,#02HMOVTH0,#06HMOVTL0,#06HSETBET0SETBEANSP:JBSP1,NSPLC ALLDELY10MSJBSP1,NSPSETBTR0MOVT5HZ,#00HMOVT7HZ,#00HMOVT0 5SA,#00HMOVT05SB,#00HCLRFLAGCLRSTOPJNBSTOP,$LJMPNSPDELY10 MS:MOVR6,#20D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETINT_T0:INCT05SA MOVA,T05SACJNEA,#100,NEXTMOVT05SA,#00HINCT05SBMOVA,T05SBCJ NEA,#20,NEXTMOVT05SB,#00HJBFLAG,STPCPLFLAGLJMPNEXTSTP:SETB STOPCLRTR0LJMPDONENEXT:JBFLAG,S5HZINCT7HZMOVA,T7HZCJNEA,# 03H,DONEMOVT7HZ,#00HCPLP1.0LJMPDONES5HZ:INCT5HZMOVA,T5HZC。
单片机课程设叮咚门铃设计(1)

单片机课程设叮咚门铃设计(1)单片机课程设计——叮咚门铃设计一. 设计意义叮咚门铃是一种普遍存在生活中的电器,为了提升现代门铃的使用功能,我们设计一种功能更加多样、便捷的叮咚门铃。
具体内容包括:录制语音留言、手动控制、自动报警等多种功能。
二. 设计思路1. 系统结构的设计门铃的工作是通过人体感应模块、芯片可编程模块以及语音模块组成的。
其中人体感应模块检测有无人经过,控制门铃的自动报警功能;芯片可编程模块控制整个门铃系统的运行和录制播放等功能;语音模块负责门铃铃声和播报功能。
2. 环境检测部分门铃通过一种红外线感应器检测燃气泄漏、火灾等危险,如果监测到这些情况会自动发出警报,并向业主发出警告,保护住户的生命安全。
3. 录音功能部分可由住户录入自定义的留言,发现有访客按门铃时,可以自动播放,方便住户用于不在家等场合。
4. 手动开启部分可由住户手动打开门铃,访客按下门铃时,还可通过手机与门铃相连接,远程对门铃进行控制,行使便捷性功能。
三. 开发环境硬件选型:基于AVR单片机AT89C52,选用人体感应模块、红外传感器模块等器件实现门铃的各项功能。
开发工具:KeilµV ision、proteus 等。
四. 实现过程1. 门铃IC选用AT89C52,具有16KB的闪存,32个I/O口这样大的存储能够给门铃留下很大的储存空间,同时实现单片机与人体感应模块的通信。
2. 人体感应模块可以检查有无人经过,在感应到人时,向芯片发出信号,芯片控制门铃的铃声,实现警报的功能。
3.在实现语音功能中,使用Flash来存储各类语音文件,这种方式不但省去了单独的内存片,还能够通过USB连接,方便地更新和上传语音文件。
4. 根据客户的要求,我们将门铃与手机无线连接,可以进行远程监视,更加方便住户。
五. 功能演示在使用中,检测到有人通过,门铃会自动启动,并发出警报声音;住户用远程手机进行控制,可以实现门铃铃声和录制功能的控制;当门铃检测到危险时,将自动调用警报功能,发出警报。
C51单片机技术应用与实践课件2-2 设计叮咚门铃

Key按下? 是
启动定时器
主程序流程
“叮”初值—TH0、TL0 延时400次
“咚”初值—TH0、TL0 延时400次 返回主程序 中断程序流程
2
实践训练
(3) 具体程序 见书80页—81页
2
实践训练
3.叮咚门铃仿真效果
2
实践训练
3
总结
通过本次任务的学习,掌握键盘的使用方法,在键盘 数比较少的情况下,可以选用独立式键盘扫描,键盘 数比较多的情况下,选择行列式键盘扫描比较节省单 片机的I/O口资源,另外根据键盘的特点选择合适的延 时时间来到达有效的消除键的抖动。
编程思路,进而在对电子琴音阶时序控制的基础上完成
整个项目的设计与程序编写,达到单片机的初步设计与
编程的要求。
总体目标
1
【知识目标】 (1) 掌握独立式键盘和行列式键盘的工作原理;
理论认知
(2) 了解定时/计数器的工作原理;
(3)了解定时/计数器的控制寄存器定义和使用方法;
(4) 掌握定时/计数器的控制及应用;
R1P110 S1
10k R1P211 S2
10k R1P312 S3
10k RP1143
S4
10k R1P514 S5
10k R1P615 S6
10k R1P716 S7
10k R1P817 S8
10k
2
实践训练
P20 R1 P21 2R220 P22 2R230 P23 2R240 P24 1R05k P25 2R260 P26 2R270 P27 2R280
任务要求: 用单片机的P1.7口来实现按钮的触发功能,P3.0实析:
叮咚门铃的声音频率不同,对应的周期参数也不同,采用可编 程定时器/计数器设计叮咚门铃声的定时参数不同,需要根据各 自的定时周期计算出各自的定时初值,启动定时器/计数器来发 出不同的声音,同时,各自的声音需要保留一定的时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贵州航天职业技术学院专业课题设计报告题目: 叮咚门铃的单片机控制系部: 计算机科学系专业名称: 计算机应用技术(控制方向)班级:姓名:学号:指导教师:时间:前言随着现在人们生活的不断改善,智能化的家居设计走进人们生活中。
在现代电子产品中,“叮咚”门铃低成本,很方便快捷的门口提示工具。
它的虽然功能简单,但是由于其操作简单得到了广泛的应用,在市场上占有很大的空间。
本课题是根据目前的现代化的家居及以往的门铃设计,提出了一种新的门铃设计。
它是基于STC89C51单片机的叮咚门铃设计。
在该系统中STC89C51单片机是一款性能稳定,价格比较低廉的单片机,结合以往的门铃设计方式,将其与之结合,设计一种电路更加简单,性能更加优良的门铃,使之更能适合于现代化的家居。
在该设计中,STC89C51单片机是整个系统主控芯片,它主要负责输出不同频率的PWM脉宽,从而控制三极管通断次数来使扬声器发出不同频率的声音。
目前我已经完成了该系统的仿真功能,基本达到预期的效果。
经过初步的市场调研,基于单片机的叮咚门铃设计是个很有应用价值及商业价值的设计。
目录一﹑门铃的发展 (1)二﹑课题开发的目的及意义 (3)三﹑设计要求 (3)四﹑硬件设计 (4)(一)系统各组成部分硬件设计 (4)(1)、单片机芯片的选择 (4)(2)、AT89C51的引脚图 (5)(3)、单片机工作的过程 (5)(4)、硬件电路设计 (6)(5)单片机的历史 (10)(6)单片机的基本结构 (11)(7)单片机的应用 (11)(8)Proteus 7 Professional的简介 (11)五、仿真模型的建立 (13)(一)Proteus 7 Professional仿真 (13)(二)模型的建立 (14)(三)、总体硬件设计 (22)六、软件设计 (24)(1). 主程序框图: (24)(2). T0中断服务程序框图: (25)七、结果调试与分析 (25)(一)调试前步骤 (25)(二)调试结果 (29)八、总结 (32)九、参考资料 (34)附录 (35)一﹑门铃的发展“门铃”这玩意在中国古代较少听说,有钱的大户人家是在大门上装有装饰性的门环,叫门的人可用门环拍击环下的门钉发出较大的响声,有现代“门铃”的作用。
马车夫将客人送到门前的时候,会顺便拉拉它牵动里面的铃当以示来人。
在近代“门铃”不再是有钱人家的专项,“门铃”已在平民百姓人家广泛普遍应用。
各式各样的“门铃”比比皆是,“门铃”的作用也不仅仅是局限于给客人叫门用。
在笔者有兴趣于“门铃”的早两年里,收集了许多新式“门铃”的电路,自制了好几种不同音响的“门铃”,也做了不少的延伸“门铃”作用的试验,都是很实用的。
近代市民最常见的“门铃”是电子类的占多数:最常见的是前几年流行的“电子门铃”;一般安放两节5号电池在内,门外的触发电钮被人按动后,门内的“门铃”就“嘀嘟”地响几声。
也有的是由IC片播放一段电子音乐的。
后来演变到客人可以在门口与楼上家里的主人讲话,验明真声后主人再给客人开门。
它们的缺点就是要消耗电源,特别是用电池的毛病较多,但用交流电的又怕临时停电。
高级公寓里的“门铃”算是这类中造价最昂贵的,不但可以叫门对话,还可以通过摄像头让家中的主人在屏幕上看到远在门外楼下的来客,用这样的“门铃”顺便监看放在楼下的车辆倒也不错。
“门铃”的触发与应用也有多种的形式:早年去香港的一家小航模店铺,站在玻璃门前看见里面没人,找遍门口也不见有“门铃”的按钮。
傻等了片刻忍不住推了一下门,只听得门内“嘀嘟”的响了两下,主人从后面的内室出来了。
近来在市内也见有类似这样的作法;个别茶吧在门上吊一串风铃,有客人推门时风铃就发出一连串欢快说耳的声言,侍应小姐闻讯马上跑过来照呼问好,偶觉的这样比派人站在门口要好。
后来偶帮两位互为近邻的老教师作了“电子门铃”增加接线按钮的尝试,让她们可以在家按对方的“门铃”,发出“我有病请来帮助!”或是“来打麻将好不好?”的信息。
早年偶去看外婆颇为不便,因她年老耳聋敲破门也没用。
初时带一支强光电筒,在窗外对里面照晃。
后来干脆专门安只大瓦数灯泡,在门口按得它闪闪发光以示来人,倒是蛮管用的。
“门铃”作用的延伸及简化:在家里装只“电子门铃”如果只是叫门,不免有点单调。
如果多安几只触发传感器,可以有煤气报警、自行车被动、火灾呼叫、定时提醒、等不同音响与作用,这样做成本也不会太高。
如果“门铃”只需要作叫门的作用,用电子式的就太过繁琐了。
偶的作法是用一只吊在钢丝上的铃当做“门铃”,钢丝连接门外的弹性按钮即可。
这样的“门铃”制作简便悦耳耐用,乃是简便“门铃”中最上乘的作法也。
二﹑课题开发的目的及意义目的:通过本次课题设计,可以使我进一步认识单片机理论方法和实际意义,对理论知识进行必要实践、培养我们设计和仿真的基本能力,以便最终和生产实践以及其他科学结合。
意义:1、掌握单片机的功能、程序的设计和调试方法。
2、熟悉单片机开发环境,达到能够熟练使用的层次。
3、培养学生的应用开发能力,为以后的毕业设计奠定一定的基础。
4、掌握单片机基础知识和操作。
三﹑设计要求当按下开关SP1,AT89S51单片机产生“叮咚”的声音从P1.0端口输出到2N1711,经过放大之后送入扬声器。
四﹑硬件设计(一)系统各组成部分硬件设计(1)、单片机芯片的选择单片机选用的是Atmel公司推出的AT89C51,它是一种低功效、高性能微控制器, AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,所以这次课程设计我选择它。
(2)、AT89C51的引脚图引脚图实物图元器件仿真图(3)、单片机工作的过程单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。
为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。
存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。
程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。
(4)、硬件电路设计A、设计出如下的单片机电路图:如上图,按下SP1开关,F0置1,门铃开始发生。
B、SP1开关:C、单片机接线图:D、AT89C51芯片引脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。