教室人数统计单片机课设正文报告
- 格式:doc
- 大小:1.04 MB
- 文档页数:15
单片机课设报告引言:单片机作为一种非常重要的计算机技术,广泛应用于各个领域。
在现代科技发展的今天,学习单片机的课程已经成为计算机专业学生不可或缺的一门基础课。
本报告将从设计思路、实施过程和结果展示三方面来介绍我所完成的单片机课设。
设计思路:我选择的单片机课设是一个温室控制系统。
考虑到温室内部环境需要恒定的温度和湿度,我决定设计一个能够自动控制温室内部环境的系统。
首先,我需要通过传感器获取温度和湿度数据,然后通过单片机进行处理和控制,最后通过执行机构实现温室内部环境的控制。
实施过程:在实施过程中,我遇到了一些挑战和问题。
首先是传感器的选择和接口问题。
在市场上有很多种类和品牌的传感器可供选择,我需要考虑到价格、精度和稳定性等因素来进行选择。
同时,我还需要学习如何通过单片机的GPIO口与传感器进行连接。
经过调研和实践,我最终选择了一款价格适中且性能稳定的温湿度传感器,并成功完成了与单片机的连接。
其次是单片机的编程问题。
单片机的编程语言和开发环境与传统的计算机编程不同,需要学习新的语法和命令。
在初期的学习中,我遇到了一些理解上的困难,但通过阅读相关文档和网上教程的帮助,我逐渐掌握了单片机的编程技巧,并成功实现了温室控制系统的基本功能。
最后是执行机构的选择和驱动问题。
为了实现温室内部环境的控制,我需要通过执行机构来调节温度和湿度。
在选择执行机构时,我需要考虑到控制精度和成本等因素。
同时,我还需要学习如何通过单片机的PWM输出口来驱动执行机构。
通过一系列的实验和调试,我成功选定了一款合适的执行机构,并通过单片机实现了对其的精确控制。
结果展示:经过几个星期的努力和不断的实践,我成功地完成了温室控制系统的设计和实施。
该系统能够根据设定的温度和湿度值进行自动控制,并且具备一定的控制精度和稳定性。
通过 LCD 屏幕的显示,我能够实时监测温室内部的温度和湿度数据,而且可以通过按键进行设定和调整。
这个课设的完成使我更加深入地了解了单片机的工作原理和应用技术,提高了我对硬件设计和嵌入式开发的理解和能力。
本科毕业论文(设计)题目:基于单片机的人数统计系统摘要本文设计了一个基于单片机的人数统计系统,他可以通过光电开关统计教室的人数,并把实时的人数在LCD1602液晶屏上显示,另该系统还配备了一个时间显示的功能,可显示当前的年、月、日、小时、分种、秒等时间信息,时钟芯片采用的是DS1302.DS1302能存储时间信息,并且时间可以掉电保存。
关键词单片机; LCD1602;人数统计;DS1302AbstractThis paper designed a system based on single-chip microcomputer, the number of statistics, through the photoelectric switch statistic the number of the classroom, and the number of real-time in the LCD1602 display on the LCD panel, the system also equipped with another time display function, can display the current year, month, day,, such as clock chip USES is DS1302. DS1302time information can be stored, and time can be saved when power supply drop.Key words single chip microcomputer LCD1602 The number of statistics DS1302目录摘要 ·························································································································Abstract ···················································································································第1章绪论···············································································································1.1 目的和意义 ····································································································1.2研究概况和发展趋势·························································································1.3本系统主要功能·······························································································第2章总体方案论证与设计 ·························································································2.1主控模块的选型和论证······················································································2.2显示模块的选型和论证······················································································2.3时钟芯片的选型和论证······················································································2.4人数统计模块的选型和论证················································································2.5系统整体设计概述····························································································第3章系统硬件电路设计···························································································3.1主控模块········································································································3.1.1 STC89C52单片机主要特性········································································3.1.2 STC89C52单片机的中断系统·····································································3.1.3单片机最小系统设计················································································3.2 LCD液晶显示器简介·························································································3.2.1液晶原理介绍·························································································3.2.2液晶模块简介·························································································3.2.3液晶显示部分与STC89C52的接口·······························································3.3键盘模块设计··································································································3.4时钟模块的设计·······························································································3.4.1 DS1302概述 ··························································································3.4.2 DS1302内部RTC 和RAM 地址分配 ·····························································3.4.3 DS1302时钟和日历 ·················································································3.4.4 DS1302时钟电路设计 ··············································································3.5 人数检测模块设计····························································································3.5.1光电开关工作原理···················································································3.5.2光电开关电路设计···················································································3.6硬件总体连接图 ·······························································································第4章系统软件设计 ··································································································4.1系统软件总体设计····························································································4.2程序设计原理··································································································第5章系统调试·········································································································5.1硬件调试········································································································5.2软件调试········································································································5.3系统检测········································································································结论·····················································································································参考文献 ···················································································································致谢·····················································································································附录 ·························································································································附录一:系统整体原理图························································································附录二:系统仿真图 ······························································································附录三:元件清单 ·································································································附录四:系统源程序 ······························································································第1章绪论1.1 目的和意义在生活中,学校、火车站、银行、商场、公交车等人员流动比较大的地方,如果可以将人数实时地统计出来,这样可以给我们的生活与学习带来很多的便捷。
单片机课程设计报告一、设计目的本课程设计旨在通过对单片机的学习和实践,培养学生的嵌入式系统设计能力。
通过设计报告的撰写,学生需要整理和总结自己在课程设计中的工作,提高自己的表达和沟通能力。
二、设计背景随着科技的迅猛发展,嵌入式系统在各个领域得到广泛应用。
单片机作为嵌入式系统设计的重要组成部分,具有体积小、功耗低、可靠性高等优势,被广泛应用于家电、智能家居、汽车电子等领域。
因此,掌握单片机的基础原理和应用技巧对于工程师来说至关重要。
三、设计内容本次课程设计的主要内容为设计并实现一个简单的单片机应用系统。
具体要求如下:1. 选取一个合适的单片机型号,并给出详细的理由;2. 设计一个实际应用场景,如温度监测、电子琴等,要求具备一定的实际意义;3. 硬件方面,设计电路及相关外围电路,如传感器、显示器等;4. 软件方面,设计控制程序,实现所选应用场景的功能;5. 进行系统集成和调试,确保系统正常工作;6. 撰写设计报告,对设计过程和结果进行详细说明。
四、设计方案1. 单片机的选择在选择单片机时,需要考虑应用需求和成本因素。
根据本次设计的要求,我们选择了XX单片机,这款单片机具有性能稳定、易于编程和丰富的外围接口等特点,非常适合本次设计的需求。
2. 应用场景的设计本次设计的应用场景为温度监测系统。
随着人们对室内温度的要求越来越高,设计一个简单且准确的温度监测系统对于提高生活质量至关重要。
我们将使用温度传感器和数码显示器来实现温度的监测和显示功能。
3. 硬件设计在硬件设计方面,我们将按照以下步骤进行:a) 选择合适的温度传感器,将传感器与单片机进行连接;b) 设计电源电路和信号采集电路,确保传感器与单片机之间的正常通信;c) 设计数字显示电路,将单片机采集到的温度数值进行显示。
4. 软件设计软件设计主要包括编写单片机控制程序。
我们将按照以下步骤进行:a) 初始化单片机和相关外围设备,确保其正常工作;b) 采集传感器的温度数值,并进行数据处理;c) 控制数码显示器,将温度数值显示在屏幕上。
单片机课程设计报告项目简介本文档将详细介绍单片机课程设计项目的背景、目标、实施过程和结果。
本项目旨在通过单片机开发一个特定功能的系统,并实现相应的硬件和软件设计。
背景单片机是一种集成电路,集中了处理器、存储器和其他外围器件的功能。
它的小巧、低功耗和低成本使得它成为嵌入式系统中常用的控制器。
单片机课程设计是大多数电子工程专业的必修课程,通过实际设计和开发单片机系统,提高学生在硬件和软件方面的实践能力。
目标本项目的主要目标是设计一个基于单片机的系统,能够完成特定任务。
我们选择了一个温度监控系统作为设计任务,主要包括以下功能: - 采集温度数据 - 实时显示温度 - 根据设定温度报警设计过程硬件设计在硬件设计方面,我们选用了ATmega328P单片机作为主控芯片,通过使用温度传感器LM35来采集温度数据。
单片机与温度传感器之间通过模拟输入引脚连接。
为了实现实时显示温度,我们选择了一个七段LED显示器,将数字信号发送至显示器实现温度的显示。
此外,我们还使用按钮来设置报警温度,并通过蜂鸣器进行报警。
软件设计在软件设计方面,我们使用C语言进行单片机程序的编写。
通过编写相应的代码,实现以下功能: 1. 初始化单片机及相关外设 2. 采集温度数据并进行处理 3. 将温度数据转换为七段LED显示所需的数字信号 4. 设置报警温度,并进行判断 5. 当温度超过报警温度时,触发蜂鸣器进行报警实施结果经过设计和实施,我们成功实现了温度监控系统的目标功能。
在系统测试中,我们能够准确采集温度数据,并通过七段LED显示器实时显示。
当温度超过设定的报警温度时,系统能够准确触发蜂鸣器进行报警。
整个系统工作稳定,达到了预期效果。
总结单片机课程设计是电子工程专业中重要的实践环节,通过实际设计和开发单片机系统,可以提高学生的动手能力和解决问题的能力。
本项目以温度监控系统为例,详细介绍了硬件和软件的设计过程,并展示了最终的实施结果。
在未来的学习和工作中,我们将继续积极运用单片机技术,深入研究和探索更多的应用领域。
单片机课程设计报告1. 引言本文为单片机课程设计报告,主要介绍了课程设计的背景、目的、设计方案、实施过程以及结果分析和总结。
2. 背景单片机是嵌入式系统的核心部件,广泛应用于各个领域。
作为计算机科学与技术专业的学生,掌握单片机的基本原理和应用是必不可少的。
因此,本次课程设计旨在通过实践,加深对单片机的理解和应用能力。
3. 目的本次课程设计的目的是设计一个基于单片机的智能温度监控系统。
该系统能够实时监测环境温度,并通过显示屏展示当前温度值,并在温度超过设定阈值时发出警报。
4. 设计方案4.1 硬件设计本设计使用STC89C52单片机作为控制核心,配合温度传感器和液晶显示屏,实现温度监测和显示的功能。
温度传感器负责采集环境温度,将采集到的数据发送给单片机进行处理;液晶显示屏用于显示当前温度值和警报信息。
4.2 软件设计软件设计分为两个模块:温度采集和温度监控。
温度采集模块通过单片机的ADC接口获取温度传感器的模拟信号,将其转化为数字信号,并保存在单片机的内存中。
温度监控模块不断读取内存中的温度值,并与设定的阈值进行比较,如果温度超过阈值,则发出警报信号,同时在液晶显示屏上显示警报信息。
5. 实施过程5.1 硬件实施首先,根据设计方案的要求,将STC89C52单片机、温度传感器和液晶显示屏组装在一起,搭建出硬件平台。
接下来,使用面包板和杜邦线等连接元件,将各个模块按照设计方案进行连线。
最后,使用电源适配器给整个系统供电。
5.2 软件实施软件实施主要分为两个步骤:编写硬件控制程序和编写温度监控程序。
硬件控制程序主要负责初始化硬件设备和处理硬件输入输出;温度监控程序则负责实现温度采集和温度监控逻辑。
在编写硬件控制程序时,需要使用STC89C52的GPIO接口对传感器和显示屏进行控制。
在编写温度监控程序时,需要使用STC89C52的ADC接口进行温度采集,以及使用GPIO接口对警报信号和显示屏进行控制。
6. 结果分析和总结经过实施过程的努力,我们成功地完成了基于单片机的智能温度监控系统。
单片机课程设计报告1. 引言本文档旨在总结并详细介绍单片机课程设计的相关内容。
本次课程设计的主题为XXXX,我将在接下来的章节中介绍该课程设计的目标、设计思路、具体实施过程以及结论。
2. 设计目标本次单片机课程设计的目标是XXXX。
通过该设计,我希望能够进一步提升对单片机的理解和应用能力,掌握单片机的基本原理、编程技巧以及相关技术。
3. 设计思路在进行单片机课程设计之前,我对基于单片机的XXXX进行了详细的调研和学习,确定了设计思路和方案。
该设计主要分为以下几个步骤:3.1 步骤一:需求分析在开始设计之前,我首先进行了对需求的分析。
通过与指导老师和同学们的交流,我了解到XXXX,因此在设计中需要考虑到XXXX的特点和要求。
3.2 步骤二:系统设计基于对需求的分析,我进行了系统设计。
该系统涵盖了硬件和软件两个方面。
硬件方面,我选择了XXXX作为主控芯片,并设计了适配的电路板;软件方面,我使用XXXX编程语言进行开发,并设计了相应的算法和逻辑控制。
3.3 步骤三:系统实现在完成系统设计后,我开始进行系统实现。
首先,我搭建了相应的实验环境和开发平台,确保能够顺利进行编程和仿真。
然后,根据系统设计中的硬件和软件需求,逐步实现了系统功能。
3.4 步骤四:系统测试在完成系统实现后,我进行了系统测试。
通过模拟实际应用场景,对系统进行了功能性测试和稳定性测试,保证系统可以正常运行并且满足设计需求。
4. 设计实施在设计实施阶段,我按照设计思路和步骤进行了详细的操作和编程工作。
具体实施过程如下:4.1 实施步骤一:需求分析在这一步骤中,我与指导老师进行了深入的交流,详细了解了项目的需求和目标。
4.2 实施步骤二:系统设计基于需求分析的结果,我进行了系统设计。
首先,我绘制了电路图,并选择了合适的单片机作为主控芯片。
在软件方面,我使用XXXX编程语言进行开发。
4.3 实施步骤三:系统实现在系统设计完成后,我开始进行系统实现。
单片机课程设计报告本文主要是讨论单片机课程设计。
从实验内容、步骤以及设计思路来详细阐述单片机课程设计的重要性和实践意义。
一、实验内容单片机课程设计是电子信息类专业中不可或缺的一门课程。
它主要涉及到汇编语言、C语言编程和硬件电路设计等知识,通过这门课程的学习,学生们能够深入了解单片机的原理和应用,将软件和硬件的知识结合起来,完成单片机的功能设计。
具体实验内容一般包括单片机的基本原理、编程以及外部设备的应用等。
学生可以通过单片机实验板来实现各种功能,例如:LED灯跑马灯、数码管的显示、温度测量、语音播报等等。
这些实验内容不仅可以帮助学生理解单片机的运行原理,同时也可以提高学生的情境意识和实践能力。
二、实验步骤在进行单片机课程设计实验的时候,需要提前制定实验计划,包括实验步骤、程序设计以及测试等内容。
下面是一个简单的实验步骤示例:步骤一:在电脑上安装单片机开发软件(例如Keil、MPLAB 等),选择适合的芯片型号步骤二:编写程序代码,实现指定的功能,例如闪烁LED灯等步骤三:将程序烧录到单片机中,一般通过USB转串口的方式进行烧录步骤四:将单片机模块接入电路板上,进行实际运行测试步骤五:根据测试结果进行调试和修改,保证程序运行稳定步骤六:根据实验数据撰写课程设计报告,评估实验结果和学习效果三、设计思路在进行单片机课程设计的过程中,需要积极探索新的设计思路,发挥自己的想象力和创造力,充分利用已有的资源和知识。
设计思路主要包括以下几个方面:1、创新思维:在实验设计中,可以采用新的思路、新的方法来解决问题,充分发挥自己的想象力和创造力。
2、开放思维:打破固有的思维模式,与他人交流、思考、合作,获得更广阔的思路和设计方案。
3、整合思维:将已有的知识、技能、经验整合,形成新的设计思路和创意,将多个元素组合成更复杂的设计方案。
4、实践思维:在实验过程中,不断实践、优化和改进,获得更好的设计结果和实践经验。
综上所述,单片机课程设计是电子信息类专业中非常重要的一门课程。
课程设计报告第一部分:概述1.1 课程设计的背景和意义单片机技术在现代工业生产和科研中起着举足轻重的作用,因此对单片机技术的理论和应用知识的学习显得尤为重要。
本课程设计的目的在于通过理论与实践相结合的方式,使学生能够全面掌握单片机技术的基本原理和应用方法,为将来的工作和研究打下坚实的基础。
1.2 课程设计的目标和要求本课程设计旨在培养学生对单片机技术的全面理解和应用能力,具体要求包括:- 掌握单片机的基本原理和结构- 熟练掌握单片机的编程语言和开发工具- 能够设计并实现简单的单片机应用系统- 具备一定的单片机故障排除和维护能力第二部分:课程内容2.1 单片机基础知识- 单片机的定义和分类- 单片机的基本结构和工作原理- 单片机的发展历程及应用领域2.2 单片机编程语言- C语言在单片机编程中的应用- 汇编语言在单片机编程中的应用- 单片机常用编程语言对比与选择2.3 单片机开发工具- 单片机编程与仿真工具的选用- 常用单片机开发板介绍与使用- 单片机调试工具的应用2.4 单片机应用系统设计- 单片机控制原理- 单片机在自动控制领域的应用案例- 单片机在智能监控领域的应用案例2.5 单片机故障排除与维护- 单片机常见故障及解决方法- 单片机维护的注意事项- 单片机相关知识的拓展与学习第三部分:课程设计方法3.1 教学内容的设置本课程设计旨在通过理论教学和实践操作相结合的形式展开教学,具体内容包括课堂讲解、实验演示、课程设计等多种形式。
3.2 教学方法的选择- 教师为主导,学生为主体的教学方式- 实验操作和项目设计为主要形式- 多媒体教学与互动授课相结合3.3 课程评估方式本课程将通过平时表现、实验报告、课程设计报告和期末考核等方式对学生的学习情况进行全面评估。
第四部分:课程设计实施4.1 教学内容详细安排- 第1-2周:单片机基础知识- 第3-4周:单片机编程语言- 第5-6周:单片机开发工具- 第7-8周:单片机应用系统设计- 第9-10周:单片机故障排除与维护4.2 实验教学实施方案- 设置不同难度的实验内容- 强调实验操作的规范性和实用性- 配备实验教学相关设备和工具4.3 课程设计作业安排- 各阶段的课程设计报告要求- 课程设计报告的提交时间和形式- 课程设计报告的评分标准第五部分:课程总结和展望5.1 课程总结通过本次课程设计,学生对单片机技术的基本理论和应用能力得到了显著提升,实践操作能力也得到了锻炼和提高。
《单片机课程设计报告》教学院:电气与电子信息工程学院专业班级:xx电信本x学号:xxxxxxxxxxxx学生姓名:坏水指导教师:xxxxxxxxxxxxx时间:2012.5.28.~ 6.8地点:K2 - 406单片机课程设计任务书一、课题名称单片机课程设计二、设计目的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的单片机课程设计。
通过实训使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。
三、设计内容设计基于51单片机的简易计算器系统电路,并以该电路为基础进行编程,要求能够实现0-99之间的数进行加、减、乘、除运算的功能。
四、设计要求1、设计简易计算器,要求能对0-99之间的数进行加、减、乘、除运算。
2、用4×4的键盘作为输入设备。
3、用LED或LCD进行显示。
4、编写无符号数加、减、乘、除运算、输入和显示的程序。
5、对系统的进行综合和调试,使其具有对0-99之间的数进行加、减、乘、除运算的功能。
6、编写课程设计的总结五、设计进度表序号设计内容所用时间1 布置任务,学习简易计算器的工作原理以及硬件电路设计3天2 完成键盘、显示和计算功能的程序设计3天3 制作电路板1天4 答辩、撰写设计报告书3天合计10天六、设计报告课程设计报告的基本内容至少包括封面、正文、附录三部分。
课程设计报告要求统一格式,字体工整规范。
1、封面封面包括“《单片机课程设计》课程设计报告”、班级、姓名、学号以及完成日期等。
2、正文正文是实践设计报告的主体,具体由以下几部分组成:(1)课程设计题目;(2)课程设计任务与要求;(3)设计过程(包括设计方案、设计原理、创新点以及采用的新技术等);(4)方案的比较与论证;(5)硬件电路设计,各个模块的设计与器件的选择;(6)软件程序的设计与调试;(7)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等);3.附录附录1:系统设计原理图附录2:系统硬件元器件清单附录3:系统的程序七、考核方式与成绩评定办法评定项目评分成绩1. 设计的实物功能齐全,制作美观(50分)2. 态度认真、学习刻苦、遵守纪律(15分)3. 设计报告的规范化、参考文献充分(不少于5篇)(20分)4. 答辩(15分)总分(100分)备注:成绩等级:优(90分~100分)、良(80分~89分)、中(70分~79分)、及格(60分~69分)、60分以下为不及格。
单片机课程设计 报告一、课程目标知识目标:1. 学生能理解单片机的基本概念,掌握其工作原理及结构组成。
2. 学生能掌握单片机编程的基本语法,如指令系统、寄存器等。
3. 学生能了解并运用单片机在现实生活中的应用,如智能家居、机器人控制等。
技能目标:1. 学生具备使用开发板进行单片机程序编写、调试的能力。
2. 学生能通过小组合作,设计并实现简单的单片机控制系统,培养动手实践能力。
3. 学生能运用所学知识解决实际问题,具备一定的创新能力和问题解决能力。
情感态度价值观目标:1. 学生通过单片机课程学习,培养对电子技术的兴趣和热情,增强学习动力。
2. 学生在学习过程中,养成团队协作、沟通交流的良好习惯,增强集体荣誉感。
3. 学生了解单片机在我国科技发展中的重要性,培养国家使命感和社会责任感。
课程性质分析:本课程为单片机课程设计,旨在让学生通过实践操作,掌握单片机的基本原理和编程技术,提高解决实际问题的能力。
学生特点分析:本年级学生具备一定的电子技术基础知识,对单片机有一定了解,但编程能力和实践操作经验有限。
教学要求:1. 注重理论与实践相结合,强化学生的动手实践能力。
2. 采用项目驱动教学法,引导学生主动探究、解决问题。
3. 培养学生的团队协作能力,提高沟通表达水平。
4. 结合生活实际,激发学生学习兴趣,培养创新思维。
二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 单片机基础理论- 理解单片机的概念、发展历程及应用领域。
- 掌握单片机的硬件结构、工作原理及性能指标。
- 学习单片机的指令系统、寄存器、I/O口编程等基本知识。
教学内容对应教材章节:第一章 单片机概述、第二章 单片机硬件结构及工作原理。
2. 单片机编程与调试- 学习单片机编程语言(如C语言、汇编语言)及开发环境。
- 掌握单片机程序编写、调试方法,了解程序下载、运行过程。
- 学习中断、定时器、串行通信等单片机功能模块的使用。
教学内容对应教材章节:第三章 单片机编程语言、第四章 单片机编程与调试。
单片机课设报告引言单片机是一种集成电路,内含有处理器、内存、输入/输出设备等功能。
由于其体积小、功耗低、成本低等特点,广泛应用于各个领域。
在单片机的课程中,课设是非常重要的一部分,通过课设可以帮助学生加深对单片机原理和应用的理解。
本报告将围绕单片机课设展开讨论,包括设计思路、实验结果以及改进方向等。
设计思路在开始课设之前,我们需要明确设计的目标和要求。
对于单片机课设,一般会有以下几个方面的考虑: 1. 题目选择:选择一个与课程内容相关且有挑战性的题目,可以进一步巩固和应用所学的知识。
2. 功能设计:确定单片机需要实现的功能,包括输入、输出、界面显示等方面,要求明确、合理。
3. 硬件选择:根据题目要求选择合适的硬件设备,如传感器、触摸屏等,保证能够满足功能需求。
4. 软件设计:确定程序的框架结构,选择适当的编程语言和开发工具,编写相关的控制算法和界面设计。
5. 调试和测试:完成软硬件的连接和调试,确保功能的正确实现,并进行相关的测试和性能评估。
课设实验结果在具体实施课设的过程中,我们遵循了以上的设计思路,并成功完成了课设实验。
下面是实验结果的详细介绍:硬件搭建我们选择了XX传感器和XX触摸屏作为硬件设备,通过与单片机的连接,实现了对传感器数据的采集和触摸屏的操作。
这些硬件设备的选择和连接方式在实验中起到了关键的作用,确保了实验的顺利进行。
软件开发我们使用C语言作为主要的开发语言,搭建了一个简单而实用的控制系统。
利用单片机的GPIO口和串口功能,我们实现了与传感器和触摸屏的数据交互,以及与外部设备的通信。
通过编写相应的驱动程序和控制算法,我们成功实现了所需的功能,并在PC端编写了一个界面程序,用于显示和控制单片机的运行状态。
功能测试在开发完成后,我们对课设的功能进行了全面测试。
通过对传感器和触摸屏的模拟输入,以及对外部设备的控制,我们验证了系统的正确性和稳定性。
测试结果表明,课设设计的功能能够正常运行,满足了预期的要求。
第一章绪论1.1课程设计的目的提高学生在单片机应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。
学生通过单片机硬件设计和软件设计、组装焊接、程序调试、整理资料等环节,初步掌握单片机应用系统的开发设计过程。
1.2课程设计要求完成一个以单片机为核心的温度检测系统(实物)设计制作。
性能参数:温度测量范围:-0℃~100℃,测量误差≤0.5℃。
主要器件:MCU选用8051系列,显示选用LCD1602,使用温度传感器,使用AD 转换。
基本功能:完成实时温度检测并显示。
扩展功能:时钟显示(能调整),温度控制(能设定温控区间),温度数据无线传输,等其他功能。
第二章方案设计2.1方案选择2.1.1测温电路方案方案一进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
方案二由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦2.1.2显示电路方案方案一:采用数码管动态显示,使用七段LED数码管,采用动态显示的方法来显示各项指标,此方法虽然价格成本低,但是显示单一,且功耗较大。
方案二:采用LCD液晶显示采用1602 LCD液晶显示,此方案显示内容相对丰富,且价格不高。
综合上述原因,采用方案二,使用LCD液晶作显示电路。
综合上诉,测温电路选择方案一,显示电路选择方案二。
2.2系统设计原理利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警。
单片机课程设计报告导言随着科技的不断进步和发展,单片机技术在各个领域中的应用日益广泛。
作为电子工程的重要组成部分,单片机课程的设计也具有重要意义。
本报告将分享我在单片机课程设计中的学习和实践经验,并对所设计的项目进行详细分析和讨论,以期对相关领域的学习者提供参考和启发。
一、课程设计背景介绍单片机课程设计是电子工程相关专业学生的必修课程之一。
它旨在培养学生的实际应用能力、创新思维和问题解决能力。
在本次设计中,我选择了一个智能家居控制系统作为课程设计的主题。
通过设计和实现该系统,我将掌握单片机的硬件连接和软件编程,并在实践中进一步理解和应用相关知识。
二、系统设计1. 系统概述智能家居控制系统是一种可以通过手机或者其他设备进行远程控制的家居系统。
该系统可以实现对家中电器、照明、安防等设备的远程控制和自动化管理。
通过单片机控制芯片、无线通信模块和相应的传感器,可以实现对家居环境的监测和控制。
2. 硬件设计系统硬件设计主要包括单片机控制芯片的选择、传感器的选用和连接、通信模块的设置等。
在本设计中,我选择了一款常用的单片机控制芯片,并添加了温湿度传感器、光照传感器和人体红外传感器。
通过这些传感器,系统可以实时监测室内温度、湿度、光强度以及人体动静情况,并根据设置的规则进行相应的控制。
3. 软件设计系统软件设计主要包括单片机的编程、手机APP的开发和服务器的搭建等。
在本设计中,我使用C语言编写了单片机的程序,并通过串口通信与传感器和通信模块进行数据交互。
同时,我还使用Android开发平台进行了手机APP的开发,用户可以通过APP与家居控制系统进行交互和控制。
为了实现远程控制和数据传输,我搭建了一台服务器,并编写了相应的脚本和接口。
三、系统实现和测试1. 硬件连接和调试在硬件设计完成后,我进行了各个部件的连接和调试。
通过仔细查阅硬件连接图和相应的接口说明,我按照规定的步骤进行了连接,并通过测试仪器对各个部件的工作状态进行了检查和调试。
单片机课程设计报告一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及工作方式。
2. 学生能掌握单片机编程的基本语法,具备编写简单程序的能力。
3. 学生能了解单片机在各种实际应用中的功能,如智能家居、机器人等。
技能目标:1. 学生能够运用所学知识,独立完成单片机的硬件连接与调试。
2. 学生能够运用编程软件,编写简单的单片机程序并进行烧录。
3. 学生能够通过小组合作,完成一个具有实际应用价值的单片机项目。
情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发探索精神。
2. 学生通过课程学习,提高问题解决能力和团队协作能力。
3. 学生能够认识到单片机技术在实际应用中的价值,增强社会责任感和创新意识。
课程性质:本课程为实践性较强的学科,要求学生结合理论知识,动手实践,培养实际操作能力。
学生特点:六年级学生具备一定的逻辑思维能力,对新事物充满好奇,但需加强团队协作和问题解决能力的培养。
教学要求:注重理论与实践相结合,关注学生的个体差异,提高学生的动手能力和创新能力。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显成果。
教学设计和评估将围绕具体学习成果展开,确保课程目标的实现。
二、教学内容1. 单片机基础理论:包括单片机的基本原理、内部结构、工作方式等,对应教材第一章内容。
- 单片机的发展历程与分类- 单片机的内部结构与功能- 单片机的工作原理与指令系统2. 单片机编程语言:学习单片机编程的基本语法和编程技巧,对应教材第二章内容。
- 汇编语言的编写与烧录- C语言的编写与烧录- 常用编程指令的应用3. 单片机硬件连接与调试:学习如何搭建单片机硬件系统并进行调试,对应教材第三章内容。
- 单片机最小系统搭建- 外围电路的设计与连接- 硬件调试方法与技巧4. 单片机应用案例:分析并实践单片机在各种实际应用中的功能,对应教材第四章内容。
- 智能家居系统设计- 机器人控制程序编写- 物联网应用案例分析5. 实践项目:结合所学知识,完成一个具有实际应用价值的单片机项目,为期4周。
封面格式如下:《单片机原理及应用课程设计》报告——X X X X X X设计专业:班级:姓名:学号:指导教师:2011年月日报告正文部分:(要求:正文部分一律用小四号字,宋体,1.5倍行距。
一级大标题靠左,加粗。
二级大标题靠左,不加粗。
)课程设计的内容如下:1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求2.1 XXXXXXXXXXXXXXXX2.2 XXXXXXXXXXXXXXXX•••••3.硬件设计3.1 设计思想•••••3.2主要元器件介绍•••••3.3 功能电路介绍••••••••••4.软件设计4.1 设计思想•••••4.2软件流程图•••••4.3 源程序••••••••••5.调试运行5.1 XXXXXXXXXXXXXXXX5.2 XXXXXXXXXXXXXXXX•••••6.设计心得体会参考书目:(五号,宋体加粗)[1] 肖金球. 单片机原理与接口技术.[M].北京:清华大学出版社,2004.12[2]………………………………………………………………………..•••••(要求:五号字,宋体,单倍行距。
按作者、书名、出版社、地点、出版时间格式逐一列出,中间用逗号格开)蓝色字一律不要打印参考题目题目1 智能电子钟(LCD显示)设计要求:以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1) 计时:秒、分、时、天、周、月、年。
(2) 闰年自动判别。
(3) 五路定时输出,可任意关断(最大可到16路)。
(4) 时间、月、日交替显示。
(5) 自定任意时刻自动开/关屏。
华北理工大学轻工学院Qing Gong College North China University of Science and Technology课程设计报告项目名称:基于单片机的教室人数统计设计专业班级:学号:姓名:成绩:一、项目说明通过本次课设计加深了对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
这个设计的想法一是运用老师教导的学科知识运用在实际生活中,二是完成老师布置的学科任务,所以选做这个教室人数统计设计,并了解和加深一下其原理和构造。
这个简单的计数器件是利用AT89S51单片机的两个16位定时和计数器功能,来完成计数,计数的结果通过8位动态数码管显示出来。
掌握外部中断和数码管显示的设置以及相应的传感器原理。
通过此次课程设计能够将单片机软件结合起来,对程序进行编辑,校验。
二、项目原理图1、原理图图1 项目原理图2、各部分说明(1)电源部分DC002插座是带有插入断开开关,中心脚为1脚,下面为2脚,侧面为3脚,插入时3脚断开。
的一款给单片机提供5v电压的电源。
图2 电源(2)STC89C52芯片STC89C52是一个低功耗,高性能CMOS8位单片机,片内含具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDTC)电路,片内时钟振荡器。
此外,STC89C52设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
图3 STC89C52(3)单片机复位部分复位功能:单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。
单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。
通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。
关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。
实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。
在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。
实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。
实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。
微机原理与接口技术课程设计说明书课程名称:微机原理与接口技术综合实验设计题目:教室人数统计系统(第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显示教室目前人数;一个发光二极管显示教室人数是否为零;还有一个复位按键显示器清零。
一.设计目的如果在进自习室前就能知道教室里有多少人,是否满员,而不用推门进去才知道,将会节省自习同学的很多时间,同时也节省管理人员的很多时间,带来很大的方便,不会更多的影响自习的同学。
因此我们小组选择了设计这个教室人数统计系统,利用51单片机系统和两个光电对管器件统计教室进出的人数,最后把教师当前人数显示在一个8*8LED显示器上,方便想要自习的同学选择教室,以及管理人员的管理工作。
二.设计要求扩展两个光电传感器和一块8*8点阵LED显示器,控制系统需要实现:1.检测教室里的人数,并在8*8点阵LED显示器显示出来。
2.设置一个按键实现复位清零。
3.用发光二极管模拟电灯,当教室有人时,发光二极管发光,无人时发光二极管不发光。
三.实施方案模拟教室人员的进出,在出入口安装两个光电对管GK102,分别G1和G2;一块8*8LED显示教室目前人数;一个发光二极管显示教室人数是否为零;还有一个复位按键显示器清零。
当有人进去时,先响应G1,后响应G2,此时将人数加一并显示出来;当有人出去时,先响应G2,后响应G1,此时将人数减一并显示出来。
如果人数为零则发光二极管熄灭。
如检测到复位按键按下则熄灭发光二极管,同时将人数变成零并显示出来。
四.设计思路本程序分主程序、两中断程序、显示子程序与延时子程序四部分。
各部分功能如下:1、主程序:主程序完成相应存储单元和标志位的清零、8155的设置、开机界面显示、中断设置、对按键按下方式的检测和处理等工作。
按键按下方式及系统相应完成的功能如下:系统起始功能:显示教室中人数并根据人数控制发光二极管亮灭。
2、中断程序:两中断程序分别对人数增减标志位(R0)进行赋1和-1的操作。
两中断响应先后决定对人数增减标志位(R2)进行赋1还是-1。
具体实现方式为:在一个中断程序中加入对另一中断是否响应的判断。
如另一中断没有响应,则进行赋1或-1的操作。
3、显示子程序:显示子程序采用定行值,扫描列值的方法。
具体见8*8LED原理的介绍。
4、延时子程序:(一个)本程序中有两个延时子程序,分别完成2ms的延时。
以上各部分程序的具体实现方式见程序流程图和源程序。
五.硬件部分系统电路原理图:主体元件工作原理如下: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;六.流程图七.系统制作过程(1)电路板的焊接:直接用的是成品(2)程序编写:在所有组员都懂得程序原理的前期下,为尽早完成任务,我们将程序分为主体部分和细节部分两个方面分别由不同人员进行编写。
其中主体部分由组长及唐佳维编写。
细节部分由其他组员共同编写。
八.调试程序ORG 0000HAJMP MAINORG 0003HAJMP PINT0ORG 0013HAJMP PINT1ORG 0100HMAIN: ACALL FUWEI ;复位SETB EA ;开所有中断SETB PX0 ;令INT0中断为高优先级SETB PX1 ;令INT1中断为高优先级SETB IT0 ;令INT0中断为负边沿触发SETB IT1 ;令INT1中断为负边沿触发SETB EX0 ;开INTO中断SETB EX1 ;开INT1中断LOOP: JNB P1.0,DONE ;扫描P1.0电平,判断是否复位ACALL FUWEI ;若P1.0为高电平,调用复位程序DONE: ACALL FB ;调用分半程序,将要显示的两位数分离ACALL XS ;调用显示程序,显示人数SJMP LOOP ;返回LOOP,循环扫描、显示;显示程序XS: MOV DPTR, #0100H ;8155命令口地址送DPTRMOV A, #03H ;方式控制字送AMOVX @DPTR,A ;方式控制字送8155命令口CLR C ;清除标志位cyCJNE R2,#10,FULL ;R2和10比较,判断是否人满,并形成标志位cy FULL: JC XS0 ;人数少与10人,则显示人数MOV R0,#72H ;人数等于或超过10人,显示人满标志符号XMOV 72H,#0AH ;人满标志符号字形码送显示缓冲区MOV 73H,#0BHAJMP XS1XS0: MOV R0,#70H ;显示缓冲区起始地址送R0XS1: MOV R4,#0FEH ;字位码始值送R4ACALL XSZ ;嵌套调用显示子程序,显示十位数INC R0 ;修正显示缓冲区指针,指向71H单元地址ACALL XSZ ;嵌套调用显示子程序,显示个位数RET ;返回主程序;显示子程序XSZ: MOV R3,#04H ;循环控制量始值送R3MOV A,@R0 ;显示缓冲区中的数送ARL A ;A中值扩大两倍RL A ;A中值再扩大两倍MOV R5,A ;偏移量修正值送R5,暂存LP: MOV A,R5INC R5 ;修正偏移量MOV DPTR,#ZXTB ;字形码表格地址送DPTRMOVC A,@A+DPTR ;查表得字形码MOV DPTR,#0101H ;A口地址送DPTRMOVX @DPTR,A ;字形码送A口INC DPTR ;B口地址送DPTRMOV A,R4 ;字位码送AMOVX @DPTR,A ;字位码送B口RL A ;字位码左移一位MOV R4,A ;字位码暂存在R4ACALL DL ;延时1msDJNZ R3,LP ;显示下一个数码RETZXTB: DB 0C1H,0BEH,0BEH,0C1H ;字形表DB 0FFH,0BDH,080H,0BFHDB 8DH,0B6H,0B6H,0B9HDB 0DDH,0B6H,0B6H,0C9HDB 0F3H,0F5H,80H,0F7HDB 0B0H,0B6H,0B6H,0CEHDB 0C1H,0B6H,0B6H,0CDHDB 0FCH,0FEH,82H,0FCHDB 0C9H,0B6H,0B6H,0C9HDB 0D9H,0B6H,0B6H,0C1HDB 0BEH,0DDH,0EBH,0F7H ;人满了,显示XDB 0F7H,0EBH,0DDH,0BEH;延时程序DL: MOV R7,#02H ;大循环控制量初值送R7DL1: MOV R6,#0FFH ;小循环控制量初值送R6DL2: DJNZ R6,DL2 ;未完成则DL2,否则跳出小循环DJNZ R7,DL1 ;未完成则DL1,否则跳出大循环RET;分半程序FB: MOV R0, #70H ;R0指向70H单元地址MOV A, R2 ;人数送AMOV B, #0AH ;除数10送BDIV AB ;人数的十位数送A,个位数送BMOV @R0, A ;十位数送显示缓冲区70H地址单元MOV A, B ;个位数送AINC R0 ;修正缓冲区指针,指向71H单元地址MOV @R0, A ;个位数送显示缓冲区71H地址单元RET;复位程序FUWEI: MOV R2, #00H ;人数清零CLR 7EH ;INTO中断响应标志置“0”CLR 7FH ;INT1中断响应标志置“0”CLR P1.1 ;小灯熄灭RET;INT0中断子程序PINT0: JB 7FH, DCR2 ;若INT1响应标志为1,人数减一JB 7EH, CLR7E ;若INT0响应标志为1,将其置“0”SETB 7EH ;若INT0、INT1响应标志均为0,则将INT0响应标志置“1”RETIDCR2: DEC R2 ;人数减一CJNE R2,#0FFH,NETT1ACALL RSET ;人数为255(-1)时,复位NEXTT1: CLR C ;cy标志清零CJNE R2,#00H,NEXT ;若人数大于零,NEXTCLR P1.1 ;若人数为零,小灯熄灭NEXT: CLR 7FH ;将INT1响应标志置“0”CLR7E: CLR 7EH ;将INT0响应标志置“0”RETI;INT1中断子程序PINT1: JB 7EH, INCR2 ;若INT0响应标志为1,人数加一JB 7FH, CLR7F ;若INT1响应标志为1,将其置“0”SETB 7FH ;若INT0、INT1响应标志均为0,则将INT1响应标志置“1”RETI ;返回主程序INCR2: INC R2 ;人数加一SETB P1.1 ;小灯亮CLR 7EH ;将INT0响应标志置“0”CLR7F :CLR 7FH ;将INT1响应标志置“0”RETI ;中断返回END用Keil软件编程截图如下:九.实验结果本系统完成了所有的基本功能并扩展了部分功能,具体总结如下:a 检测教室里的人数并在8*8点阵LED显示器显示出来;b 设置一个按键实现复位清零。
C用发光二极管模拟电灯,当教室有人时,发光二极管发光,无人时发光二极管不发光。