单片机课程设计(论文)教室人数自动计数装置.doc

上传人:土8路 文档编号:10497947 上传时间:2021-05-20 格式:DOC 页数:18 大小:149.50KB
返回 下载 相关 举报
单片机课程设计(论文)教室人数自动计数装置.doc_第1页
第1页 / 共18页
单片机课程设计(论文)教室人数自动计数装置.doc_第2页
第2页 / 共18页
单片机课程设计(论文)教室人数自动计数装置.doc_第3页
第3页 / 共18页
单片机课程设计(论文)教室人数自动计数装置.doc_第4页
第4页 / 共18页
单片机课程设计(论文)教室人数自动计数装置.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机课程设计(论文)教室人数自动计数装置.doc》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)教室人数自动计数装置.doc(18页珍藏版)》请在三一文库上搜索。

1、目录 第 1 章 绪论.1 1.1 设计背景.1 1.2 设计内容及解决问题.1 第 2 章 系统方案设计.2 2.1 设计任务及要求 .2 2.2 系统设计思路 .2 2.3 光电传感器简介.2 2.4 方案 1 设计.3 2.5 方案 2 设计.3 2.6 方案论证.4 2.7 系统总体框图及原理.4 第 3 章 硬件电路设计.5 3.1 单片机最小系统设计.5 3.2 键盘显示模块设计.5 3.3 电源电路设计.6 3.4 外部检测设备设计.6 3.5 显示模块设计.7 第 4 章 系统软件设计.8 第 5 章 设计总结.13 参考文献.14 附录 基本使用器件.15 附录 芯片型号.1

2、6 摘 要 近来在主要的大城市还有一些规模较大的学校中,人口流动量非常大,在 一定程度上给生活带来不便。本文主要介绍了教室人数自动计数装置的工作原 理,在对各种计数方法进行分析后提出了基于光电传感器和单片机系统的计数 测量控制装置,并给出了智能计数器控制的硬件电路设计、软件电路设计和系 统程序流程图。本文详细分析了系统的组成及工作原理,给出了系统各个硬件、 软件的设计方法。该计数系统安装方便,维护简单,工作稳定,运行可靠,对 于学校、商场、会议室等人员流动很大的公共场所有很高的使用价值,方便对 于人员流动的管理及配送、具有很高的使用价值和经济价值。 关键词关键词:单片机;光电传感器;智能计数器

3、 第 1 章 绪论 1.1 设计背景 在学校等人员流动较大的地方,如果对人数的变动没有有效的管理和控制, 那么对工作和学习的效率是有害的。如何对于人员流动进行实时的、有效的、 精确的计数成为学校等场所十分关注的问题,因此设计一款实用有效的人数计 数器是很必要的。 电子计数器是一种多功能的电子测量仪器,至今已有 30 多年的发展历史。 早期设计师们追求的目标主要是扩展计数范围,提高计数精度、稳定度等,这 些也是衡量一款计数器的主要指标。目前这些计数日趋完善,现代的应用技术 可以让计数器的范围扩展到无限大。当今,单片机技术迅速发展,基于单片机 技术开发的计数设备也广泛应用到各个领域。单片机以体积小

4、、功能强、可靠 性高、性价比高等特点,已成为实现现代工业生产技术进步和开发机电一体化 智能测控产品的重要手段。如今的自动计数器大多采用非接触式的计数触发方 式,早已开发出多种型号的专用检测芯片,利用 MCS51 系列的单片机作为控制 核心的计数器成为了计数应用领域的潮流。 1.2 设计内容及解决问题 如何构成检测电路、MCS51 系列单片机用何种方式对外部计数脉冲进行计 数显示控制、LED 显示模块的选择、单片机的扩展、提高单片机抗干扰能力和 系统的稳定性。 第 2 章 系统方案设计 2.1 设计任务及要求 设计可实现教室内人数自动计数、显示的装置。通过在教室门上安装的检 测装置检测进出教室的

