单片机课程设计,3000字
单片机课程设计报告范例
![单片机课程设计报告范例](https://img.taocdn.com/s3/m/7868b9e719e8b8f67c1cb9ff.png)
单片机课程设计示例交通灯控制系统设计一、总体设计1、设计要求:交通灯的任务要求为:模拟十字路口的交通灯的亮、灭及闪烁基本工作原理:根据交通灯的亮灭情况,可以分为四种状态,利用定时计数器每20秒产生一次中断,每产生一次中断后由是否有特殊情况决定交通灯的状态变换。
2、硬件和软件功能的划分本课题要求实现的功能比较简单。
由单片机的定时/计数器产生八分之一秒的定时时间,通过软件的方式实现20秒的定时时间。
交通灯的亮灭由8255A控制,PA口控制东西向,PB口控制南北向。
3、交通灯状态划分十字路口交通灯如下图所示,将12个交通灯进行编号这12个交通灯共有四个状态:状态1(S1):东西红灯(4、10)亮,南北绿灯(3、9)亮状态2(S2):南北绿灯(3、9)灭,黄灯(2、8)闪烁,东西仍为红灯(4、10)亮状态3(S3):南北红灯(1、7)亮,东西绿灯(6、12)亮状态4(S4):东西绿灯(6、12)灭,黄灯(5、11)闪烁,南北仍为红灯(1、7)亮当东西向(或南北向)有特殊情况,开关K0为低电平则应使交通灯处于S3(东西绿灯、南北),开关K1为低电平则应使交通灯处于S1(南北向绿灯、东西向红灯),当K0、K1均为低电平则取消特殊情况,返回正常显示情况。
二、硬件设计根据总体设计要求,确定系统扩展与功能接口,设计出系统的电路原理图。
1、系统扩展最小系统,由8031、地址锁存器和程序存储器组成。
根据课题要求,在此基础上进行扩展。
地址锁存器选74LS373,程序程序器选2764(8K),尽管本系统程序不长,但考虑以后扩展方便,选用2764。
考虑到交通灯数量比较多,控制信号比较多,对单片机的I/O口进行扩展,使用通用I/O接口芯片8255A来对单片机I/O口进行扩展。
2、功能接口所谓接口是CPU与外界的连接部件,以实现CPU与外部设备的最佳耦合和匹配。
本课题只要求显示接口。
显示设备为2位七段数码管。
要使用七段数码管可以利用8031的串行口、可以利用可编程并行I/O扩展芯片8155或8255。
单片机课设报告
![单片机课设报告](https://img.taocdn.com/s3/m/52d378d10875f46527d3240c844769eae009a3d5.png)
单片机课设报告引言:单片机作为一种非常重要的计算机技术,广泛应用于各个领域。
在现代科技发展的今天,学习单片机的课程已经成为计算机专业学生不可或缺的一门基础课。
本报告将从设计思路、实施过程和结果展示三方面来介绍我所完成的单片机课设。
设计思路:我选择的单片机课设是一个温室控制系统。
考虑到温室内部环境需要恒定的温度和湿度,我决定设计一个能够自动控制温室内部环境的系统。
首先,我需要通过传感器获取温度和湿度数据,然后通过单片机进行处理和控制,最后通过执行机构实现温室内部环境的控制。
实施过程:在实施过程中,我遇到了一些挑战和问题。
首先是传感器的选择和接口问题。
在市场上有很多种类和品牌的传感器可供选择,我需要考虑到价格、精度和稳定性等因素来进行选择。
同时,我还需要学习如何通过单片机的GPIO口与传感器进行连接。
经过调研和实践,我最终选择了一款价格适中且性能稳定的温湿度传感器,并成功完成了与单片机的连接。
其次是单片机的编程问题。
单片机的编程语言和开发环境与传统的计算机编程不同,需要学习新的语法和命令。
在初期的学习中,我遇到了一些理解上的困难,但通过阅读相关文档和网上教程的帮助,我逐渐掌握了单片机的编程技巧,并成功实现了温室控制系统的基本功能。
最后是执行机构的选择和驱动问题。
为了实现温室内部环境的控制,我需要通过执行机构来调节温度和湿度。
在选择执行机构时,我需要考虑到控制精度和成本等因素。
同时,我还需要学习如何通过单片机的PWM输出口来驱动执行机构。
通过一系列的实验和调试,我成功选定了一款合适的执行机构,并通过单片机实现了对其的精确控制。
结果展示:经过几个星期的努力和不断的实践,我成功地完成了温室控制系统的设计和实施。
该系统能够根据设定的温度和湿度值进行自动控制,并且具备一定的控制精度和稳定性。
通过 LCD 屏幕的显示,我能够实时监测温室内部的温度和湿度数据,而且可以通过按键进行设定和调整。
这个课设的完成使我更加深入地了解了单片机的工作原理和应用技术,提高了我对硬件设计和嵌入式开发的理解和能力。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/c5b71463abea998fcc22bcd126fff705cc175cfd.png)
单片机课程设计报告单片机课程设计报告一、设计目的本次课程设计的目的是通过实践操作,了解和掌握单片机的基本原理、控制方法和应用技术,提高学生的综合素质和实践能力。
二、设计内容本次课程设计的内容是设计一个基于单片机的温度控制系统。
系统通过读取温度传感器的数据,对温度进行监测,并根据设定的温度范围控制加热和制冷设备的开关。
三、设计原理1. 硬件设计:本设计采用STC89C52单片机作为控制核心,并使用LM35温度传感器进行温度检测。
另外,还需要接入一个电阻加热器和一个制冷装置,用于温度控制。
2. 软件设计:单片机程序的设计主要包括以下几个部分:(1) 温度获取:通过ADC接口读取温度传感器的模拟信号,并转换为数字信号。
(2) 温度比较:将获取到的温度值与设定的温度上下限进行比较,判断是否需要开启加热或制冷设备。
(3) 加热控制:若温度低于设定上限,单片机将控制电阻加热器开启,加热提高温度。
(4) 制冷控制:若温度高于设定下限,单片机将控制制冷装置开启,制冷降低温度。
(5) 显示功能:将当前温度值和控制状态通过数码管显示出来,方便观察和调试。
四、设计步骤1. 硬件搭建:将STC89C52连接好电源和调试下载线,将温度传感器和数码管连接到对应的引脚,并连接电阻加热器和制冷装置。
2. 软件开发:使用Keil C51软件进行编程。
根据设计原理,逐步实现温度获取、温度比较、加热控制、制冷控制和显示功能。
3. 调试测试:将程序下载到单片机,进行硬件和软件的调试测试。
通过串口调试助手观察温度变化和控制状态是否正确。
4. 优化改进:根据测试结果,对程序进行优化和改进,提高系统的性能和可靠性。
五、设计总结通过本次单片机课程设计,我对单片机的原理和应用有了更深入的了解。
通过实践操作,我掌握了单片机的编程方法和调试技巧。
在设计过程中,我也遇到了一些问题,如温度传感器的误差和加热控制的精度等,但通过不断学习和改进,最终完成了设计任务。
单片机课程设计计划书(精选五篇)
![单片机课程设计计划书(精选五篇)](https://img.taocdn.com/s3/m/f372745249d7c1c708a1284ac850ad02de80071a.png)
单片机课程设计计划书(精选五篇)第一篇:单片机课程设计计划书机电科学与工程系电气自动化技术专业(专科)《单片机原理及接口技术课程设计》计划书一、目的及要求1.目的:通过本课程设计,•使学生进一步掌握单片机应用系统的硬、•软件开发方法,输入/输出(I/O)接口的扩展技术,应用程序设计技术并结合专业能设计简单、实用的单片机应用系统。
主要针对课堂重点讲授内容使学生加深对单片机硬件原理的理解及提高汇编语言程序设计的能力,提高学生的开发创新能力。
2.基本要求:重点研究单片机、A/D转换器、运算放大器、传感器、LED显示器、固态继电器、微型直流电机等元器件的特性、功能及使用方法;同时掌握主程序、子程序、中断服务程序框图的设计方法与汇编语言程序设计方法。
要求设计系统具有可靠性高、可维护、维修性好及检测精度高等优点。
设计内容可参考设计题目,也可根据自身情况自己拟定。
3.任务要求:了解控制对象、环境参数检测原理,在充分掌握单片机、A/D转换器、运算放大器、传感器、LED显示器、固态继电器、微型直流电机等元器件的工作原理、特性、功能及使用方法的基础上,创造性的、两人一组分工协作(一人偏软、一人偏硬)独立的设计本课题的内容。
二、设计内容、步骤及材料要求1.设计内容画出硬件原理图一张(A4号);软件框图(包括主程序框图、主要子程序框图、中断服务程序框图等)和系统初始化的汇编语言原程序。
提交不少于4000字的设计报告一份(A4纸)。
从整体方案的规划设计到各功能模块的设计,可实现功能及各元器件的选择,参数计算均需表述清楚。
报告的书写要清除工整,层次清晰,文字流畅。
后附5篇以上的参考文献。
2.设计步骤设计时间为5天,前2天进行硬件原理草图设计,指导教师审查之后用1天的时间再进行绘图;第四天进行软件框图(包括主程序框图、主要子程序框图、中断服务程序框图)的设计及系统初始化的汇编语言原程序的设计;第5天答辩。
3.设计图纸要求(1)硬件原理图的绘制:元件图正确、型号标注要准确、连线清楚.(2)软件框图的绘制:流程清晰。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/f508fc3200f69e3143323968011ca300a6c3f603.png)
单片机课程设计报告项目简介本文档将详细介绍单片机课程设计项目的背景、目标、实施过程和结果。
本项目旨在通过单片机开发一个特定功能的系统,并实现相应的硬件和软件设计。
背景单片机是一种集成电路,集中了处理器、存储器和其他外围器件的功能。
它的小巧、低功耗和低成本使得它成为嵌入式系统中常用的控制器。
单片机课程设计是大多数电子工程专业的必修课程,通过实际设计和开发单片机系统,提高学生在硬件和软件方面的实践能力。
目标本项目的主要目标是设计一个基于单片机的系统,能够完成特定任务。
我们选择了一个温度监控系统作为设计任务,主要包括以下功能: - 采集温度数据 - 实时显示温度 - 根据设定温度报警设计过程硬件设计在硬件设计方面,我们选用了ATmega328P单片机作为主控芯片,通过使用温度传感器LM35来采集温度数据。
单片机与温度传感器之间通过模拟输入引脚连接。
为了实现实时显示温度,我们选择了一个七段LED显示器,将数字信号发送至显示器实现温度的显示。
此外,我们还使用按钮来设置报警温度,并通过蜂鸣器进行报警。
软件设计在软件设计方面,我们使用C语言进行单片机程序的编写。
通过编写相应的代码,实现以下功能: 1. 初始化单片机及相关外设 2. 采集温度数据并进行处理 3. 将温度数据转换为七段LED显示所需的数字信号 4. 设置报警温度,并进行判断 5. 当温度超过报警温度时,触发蜂鸣器进行报警实施结果经过设计和实施,我们成功实现了温度监控系统的目标功能。
在系统测试中,我们能够准确采集温度数据,并通过七段LED显示器实时显示。
当温度超过设定的报警温度时,系统能够准确触发蜂鸣器进行报警。
整个系统工作稳定,达到了预期效果。
总结单片机课程设计是电子工程专业中重要的实践环节,通过实际设计和开发单片机系统,可以提高学生的动手能力和解决问题的能力。
本项目以温度监控系统为例,详细介绍了硬件和软件的设计过程,并展示了最终的实施结果。
在未来的学习和工作中,我们将继续积极运用单片机技术,深入研究和探索更多的应用领域。
单片机课程设计(参考模板)
![单片机课程设计(参考模板)](https://img.taocdn.com/s3/m/928e83125fbfc77da369b133.png)
单片机电子时钟摘要:在日常生活中,电子时钟与我们密切相关,在很多地方都会用到电子时钟。
除了专用的时钟、计时显示牌外,许多应用系统常常也带有实时时钟显示,如各种智能化仪器仪表、工业过程控制系统以及家用电器等。
实现电子时钟的方法有多种,通过前面我们对单片机基本理论及相关知识的学习,在这里,要求用单片机为主控制芯片设计一简单的单片机电子时钟。
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
关键词:电子时钟;单片机;计时SCM Electronic ClockAbstract:In our daily life, the electronic clock is closely related to the electronic clock which will be used in many places. In addition to a dedicated clock, timing licenses, there are many applications which often with real-time clock display, such as a variety of intelligent instrumentation, industrial process control systems and home appliances. There are many ways to realize the Electronic clock, through the front of learning our SCM basic theory and related knowledge, here, the microcontroller-based control chip design a simple single-chip electronic clock. With the development of computer penetration in the social field and LSI in recent years, the using of microcontroller applications is constantly go deeper, because it has the features of a small size, low power consumption, cheap, reliable, easy to use. Therefore it is particularly suitable for the control of the system, more and more widely used in automatic control, Intelligent instruments, data acquisition, and military products and home appliances, SCM often used as a core component in the structure, according to the specific hardware and software for application-specific object characteristics combined to make perfect.Keywords:electronic clock; microcontroller; timing目录第一章引言 (1)1.1课程设计的目的 (1)1.2课程设计内容 (1)第二章总体方案设计 (2)2.1 总体思想--方案论证 (2)2.2方案的选择 (2)第三章硬件系统设计 (4)3.1总电路设计 (4)3.2器件的介绍 (4)3.3单元模块设计 (6)第四章软件系统设计 (9)4.1软件程序思想 (9)4.2主程序及流程图 (9)4.3子程序及流程图 (12)第五章系统仿真 (16)5.1 KEIL 51介绍 (16)5.2 PROTEUS介绍 (20)5.3仿真过程及仿真结果 (28)第六章结束语 (29)致谢 (30)参考文献 (31)第一章引言1.1课程设计的目的本次设计中以单片机的发展过程和发展方向为背景,介绍了单片机的输入输出的工作原理和操作方法,中断的工作原理和操作方法,74LS164译码器的工作原理和与LED连接的方法。
单片机课程设计报告 (2)
![单片机课程设计报告 (2)](https://img.taocdn.com/s3/m/77d709ae162ded630b1c59eef8c75fbfc77d9407.png)
单片机课程设计报告1. 引言本文为单片机课程设计报告,主要介绍了课程设计的背景、目的、设计方案、实施过程以及结果分析和总结。
2. 背景单片机是嵌入式系统的核心部件,广泛应用于各个领域。
作为计算机科学与技术专业的学生,掌握单片机的基本原理和应用是必不可少的。
因此,本次课程设计旨在通过实践,加深对单片机的理解和应用能力。
3. 目的本次课程设计的目的是设计一个基于单片机的智能温度监控系统。
该系统能够实时监测环境温度,并通过显示屏展示当前温度值,并在温度超过设定阈值时发出警报。
4. 设计方案4.1 硬件设计本设计使用STC89C52单片机作为控制核心,配合温度传感器和液晶显示屏,实现温度监测和显示的功能。
温度传感器负责采集环境温度,将采集到的数据发送给单片机进行处理;液晶显示屏用于显示当前温度值和警报信息。
4.2 软件设计软件设计分为两个模块:温度采集和温度监控。
温度采集模块通过单片机的ADC接口获取温度传感器的模拟信号,将其转化为数字信号,并保存在单片机的内存中。
温度监控模块不断读取内存中的温度值,并与设定的阈值进行比较,如果温度超过阈值,则发出警报信号,同时在液晶显示屏上显示警报信息。
5. 实施过程5.1 硬件实施首先,根据设计方案的要求,将STC89C52单片机、温度传感器和液晶显示屏组装在一起,搭建出硬件平台。
接下来,使用面包板和杜邦线等连接元件,将各个模块按照设计方案进行连线。
最后,使用电源适配器给整个系统供电。
5.2 软件实施软件实施主要分为两个步骤:编写硬件控制程序和编写温度监控程序。
硬件控制程序主要负责初始化硬件设备和处理硬件输入输出;温度监控程序则负责实现温度采集和温度监控逻辑。
在编写硬件控制程序时,需要使用STC89C52的GPIO接口对传感器和显示屏进行控制。
在编写温度监控程序时,需要使用STC89C52的ADC接口进行温度采集,以及使用GPIO接口对警报信号和显示屏进行控制。
6. 结果分析和总结经过实施过程的努力,我们成功地完成了基于单片机的智能温度监控系统。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/15a35ddd6aec0975f46527d3240c844768eaa07b.png)
单片机课程设计报告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 实施步骤三:系统实现在系统设计完成后,我开始进行系统实现。
单片机课程设计任务书5(5篇)
![单片机课程设计任务书5(5篇)](https://img.taocdn.com/s3/m/54f7d3f785254b35eefdc8d376eeaeaad0f3164e.png)
单片机课程设计任务书5(5篇)第一篇:单片机课程设计任务书5课程设计任务书学生姓名:石樊专业班级:光信科1102指导老师:陈梦苇工作单位:武汉理工大学理学院题目:定时闹铃的设计初始条件:电脑一台、protel作图软件、keilc51编译器、medwin仿真软件、isp在线编程软件要求完成的主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具体要求)1、技术要求:以89s51单片机为核心芯片,设计一个定时闹铃,要求如下:A、能够显示定时的时间;B、定时时间到让相应的发光二极管发光;2、主要任务:(1)复习有关课程,如数字电路、单片机等;(2)以89s51为核心,根据设计指标设计电路的框图;(3)根据要求设计出电路逻辑图和装配图;(4)查阅资料,确定所需各元器件型号和参数;(5)自拟调整测试方法,并调试电路使其达到设计指标要求;(6)撰写设计说明书,进行答辩。
3、撰写课程设计说明书:封面:题目,学院,专业,班级,姓名,学号,指导教师,日期任务书目录正文:1、技术指标;2、设计方案及其比较;3、实现方案;4、调试过程及结论;5、心得体会;6、参考文献时间安排:课程设计时间:18周:明确任务,查阅资料,初步设计电路原理图;19~20周:按照电路原理图布线,并调试通过。
按照要求撰写课程设计说明书。
指导教师签名:年月日系主任(或负责老师)签名:年月日第二篇:单片机课程设计任务书“单片机课程设计”任务书一、设计目的通过该课程设计,主要达到以下目的:①使学生增进对单片机系统的感性认识,加深对单片机理论方面的理解,为顺利完成毕业设计打基础。
②使学生掌握对单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口和串行口通讯等。
③进一步深化和巩固所学基础理论、专业知识及实验技能,提高学生的技术应用能力,使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
单片机课程设计报告模板
![单片机课程设计报告模板](https://img.taocdn.com/s3/m/99198012a4e9856a561252d380eb6294dd88220d.png)
单片机课程设计报告模板单片机课程设计报告一、设计目的本次单片机课程设计旨在培养我们对单片机的基本认知和应用能力,通过对STC89C52单片机的学习和实践,提升我们的编程能力和创新思维,同时让我们深入了解单片机的工作原理和应用场景,为未来工作和学习打下坚实基础。
二、设计内容本次课程设计主要涵盖了单片机的基本原理、C语言编程以及电路设计。
我们以智能家居为例,设计了一个可以通过Wi-Fi连接到手机APP控制家电的智能开关系统。
1.单片机的选择我们选择STC89C52作为单片机的核心控制器,这是一款8位高性能单片机,拥有大容量闪存和SRAM存储器、多种定时器和计数器、16位定时器等重要功能,非常适合用于物联网控制和智能家居领域。
2.开发环境的搭建我们采用KEIL软件和PROTEUS电路仿真软件作为开发工具,为了让我们更加熟练地使用这两款软件,我们在课堂上进行了详细的讲解和实践操作,学习了单片机的汇编、C语言编程、调试和调试工具的使用。
3.电路设计为了实现智能家居的控制,我们需要搭建一个能够与单片机相互协作的电路。
我们选择了常见的继电器来控制家电设备的开和关。
具体的电路设计方案如下:①按键电路:在电路中加入按键触发模块,实现单片机中断、感应等功能。
②Wi-Fi WiFi模块:为了实现远程控制,我们使用了ESP8266模块和手机APP进行通讯。
③继电器模块:该模块内置独立的继电器驱动IC,设计电容保护电路和DIP开关控制当前继电器输出端口,保障免受电磁干扰和防止继电器共振。
4.软件设计本次课程设计的重点是编写单片机程序。
我们通过不断的实践和调试,成功编写了相应的程序,实现了以下功能:①通过Wi-Fi模块连接到手机APP,实现APP和单片机的通讯。
②实现对接ESP8266模块,并正确设置ESP8266模块的IP地址和端口号。
③通过单片机控制继电器模块,实现对家电的远程控制。
5.上位机程序设计上位机程序我们选择了Visual Studio C++作为开发工具,通过Socket编程实现了与单片机的通讯。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/e15ed7cbbb0d4a7302768e9951e79b89680268bc.png)
单片机课程设计报告单片机课程设计报告一、设计目的本次设计旨在通过对单片机的学习和实践,锻炼学生的综合能力和创新思维,提高学生对单片机工作原理的理解和应用能力。
二、设计内容本次设计以控制LED灯的闪烁为主题,在实现基本闪烁功能的基础上,加入了渐变效果和呼吸灯效果等功能。
三、设计过程1. 硬件设计:(1)准备材料:单片机主板、蓝色LED灯、电阻、杜邦线等;(2)连线:按照电路图将单片机与蓝色LED灯连接起来;(3)测试:使用万用表对电路进行测试,确保电路连接正常。
2. 软件设计:(1)编写主程序:在Keil C中编写主程序,设置LED灯闪烁的时间间隔;(2)编写闪烁函数:编写一个函数使LED灯在设定的时间间隔内闪烁;(3)编写渐变函数:利用PWM(脉冲宽度调制)技术,使LED灯的亮度逐渐增加或减小;(4)编写呼吸灯函数:利用PWM技术,使LED灯呼吸般变亮变暗;(5)调试程序:将程序下载到单片机主板上,通过调试工具进行调试,确保LED灯能按照设计要求正常闪烁、渐变和呼吸。
四、设计结果经过反复调试和修改,最终实现了LED灯的闪烁、渐变和呼吸灯等效果。
LED灯的闪烁时间可以通过修改程序中的参数进行调整,渐变和呼吸灯效果可以根据需求进行改动。
五、心得体会通过本次设计,我对单片机的原理和应用有了更深入的了解。
在实践中,我遇到了许多问题,比如电路连接错误、程序调试失败等,但通过钻研、查找资料和与同学、老师讨论,我逐渐解决了这些问题。
这个过程让我学会了不断尝试和学习,培养了我的耐心和解决问题的能力。
六、改进意见在进行本次设计时,由于时间和条件的限制,我只实现了LED灯的基本闪烁、渐变和呼吸灯效果,但这些功能在实际应用中已经比较常见。
如果有更多的时间和资源,我可以进一步完善程序,增加更多创新的功能,或是将LED灯与其他传感器结合,实现更复杂的控制。
总结:通过本次单片机课程设计,我不仅对单片机有了更深入的认识,也锻炼了实践能力和创新思维。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/44446bc6900ef12d2af90242a8956bec0975a5ae.png)
单片机课程设计报告本文主要是讨论单片机课程设计。
从实验内容、步骤以及设计思路来详细阐述单片机课程设计的重要性和实践意义。
一、实验内容单片机课程设计是电子信息类专业中不可或缺的一门课程。
它主要涉及到汇编语言、C语言编程和硬件电路设计等知识,通过这门课程的学习,学生们能够深入了解单片机的原理和应用,将软件和硬件的知识结合起来,完成单片机的功能设计。
具体实验内容一般包括单片机的基本原理、编程以及外部设备的应用等。
学生可以通过单片机实验板来实现各种功能,例如:LED灯跑马灯、数码管的显示、温度测量、语音播报等等。
这些实验内容不仅可以帮助学生理解单片机的运行原理,同时也可以提高学生的情境意识和实践能力。
二、实验步骤在进行单片机课程设计实验的时候,需要提前制定实验计划,包括实验步骤、程序设计以及测试等内容。
下面是一个简单的实验步骤示例:步骤一:在电脑上安装单片机开发软件(例如Keil、MPLAB 等),选择适合的芯片型号步骤二:编写程序代码,实现指定的功能,例如闪烁LED灯等步骤三:将程序烧录到单片机中,一般通过USB转串口的方式进行烧录步骤四:将单片机模块接入电路板上,进行实际运行测试步骤五:根据测试结果进行调试和修改,保证程序运行稳定步骤六:根据实验数据撰写课程设计报告,评估实验结果和学习效果三、设计思路在进行单片机课程设计的过程中,需要积极探索新的设计思路,发挥自己的想象力和创造力,充分利用已有的资源和知识。
设计思路主要包括以下几个方面:1、创新思维:在实验设计中,可以采用新的思路、新的方法来解决问题,充分发挥自己的想象力和创造力。
2、开放思维:打破固有的思维模式,与他人交流、思考、合作,获得更广阔的思路和设计方案。
3、整合思维:将已有的知识、技能、经验整合,形成新的设计思路和创意,将多个元素组合成更复杂的设计方案。
4、实践思维:在实验过程中,不断实践、优化和改进,获得更好的设计结果和实践经验。
综上所述,单片机课程设计是电子信息类专业中非常重要的一门课程。
单片机课设报告
![单片机课设报告](https://img.taocdn.com/s3/m/e480956c7275a417866fb84ae45c3b3567ecdda6.png)
单片机课设报告在单片机实验课程中,我们的课设是实现一个电子计算器。
该计算器具有简单的四则运算功能,可以对两个数进行加法、减法、乘法和除法运算,并且能够显示结果。
首先,我们选择了一颗适合课设需求的单片机,我们选择了STC89C52单片机。
该单片机有足够的I/O口和定时器、中断等功能,能够满足我们实现计算器的要求。
接下来,我们设计了计算器的界面,使用了4×4的矩阵键盘作为输入设备,使用一个LCD液晶显示屏作为输出设备。
我们将4×4的矩阵键盘与单片机的I/O口相连,通过矩阵键盘的扫描原理实现对键盘的输入检测。
LCD液晶显示屏与单片机的I/O口相连,通过单片机的程序控制来显示结果。
然后,我们编写了控制程序。
首先,我们在程序中定义了各个键的扫描码,通过程序扫描键盘,接收用户的输入。
然后,根据输入的运算符号,我们根据用户的选择调用相应的函数进行加法、减法、乘法或除法运算,并将结果显示在LCD液晶屏上。
为了能够处理大整数运算,我们使用了字符串来存储计算结果。
最后,我们进行了实验验证。
我们使用示波器来检测单片机的工作情况,通过观察波形来确认程序的正确性。
同时,我们还使用了示波器来检测LCD液晶显示屏的工作情况,确认其能够正确显示结果。
通过本次实验,我们学会了如何使用单片机来实现简单的计算器功能。
我们掌握了矩阵键盘的扫描原理,学会了使用LCD液晶显示屏来输出结果。
我们还通过实验验证了程序的正确性,并且能够通过示波器来检测单片机的工作情况。
这次实验不仅巩固了我们的理论知识,还提高了我们的动手实验能力,为我们今后的学习和工作打下了坚实的基础。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/c32e394f5e0e7cd184254b35eefdc8d376ee14c6.png)
单片机课程设计 报告一、课程目标知识目标:1. 学生能理解单片机的基本概念,掌握其工作原理及结构组成。
2. 学生能掌握单片机编程的基本语法,如指令系统、寄存器等。
3. 学生能了解并运用单片机在现实生活中的应用,如智能家居、机器人控制等。
技能目标:1. 学生具备使用开发板进行单片机程序编写、调试的能力。
2. 学生能通过小组合作,设计并实现简单的单片机控制系统,培养动手实践能力。
3. 学生能运用所学知识解决实际问题,具备一定的创新能力和问题解决能力。
情感态度价值观目标:1. 学生通过单片机课程学习,培养对电子技术的兴趣和热情,增强学习动力。
2. 学生在学习过程中,养成团队协作、沟通交流的良好习惯,增强集体荣誉感。
3. 学生了解单片机在我国科技发展中的重要性,培养国家使命感和社会责任感。
课程性质分析:本课程为单片机课程设计,旨在让学生通过实践操作,掌握单片机的基本原理和编程技术,提高解决实际问题的能力。
学生特点分析:本年级学生具备一定的电子技术基础知识,对单片机有一定了解,但编程能力和实践操作经验有限。
教学要求:1. 注重理论与实践相结合,强化学生的动手实践能力。
2. 采用项目驱动教学法,引导学生主动探究、解决问题。
3. 培养学生的团队协作能力,提高沟通表达水平。
4. 结合生活实际,激发学生学习兴趣,培养创新思维。
二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 单片机基础理论- 理解单片机的概念、发展历程及应用领域。
- 掌握单片机的硬件结构、工作原理及性能指标。
- 学习单片机的指令系统、寄存器、I/O口编程等基本知识。
教学内容对应教材章节:第一章 单片机概述、第二章 单片机硬件结构及工作原理。
2. 单片机编程与调试- 学习单片机编程语言(如C语言、汇编语言)及开发环境。
- 掌握单片机程序编写、调试方法,了解程序下载、运行过程。
- 学习中断、定时器、串行通信等单片机功能模块的使用。
教学内容对应教材章节:第三章 单片机编程语言、第四章 单片机编程与调试。
单片机课程设计报告
![单片机课程设计报告](https://img.taocdn.com/s3/m/7bc2b2faab00b52acfc789eb172ded630b1c981b.png)
单片机课程设计报告导言随着科技的不断进步和发展,单片机技术在各个领域中的应用日益广泛。
作为电子工程的重要组成部分,单片机课程的设计也具有重要意义。
本报告将分享我在单片机课程设计中的学习和实践经验,并对所设计的项目进行详细分析和讨论,以期对相关领域的学习者提供参考和启发。
一、课程设计背景介绍单片机课程设计是电子工程相关专业学生的必修课程之一。
它旨在培养学生的实际应用能力、创新思维和问题解决能力。
在本次设计中,我选择了一个智能家居控制系统作为课程设计的主题。
通过设计和实现该系统,我将掌握单片机的硬件连接和软件编程,并在实践中进一步理解和应用相关知识。
二、系统设计1. 系统概述智能家居控制系统是一种可以通过手机或者其他设备进行远程控制的家居系统。
该系统可以实现对家中电器、照明、安防等设备的远程控制和自动化管理。
通过单片机控制芯片、无线通信模块和相应的传感器,可以实现对家居环境的监测和控制。
2. 硬件设计系统硬件设计主要包括单片机控制芯片的选择、传感器的选用和连接、通信模块的设置等。
在本设计中,我选择了一款常用的单片机控制芯片,并添加了温湿度传感器、光照传感器和人体红外传感器。
通过这些传感器,系统可以实时监测室内温度、湿度、光强度以及人体动静情况,并根据设置的规则进行相应的控制。
3. 软件设计系统软件设计主要包括单片机的编程、手机APP的开发和服务器的搭建等。
在本设计中,我使用C语言编写了单片机的程序,并通过串口通信与传感器和通信模块进行数据交互。
同时,我还使用Android开发平台进行了手机APP的开发,用户可以通过APP与家居控制系统进行交互和控制。
为了实现远程控制和数据传输,我搭建了一台服务器,并编写了相应的脚本和接口。
三、系统实现和测试1. 硬件连接和调试在硬件设计完成后,我进行了各个部件的连接和调试。
通过仔细查阅硬件连接图和相应的接口说明,我按照规定的步骤进行了连接,并通过测试仪器对各个部件的工作状态进行了检查和调试。
单片机课程设计心得体会优秀5篇
![单片机课程设计心得体会优秀5篇](https://img.taocdn.com/s3/m/7b1c7cf9a0c7aa00b52acfc789eb172ded6399c8.png)
单片机课程设计心得体会优秀5篇单片机课程设计心得体会【篇1】经过本次微机课题的设计与研究,我们深入的学习了除课本以外的很多微机附件的内容,掌握了很多实验室操作技能。
我们在实际设计中遇到很多问题,但结合所学知识以及参考资料的帮助,不断地尝试,设计了一种能够解决实际问题的系统。
同时也加深了我们对于现实生活中,实际的嵌入式操作系统的原理的理解。
单片机在日常生活中应用广泛,结合这学期在学的嵌入式系统原理,我们更多的了解了单片机的发展现状和发展趋势,以及在生活中的广泛应用,其实80C51只是我们所接触的一种简单的单片机,在实际应用中,有各个公司生产的不同型号的、针对不同功能设计的、以及根据用户的需要和发展自主研发设计的单片机还有很多,由此设计出来的嵌入式系统更是数不胜数。
能够亲身的进行自我实践,并进行实际的应用,其实使我们对现行单片机的一次深入的了解,并能够提升我们将来在学习工作遇到的单片机设计问题。
在实际设计过程中,我们遇到了诸多设计的问题。
例如接口不够,这一问题主要是因为我们所设计的功能诸多,刚开始对于这一接口的`规划不是非常的合理,后来通过使用中断,两个中断合理的设计便解决了所有的按键和现实问题。
考虑到目前空调系统也并不是使用我们所用到的80C51单片机,中断也有可能通过扩展有所增加,考虑到硬件设计的难度,使用两中断解决这一问题则是最佳的选择。
在程序设计中,我们更加深入了解了中断的使用与本质,合理利用这些,会使程序简化而不会出错。
比如开始我们把主程序写在中断里面,导致程序运行混乱,而后来发现,只在中断中做少量工作,比如改一下某一个标志,这样比较好。
对于传感器芯片的使用,我们查找了它的datasheet,并查阅了各种关于其硬件连接和软件设计的资料,同时发现了理论资料与实践上的区别,通过多次尝试,成功完成了硬件和软件的设计。
在这次课题设计过程中,我们合理的分工,适宜的规划进度的进展,不仅仅暗示完成了预先设计的内容。
单片机课程设计报告[5篇]
![单片机课程设计报告[5篇]](https://img.taocdn.com/s3/m/92b7e9f1c0c708a1284ac850ad02de80d4d806a6.png)
单片机课程设计报告[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);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计论文
论文题目:
学院:
专业:
年级:
学号:
学生姓名:
指导教师:
2012年1月2日
单片机课程设计
——六十秒倒计时电路设计
1 前言
在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。
现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。
单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。
但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。
从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。
这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。
微控制技术是一种全新的概念,是对传统控制技术的一次革命。
随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。
近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。
并采用电子秤原理可根据输入单价准确的计算出物体的金额。
本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
2课程设计的目的和要求
2.1目的
课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训
练。
进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。
课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握、应用得的专门性实践类课程。
通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。
2.2要求
单片机控制的60s倒计时
(1)用单片机AT89C51的定时器实现60s倒计时。
本例中用两位数码管静态显示倒计时秒值。
(2)用PROTEUS设计,仿真基于AT89c51单片机的60s倒计时实验。
目标:
通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法。
通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。
3设计过程
3.1总体设计
本设计由硬件设计和软件设计两部分组成,总电路如下图所示,硬件设计主要包括单片机芯片选择,数码管选择及晶振,电容,电阻等元器件的选择及其参数的确定;软件设计主要是实现60秒倒计时程序的编写,包括利用中断实现1秒的定时及60秒的倒计时。
具体设计:通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个7SEG–COM –ANODE型号数码管,分十位控制和个位控制,达到显示60秒倒计时的目的。
通过复位电路,在仿真过程中点击开关实现60复位。
3.2硬件设计
(1)AT89C51的芯片概述
AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
其工作电压在4.5-5V,一般我们选用+5V电压。
主要特性:
•与MCS-51 兼容
•4K字节可编程闪烁存储器
•寿命:1000写/擦循环
•数据保留时间:10年
•全静态工作:0Hz-24MHz
•三级程序存储器锁定
•128×8位内部RAM
•32可编程I/O线
•两个16位定时器/计数器
•5个中断源
•可编程串行通道
•低功耗的闲置和掉电模式
•片内振荡器和时钟电路
管脚说明:
1)电源及时钟引脚(4个)
Vcc: 电源接入引脚
Vss:接地引脚
XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);
XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。
2)控制线引脚(4个)
RST/Vpd:复位信号输入引脚/备用电源输入引脚;
ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:
EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;
PSEN:外部程序存储器选通信号输出引脚。
3)并行I/O引脚
P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;
P1.0-P1.7:一般I/O口引脚;
P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;
P3.0-P3.7:一般I/O口引脚或第二功能引脚
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(2)LED数码管显示器概述
本设计中采用的是7SEG–COM –ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
3.3软件设计
程序总框图如下:
定时/计数器初值计算:
(1)本电路应用TIMER0 MODE 16位计数器的计时中断法。
(2)1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。
本设计中,设定中断每次溢出时间50ms。
(3)由上式得知,循环20次即可达到1秒定时,即:
N=t/Tcy=0.05s/0.000001=5000
X=65536-5000=15536=3CB0H
(4)由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,此时第1次只要输入5000个脉冲输入,就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。
(5)上电时,显示60,开始倒数计时按下开关实现复位
软件程序:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV R2,#60 ;计数初值
LOOP1: MOV A,R2
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;查表
MOV P1,A ;十位显示
MOV A,B
MOVC A,@A+DPTR
MOV P2,A ;个位显示
MOV R7,#20
LOOP0: MOV TMOD,#01H ;置T0工作于方式0
MOV TH0,#3CH ;装入计数初值
MOV TL0,#0B0H
SETB TR0 ;启动定时器T0
JNB TF0,$ ;TF0=0,等待
CLR TF0 ;清TF0
DJNZ R7,LOOP0 ;循环20次
DEC R2 ;减一
CJNE R2,#0FFH,LOOP1 ;倒计时
AJMP MAIN ;复位回到60秒初始
TABLE: DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH
END
4心得体会
在这次单片机课程设计中,我觉得最大的收获就是提高了自己的动手及思考。