一、实验目的与任务

实验目的:

1.掌握定时/计数器的中断法工作原理;

2.熟悉C51编程与调试方法。

任务:

1. 运行Keil开发环境,完成定时器软件编程;

2. 建立Proteus仿真模型;

3.完成系统仿真与调试。

二、实验内容

1. 利用片内定时器/计数器进行定时,定时间隔3s;

2. 选择I/O口接入发光二极管;

3. 使用AT89S51单片机的定时器/计数器T1控制LED每隔3秒点亮一次(即亮3秒,灭3秒,如此反复)。

三、实验内容

(1)软件实现:

实验步骤:

1.运行Keil uVision5 开发环境,按照“模块化单片机教学实验平台配套的实验指导书1.2.3 节”介绍的方法建立程esimlab6. uvproj,CPU 为AT89S51,包含启动文件STARTUP.A51。

2.输入源程序,在Keil uVision5 开发环境中,建立源程序esimlab6.c,将上述程序加入该程序文件。并将该文件加入工程esimlab6.uvproj。

3.设置工程esimlab6. uvproj 属性,将其晶振频率设置为12MHz,选择输出可执行文件(HEX 文件),仿真方式为“Use Simulator”。

4.构造(Build)工程esimlab6.uvproj。如果输入有误进行修改,直至构造正确,生成可执行程序 esimlab6.hex 为止。

(2)Proteus仿真:

实验步骤:

1.运行Proteus 开发环境,建立工程,新建原理图设计文件esimlab6. Pdsprj,参考图一。

 图一 原理图实例

2.设置单片机属性,将其晶振频率设置为12MHz,载入KEIL生成的文件esimlab6.hex。

3.运行仿真并观察结果。

四、实验报告

main.c

