1、 单片机课程设计 报告 学院:信息工程学院 班级:08 建筑设施智能技术一班 单片机课程设计单片机课程设计 简易安防声光报警器简易安防声光报警器 一一 实验要求实验要求 自制一个单片机最小系统,包括串口下载、复位电路,采用两路 外部中断输入门禁和红外探测 两路信号 (采用两个小按键模拟) ,中 断信号输入后能将报警信息在四位一体数码管上显示, 并输出声光报 警信号。 二二 实验步骤实验步骤 1)查找相关资料,用 protus 将本课程设计电路图画出来 2)理清思路,写好程序,并用 keil软件将程序编译出来,生成 hex 文件. 3)将 hex 文件加载到单片机中,模拟运行, (加载方法:双击
2、 51 单片机,选择先前所生成的 hex 文件,然后运行) ,若没有达到实验 要求,则反复的修改程序,调试,知道出现实验结果. 4) 按照自己的仿真实验图, 结合老师所给的最小系统图以及其中 的引脚,将板子焊好 5) 把之前写好的程序 (适当的注意单片机的输出口是否一一对应) 烧到 51 单片机,然后进行测试,调试,直到出现该有的实验现象和 实验结果。 三程序流程图三程序流程图 四四 实验程序实验程序 #include #define uchar unsigned char #define uint unsigned int sbit red=P10; sbit green=P11; sbit
3、 spe=P12; sbit bjjc=P13; sbit mjbj=P32; sbit hwbj=P33; void delay(uint ms) uchar i; 否 是 初始化 结束 主程序 等待中断 中断程序 输出报警信号 报 警 解 按 钮 是 否按下 退出中断 while(ms-) for(i=0;i120;i+); void baojin() while(1) green=1; red=0; spe=spe; delay(100); red=1; delay(100); if(!bjjc) break; void external_int0() interrupt 0 delay
4、(10); while(!mjbj baojin(); void external_int1() interrupt 2 delay(10); while(mjbj baojin(); void main() P0=0x00; delay(100); while(1) P0=0x3f; red=1; green=0; spe=1; IE=0x8f; IP=0x05; 五五 仿真实验图仿真实验图 P07 P06 P05 P04 P03 P02 P01 P00 TXD RXD RXD TXD P00 P01 P02 P03 P04 P05 P06 P07 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4