5、人数,计算出教室内的实际人数,当按下显示按键、数 据通信按键和数据清除按键时,可分别实现人数的显示、通信和数据清除,其 中显示应在教室外显示,以便学生查询。此外,装置还设有上课/自习状态按键 和相应的指示装置。 2.2 系统设计思路 由于教室前后门应用相同的设备,故只介绍其中一个; 使用器件:光电传感器 2 个,数码管 3 个,AT89C51 单片机一个,控制按 键 1 组。 设计思路:门上装有两个光电传感器,并排架设,一前一后,若传感器 1 先有信号而传感器 2 后有信号,则表示有人进入教室;若传感器 2 先有信号而 传感器 1 后有信号,则表示有人出了教室。传感器信号经过放大滤波传给单片

6、机,单片机经过数据处理输出信号,传给 8 位数码管,数码管放在教室外面, 方便学生查看。按键电路设置复位及清零,数码管上还可以显示上课、自习的 状态。设备利用 CAN 总线进行远程通信,连接到控制中心。 2.3 光电传感器简介 光电传感器是利用光电元件作为检测元件的传感器。它首先把被测量的变 化转换成光信号的变化,然后借助光电元件进一步将光信号转换为电信号。光 电传感器一般有光源,光电元件,转换电路三部分组成。光电检测法具有精度 高、反应快、非接触等特点,而且可测参数多,传感器结构简单,形式灵活多 样。 红外发光二极管是一种把电能转换成光能的半导体器件。它具有体积小、 功耗低、寿命长、响应快、

7、机械强度高等优点,并能和集成电路相匹配。因此, 广泛的应用于计算机、仪器仪表的自动控制系统中。 光电转换部分与单片机的连接框图如下: 传感器整形驱动 计数脉冲 89C51 图 2.1 观点转换部分与单片机得连接示意图 2.4 方案 1 设计 原理图: 检测单元MCS51 控制单元 LED 显示驱动 LED 显示 电源检测、单片机保护 掉电数据保护 电源供电电 路 原理阐述:RT1072 红外检测芯片形成计数脉冲以后送给控制单元 AT89C51 单片机,通过对它片内计数、显示编程。PS7219 是专用的 LED 显示 驱动芯片,可以同时驱动 8 个数码管。X2504P 是一块具有电源电压监控、

8、EEPROM 和看门狗定时器电路三种功能于一体的芯片,它保证在电源接通、关 断、瞬间电源电压不稳的时候不会造成系统死机、数据误写或误操作,大大提 高了系统的稳定性和抗干扰能力。 2.5 方案 2 设计 原理图: 红外发射 电路 红外接收电 路 MCS51 显示驱动LED 显示 电源供电电路 原理阐述:红外发射电路和红外接收电路构成红外检测单元以及形成计数 脉冲、经过 AT89C51 外部中断对其片内计数、显示编程、最后通过显示驱动芯 片连接上 LED 显示器就完成最后的显示。 2.6 方案论证 方案 1 即可完美的实现人数的计数功能,并且能让系统处于异常状态和抗 干扰时通过外围专用芯片得到非常

9、好的解决,外围电路架设相对简单,在市场 上属于高端自动计数产品。同时它也暴露出一个重大问题:由于成本太贵的原 因此类产品没有得到普及,如果用此方案进行设计只需要了解各专用芯片的引 脚功能以及外围连接方法就可以实现自动计数。 方案 2 是这次设计所选用的最终方案,之所以选用是因为这个方案能够达 到精确、稳定的自动计数。但也有致命缺点,就是整个系统抗干扰能力较弱, 系统掉电以后不能保存数据,在系统处于异常状态下容易出现误操作或者死机,这也 是此次设计着重解决的课题。 2.7 系统总体框图及原理 根据方案 2 进行了局部的修改,以达到稳定系统的目的,具体框图如下: 信号调理波形变换 单 片 机 存储

