欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:865099       资源大小:437KB        全文页数:16页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、- 16 - 微机原理与接口技术课程设计说明书课程名称: 微机原理与接口技术综合实验 设计题目: 教室人数统计系统(第68组) 院 系: 机械与电子控制工程学院 班 级: 设 计 者 :指导教师: 实验设计时间: 机电学院微机原理与接口技术课程设计任务书 设计要求:扩展两个光电传感器和一块8*8点阵LED显示器,控制系统需要实现:1. 检测教室里的人数。 并在8*8点阵LED显示器显示出来;2. 设置一个按键实现复位清零。3. 用发光二极管模拟电灯, 当教室有人时, 发光二极管发光,无人时发光二极管不发光。4. 工作计划安排: 在初期大体上我们组细化为五个部分1.对硬件器材的学习与认识2.硬件

    2、电路板的焊接3.程序设计与调试4.系统软硬件知识的综合学习与研究5.试验总结及实验报告的书写 我组组员工作的具体分工如下卢航:主程序设计与过程调试张沈汇:显示程序设计与过程调试李明华、森达:辅助程序设计及过程调试金晓东、郑斌:实验报告的撰写及程序设计调试 在本次实验中,我组齐心协力,共同研究与学习,虽各有分工,但又互相帮助,互相学习。做到每一个人各有侧重点的同时,又对总体的每一步有所参与,对总体的设计与调试都有所掌握。目录一, 系统基本功能和实施方案(第4页)二, 设计思路及硬件部分(第4-8页)三, 程序流程图(第9-11页)四, 系统制作过程及结果(第11-12页)五, 调试程序(第12-

    3、15页)六, 心得体会(第15-16页)七, 参考文献一、 系统基本功能和实施方案1、设计目的:如果在进自习室前就能知道教室里有多少人,是否满员,而不用推门进去才知道,将会节省自习同学的很多时间,同时也节省管理人员的很多时间,带来很大的方便,不会更多的影响自习的同学。因此我们小组选择了设计这个教室人数统计系统,利用51单片机系统和两个光电对管器件统计教室进出的人数,最后把教师当前人数显示在一个8*8LED显示器上,方便想要自习的同学选择教室,以及管理人员的管理工作。2、基本功能的实施方案:模拟教室人员的进出,在出入口安装两个光电对管GK102,分别G1和G2;一块8*8LED显示教室目前人数;

    4、一个发光二极管显示教室人数是否为零;还有一个复位按键显示器清零。当有人进去时,先响应G1,后响应G2,此时将人数加一并显示出来;当有人出去时,先响应G2,后响应G1,此时将人数减一并显示出来。如果人数为零则发光二极管熄灭。如检测到复位按键按下则熄灭发光二极管,同时将人数变成零并显示出来。二、1)设计思路本程序分主程序、两中断程序、显示子程序与延时子程序四部分。各部分功能如下:1、主程序:主程序完成相应存储单元和标志位的清零、8155的设置、开机界面显示、中断设置、对按键按下方式的检测和处理等工作。按键按下方式及系统相应完成的功能如下:系统起始功能:显示教室中人数并根据人数控制发光二极管亮灭。2

    5、、中断程序:两中断程序分别对人数增减标志位(R0)进行赋1和-1的操作。两中断响应先后决定对人数增减标志位(R2)进行赋1还是-1。具体实现方式为:在一个中断程序中加入对另一中断是否响应的判断。如另一中断没有响应,则进行赋1或-1的操作。3、显示子程序:显示子程序采用定行值,扫描列值的方法。具体见8*8LED原理的介绍。4、延时子程序:(一个)本程序中有两个延时子程序,分别完成2ms的延时。以上各部分程序的具体实现方式见程序流程图和源程序。2)硬件部分系统电路原理图:主体元件工作原理如下:1、8*8 点阵LED的工作原理: 图(1)为88点阵LED外观及引脚图,其等效电路如图(2)所示,只要其

    6、对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。图1:88点阵LED外观及引脚图图2:88点阵LED等效电路图3:88点阵LED电路原理点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描; (2)行扫描;(3)列扫描。若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。如

    7、图3所示。本程序采用第三种方式。其对应的字形编码如下:如下图所示,假设显示数字“00”12 3 4 56 7 87CH 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

    8、,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;三、流程图四、系统制作过程及结果1、制作过程(1)电路板的焊接:直接用的是成品(2)程序编写:在所有组员都懂得程序原理的前期下,为尽早完成任务,我们将程序分为主体部分和细节部分两个方面分别由不同人员进行编写。其中主体部分由组长及卢航编写。细节部分由其他组员共同编写。2.调试结果

    9、:本系统完成了所有的基本功能并扩展了部分功能,具体总结如下:a检测教室里的人数并在8*8点阵LED显示器显示出来;b设置一个按键实现复位清零。C用发光二极管模拟电灯, 当教室有人时, 发光二极管发光,无人时发光二极管不发光。本系统存在的问题:有时反应不灵敏五、调试程序ORG0000HAJMPMAINORG0003HAJMPPINT0ORG0013HAJMPPINT1ORG0100HMAIN:ACALLFUWEI;复位SETBEA;开所有中断SETBPX0;令INT0中断为高优先级SETBPX1;令INT1中断为高优先级SETBIT0;令INT0中断为负边沿触发SETBIT1;令INT1中断为负

    10、边沿触发SETBEX0;开INTO中断SETBEX1;开INT1中断LOOP:JNBP1.0,DONE;扫描P1.0电平,判断是否复位ACALLFUWEI;若P1.0为高电平,调用复位程序DONE:ACALLFB;调用分半程序,将要显示的两位数分离ACALLXS;调用显示程序,显示人数SJMPLOOP;返回LOOP,循环扫描、显示;显示程序XS:MOVDPTR,#0100H;8155命令口地址送DPTRMOVA,#03H;方式控制字送AMOVXDPTR,A;方式控制字送8155命令口CLR C;清除标志位cyCJNER2,#10,FULL;R2和10比较,判断是否人满,并形成标志位cyFULL

    11、:JCXS0;人数少与10人,则显示人数MOVR0,#72H;人数等于或超过10人,显示人满标志符号XMOV72H,#0AH;人满标志符号字形码送显示缓冲区MOV73H,#0BHAJMPXS1XS0:MOVR0,#70H;显示缓冲区起始地址送R0XS1:MOVR4,#0FEH;字位码始值送R4ACALLXSZ;嵌套调用显示子程序,显示十位数INCR0;修正显示缓冲区指针,指向71H单元地址ACALLXSZ;嵌套调用显示子程序,显示个位数RET;返回主程序;显示子程序XSZ:MOVR3,#04H;循环控制量始值送R3MOVA,R0;显示缓冲区中的数送ARLA;A中值扩大两倍RLA;A中值再扩大两

    12、倍MOVR5,A;偏移量修正值送R5,暂存LP:MOVA,R5INCR5;修正偏移量MOVDPTR,#ZXTB;字形码表格地址送DPTRMOVCA,A+DPTR;查表得字形码MOVDPTR,#0101H;A口地址送DPTRMOVXDPTR,A;字形码送A口INCDPTR;B口地址送DPTRMOVA,R4;字位码送AMOVXDPTR,A;字位码送B口RLA;字位码左移一位MOVR4,A;字位码暂存在R4ACALLDL;延时1msDJNZR3,LP;显示下一个数码RETZXTB:DB0C1H,0BEH,0BEH,0C1H;字形表DB0FFH,0BDH,080H,0BFHDB8DH,0B6H,0B6

    13、H,0B9HDB0DDH,0B6H,0B6H,0C9HDB0F3H,0F5H,80H,0F7HDB0B0H,0B6H,0B6H,0CEHDB0C1H,0B6H,0B6H,0CDHDB0FCH,0FEH,82H,0FCHDB0C9H,0B6H,0B6H,0C9HDB0D9H,0B6H,0B6H,0C1HDB0BEH,0DDH,0EBH,0F7H ;人满了,显示XDB0F7H,0EBH,0DDH,0BEH;延时程序DL:MOVR7,#02H;大循环控制量初值送R7DL1:MOVR6,#0FFH;小循环控制量初值送R6DL2:DJNZR6,DL2;未完成则DL2,否则跳出小循环DJNZR7,DL1;

    14、未完成则DL1,否则跳出大循环RET ;分半程序FB:MOVR0,#70H;R0指向70H单元地址MOVA,R2;人数送AMOVB,#0AH;除数10送BDIVAB;人数的十位数送A,个位数送BMOVR0,A;十位数送显示缓冲区70H地址单元MOVA,B;个位数送AINCR0;修正缓冲区指针,指向71H单元地址MOVR0,A;个位数送显示缓冲区71H地址单元RET;复位程序FUWEI:MOVR2,#00H;人数清零CLR7EH;INTO中断响应标志置“0”CLR7FH;INT1中断响应标志置“0”CLRP1.1;小灯熄灭RET;INT0中断子程序PINT0:JB7FH,DCR2;若INT1响应

    15、标志为1,人数减一JB7EH,CLR7E;若INT0响应标志为1,将其置“0”SETB7EH;若INT0、INT1响应标志均为0,则将INT0响应标志置“1”RETIDCR2:DECR2;人数减一CJNER2,#0FFH,NETT1ACALLRSET;人数为255(-1)时,复位NEXTT1:CLRC;cy标志清零CJNER2,#00H,NEXT;若人数大于零,NEXTCLRP1.1;若人数为零,小灯熄灭NEXT:CLR7FH;将INT1响应标志置“0”CLR7E:CLR7EH;将INT0响应标志置“0”RETI;INT1中断子程序PINT1:JB7EH,INCR2;若INT0响应标志为1,人

    16、数加一JB7FH,CLR7F;若INT1响应标志为1,将其置“0”SETB7FH;若INT0、INT1响应标志均为0,则将INT1响应标志置“1”RETI;返回主程序INCR2:INCR2;人数加一SETBP1.1;小灯亮CLR7EH;将INT0响应标志置“0”CLR7F:CLR7FH;将INT1响应标志置“0”RETI ;中断返回END六、心得体会:我们所实践的这门课,使我们机电类本科生教学的主要基础课之一,课程紧密结合机电大类专业特点,围绕单片机原理和应用主题,系统介绍单片机的基本知识,基本组成,体系结构和工作模式等,从而让我们能清楚地了单片机的结构与工作流程,建立起系统的概念,为以后的更

    17、深层次的研究打下坚实基础。 这次微机原理课程设计历时约十天完成,在这些天里,我们发扬团队合作的精神,共同克服了很多难题,在较长的时间里成功完成了本次实验,看着我们的劳动成果,我们每个人都觉得自己的付出得到了回报。虽然很累,但可以说得是苦多于甜,真理源于实践,用在这里似乎有些张扬,但此刻,我们的感受却很相似,在这段时间里,我们通过自己亲自动手去操作,主动去思考,去解决现实的问题,我们获得了很多,学到了很多。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,把老师的种种忠告抛之脑后,而在本次实践中,我们才体会到有些在上课不曾注意过的东西在现实中是多么重要,就比

    18、如说老师经常强调在写一个程序的时候,一定要事先把程序总体原理方框图化出来,但是我开始总觉得这样做没必要,而且浪费时间,但是,这次课程设计完全改变了我以前的那种错误的认识。还有就是,老师曾强调程序的格式,以及程序的细节符号等,由于以前我接触的那些程序都是很短、很基本的东西,所以出错了很容易检查并对其进行修改,但是在课程设计中,一个程序那么长,那么繁琐,出错之后需要费很大的努力才能校正,这就需要我们对其更加认真与仔细!以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提

    19、高。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,就比如在这次实践中,我们部分同学虽然对理论掌握得很不错,但在开始那段时间还是不能得心应手地进行设计与实践,这就是实践与理论的联系的过程,我们体会到了所谓的“纸上谈兵”,因此只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过本次课程设计,我们能够更深层次地了解和

    20、掌握单片机的基本知识和基本的编写程序,也更加深入地了解单片机这么课程,掌握汇编语言的设计和调试方法,熟悉设计的流程及程序的组合、调用和系统的调试。总之,我们默对单片机的应用有所了解,这对我们以后的研究与学习会有很大帮助!这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师以及学长的指导下,我们最终得到了很好的解决方案。在此,我代表我组所有成员,感谢老师的指导与帮助,我们会更加努力地的去学习工作!七、参考文献1、 胡汉才单片机原理及其接口技术北京:清华大学出版社 2004.22、胡汉才 单片机在电子电路设计中的应用 北京:清华大学出版社 20063、赵嘉蔚 张家栋 霍凯 肖燕彩 单片机原理与接口技术 北京:清华大学出版 2010- 16 -


    注意事项

    本文(教室人数统计系统 单片机课程设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922