教室人数统计.docx

上传人:b****3 文档编号:4970167 上传时间:2022-12-12 格式:DOCX 页数:12 大小:192.20KB
下载 相关 举报
教室人数统计.docx_第1页
第1页 / 共12页
教室人数统计.docx_第2页
第2页 / 共12页
教室人数统计.docx_第3页
第3页 / 共12页
教室人数统计.docx_第4页
第4页 / 共12页
教室人数统计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

教室人数统计.docx

《教室人数统计.docx》由会员分享,可在线阅读,更多相关《教室人数统计.docx(12页珍藏版)》请在冰豆网上搜索。

教室人数统计.docx

教室人数统计

目录

1.目的和意义1

1.1设计目的及意义1

1.2设计内容1

1.3设计要求1

2.硬件电路设计1

2.1设计思路1

2.2单片机电路如图2

2.3光敏二极管传感器2

3.软件电路设计3

3.1工作原理3

3.2程序流程图4

3.2.1程序主流程图4

3.2.2加法流程图5

3.2.3减法流程图5

3.3汇编程序6

4.电路调试9

5.仿真结果10

6.实验感想10

7.参考文献11

1.目的和意义

1.1设计目的及意义

教室人数统计对于一些人数比较大的课堂一直是个比较困难的问题。

于是,基于单片机89C51我们设计了一个教室人数自动统计系统。

通过本次课程设计加深了对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

掌握外部中断和LED显示的设置以及相应的传感器原理。

通过此次课程设计能够将单片机软件结合起来,对程序进行编辑,校验。

1.2设计内容

设计教室人数统计系统,人员进入时系统进行加计数,人员离开时系统进行减计数并能够通过LED实时显示教室内的人数。

1.3设计要求

统计出教室内上课人数并能够通过LED显示出来。

2.硬件电路设计

2.1设计思路

教室前门不开,只通后门。

利用两个光敏二极管传感器,当有人从后门进出的时候,将产生电压脉冲,再利用单片机的外部中断功能进加减计数,最终显示出教室中的实际人数。

设计电路利用89C51通过8155及74LS138扩展4只共阴极LED数码管的接口电路,并结合了所查的资料进行了光敏二极管的理论研究(开关中以开关替代)。

图中8155的B扣和所有LED的a~h引线相连,故B口为字形扣;各LED的位选线和8155的C口相连,故C口为字位口。

2.2单片机电路如图

图1Proteus模拟电路图

2.3光敏二极管传感器(程序中利用开关了进行仿真)

结构原理:

光敏二极管的结构与一般二极管相似。

它装在透明玻璃外壳中,其PN结装在管的顶部,可以直接受到光照射。

工作原理:

光敏二极管在电路中一般是处于反向工作状态,在没有光照射时,反向电阻很大,反向电流很小,反向电流称为暗电流,当光照射在PN结上,光子打在PN结附近,使PN结附近产生光生电子和光生空穴对,它们在PN结处的内电场作用下作定向运动,形成光电流。

光的照度越大,光电流越大因此光敏二极管在不受适当波长光照射时处于截止状态,受适当波长光照射时处于导通状态,如图2。

图2光敏二极管工作电路图

装置结构:

将两个光敏二极管安装于同学们进出的过道一侧,并间隔一定的距离L,在相对的一侧安装两个激光发射器,如图3。

图3装置结构图

工作过程:

当过道中无人员经过时,激光照射光敏二极管,使二极管导通,则图2中的电路导通,电阻RL两端高电压。

当过道中有人员通过时,二极管截止,RL两端低电压。

将两个传感器电路中RL电压变化产生的电压脉冲信号分别接入单片机的外部中断输入端/INT0与/INT1,触发中断程序,在中断程序中进行相应的操作,即可实现人数的加减计数。

注:

为满足单片机工作电平要求,图2电路中,电源E取5V,R取适当值。

3.软件电路设计

3.1工作原理

89C51单片机可以响应外部中断中断请求,外部中断源的中断请求信号可以从P3.2和P3.3(即/INT0和/INT1)引脚上输入,有电平或负边沿两种引起中断的触发方式。

本系统中利用负边沿触发方式,光敏二极管1电路中RL电压信号接/INTO,光敏二极管2电路中RL电压信号接/INT1。

工作过程:

进入--当有人员进入教室时,光敏二极管l首先被隔断,/INT0端首先产生负脉冲信号,引发单片机中断,在相应的中断程序中对计算人数的存储器R2进行加l计算,同时在程序中关闭/INTl的中断使能,这样就不会引起/INT1触发中断,并开始定时,在隔一定时间后利用定时中断打开/INT1中断使能。

出去--当有人员离开教室时,光敏二极管2光线首先被隔断,/INTl端首先产生负脉冲信号,引发单片机中断,在相应的中断程序中对计算人数的存储器R2进行减l计算,同时在程序中关闭/INT0的中断使能,这样就不会引起/INT0触发中断,并开始定时,在隔一定时间后利用定时中断打开/INT0中断使能,最终通过相应的LED显示程序显示的人数即当前教室里的人数了。

3.2程序流程图

3.2.1程序主流程图:

3.2.2加法流程图:

3.2.3减法流程图:

3.3汇编程序

ORG0000H

LJMPMAIN

ORG0003H

LJMPCT1

ORG000BH

LJMPYS

ORG0013H

AJMPCT2

GWEQU20h

SWEQU21H

BWEQU22H

QWEQU23H

MOV20H,#00H

MOV21H,#00H

MOV22H,#00H

MOV23H,#00H

MOVR2,#00H