10、电路 LED 显示 键盘模块 光电传感 器 原理阐述:本电路的指导思想是利用类似红外发光管的光电传感器检测人 员进出,接收器接收到信号,并将其放大、整流形成高电平信号。当人或物品 挡住红外光时,接收器没有接收到信号,放大器输出低电平信号。这个便是外 部计数脉冲信号。这个脉冲信号送到 AT89C51 单片机中进行计数控制,完成显 示。 第 3 章 硬件电路设计 3.1 单片机最小系统设计 123456 A B C D 654321 D C B A Title Nu mberRevisio nSiz e B Date:8-Jan-2 011 Sh eet of File:C:Do cuments

11、and Settingsaaa东东东东东东东东东东东东东东东东东东东东MyDesign.dd bDrawn By: EA /VP 31 X1 19 X2 18 RE SET 9 RD 17 W R 16 IN T0 12 IN T1 13 T0 14 T1 15 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 39 P0 1 38 P0 2 37 P0 3 36 P0 4 35 P0 5 34 P0 6 33 P0 7 32 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26

12、P2 6 27 P2 7 28 PS EN 29 AL E/P 30 TX D 11 RX D 10 U1 AT 89C 51 C2 30 pF C1 10 uF C3 30 pF R1 10 K S1 Y1 12 0MH Z VC C VC C 图 3.1 单片机最小系统 3.2 键盘显示模块设计 123456 A B C D 654321 D C B A Tit le Nu mberRevisio nSiz e B Date:18 -M ar-201 1Sh eet of Fil e:C:Do cum ents and Setti ngsaaaM y Do cum ents 东东东东东东东

13、东东东东东东东东东东东M yDes ign.dd bDrawn By: K2 K3 K4 K1 R4 5.1 K R3 5.1 K R2 5.1 K R1 5.1 K VC C P1 .0 P1 .1 P1 .2 P1 .3 图 3.2 键盘显示模块 上图为键盘电路图,按键功能分别为: K0 键:复位清零; K1 键:显示上课自习状态; K2 键:显示计数脉冲数; 此按键电路为低电平有效,当无按键按下的时候,单片机输入引脚 P1.0、P1.1、P1.2、P1.3 端口均为高电平。当其中任何一个按键按下的时候,其 对应的端口变为低电平。 3.3 电源电路设计 电源电路示意图如下: 123456

14、A B C D 654321 D C B A Title NumberRevisionSiz e B Date:18-Mar-2011Sheet of File:C:Documents and SettingsaaaMy Documents东东东东东东东东东东东东东东东东东东MyDesign.ddbDrawn By: D4 D1 D2 D3 T1 TR ANS 1 +5V C2 10uf C1 10uf Vin 1 GND 2 Vout 3 U? 7805 图 3.3 电源电路 3.4 外部检测设备设计 这个部分主要是由 NE555 组成的红外发射电路和 LM567 构成的红外接收 电路组成。

15、工作原理为当红外发射二极管发出红外光,检测是否有人或者物品 遮挡,然后由红外接收二极管将调制信号通过锁相环鉴频后输出 CP 计数脉冲 以便单片机进行计数控制。 红外线发射电路如下图: 123456 A B C D 654321 D C B A Tit le Nu mberR evisio nS iz e B Date:4-J an-2 011 S h eet of F il e:C :Do cum ents and S etti ngsaaa东东M yDes ign.dd bDrawn B y: C 2 10 uF C 1 50 00uF R 2 10 K R 1 10 0K TR IG 2

16、Q 3 R 4 CVolt 5 TH R 6 DIS 7 VCC 8 GND 1 U1 55 5 D1 LE D +5 V R 3 18 0K 图 3.4.1 红外线发射电路 红外线接收电路如下图: 123456 A B C D 654321 D C B A Title Nu mberRevisio nSiz e B Date:18 -Mar-201 1Sh eet of File:C:Do cuments and SettingsaaaMy Do cuments东东东东东东东东东东东东东东东东东东MyDesign.dd bDrawn By: OU T 8 GN D 7 Ct 6 Rt 5 O

