标题: 单片机控制电影院人数显示的设计报告与源码 [打印本页]
作者: yyl6868 时间: 2018-4-18 07:33
标题: 单片机控制电影院人数显示的设计报告与源码
单片机控制电影院人数显示
学 院: 机械工程
姓 名: 杨
学 号: S2012007002
指导教师: 魏教授
一、题目要求
某电影院可容纳99人,分别有一个入口和一个出口。设计一个单片机控制装置,要求时刻显示院内的人数,超过90人时报警提示,可以手动操作清除显示、可以手动改变报警阀值在70——90之间变化。
设计对应的单片机系统、供电系统、进出人的计数传感装置,报警的形式。现实人数的显示方式。
二、使用方法
1、通电后显示“00”
2、设置报警阈值(70—90):按第一个按钮是加,按第二个按钮是减
3、两对红外发光二极管与光敏二极管,一个进人,即挡上红外二极管时数码管显示加一;个出人,即挡上红外发光二极管时数码管显示减一。而当计数值大于等于设定的报警阈值时,蜂鸣器开始响。
4、如果你想重新计数,可以按第三个按钮实现手动清零
三、调试
1、确定设计思路,采用调用中断的方式来计数
2、熟悉电路知识,进行电路设计:①片机的复位电路采用自动复位;②振荡电路设计;③数码管显示电路如果用P0口的话,必须有上拉电阻,其他口不用;④比较电路设计;⑤蜂鸣器的驱动电路
3、熟悉Proteus软件,在Proteus中绘制电路原理图
4、熟悉C语言相关的知识,在Keil uVision3中进行编程、编译,看有没有错误,同时编译时要记得生成一个Hex文件,在仿真时用。
5、把生成的Hex文件调入Proteus中的单片机中,看程序能否实现所要求功能。遇到的问题:①起初数码管没显示,是因为我程序中没给它赋初值“00”;② 点仿真按钮后,数码管总显示“80”,经检查发现P0口没有接上拉电阻;③计数进位时,总有一个数不显示,检查发现比较条件不合理;④报警时就响一声,而不是一直报警,把程序的条件语句改了一下;⑤蜂鸣器一开始只和一电阻串联不工作,之后换做了三极管驱动
6、通电后,数码管显示“88”,经检查连接线路,复位电路没有接地
7、检查单片机工作电压,晶振是否工作,都正常
8、在单片机电源与地之间接上一个1uF的电容,避免电磁干扰
9、线路有虚焊的地方,又重新连接
10、振荡电路的晶振和电容排布的离单片机太远有干扰,又重新调整
11、比较器的电阻过小,又换了一个47k大电阻
12、单片机的EA引脚没有接高电平,这样对于AT系列的单片机会一会儿高电平一会儿低电平,工作不稳定
13、检测光敏二极管在通断时的电压,看是否有高低变化,如果没有,说明电阻不合适,在断时不能将电压拉下来,换了一个47K电阻;还是不通,调整了一下红外发光二极管与光敏二极管的对射位置,通了
四、所需器材
AT89C52单片机、晶振6MHZ、电解电容、LM339比较器、74HC245、数码管(共阴极)、按钮、三极管、蜂鸣器、红外发光二极管、光敏二极管、电阻、电容、导线
五、所需软件
Proteus、Keil uVision3、Altium Designer
六、电路原理图
七、制板图
八、实物图
九、工作源程序
完整的Word格式报告51黑下载地址:
单片机作业.doc
(2.22 MB, 下载次数: 24)
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |