多路无线报警系统设计_第1页
多路无线报警系统设计_第2页
多路无线报警系统设计_第3页
多路无线报警系统设计_第4页
多路无线报警系统设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XIX网络学院毕业论文独创性声明本人声明,所呈交的毕业论文系在指导老师的指导下本人独立完成的研究成果。论文中依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上已属于他人的任何形式的研究成果,如果本论文有摘抄他人的研究成果,被他人追究责任,则本人负全部责任,与指导老师和学校无关。本人如违反上述声明,愿意承担以下责任和后果:交回学校授予的毕业证书;学校可以在相关媒体上对作者本人的行为进行通报;本人按照学校规定的方式,对因不当取得证书给学校造成的名誉损害,进行公开道歉;本人负责因论文成果不实产生的法律纠纷。论文作者签名:李成林日期:2020年2月20日毕业论文知识产权权属声明本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学校。学校享有以任何方式发表、复制、公开阅读、借阅以及申请专利等权利。本人离校后发表或使用毕业论文或与论文直接相关的学术论文或成果时,署名单位仍然为西安交通大学。论文作者签名:李成林日期:2020年2月20日导师签名:日期:年月日注:本声明的版权归西安交通大学所有,未经许可,任何单位及个人不得擅自使用西安交通大学网络教育学院论文附录一:系统电路图附录二:PCB图附录三:程序源代码#include"mega32.h"//ATmega32单片机头文件

voidshow(unsignedcharadr,char*data);

//液晶引脚控制定义

#defineE6

#defineRW5

#defineRS4

char*inidata_1="无线报警系统";

char*inidata_2="报警序号:00";

char*number="0123456789";

charbuffer[]={0,0};//报警序号显示缓存区

unsignedintvaluetimer0=0;//定时器0的软件计数器

unsignedintflagtimer0=0;//定时器0的1s中断标志位

unsignedintvaluetimer1=0;//定时器1的软件计数器

unsignedcharflag=0;//外部中断0的中断标志位

unsignedcharalarmflag=0;//声光报警标志位

unsignedcharalarmnum=0;//报警点个数

unsignedcharalarmseg=0;//循环显示报警序号标量

unsignedcharrecdata[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

//报警数据暂存变量

//延时子程序

voiddelay(unsignedxc)

{

unsignedi;

for(i=0;i<xc,i++)

;

}

//液晶写指令代子程序

voidwcommand(unsignedcharcommand)

{

delay(40);

PORTD.RS=0;

PORTD.RW=1;

PORTD.E=0;//RS=0,RW=1,E=0

delay(40);

PORTD.RW=0;

PORTB=command;

PORTD.E=1;//RS=0,RW=0,E=1

delay(40);

PORTD.E=0;

}

//液晶写显示数据子程序

voidwdata(char*data)

{

delay(40);

PORTD.RS=1;

PORTD.E=0;

PORTD.RW=1;//RS=1,RW=1,E=0

delay(40);

PORTD.RW=0;

PORTB=*data;

PORTD.E=1;//RS=1,RW=1,E=0

PORTD.RW=0;

delay(40);

PORTD.E=0;//RS=0,RW=0,E=1

}

//液晶功能设置子程序

voidfunction(void)

{

wcommand(0x30);//功能设置8位数据,基本指令

delay(20);

wcommand(0x0c);//显示状态on,游标off反白off

delay(20);

wcommand(0x01);//清除显示

delay(20);

wcommand(0x02);//地址归位

delay(20);

wcommand(0x80);//地址归位

delay(20);

}

//液晶显示初始化程序

voiddisplay(void)

{

unsignedchari;

wcommand(0x80);//设置DDRAM地址

for(i=0;i<12;i++)

{

wdata(inidata_1+i);

delay(20);

}

wcommand(0x90);//设置DDRAM地址

for(i=0;i<13;i++)

{

wdata(inidata_2+i);

delay(20);

}

}

//液晶动态显示子程序

voidshow(unsignedchar,char*data)

{

inti;

wcommand(adr);

delay(30);

for(i=0;i<2;i++)

{

wdata(data+buffer[i]);

delay(30);

}

}

//外部中断0服务程序

interrupt[EXT_INT0]voidext_int0_isr(void)

{

flag=1;//中断标志位置1

GICR&=0Xbf;//关闭外部中断0

alarmnum++;//报警点个数增加1个

//读取报警序号

recdata[alarmnu-1]=PINA&0X0F;

TCCR1B=0X03;//起动定时器1工作,预分频因子为64

}

//定时器0中断服务程序

interrupt[TIM0_OVF]voidtimer0_ovf_isr(void)

{

TCNT0=0X05;

valuetimer0++;//软件计数器加1

if(valuetimer0==500)

{

valuetimer0=0;

flagtimer0=1;//定时器0的1s中断标志置1

}

}

//定时器1终端服务程序

interrupt[TIM0_OVF]voidtimer1_ovf_isr(void)

{

TCNT1H=0x3C;

TCNT1L=0xAF;

valuetimer1++;//软件计数器加1

if(valuetimer1==5)

{

valuetimer1=0;//关闭定时器1

TCCR1B=0x00;

GICR|=0x40;//重新打开外部中断0

}

}

//主程序

voidmain(void)

{

//输入/输出端口初始化

PORTA=0xDF;

DDRA=0xF0;

PORTB=0xFF;

DDRB=0xFF;

PORTC=0xFF;

DDRC=0xFF;

PORTD=0xFF;

DDRD=0xFB;

//定时器0初始化程序

//时钟源:系统时钟

//时钟值:125.000kHz

//模式:正常top=FFh

//OC0输出:不连接

TCCR0=0x00;//关闭定时器0

TCNT0=0x05;

OCR0=0x00;

//定时器1初始化程序

//时钟源:系统时钟

//时钟值:125.000kHz

//模式:正常top=FFFFh

//定时器1一处中断使能

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x3C;

TCNT1L=0xAF;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

//定时器2初始化程序

//时钟源:系统时钟

//时钟值:1停止

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

//外部中断0初始化程序

//外部中断0:使能

//终端模式:下降沿

//外部中断1:关闭

//外部中断2:关闭

GICR|=0x40;//外部中断0使能

MCUCR=0x22;

MCUCSR=0x00;

GIFR|=0x40;

//定时器全局控制寄存器初始化

TIMSK=0x05;

//模拟比较器初始化

//模拟比较器:关闭

ACSR=0x80;

SFIOR=0x00;

function();

disply();

#asm("sei")//开全局中断//用汇编语句置位实现

while(1)

{

if(flag==1)//报警序号处理程序

{

flag=0;

//启动声光报警

TCCR0=0x03;//启动定时器0

}

//循环显示报警序号处理程序

if(flagtimer0==1)

{

flagtimer0=0;

//声光报警,即在PORTA.4和PORTA.5引脚上输出方波程序

if(alarmflag==0)

{

al

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论