家庭安防自动报警系统单片机程序设计

家庭安防自动报警系统单片机程序设计

ID:38713687

大小:199.50 KB

页数:15页

时间:2019-06-18

家庭安防自动报警系统单片机程序设计_第1页
家庭安防自动报警系统单片机程序设计_第2页
家庭安防自动报警系统单片机程序设计_第3页
家庭安防自动报警系统单片机程序设计_第4页
家庭安防自动报警系统单片机程序设计_第5页
资源描述:

《家庭安防自动报警系统单片机程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include"ht66fu50_uart.h"#include"ht66fu50_main.h"#definestep1{LED1=0;LED2=1;LED3=1;LED4=1;}#definestep2{LED1=0;LED2=0;LED3=1;LED4=1;}#definestep3{LED1=1;LED2=0;LED3=1;LED4=1;}#definestep4{LED1=1;LED2=0;LED3=0;LED4=1;}#definestep5{LED1=1;LED2=1;LED3=0;LED4

2、=1;}#definestep6{LED1=1;LED2=1;LED3=0;LED4=0;}#definestep7{LED1=1;LED2=0;LED3=1;LED4=0;}#definestep8{LED1=0;LED2=0;LED3=1;LED4=0;}#pragmarambank0bituart_cmd;//softwaredelayfunctionvoiddelay(ulongx){while(x--)_delay(120);}voidmydelay(unsignedlongx)//延时函数{un

3、signedlongi;while(x--)_delay(100);}//初始化HT66FU50voidMCU_init(void){//TM0、TM1(定时器)除能_tmpc0=0x00;//TM2、TM3(定时器)除能_tmpc1=0x00;//屏蔽pa7-pa0的A/D输入功能_acerl=0x00;//屏蔽pa0、pa2、pa3的比较器0的输入/出功能_cp0c=0x00;//屏蔽pa5、pc2、pc3的比较器1的输入/出功能_cp1c=0x00;//pb口全部设置为输出模式_pbc=0x00;//

4、pe口全部设置为输出模式_pec=0x00;//置pa4~pa7为输入状态,pa0~pa3为输出状态_pac=0xf0;//置pa口全部为高电平_pa=0xff;//按键(pa4~pa7)加上拉电阻_papu=0xf0;//设置pc口为输入状态_pcc=0xfe;//setbuzzercontrolporttooutput_pcc0=0;_pfc=0x00;_pf=0xFF;//set液位onewireporttooutput_pcc7=1;_pcc6=1;//addPull-upresistorforDS

5、18B20DQpin_pcpu7=1;_pcpu6=1;}//多功能中断2中断向量,UART使用这个中断向量#pragmavectoruart_receive_interrupt@0x20;//#include"ht66fu50_test.h"#pragmarambank0bittemp_setting;externbituart_cmd;ucharuart_send_buf[10];ucharuart_receive_buf[3];ucharuart_receive_cnt;constucharstrin

6、g_start[]="rTEST-STARTING...r";constucharstring_ok[]="OKr";constucharstring_bad[]="BADr";constucharstring_exit[]="EXITr";constucharstring_end[]={0x1a,0x0d,0x0a};union{ucharusr;struct{uchartxif:1;uchartidle:1;ucharrxif:1;ucharridle:1;ucharoer

7、r:1;ucharferr:1;ucharnf:1;ucharperr:1;}Flag;}Register;//串行口中断处理程序voiduart_receive_interrupt(void){ucharval;_emi=0;_mf2f=0;//检查外围中断标志if(_xpf){_xpf=0;Register.usr=uart_read_reg((uchar)ReadUSR);//上一个串行口命令处理完否if(uart_cmd){_emi=1;return;}//检查中断标志和中断接收标志if((Regi

8、ster.Flag.rxif==1)&(Register.Flag.ridle==1)){//读SPI接收缓存器内容val=uart_read_reg((uchar)ReadFIFO);uart_receive_buf[uart_receive_cnt]=val;if(uart_receive_cnt==0){if(val=='H'){uart_receive_buf[uart_receive_cnt]=val;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。