欢迎来到天天文库
浏览记录
ID:9857647
大小:42.00 KB
页数:7页
时间:2018-05-12
《单片机报警器课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机课程设计报告学院:信息工程学院班级:08建筑设施智能技术一班单片机课程设计——简易安防声光报警器一实验要求自制一个单片机最小系统,包括串口下载、复位电路,采用两路外部中断输入门禁和红外探测两路信号(采用两个小按键模拟),中断信号输入后能将报警信息在四位一体数码管上显示,并输出声光报警信号。二实验步骤1)查找相关资料,用protus将本课程设计电路图画出来2)理清思路,写好程序,并用keil软件将程序编译出来,生成hex文件.3)将hex文件加载到单片机中,模拟运行,(加载方法:双击51单片机,选择先前所生成
2、的hex文件,然后运行),若没有达到实验要求,则反复的修改程序,调试,知道出现实验结果.4)按照自己的仿真实验图,结合老师所给的最小系统图以及其中的引脚,将板子焊好5)把之前写好的程序(适当的注意单片机的输出口是否一一对应)烧到51单片机,然后进行测试,调试,直到出现该有的实验现象和实验结果。三.程序流程图否是初始化结束主程序等待中断中断程序输出报警信号报警解按钮是否按下退出中断四实验程序#include#defineucharunsignedchar#defineuintunsignedint
3、sbitred=P1^0;sbitgreen=P1^1;sbitspe=P1^2;sbitbjjc=P1^3;sbitmjbj=P3^2;sbithwbj=P3^3;voiddelay(uintms){uchari;while(ms--){for(i=0;i<120;i++);}}voidbaojin(){while(1){green=1;red=0;spe=~spe;delay(100);red=1;delay(100);if(!bjjc){break;}}}voidexternal_int0()interru
4、pt0{delay(10);while(!mjbj&hwbj){P0=0x06;baojin();}}voidexternal_int1()interrupt2{delay(10);while(mjbj&!hwbj){P0=0x5b;baojin();}}voidmain(){P0=0x00;delay(100);while(1){P0=0x3f;red=1;green=0;spe=1;IE=0x8f;IP=0x05;}}五仿真实验图六实验中所遇到到得问题以及解决方法数码管显示不清楚,一开始以为是没接三极管,经过
5、数码管的电流太小而使显示不是很亮。后来接上三极管之后还是没有那么亮。分析原因,觉得应该是没有加上驱动,使得输出的电平不够稳定,导致数码管显示不够好。七实验心得在此次单片机课程设计中,从查找资料到编程到用Proteus画电路图,焊板子,一路走来请教过不少人,自己也花了很大的功夫,结果却不是那么的尽人意。我是第一次使用Proteus,里面很多器件都靠百度或是请教同学才找到的。这次的编程采用的C语言,而之前学的是汇编,通过网上查找的资料,一步一步学会了如何用C写单片机程序。最后自己写的程序在仿真上也能成功运行,达到了程
6、序目的,十分高兴。焊板子是第二次了,所以相比下来比第一次有经验的多,考虑程序、电源的分配、芯片的引脚等综合因素将板子布局的还比较合理,所以焊起来也比较容易。而且没有出现虚焊和短路,焊板子还是比较顺利。只是最后调试的时候可能是太过于节约时间或者说是偷懒了吧,没有接驱动进去,导致数码管部分不能正常显示,是这次课程设计的一个缺憾。总的来说,又是一次动手能力的培养,又是一次实际的操作。对单片机如何实现一些简单的控制有了实际上的理解和认识,相信今后的单片机编程能力和实际操作能力都有所提升,也希望能将所学知识能够更多的应用到
7、实际的生产工作之中去。感谢老师的耐心指导!
此文档下载收益归作者所有