教室人数统计系统,单片机课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术

课程设计说明书课程名称:微机原理与接口技术综合实验

设计题目:教室人数统计系统(第68组)

院系:机械与电子控制工程学院

班级:

设计者:

指导教师:

实验设计时间:

机电学院《微机原理与接口技术》课程设计任务书

设计要求:扩展两个光电传感器和一块8*8点阵LED显示器,控制系统需要实现:

1.检测教室里的人数。并在8*8点阵LED显示器显示出来;

2.设置一个按键实现复位清零。

3.用发光二极管模拟电灯,当教室有人时,发光二极管发光,无人时发

光二极管不发光。

4.

工作计划安排:

在初期大体上我们组细化为五个部分

1.对硬件器材的学习与认识

2.硬件电路板的焊接

3.程序设计与调试

4.系统软硬件知识的综合学习与研究

5.试验总结及实验报告的书写

我组组员工作的具体分工如下

卢航:主程序设计与过程调试

张沈汇:显示程序设计与过程调试

李明华、森达:辅助程序设计及过程调试

金晓东、郑斌:实验报告的撰写及程序设计调试

在本次实验中,我组齐心协力,共同研究与学习,虽各有分工,但又互相帮助,互相学习。做到每一个人各有侧重点的同时,又对总体的每一步有所参与,对总体的设计与调试都有所掌握。

目录

一,系统基本功能和实施方案(第4页)

二,设计思路及硬件部分(第4-8页)

三,程序流程图(第9-11页)

四,系统制作过程及结果(第11-12页)

五,调试程序(第12-15页)

六,心得体会(第15-16页)

七,参考文献

一、系统基本功能和实施方案

1、设计目的:

如果在进自习室前就能知道教室里有多少人,是否满员,而不用推门进去才知道,将会节省自习同学的很多时间,同时也节省管理人员的很多时间,带来很大的方便,不会更多的影响自习的同学。因此我们小组选择了设计这个教室人数统计系统,利用51单片机系统和两个光电对管器件统计教室进出的人数,最后把教师当前人数显示在一个8*8LED显示器上,方便想要自习的同学选择教室,以及管理人员的管理工作。

2、基本功能的实施方案:

模拟教室人员的进出,在出入口安装两个光电对管GK102,分别G1和G2;一块8*8LED显示教室目前人数;一个发光二极管显示教室人数是否为零;还有一个复位按键显示器清零。当有人进去时,先响应G1,后响应G2,此时将人数加一并显示出来;当有人出去时,先响应G2,后响应G1,此时将人数减一并显示出来。如果人数为零则发光二极管熄灭。如检测到复位按键按下则熄灭发光二极管,同时将人数变成零并显示出来。

二、1)设计思路

本程序分主程序、两中断程序、显示子程序与延时子程序四部分。

各部分功能如下:

1、主程序:

主程序完成相应存储单元和标志位的清零、8155的设置、开机界面显示、中断设置、对按键按下方式的检测和处理等工作。

按键按下方式及系统相应完成的功能如下:

系统起始功能:显示教室中人数并根据人数控制发光二极管亮灭。

2、中断程序:

两中断程序分别对人数增减标志位(R0)进行赋1和-1的操作。两中断响应先后决定对人数增减标志位(R2)进行赋1还是-1。具体实现方式为:在一个中断程序中加入对另一中断是否响应的判断。如另一中断没有响应,则进行赋1或-1的操作。

3、显示子程序:

显示子程序采用定行值,扫描列值的方法。具体见8*8LED原理的介绍。4、延时子程序:(一个)

本程序中有两个延时子程序,分别完成2ms的延时。

以上各部分程序的具体实现方式见程序流程图和源程序。

2)硬件部分

系统电路原理图:

主体元件工作原理如下:

1、8*8 点阵LED的工作原理:

图(1)为8×8点阵LED外观及引脚图,其等效电路如图(2)所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。

图1:8×8点阵LED外观及引脚图图2:8×8点阵LED等效电路

图3:8×8点阵LED电路原理

点阵LED扫描法介绍

点阵LED一般采用扫描式显示,实际运用分为三种方式:

(1)点扫描;

(2)行扫描;

(3)列扫描。

若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。

若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms 即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。如图3所示。

本程序采用第三种方式。其对应的字形编码如下:

如下图所示,假设显示数字“00”

1 2 3 4 5 6 7 8

7CH 82H 82H 7CH 7CH 82H 82H 7CH

送显示代码过程如下所示:

送第一列线代码到P0端口,同时置P3端口第一列线P3.0为“0”,P3口的其它列线为“1”,延时2ms左右。

送第二列线代码到P0端口,同时置P3端口第二行线P3.1为“0”,P3口的其它列线为“1”,延时2ms左右。

如此下去,在显示完十位后,接着扫描显示个位,直到送完最后一列代码,又从头开始送。

同理可得“0”到“9”的字形代码。如:

DB 7CH,82H,82H,7CH;

DB 00H,42H,0FEH,02H;

DB 4EH,92H,82H,62H;

DB 44H,92H,92H,4CH;

DB 18H,28,0FEH,08H;

DB 0F2H,92H,92H,4CH;

DB 7CH,92H,92H,4CH;

DB 0C0H,80H,0BEH,0C0H;

DB 6CH,92H,92H,6CH;

DB 64H,92H,92H,7CH;

三、流程图

相关文档
最新文档