六、参考文献
[1] 吴政江. 单片机控制红外线防盗报警器[J]. 锦州师范学院学报, 2001. [2] 宋文绪. 传感器与检测技术[M]. 北京: 高等教育出版社, 2004.
[3] 余锡存. 单片机原理及接口技术[M]. 西安: 西安电子科技大学出版社, 2000. [4] 唐桃波, 陈玉林. 基于AT89C51的智能无线安防报警器 [J]. 电子设计应用, 2003, 5(6): 49~51.
[5] 李全利. 单片机原理及接口技术[M]. 北京: 北京航空航天大学出版社, 2004. [6] 薛均义, 张彦斌. MCS-51系列单片微型计算机及其应用[M]. 西安: 西安交通大学出版社, 2005.
[7] 徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计[M]. 北京: 北京航空航天大学出版社, 2006.
[8] 康华光. 电子技术基础(模拟部分)[M]. 北京: 高等教育出版社, 2004.
- 13 -
附 录
附件1:原理图
- 14 -
附件2:实物图
附件3:程序
#include
#define uchar unsigned char #define uint unsigned int
//数码管段选定义 0 1 2 3 4 5 6 7 8 9 uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //断码 //数码管位选定义
uchar code smg_we[]={0xe0,0xd0,0xb0,0x70};
uchar dis_smg[8] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
- 15 -
sbit smg_we1 = P3^4; //数码管位选定义 sbit smg_we2 = P3^5; sbit smg_we3 = P3^6; sbit smg_we4 = P3^7;
sbit c_send = P3^2; //超声波发射 sbit c_recive = P3^3; //超声波接收
uchar flag_hc_value; //超声波中间变量
sbit beep = P2^3; //蜂鸣器IO口定义
bit flag_key_b_en,flag_key_set_en; //按键蜂鸣器使能
uchar smg_i = 3; //显示数码管的个位数 bit flag_300ms ;
bit key_500ms ;
long distance; //距离 uint set_d; //距离
bit flag_csb_juli; //超声波超出量程
uint flag_time0; //用来保存定时器0的时候的
// 按键的IO变量的定义
uchar key_can; //按键值的变量
uchar zd_break_en,zd_break_value; //自动退出设置界面 uchar menu_shudu = 10; //用来控制连加的速度 bit flag_lj_en; //按键连加使能
bit flag_lj_3_en; //按键连3次连加后使能 加的数就越大了 uchar key_time,flag_value; //用做连加的中间变量 uchar menu_1; //菜单设计的变量 uchar a_a;
/***********************1ms延时函数*****************************/ void delay_1ms(uint q) { uint i,j; for(i=0;i /***********************处理距离函数****************************/ - 16 -