基于单片机的智能家居安防系统设计内容摘要:

x02。 if(P15==0) //是第 4种报警信号吗。 nKeyNumber=0x03。 EX1=0。 //开外部中断 1 nCounter=0。 //定时器 0溢出计数变量复位 P10=1。 //拨号 Delay()。 //延时 P11=1。 //重拨 Delay()。 //延时 P11=0。 TMOD=0x01。 //定时器 0工作方式 1 TH0=0x3c。 TL0=0xaf。 ET0=1。 //开定时器 0 TF0=0。 //定时器 0溢出复位 TR0=1。 ////定时器 0 开始工作 } *************************************************** ****定时器 0中断进行延时以及拨号是否 4次的判别 ***** **********和被叫用户是否摘机的判别 ***************** 毕业设计说明书 (论文 ) 第 20 页 共 53 页 **************************************************** void Timer0_Overflow() interrupt 1 using 0 { TH0=0x3c。 TL0=0xaf。 if(nCounter==200) //是否延时十秒了 { P10=0。 //挂机 Delay()。 //延时 if(DisplayYN==1) //被叫用户是否接通判别 { DisplayYN=0。 //被叫用户摘机判别变量复位 P10=0。 P11=0。 //停止拨号 TMOD=0x01。 //定时器 0 工作方式 1 EX0=1。 //开外部中断 0 EX1=1。 //开外部中断 1 EA=1。 //开全局中断 } else { if(k4) //拨了四次了吗。 { EX1=1。 //开外部中断 1 P10=0。 //挂机 P11=0。 //停止拨号 Delay()。 //延时 P26=0。 //触发中断 k+=1。 //拨号次数变量加 1 } else { EX0=0。 //关外部中断 0 ET0=0。 //关定时器 0 TF0=0。 //定时器 0 溢出复位 P27=0。 毕业设计说明书 (论文 ) 第 21 页 共 53 页 DisplayYN=1。 //被叫用户摘机变量置位 TH0=0x3c。 TL0=0xaf。 EX1=1。 //开外部中断 1 ET0=1。 //开定时器 0 TR0=0。 //允许定时器工作位 0 复位 TF0=0。 //定时器 0溢出复位 EX0=1。 //开外部中断 0 EA=1。 //开全局中断 } } } nCounter++。 //十秒判别变量累加 if(P25==1amp。 amp。 P27==0) { P27=1。 P10=0。 P11=0。 P2=0xff。 TMOD=0x01。 TH0=0x3c。 TL0=0xaf。 EX0=1。 EX1=1。 EA=1。 } } ********************************************** 毕业设计说明书 (论文 ) 第 22 页 共 53 页 ****中断 0 对被叫用户是否摘机进行判别 ********* ********************************************** void int0() interrupt 0 using 0 { k=0。 //拨号次数变量复位 EX0=0。 //关 外部中断 0 ET0=0。 //关定时器 0 TF0=0。 //定时器 0溢出复位 TR0=0。 //允许定时器工作位 0复位 SoundPlay()。 KeyChoose()。 //报警类型判别 P27=0。 DisplayYN=1。 //被叫用户摘 机判别变量置位 TH0=0x3c。 TL0=0xaf。 EX1=1。 //开外部中断 1 ET0=1。 //开定时器 0 TR0=1。 //允许定时器 0工作 EX0=1。 //开外部中断 0 EA=1。 //开全局中断 } ******************************************** *********扩展语音函数暂时没用 *************** ******************************************** void SoundPlay() {。 } ******************************************** ********延时函数用于短暂延时 **************** ******************************************** 毕业设计说明书 (论文 ) 第 23 页 共 53 页 void Delay() { int n,m。 for(n=0。 n200。 n++) for(m=0。 m510。 m++) {。 } } ******************************************** ***报警类别选择函数判别是哪种类型的报警 ***** ******************************************** KeyChoose() { switch(nKeyNumber) { case(0x00):Key0_Handler()。 break。 case(0x01):Key1_Handler()。 break。 case(0x02):Key2_Handler()。 break。 case(0x03):Key3_Handler()。 break。 } } ********************************************* ******0 号报警函数播放报警语音 *************** ********************************************* Key0_Handler() {P20=0。 } ********************************************* ******1 号报警函数播放报警语音 *************** 毕业设计说明书 (论文 ) 第 24 页 共 53 页 ********************************************* Key1_Handler() {P21=0。 } ********************************************* *******2 号报警函数播放报警语音 ************** ********************************************* Key2_Handler() {P22=0。 } ********************************************* ******3 号报警函数播放报警语音 *************** ********************************************* Key3_Handler() {P23=0。 } 毕业设计说明书 (论文 ) 第 25 页 共 53 页 第三章 系统的硬件设计 AT89C52 单片机概述 一、 单片机的发展与构成 现在计算机采用了大规模集成电路,具有功能强、结构紧凑、系统可靠等特征。 随着半导体技术的发展,能够在一个硅片上制作几百万个晶体管,于是出现了大规模集成电路的中央处理器 —— 微处理器( CPU),以及大容量的半导体存储器,通用或专用输入/输出( I/O)接口电路,包 含多种类型 I/O 的综合外围电路,由这些大规模集成电路组成各种类型的微型计算机。 从 20 世纪 70年代开始,半导体厂商把微型机的最基本的部件制作在一个硅片内,于是就出现了一个大规模集成电路为主组成的微型计算机 —— 单片微型计算机( single chip microputer)简称单片机。 由于单片机面向控制应用领域,装入到各种智能化产品之中,所以又称为嵌入式控制器( embedded microcontroller) . 如一般的计算机系统一样,单片机的应用系统由硬件和软件所组成。 硬件指单片机扩展的存储器、输入 /输出设备等硬部件组成的机器。 软件是各种工作程序的总称。 硬件和软件只有紧密配合、协调一致,才能组成高性能的单片机应用系统。 在系统的研制过程中,软硬件的功能总是不断地调整,以便相互适应。 硬件设计和软件设计不能截然分开,硬件设计时应考虑软件设计方法,而软件设计时应了解硬件的工作原理,在真个研制过程中互相协调,以利于提高工作效率。 在单片机内部包含计算机的基本功能部件:中央处理器( CPU)、存储器( memory)、( I/O)接口电路。 二、单片机类型的选择及开发步骤 AT89C52 单片机是一种低功耗、高性能、内含 8KB 的闪速存储器( Flash Memory)的 8 位 CMOS 微控制器。 这种器件系以 ATMEL 高密度非易失性的存储技术制造,与工业标准 MCS— 51指令系统和引脚完全兼容。 片内闪速存储器的程序代码或数据可在线写入,也可通过常规的编程器编程。 常用的开发步骤如下图: 毕业设计说明书。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。