17、fil 1 Lfil 2 IN 3 V+ 4 U1 LM 567 Q1 NPN C1 10 uF C3 1u F C2 10 uF C4 5u F R4 1K R1 12 0K R2 1M R3 15 K R5 10 K C5 10 000p F IN PUT +5V D1 PH OTO 图 3.4.2 红外线接收电路 3.5 显示模块设计 显示部分由单片机 AT89C51 控制完成。显示驱动由 74HC241 完成。示意 图如下: 123456 A B C D 654321 D C B A Title NumberRevisionSiz e B Date:8-Jan-2011 Sheet o

18、f File:C:Documents and Settingsaaa东东东东东东东东东东东东东东东东东东东东MyDesign.ddbDrawn By: EA /VP 31 X1 19 X2 18 RE SET 9 RD 17 W R 16 IN T0 12 IN T1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26

19、27 P27 28 PS EN 29 AL E/P 30 TX D 11 RX D 10 U1 AT 89C 51 Y1 120MH Z C1 30pF C2 30pF P2.0 P2.1 P2.2 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 1A 1 2 1A 2 4 1A 3 6 1A 4 8 2A 1 11 2A 2 13 2A 3 15 2A 4 17 1Y 1 18 1Y 2 16 1Y 3 14 1Y 4 12 2Y 1 9 2Y 2 7 2Y 3 5 2Y 4 3 1G 1 2G 19 U2 74HC241 P1.1 P1.2 P1.3 P1.

20、4 P1.5 P1.6 P1.7 P1.8 R1 R4 R5 R3 R2 R7 R8 R6 VC C a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp +5v 9 DS 01 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp +5v 9 DS 02 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp +5v 9 DS 03 Q1 Q2 Q3 R3 1K R2 1K R1 1K S1VC C C1 10uF R1 10K P2.0

21、P2.1 P2.2 VC C 图 3.5 显示电路 第 4 章 系统软件设计 系统流程图: 开始 初始化 人员检测模 块 人员计数模 块 有键按下 键服务 上课/自习 指示 清零 N Y 显示 图 4.1 程序流程图 系统程序设计: * CPU AT89C51 XTAL 12M * #include #include #define uchar unsigned char #define uint unsigned int * bit time_10ms_ok=0,time_50ms_ok=0; /定义时间标识 uchar time_counter1; /软件时间计数器 uchar buff3

22、; /显示缓冲区 uchar code number10=0123456789; /显示字符 /* 按键读取子程序,四个按键依次返回 1,2,3,4 */ uchar read_key(void) static uchar key_state; uchar key_press,key_return=0; key_press=P3 /读取按键 I/O 口 switch(key_state) /判断按键状态 case 0: /状态 0 if(key_press!=0 xf0) /不等,表示有键按下 key_state=1; /状态置 1 break; case 1: if(key_press!=0

23、 xf0) /确实不等,判断是哪个键按下 switch(key_press) case 0 xe0: /00001110 第一个按下 key_return=1; break; case 0 xd0: /00001101 第二个按下 key_return=2; break; case 0 xb0: /00001011 第三个按下 key_return=3; break; case 0 x70: /00000111 第四个按下 key_return=4; break; key_state=2; /状态置 2 else /否则是抖动,状态置 0 key_state=0; break; case 2:

24、 / 状态 2,等待按键释放 if(key_press=0 xf) key_state=0; break; return key_return; * * LCD 显示子函数,显示之前需要将要显示的数按个,十,百依次放入显示 缓冲区 * * void display(uchar add,uchar dat) uchar i; for(i=0;i3;i+) /将要显示的数分解送显示缓冲区 buff2-i=dat%10; dat=dat/10; write_lcd_cmd(add); /显示在 lcd 上 for(i=0;i3;i+) write_lcd_dat(numberbuffi); /* 主

25、函数 */ void main(void) uchar up_limit_in=20,low_limit_in=5;/定义进出门人数要设置的上下限 uchar up_limit_out=20,low_limit_out=5; uchar number_in,number_out; /定义进出门人数 uchar key_input; uchar set_state=0; /定义设置键状态(第四个键) uchar i; * * CAN 总线通信模块 * * #include CAN_TOUWENJIAN.h /包含相关寄存器定 / 初始化 SJA1000 主控制器子函数 void Init_CAN