MAIN:

SETBEX0;开INT0

SETBEX1;开INT1

SETBEA

JIA:

MOVR4,#00H;加法运算

MOVSP,#60H

MOVDPTR,#2100H

MOVA,#0EH

MOVX@DPTR,A

ACALLFB

LOOP1:

ACALLDIR

MOVA,R2

CJNEA,52H,BACK1

SJMPLOOP1

JIAN:

MOVR4,#00H;减法运算

MOVSP,#60H

MOVDPTR,#2100H

MOVA,#0EH

MOVX@DPTR,A

ACALLFB2

LOOP2:

ACALLDIR

MOVA,R2

CJNEA,52H,BACK

SJMPLOOP2

CT1:

CLREX1

MOV52H,R2;关INT1

INCR2

MOVTMOD,#01H;T0选择定时器方式1工作

MOVTH0,#0BH;装入初值

MOVTL0,#0DCH

SETBET0;开T0中断

SETBTR0;启动中断

BACK2:

MOVA,P3

CJNEA,#0FFH,BACK2;判断按键是否弹开,避免1人多次计数

LJMPJIA

BACK:

RETI

CT2:

CLREX0;关INT0

MOV52H,R2

DECR2

MOVTMOD,#01H

MOVTH0,#0BH

MOVTL0,#0DCH

SETBET0

SETBTR0

BACK3:

MOVA,P3

CJNEA,#0FFH,BACK3

LJMPJIAN

BACK1:

RETI

YS:

SETBEX0

SETBEX1

RETI

FB:

MOVR1,#79H

MOVR3,#02H

LP2:

CJNER2,#10,JIN;加法进位程序

MOVR2,#00H

INCSW

MOVA,SW

CJNEA,#10,JIN

MOVSW,#00H

INCBW

JIN:

MOVA,R2;加法显示程序

ANLA,#0FH

MOV@R1,A

INCR1

MOVA,SW

MOV@R1,A

INCR1

MOVA,BW

MOV@R1,A

INCR1

MOVA,QW

ANLA,#0FH

MOV@R1,A

RET

FB2:

MOVR1,#79H

MOVR3,#02H

LP22:

CJNER2,#0FFH,TUI;减法借位程序

MOVR2,#09H

DECSW

MOVA,SW

CJNEA,#0FFH,TUI

MOVSW,#09H

DECBW

MOVA,BW

CJNEA,#0FFH,TUI

DECQW

TUI:

MOVA,R2;减法显示程序

ANLA,#0FH

MOV@R1,A

INCR1

MOVA,SW

MOV@R1,A

INCR1

MOVA,GW

MOV@R1,A

INCR1

MOVA,QW

MOV@R1,A

RET

DIR:

MOVR0,#79H;LED显示控制程序

MOVR5,#20H

MOVA,R5

LD0:

MOVDPTR,#2103H

MOVA,#00H

MOVX@DPTR,A

MOVDPTR,#2102H

MOVA,@R0

ADDA,#14H

MOVCA,@A+PC

DIR1:

MOVX@DPTR,A

MOVA,R5

MOVDPTR,#2103H

MOVX@DPTR,A

MOVR7,#02H

ACALLDL

INCR0

MOVA,R5

JBACC.0,LD1

RRA

MOVR5,A

AJMPLD0

LD1:

RET

DSEG0:

DB3FH,06H,5BH,4FH,66H,6DH

DSEG1:

DB7DH,07H,7FH,6FH

DL:

MOVR6,#0FFH

DL6:

DJNZR6,DL6

DJNZR7,DL

RET

END

4.电路调试

1.接通电源,观察LED初值是否显示“0000”。

2.把INT0开关置低电平,进行人员进入教室模拟统计,观察LED显示是否能进行加一计数并稳定显示。

3.把INT1开关置高电平,进行人员外出教室模拟统计,观察LED显示是否能进行减一计数并稳定显示。

4.进行多人数统计的模拟,即多次点击INT0开关,来检验十位、百位乃至千位的进位、退位程序是否正确。

5.仿真结果

6.实验感想

开始阶段的第一项工作就是相关资料的查阅以及仿真软件的调试,并大致决定了电路的相关设计。

第二项工作是自学proteus进行电路仿真和keil程序调试。

第三项工作是将所查资料进行仿真,程序和电路图分别正确,将程序导进电路图中时就出现错误,而这时候就需要我们去反复看程序,真正动脑子去思考如何解决这些难题,而这也是与平时做作业、听课完全不同的学习方式,能够真正让人受益,学到更多。

7.参考文献

[1]张俊谟.单片机中级教程-原理与应用[M].北京:

北京航空航天大

学出版社,2002;

[2]张肃文.高频电子线路[M].北京:

高等教育出版社,1984:

50-51

[3]MAXIN公司.MAX038技术资料[Z].2002.

[4]丁元杰.单片微机原理及应用[M].北京:

机械工业出版社,2005:

25-39

[5]常新华.高频信号发生器原理[M].北京:

电子工业出版社,2007:

32-43

[6]解月珍.信号产生电路[J].电子应用技术,2003,19(3):

5-12

[7]聂汉平.高频精密函数波形发生器设计[J].国外电子元器件

2001

(1):

63-66.

[8]李琳.单片高频函数发生器MAX038及其应用[J].现代电子技

术,2003,12

(2):

15-17.

[9]沈红卫.单片机应用系统设计实例与分析[M].北京:

航空航天大

学出版社,2011:

29-37

[10]江太辉.高频波形发生器的特性[J].信息技术报,2009,6(3):

10-31

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1