硬件实习报告 定时器
- 格式:doc
- 大小:170.61 KB
- 文档页数:16
多功能定时器实习论文转眼之间,于第十,十一的两个星期的课程教学设计结束了。
这次课程设计的题目是制作定时器,通过本次课程设计我们将书本中学到的知识和实践进行结合。
充分体会到了书本知识和中的差距。
通过我们小组四人努力终于完成了这次课程设计,此次课程设计培养了我理论联系实际的能力,提高了我分析问题和解决问题的能力,增强了独立工作的能力。
最主要的是培养了我与其他同学的团队合作、共同探讨、共同前进的精神。
硬件电路如图:以上是我用protel做成的电路原理图。
在制作原理图中,我再一次复习使用protel 软件,加强掌握。
设计主要分为控制电路部分和液晶显示部分,还有闹钟蜂鸣器。
首先,我先找出电路需要的一些元器件,如电阻、电容等,这些可以直接在元器件库里找到。
而有些器件在库里找不到的就需要自己绘画器件的原理图,并做成封装图了。
以下是一些器件的封装图。
变阻器的封装图:该变阻器是为了调节液晶显示器的灰度,包括三个引脚。
排阻的封装图:包括九个引脚,一个电源脚,其余脚接单片机P0口输出和液晶显示输入信号,主要用做上拉排阻。
DS1302封装图:一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI 三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM 数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
包括八个引脚,其中Vcc1:主电源;Vcc2:备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。
SCLK:串行时钟,输入;I/O:三线接口时的双向数据线;RST:输入信号,在读、写数据期间,必须为高。
AT89S52芯片:40个引脚,实现单片机的控制电路功能,P0口输出显示,P2口接蜂鸣器。
USB封装图:用于驱动系统,包括四个引脚。
元器件摆放完后就开始连接线路,为了使原理图看起来美观,在连线过程中,我多处采用了标号连接。
一、实验目的1. 理解单片机定时器的工作原理和功能。
2. 掌握单片机定时器的编程方法,包括初始化、设置定时时间、启动定时器等。
3. 学会使用定时器实现定时功能,并通过实验验证其效果。
二、实验器材1. 单片机实验板2. 连接线3. 51单片机4. 计时器5. 示波器6. 电脑7. Keil软件三、实验原理定时器是单片机的一种重要外设,用于实现定时功能。
51单片机内部有两个定时器,分别为定时器0和定时器1。
定时器的工作原理是通过定时器计数器对机器周期进行计数,当计数器达到设定值时,定时器溢出,并产生中断请求。
定时器0和定时器1都具有四种工作模式,分别为:1. 模式0:13位定时器/计数器2. 模式1:16位定时器/计数器3. 模式2:8位自动重装模式4. 模式3:两个8位计数器本实验采用定时器0工作在模式1,实现50ms的定时功能。
四、实验步骤1. 将单片机实验板连接到电脑,并启动Keil软件。
2. 创建一个新的项目,并添加51单片机头文件(reg51.h)。
3. 编写定时器初始化函数,设置定时器0工作在模式1,并设置定时时间为50ms。
4. 编写定时器中断服务函数,用于处理定时器溢出事件。
5. 编写主函数,设置定时器中断,并启动定时器。
6. 编译并下载程序到单片机实验板。
7. 使用示波器观察定时器0的溢出信号。
五、实验代码```c#include <reg51.h>#define TIMER0_MODE1 0x01// 定时器0初始化函数void Timer0_Init() {TMOD &= 0xF0; // 清除定时器0模式位TMOD |= TIMER0_MODE1; // 设置定时器0工作在模式1TH0 = 0xFC; // 设置定时器0高8位初值TL0 = 0x18; // 设置定时器0低8位初值ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}// 定时器0中断服务函数void Timer0_ISR() interrupt 1 {TH0 = 0xFC; // 重新加载定时器0高8位初值TL0 = 0x18; // 重新加载定时器0低8位初值// ... (其他处理)}void main() {Timer0_Init(); // 初始化定时器0while(1) {// ... (其他处理)}}```六、实验结果与分析1. 编译并下载程序到单片机实验板,使用示波器观察定时器0的溢出信号,可以看到定时器0每隔50ms产生一个溢出信号。
实习报告:定时器调试过程一、实习背景随着科技的不断发展,嵌入式系统在各个领域的应用越来越广泛。
定时器作为嵌入式系统中的一种重要功能模块,可以实现对时间的精确控制。
本次实习的主要任务是通过调试定时器,使其能够实现精确的时间控制功能。
二、实习目标1. 熟悉定时器的基本原理和功能;2. 掌握定时器的编程和调试方法;3. 实现定时器精确控制时间的功能。
三、实习过程1. 理论研究在实习开始前,首先对定时器的基本原理和功能进行了学习。
通过查阅资料,了解到定时器是一种基于计数器的模块,可以通过设定计数器的初值和计数方式来实现对时间的精确控制。
同时,定时器还可以与中断系统相结合,实现对特定时间事件的响应。
2. 编程实现根据理论知识,编写定时器的程序代码。
首先,配置定时器的初始化参数,包括计数器初值、计数方式等。
然后,通过循环结构和中断系统,实现定时器的启动、停止和重置功能。
最后,通过计算计数器的值,得到经过的时间,实现精确的时间控制。
3. 调试过程在编程完成后,开始对定时器进行调试。
首先,通过仿真器将程序烧写入开发板。
然后,在实际运行过程中,观察定时器的功能是否符合预期。
在调试过程中,发现以下问题:(1)定时器精度不够高:通过计算发现,定时器的实际精度与理论值存在一定的差距。
经过分析,可能是由于系统时钟源的稳定性不高导致的。
(2)定时器中断响应不及时:在定时器中断服务程序中,发现中断响应的时间较长,导致定时器控制的时间不够精确。
4. 问题解决针对上述问题,采取以下措施进行解决:(1)提高系统时钟源的稳定性:更换高稳定性的时钟源,例如使用晶体振荡器替代RC振荡器。
(2)优化中断响应时间:减少中断服务程序的代码量,避免在中断服务程序中进行复杂的操作。
同时,优化中断优先级设置,提高中断响应速度。
5. 实习总结通过本次实习,掌握了定时器的基本原理和功能,熟悉了定时器的编程和调试方法。
在实际调试过程中,遇到了定时精度不够高和中断响应不及时的问题,并通过优化措施解决了这些问题。
单片机实习报告——定时器一、实习目的通过本次单片机实习,使我对单片机的工作原理和应用有更深入的了解,特别是定时器的工作原理和编程方法。
同时,培养我动手实践能力和团队协作能力,提高我在实际工程中的应用能力。
二、实习内容本次实习主要分为两个部分:定时器的原理学习和定时器的应用实践。
在原理学习部分,我通过阅读相关资料和教材,对定时器的工作原理、工作模式和编程方法有了深入的了解。
在应用实践部分,我参与了团队的项目,通过实际操作,对定时器的应用有了更直观的认识。
三、实习过程1. 定时器原理学习在定时器原理学习部分,我首先了解了定时器的基本概念,定时器是一种能够根据设定的时间间隔产生中断的硬件设备。
然后,我学习了定时器的工作原理,包括定时器的工作模式、计数器、控制寄存器等。
最后,我掌握了定时器的编程方法,通过编写程序实现定时器的定时功能。
2. 定时器应用实践在定时器应用实践部分,我参与了团队的项目。
我们选择了一个简单的应用场景,利用定时器实现一个周期性的信号输出。
我负责编写定时器的程序,设置定时器的工作模式和计数器值,实现定时器的定时功能。
同时,我还参与了团队的讨论,提出了改进意见和解决方案。
四、实习收获通过本次实习,我对定时器的工作原理和编程方法有了更深入的了解,掌握了定时器的应用方法。
同时,我在实际操作中培养了动手实践能力,提高了团队协作能力。
此外,我还学会了如何查阅相关资料和教材,提高了自己的自学能力。
五、实习总结本次实习让我对单片机的定时器功能有了更深入的了解,通过实际操作,使我对定时器的应用有了更直观的认识。
同时,本次实习培养了我的团队协作能力和动手实践能力,提高了我在实际工程中的应用能力。
在今后的学习和工作中,我将继续努力,不断提高自己的技能水平,为我国的电子科技事业做出贡献。
一、实训目的1. 理解定时器电路的工作原理和基本结构。
2. 掌握定时器电路的调试方法和技巧。
3. 培养实际操作能力和故障排除能力。
二、实训时间2023年10月26日至2023年10月30日,共5天。
三、实训地点电子信息工程实验室四、实训内容本次实训主要涉及555定时器电路的调试,包括以下内容:1. 555定时器电路的搭建。
2. 电路原理图的分析与设计。
3. 电路调试与故障排除。
五、实训步骤1. 电路搭建(1)根据电路原理图,准备所需的元器件,包括555定时器、电阻、电容、二极管、三极管、连接线等。
(2)按照电路原理图,将元器件连接成定时器电路。
(3)检查电路连接是否正确,确保无短路、断路等现象。
2. 电路原理图分析(1)分析555定时器的工作原理,了解其内部结构和引脚功能。
(2)分析电路中各个元器件的作用,以及它们之间的相互关系。
(3)根据电路原理图,推导出电路的工作过程和输出波形。
3. 电路调试(1)使用示波器观察电路输出波形,判断电路是否正常工作。
(2)根据电路原理和输出波形,分析电路存在的问题,并进行调整。
(3)调整电路参数,如电阻、电容等,使电路输出满足设计要求。
4. 故障排除(1)检查电路连接是否正确,确保无短路、断路等现象。
(2)分析电路工作原理,找出故障原因。
(3)采取相应的措施,如更换元器件、调整电路参数等,排除故障。
六、实训结果与分析1. 电路搭建经过5天的努力,成功搭建了555定时器电路,并完成了电路连接和检查。
2. 电路原理图分析通过对电路原理图的分析,了解了555定时器的工作原理和电路结构,掌握了电路的工作过程和输出波形。
3. 电路调试在调试过程中,遇到了以下问题:(1)输出波形不稳定:通过调整电阻、电容等参数,使输出波形稳定。
(2)输出频率不正确:根据电路原理,推导出输出频率的计算公式,并调整电阻、电容等参数,使输出频率满足设计要求。
(3)输出波形失真:分析电路工作原理,找出失真原因,并采取相应的措施,如调整电阻、电容等参数,使输出波形恢复正常。
最新PLC实验三:定时器实验报告实验目的:1. 理解PLC定时器的工作原理及其在自动化控制中的应用。
2. 学习如何编程和配置PLC中的定时器。
3. 掌握使用不同类型的定时器(如TON, TOF, RET)进行时间控制的技巧。
实验设备和材料:1. 西门子S7-1200 PLC2. TIA Portal编程软件3. HMI触摸屏(可选)4. 电源线和接线工具5. 定时器实验指导书实验步骤:1. 打开TIA Portal编程软件,创建一个新的项目。
2. 在项目中添加S7-1200 PLC,并进行硬件配置。
3. 根据实验指导书的要求,编写PLC程序,包括设置定时器的预设时间和动作。
4. 使用TON(接通延时)定时器,实现当输入信号激活后,输出信号在设定的时间后激活。
5. 使用TOF(断开延时)定时器,实现当输入信号断开后,输出信号保持激活一段时间然后断开。
6. 使用RET(循环重置)定时器,创建一个周期性的任务,如每隔一定时间激活一次输出信号。
7. 将编写的程序下载到PLC中。
8. 连接电源,启动PLC,并监控程序运行情况。
9. 观察HMI触摸屏(如果使用)上的定时器状态和输出信号的变化。
10. 记录实验数据和观察结果,验证定时器的工作效果。
实验结果分析:1. 描述定时器在实验中的具体应用和表现。
2. 分析定时器参数设置对实验结果的影响。
3. 讨论在实际工业控制中定时器的重要性和应用场景。
实验结论:总结本次实验中学习到的定时器编程知识,以及定时器在自动化控制中的作用和意义。
指出实验中遇到的问题和解决方案,以及可能的改进方向。
注意事项:1. 在进行接线和设备操作时,务必遵守安全规程。
2. 确保PLC程序正确无误后再下载到控制器中。
3. 在实验过程中,应仔细观察并记录定时器的行为,以便于后续分析。
以上是定时器实验报告的基本内容,具体细节和数据应根据实验过程中的实际情况进行填充和调整。
一、实验目的1. 理解定时器的基本原理和工作方式。
2. 掌握定时器的配置和使用方法。
3. 通过编程实现定时器的定时功能。
4. 学习定时器中断的应用。
二、实验环境1. 实验设备:单片机实验板、电源、连接线等。
2. 实验软件:Keil uVision 4、IAR EWARM等C语言开发环境。
三、实验原理定时器是一种用于实现时间延迟的硬件模块,它能够在预定的时间内产生中断或完成特定的操作。
定时器通常由计数器、控制寄存器、时钟源等组成。
定时器的工作原理是利用时钟源产生的时钟信号对计数器进行计数,当计数器达到预设值时,触发中断或完成特定操作。
四、实验内容1. 定时器基本配置(1)设置定时器模式:根据实验需求,选择定时器的工作模式(如模式0、模式1等)。
(2)设置定时器时钟源:选择定时器时钟源(如系统时钟、外部时钟等)。
(3)设置定时器计数初值:根据实验需求,设置定时器计数初值。
2. 定时器定时功能实现(1)编写程序初始化定时器:配置定时器模式、时钟源、计数初值等。
(2)编写定时器中断服务程序:在中断服务程序中实现定时功能,如控制LED闪烁、读取传感器数据等。
3. 定时器中断应用(1)配置定时器中断:设置定时器中断优先级、中断使能等。
(2)编写定时器中断服务程序:在中断服务程序中实现所需功能,如采集数据、发送数据等。
五、实验步骤1. 编写程序初始化定时器:设置定时器模式、时钟源、计数初值等。
2. 编写定时器中断服务程序:实现定时功能,如控制LED闪烁。
3. 编写定时器中断配置程序:设置定时器中断优先级、中断使能等。
4. 编译、下载程序:将编写好的程序编译生成HEX文件,通过编程器下载到实验板上。
5. 运行实验:观察实验现象,如LED闪烁频率、数据采集等。
六、实验结果与分析1. 定时器定时功能实现实验结果显示,定时器能够按照设定的定时时间产生中断,中断服务程序能够正确执行。
例如,LED闪烁频率与定时时间一致。
定时器实验报告
一、实验目的
学习如何在单片机中使用定时器,进一步理解定时器的工作
原理和使用方法。
二、实验器材
单片机开发板、电脑、LED灯或蜂鸣器等外部设备。
三、实验原理
定时器是一种内部的计时设备,可以通过设置定时器的工作
方式、计时单位和计时周期来完成不同的定时任务。
单片机上通常会有一个或多个定时器模块,我们可以通过配置和操作这些定时器模块来实现各种计时、延时、定时触发等功能。
四、实验步骤
1. 初始化定时器:设置定时器工作方式、计时单位和计时周期。
2. 启动定时器:开始计时。
3. 监测定时器中断:定时器计时完成后会触发中断。
4. 处理定时器中断:在中断服务程序中进行相应的操作,如
控制LED灯闪烁、发出蜂鸣器声音等。
5. 关闭定时器:计时完成后关闭定时器。
五、实验结果和分析
在实验中,我们可以通过设置不同的计时器工作方式、计时
单位和计时周期来实现不同的定时效果。
例如,如果将定时器设置为周期性计时方式,计时单位为微秒,计时周期为1000,
那么定时器每隔1毫秒(1000微秒)就会触发一次中断,我
们可以在中断服务程序中控制LED灯或蜂鸣器进行响应操作。
六、实验心得
通过本次实验,我进一步了解了定时器的工作原理和使用方法。
定时器是单片机中常用的功能模块,可以实现各种时间相关的功能。
掌握了定时器的使用,有助于提高单片机系统的定时、延时、调度等能力,为后续的项目开发和应用打下良好的基础。
本次实训旨在使学生了解看门狗定时器的基本原理、工作方式以及在嵌入式系统中的应用,通过实际操作,掌握看门狗定时器的配置、使用方法,并学会利用看门狗定时器解决嵌入式系统中的故障和异常。
二、实训内容1. 看门狗定时器原理- 看门狗定时器是一种监测硬件或软件故障的定时器,其工作原理是在程序运行过程中不断重装载,以防止溢出引发中断或复位。
- 看门狗定时器分为独立看门狗和窗口看门狗两种类型。
2. 独立看门狗(FWDGT)- 独立看门狗使用独立的32kHz内部时钟,适用于对计时精度要求不高的场合。
- 独立看门狗内部有一个12位的向下计数的定时器,当计数值达到0时,会产生一个系统复位。
3. 窗口看门狗(WWDGT)- 窗口看门狗使用PCLK分频而来的时钟,计数器位数较小,需要在窗口范围内重装载以防复位。
4. 看门狗定时器的配置与使用- 了解看门狗定时器的相关寄存器,如预分频器、计数器、重装载寄存器、键寄存器和状态寄存器等。
- 根据实际需求配置看门狗定时器的时钟源、计数器值、窗口范围等参数。
- 在程序中定期重装载看门狗定时器,以防止系统复位。
5. 看门狗定时器的实际应用- 利用看门狗定时器解决嵌入式系统中的故障和异常。
- 通过看门狗定时器监控程序运行状态,防止死锁。
- 作为系统安全特性的一部分,确保在检测到异常时能够安全地重启系统。
1. 准备工作- 准备好实训所需的硬件设备和软件环境,如单片机开发板、调试器、IDE等。
2. 环境搭建- 根据实际需求搭建实训环境,包括硬件电路连接和软件配置。
3. 看门狗定时器配置- 了解看门狗定时器的相关寄存器,如预分频器、计数器、重装载寄存器、键寄存器和状态寄存器等。
- 根据实际需求配置看门狗定时器的时钟源、计数器值、窗口范围等参数。
4. 程序编写- 编写程序,实现看门狗定时器的初始化、重装载和监控功能。
- 在程序中定期重装载看门狗定时器,以防止系统复位。
5. 调试与验证- 使用调试器对程序进行调试,观察看门狗定时器的运行状态。
定时器的实验报告1. 实验目的本实验旨在通过使用定时器,了解定时器的基本原理和应用。
2. 实验原理定时器是一种重要的计时工具,其基本原理是通过一个稳定的时钟信号,计算经过的时间并进行相应的操作。
定时器通常由一个计数器和一个时钟源组成。
定时器的计数器可以根据预设的值不断自增,当计数器达到设定值时,就会触发相应的中断或输出信号。
时钟源为定时器提供稳定的时钟脉冲,可以通过外部晶振、振荡器等方式提供。
3. 实验材料•单片机开发板•电脑•USB 数据线4. 实验步骤步骤1:准备工作连接开发板和电脑,确保开发板正常工作,并具备编程的能力。
步骤2:编写代码使用编程软件打开官方提供的开发工具,创建一个新项目。
在代码文件中添加定时器相关的代码,设置计数器的初始值和触发中断的条件。
步骤3:编译和烧录编译代码,并将生成的目标文件烧录到开发板中。
确保烧录成功,无误后进行下一步。
步骤4:实验测试将开发板连接到示波器或其他外设,观察定时器中断或输出信号的波形和频率。
根据需要,可以调整定时器的计数器初始值、触发条件等参数,观察不同的实验结果。
5. 实验结果与分析经过实验测试,可以观察到定时器正常工作,并且在达到预设值时触发中断或输出信号。
根据预先设定的参数,可以得到不同的定时器工作效果。
通过观察波形和频率,可以验证定时器的准确性和稳定性。
6. 实验总结本实验通过使用定时器,掌握了定时器的基本原理和应用。
定时器在嵌入式系统和计时器等领域具有重要的作用。
掌握定时器的使用,可以为后续的实验和项目开发提供参考和基础。
在实验过程中,需要注意定时器参数的设置和调整,以达到预期的结果。
定时器的使用还需要考虑中断优先级、占用资源等相关因素,并根据实际需求进行适当的优化。
7. 参考资料•数据手册,XX单片机系列。
•XX单片机开发手册。
以上是关于定时器的实验报告的基本结构,根据实际情况和实验过程,可以进行合理的扩展和修改。
在实验报告中,需要包含相关材料、步骤、结果和分析,以便于他人理解和参考。
淮阴工学院硬件实习报告选题名称:定时器系(院):计算机工程学院专业:通信专业班级:姓名:学号:指导教师:学年学期:2010 ~ 2011 学年第 2 学期2011 年 6 月10 日摘要:随着时代的进步,电子行业的发展,定时器的应用也越来越广泛。
传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器。
相对于传统的定时器,电子定时器体积小、重量轻、造价低、精度高、寿命长而且安全可靠、调整方便、适于频繁使用。
本设计利用定时器/计数器定时2s,某键按下去开始计时,定时时间到红灯亮,再按一下停止计时。
利用单片机80C51实现定时2s的功能。
采用按键方式控制定时器工作及LED。
复位电路选用上电自动复位方式。
本文详细阐述了系统工作原理,并给出了硬件连接图,软件流程及代码分析。
关键词:80C51;定时器;LED;复位电路;振荡电路;按键电路设计任务书指导教师(签章):2011 年 5 月 6 日目录1 课题综述 (1)1.1 课题来源和意义 (1)1.2 预期目标及实现方法 (1)2 系统分析 (1)2.1 涉及的基础知识 (1)2.2 总体方案 (5)3 系统设计 (5)3.1 硬件连接 (5)3.2 软件设计 (6)总结 (9)致谢.......................................................................................... . (10)参考文献............................................................................................. . (11)1 课题综述传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有试用时间继电器的。
相对于传统的定时器,电子定时器体积小、重量轻、造价低、精度高、寿命长而且安全可靠、调整方便、适于频繁使用。
所以电子定时器的发展必定大有前途。
同时随着现代电子技术的发展,电子定时器也在不断的进步,朝着更多用途、更高精度、更小体积发展着。
1.1 课题来源和意义定时器是日常生活中用得最多的,例如,家用电器中的微波炉、洗衣机、电饭煲等内部都含有不同形式的定时器。
在工业控制中,也经常遇到对某些物理量定时进行采样与控制的问题。
在本设计中,定时器将利用单片机80C51实现简单的定时器功能。
本课题的意义在于通过设计和制作本课题把学习到的知识融会贯通并应用到实际当中。
做到学有所成,学有所用。
1.2 预期目标及实现方法定时器要求利用定时器/计数器定时2s,某键按下去开始计时,定时时间到红灯亮,再按一下停止计时。
利用单片机80C51实现定时2s的功能。
采用按键方式控制定时器工作及LED。
复位电路选用上电自动复位方式。
2 系统分析单片机是集成在一个芯片上的计算机,是计算机、自动控制和大规模集成电路技术相结合的产物,融计算机结构和控制功能于一体。
本课程设计采用8位单片机中一个最基本、最典型的芯片型号80C51。
2.1 涉及的基础知识2.1.1 80C51单片机的封装与信号引脚80C51有40引脚双列直插式DIP和44引脚方形扁平式QFP共两种封装形式。
常用双列直插式封装形式,如图2-1所示。
图2-1 8051芯片引脚1.输入/输出口线P0.0~P0.7 P0口8位双向口线P1.0~P1.7 P1口8位双向口线P2.0~P2.7 P2口8位双向口线P3.0~P3.7 P3口8位双向口线2.访问程序存储器控制信号EA当EA信号为低电平时,对ROM的读操作是针对外部程序存储器的;而当EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。
3.复位信号RST当输入的复位信号延续2个机器周期以上高电平时即为有效,用于完成单片机的复位操作。
4.外接晶体引线端XTAL1和XTAL2当使用芯片内部时钟时,XTAL1和XTAL2用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号。
2.1.2 80C51单片机的时钟电路单片机的时钟电路由振荡电路和分频电路组成。
其中振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。
而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。
1.振荡电路80C51芯片中的高增益反相放大器,其输入端为引脚XTAL1,输出端为引脚XTAL2。
通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器(电容C1和C2一般取30pF)。
石英晶体为一感性元件与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。
2.分频电路振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,经分频后才能得到单片机各种相关的时钟信号。
振荡脉冲经二分频后作为系统的时钟信号。
2.1.3 80C51单片机的系统复位复位是单片机的硬件初始化操作。
经复位操作后,单片机系统才能开始正常工作。
复位操作有:为一些专用寄存器设置初始状态、程序状态字PSW清0、程序计数器PC 被赋值为0000H以及为芯片的某些引脚设置电平状态等内容。
复位操作有两种复位方式,即加电复位和手动复位。
加电复位是指通过专用的复位电路产生复位信号。
它是系统的原始复位方式,发生在开机加电时,是系统自动完成的。
加电复位是基本的、任何单片机系统都具有的功能。
手动复位也应通过专用的复位电路实现。
复位电路用于产生复位信号。
80C51基本复位电路共育上电复位、按键电平复位和按键脉冲复位3种。
其中上电自动复位是通过电容充电来实现的,如图2-2所示。
只有电源Vcc的上升时间不超过1ms,就可以实现自动上电复位。
图2-2 上电复位2.1.4 80C51单片机的中断系统1.中断源与中断向量80C51的中断系统具有6个中断源:2个外部中断、2个定时器中断和2个串行中断。
定时器中断是为了满足定时或计数的需要而设置的。
在单片机芯片内部有2个定时器/计数器,所以定时器中断也有2个:定时器1中断和定时器0中断。
当计数器溢出时,表明定时时间到或计数值满,这时内部电路就产生中断请求。
由于这种中断请求是在芯片内部发生,因此,在芯片上没有对应的中断请求引入端。
中断向量是程序存储器的一个地址,表明一个中断的服务程序从这里开始存放。
中断发生后要通过它引导CPU转向相应的中断服务。
表2-1 80C51的中断中断名称中断向量外部中断0 0003H定时器0中断000BH外部中断10013H定时器1中断001BH串行发送中断0023H串行发送中断0023H2.中断控制中断控制是通过硬件实现的,但须进行软件设置。
中断控制的内容共有4项:中断允许控制、中断请求标志、中断优先控制和外中断触发方式控制。
这些控制内容分布在4个控制寄存器中,包括:中断允许寄存器、定时器控制寄存器、串行控制寄存器和中断优先级寄存器。
其中,中断允许寄存器IE用于控制是否允许使用中断。
80C51通过中断允许控制寄存器对中断允许实行两级控制:中断系统总控制和各类中断单个控制。
当总控制位EA=0时,关闭中断系统,整个系统处于中断禁止状态,即使各分类中断是允许的也不管用;只有当EA=1时,开放中断系统,这时才能由各分类中断控制位控制分类中断的允许与禁止。
定时器中断允许控制位为ET0和ET1:当ET0(ET1)=0时,禁止定时器中断;当ET0(ET1)=1时,允许定时器中断。
2.1.5 80C51单片机的定时器80C51的CPU内部包含两个16位定时器,分别是Timer0和Timer1,这两个Timer 统一由TMOD和TCON来掌握。
寄存器TMOD控制Timer的定时器模式,该寄存器以M1M0工作方式选择位指定Timer0或Timer1的工作模式。
M1M0=00,工作方式0;M1M0=01,工作方式1;M1M0=10,工作方式2;M1M0=11,工作方式3。
定时器工作方式1是16位计数结构的工作方式,计数器由THX的全部8位和TLX的全部9位构成,计数范围最长为:1~65536,因而,本设计定时器采用工作方式1。
定时时间计算公式为:(65536-计数初值)×晶振周期×12 (2.1) 本设计系统中,使用的振荡频率是12MHz,定时分辨率是1us。
TCON寄存器内部指示两个Timer的工作结果,通过设置TCON的状态,来停止或启动Timer。
运行控制位TR0(TR1)=0,停止Timer工作;TR0(TR1)=1,启动Timer工作。
2.2 总体方案本课程设计系统主体分硬件电路设计和软件设计。
硬件电路由80C51、复位电路、振荡电路、LED电路及按键电路组成。
以80C51单片机做为核心器件,振荡电路用来产生时钟信号,复位电路用于产生复位信号,按键电路产生控制信号。
软件设计采用汇编语言。
功能模块图,如图2-3所示。
图2-3 功能模块图3 系统设计3.1 硬件连接3.1.1 利用protel 99SE绘制电路原理图和PCB图绘制原理图的步骤: a.新建一个原理图文件 b.原理图纸大小设置 c.从元件库中选择和放置元器件 d.原理图布线 e.ERC检测 f.编辑与调整g.存盘打印。
如图3-1所示。
绘制PCB制作步骤:a.准备原理图文件和网络表文件 b.新建PCB文件 c.装入网络表 d.元器件布局 e.PCB布线 f. DRC检测g.编辑与调整。
如图3-2所示。
图3-1 protel原理图图3-2 PCB图3.1.2 利用proteus进行电路仿真使用proteus仿真的基础是要绘制准确的原理图并进行合理的设置,绘制原理图使用ISIS原理图输入系统。
如图3-3所示。
具体步骤:(1)启动ISIS原理图工具,打开设计文档。
(2)选择模板,保存设计。
(3)放置元件并布线。
(4)添加目标程序文件。
(5)进行仿真与调试。
图3-3 proteus原理图3.2 软件设计3.2.1 算法流程图图3-4 流程图3.2.2 代码编写代码主要有三部分:控制定时器的启动与停止、控制LED亮与灭和按键状态。
1.单片机启动定时器的步骤:a. 设定TMOD的值,从而确定工作模式与启动方法。
b. 设定IE的值:启动中断。
c. 设定TLX、THX的值:从而决定定时器的量。
d. 启动定时器。
2. p1.1端口控制LED亮与灭当p1.1端口输出高电平,即p1.1=1时,根据发光二极管的单向导电性可知,这时发光二极管D1熄灭;当p1.1端口输出低电平,即p1.1=0时,发光二极管D1亮。
使用SETB P1.1指令使p1.1端口输出高电平,使用CLR P1.1指令使p1.1端口输出低电平。
3.按键状态开关状态的检测过程相对于单片机来说,是检测p1.6端口输入的信号,而输入的信号只有高电平和低电平两种。