26、(void) MODE=0 x01; CDR=0 x88; IER=0 x0D; AMR=0 xFF; ACR=0 x00; BTR0=0 x05; BTR1=0 xFF; OCR=0 xAA; TXERR=0 x00; Reg_LINSHI=ECC; MODE=0 x09; / 主程序 void can(void) SCON=0 x50; PCON=0 x00; TMOD=0 x21; TL1=0 xfd; TH1=0 xfd; TR1=1; EA=1; ES=1; Init_CAN(); while(1) TX_DATA_CAN(); /发送子程序 REC_DATA_CAN() ; /接收

27、子程序 SERIAL(); /串行通信子程序 第 5 章 设计总结 本次设计选用 AT89C51 单片机作为控制核心,利用数码管来显示人数,利 用 CAN 总线进行远程数据通信,从分利用所学的智能仪器的知识,使本系统成 功的对教室人数进行计数,具有良好的实用性和经济性,为学校更方便的进行 学生人数的管理提供了很好的帮助。整个系统结构简单,操作方便、灵活,经 济性好、维护方便,具有良好的使用价值和市场经济价值。 本次设计的系统仍然有不足之处,比如在掉电的时候无法对数据进行保护, 如果学校在晚上进行人员清点的时候,系统再次上电则没有了数据,如果学校 经济允许,可以采用方案论证中的第一种方案,在掉电

28、的时候可以对数据进行 保护;本系统使用的单片机只是入门级产品,整个 51 系列在市面上已经极少流 通,取而代之的是更小型、更方便、功能更丰富的单片机。若使用新型的、更 优秀的单片机,系统的性能必然会上升一个台阶;由于教室有两个门,两个门 上的两套系统要进行实时的显示和互动,两套系统之间的联系也要非常密切, 如果单纯的使用电压或者电流的连接,则没有很好的抗干扰的能力,如果经济 允许,在两台系统之间最好选择一款无线通信装置,这样可以使两台系统更好 的进行连接。本次设计遵循经济适用的原则,所以没有考虑这些可以系统的提 升设备性能的方案。 虽然本次课程设计是要求自己独立完成,但是,彼此还是脱离不了集体

29、的 力量,遇到问题和同学互相讨论交流。多和同学讨论。我们在做课程设计的过 程中要不停的讨论问题,这样,我们可以尽可能的统一思想,这样就不会使自 己在做的过程中没有方向,并且这样也是为了方便最后设计和在一起。讨论不 仅是一些思想的问题,还可以深入的讨论一些技术上的问题,这样可以使自己 的处理问题要快一些,少走弯路。多改变自己设计的方法,在设计的过程中最 好要不停的改善自己解决问题的方法,这样可以方便自己解决问题。 参考文献 1 丁英丽智能光电计数系统的设计.哈尔滨:黑龙江人民出版社,2003 2 陆永超电子测量技术.北京:清华大学出版社,2004 3 王煜东传感器及应用.北京:机械工业出版社,2005 4 郝建国单片机在电子电路设计中的应用北京:清华大学出版社,2006 5 李文仲短距离无线数据通信入门与实战北京:北京航空航天大学出版社,2006 附录 基本使用器件 电阻5.1K、10K、4.7K、120K、15K 等 二极管6 个 LED3 个 电容1000pF 三极管6 个 开关6 个 晶振1 个 数码管3 个 附录 芯片型号 单片机AT89C51 红外接收电路NE555 红外接收电路LM567 显示驱动74HC241

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1