#include <REGX51.H>void Timer1_Init(void); //中断初始化函数void main(){Timer1_Init();//中断初始化P1_5 = 0;while(1){}
}void Timer1_Init(void)     //1毫秒@12.000MHz
{TMOD &= 0x0F;     //设置定时器模式TMOD |= 0x10;     //设置定时器模式TL1 = 0x18;       //设置定时初值TH1 = 0xFC;        //设置定时初值TF1 = 0;       //清除TF1标志TR1 = 1;      //定时器1开始计时ET1 = 1;     EA = 1;            //中断总允许PT1 = 0;
}void Timer1_Routine() interrupt 3 //定时器1中断函数
{static unsigned int count1 = 0;TL1 = 0x18;       //设置定时初值TH1 = 0xFC;        //设置定时初值    count1++;if(count1 == 3000){ //每三秒转换一次状态count1 = 0;P1_5 = ~P1_5;}}

TO、T1 都具有定时器和计数器两种工作模式,不论是工作在定时器模式还是计数器模式,实质都是对脉冲信号进行计数,只不过是计数信号的来源不同。计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚上的外部脉冲进行计数;而定时器模式是对单片机的系统时钟信号经片内12分频后的内部脉冲信号(脉冲信号周期=机器周期)计数。由于系统时钟频率是定值,所以可根据计数值计算出准确的定时时间。两个定时器/计数器属于增1计数器,即每对一个脉冲计数,则计数器赠1。

实验(六):定时器实验相关推荐

  1. <微机原理>[汇编语言]-[实验五] 定时器实验

    实验五 定时器实验 一.实验目的 学习定时器的工作原理及使用方法. 学习定时器的初始化程序.应用程序的编写和调试. 二.实验仪器 Keil5 普中A2开发板 stc-isp 三.实验内容 数码管间隔一 ...

  2. 实验六——存储过程实验

    实验六--存储过程实验 一.实验题目 二.实验目的 三.实验过程 (一)准备数据表 (二)存储过程实验 [存储过程简介] [存储过程优点] 1.创建存储过程 2.查看存储过程 3.修改存储过程 4.删 ...

  3. 定时器实验循环彩灯C语言,单片机实验三-定时器实验

    实验三 定时器实验 --循环彩灯实验 一. 实验目的 1. 学习8051内部计数器的使用和编程方法. 2. 进一步掌握中断处理程序的编写方法. 二. 实验原理 1. 定时常数的确定 定时器/计数器的输 ...

  4. 大学计算机实验6实验报告,东华大学计算机病毒课实验六宏病毒实验报告

    <东华大学计算机病毒课实验六宏病毒实验报告>由会员分享,可在线阅读,更多相关<东华大学计算机病毒课实验六宏病毒实验报告(12页珍藏版)>请在读根文库上搜索. 1.计 算 机 病 ...

  5. 计算机病毒检测报告.pdf,东华大学计算机病毒课实验六宏病毒实验报告.pdf

    东华大学计算机病毒课实验六宏病毒实验报告 计 算 机 病 毒 实验报告 姓 名: 学 号: 老 师: 日 期: 一. 实验目的 Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能 使日 ...

  6. linux终端定时器实验报告,定时器实验报告.doc

    定时器实验报告 实验六 定时器 / 计数器 一.实验目的 ⒈ 学会8253芯片和微机接口的原理和方法.掌握8253定时器/计数器的工作方式和编程原理. 二.实验内容 用8253的0通道工作在方式3,产 ...

  7. 数据库实验六综合实验-水果商店进阶一

    文章目录 一.实验目的与要求: 二.实验内容 1. 修正订单详情表orderitems中的水果价格与水果表fruits中的价格一致. 2. 在订单详情表orderitems插入新订单时自动获得水果价格 ...

  8. 大学计算机作业实验六PPT,实验六MSI计数器应用.ppt

    <实验六MSI计数器应用.ppt>由会员分享,可在线阅读,更多相关<实验六MSI计数器应用.ppt(12页珍藏版)>请在装配图网上搜索. 1.实验六 MSI计数器应用,一.实验 ...

  9. python语言程序设计实践教程答案实验六_20192417 实验一《Python程序设计》实验报告...

    20192417 2019-2020-2 <Python程序设计>实验1报告 课程:<Python程序设计> 班级: 1924 姓名: 张家华 学号:20192417 实验教师 ...

  10. matlab绘图实验六,matlab 实验一 特殊函数与图形

    实验一特殊函数与图形 著名的Riemann函数大家都很熟悉了,但是关于它的图像你是否清楚呢?除了最上面那几点,其他都很难画吧?你想不想看看下面那些"挤在一起"的点是怎样分布的呢?还 ...

最新文章

  1. 常用排序算法对比(时间复杂度、稳定性)
  2. 通知 | 2021年度“RONG”奖学金入围答辩名单公布
  3. JAVA[Algorithm]--戴克斯特拉
  4. 静态方法、类方法、属性方法
  5. 驾照考试:六百公里考试流程与注意事项
  6. golang interface 类型转换_无符号Golang程序逆向方法解析
  7. PIC模拟从入门到熟练系列之组会PPT20210913《Note of PIC》
  8. java进制代码_Java将字节转换为十六进制代码分享
  9. Java:数列排序 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
  10. 大话oraclerac集群、高可用性、备份与恢复_Oracle RAC结构
  11. php手机论坛程序,网站开发-php开发手机论坛(8)-编辑帖子
  12. 2013第四届CSTQB国际软件测试高峰论坛会前培训
  13. React Fullpage
  14. 密码管理器(PM)安全机制和问题研究
  15. mysql架构学习——数据库结构优化笔记
  16. 2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
  17. token的使用方法
  18. 极客云上使用anaconda配置python2.7+tensorflow1.8
  19. 蓝桥杯刷题日记 更新到2022/2/5
  20. 设计模式-day05

热门文章

  1. ARKit之路-ARSession生命周期管理与跟踪质量
  2. 【原创】大叔经验分享(30)CM开启kerberos
  3. 对于line-height的一些理解
  4. 网站域名被劫持、网站dns被劫持 域名跳转到别的网站的解决方法
  5. 2023前端求职经历回顾及面试题总结
  6. Linux命令--chroot
  7. XML转Json 设置指定节点为数组
  8. MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)
  9. docker gpu 创建 训练环境_通过Dockerfile创建caffe-gpu环境
  10. php画梯形,科学网—梯形法误差 - 张江敏的博文