51单片机内部定时器/计数器实验
51单片机内部定时器/计数器实验
一、实验内容
使用MCS-51内部定时/计数器,定时1秒钟,CPU运用定时中断方式,实现每1秒钟输出状态发生一次反转,即发光管每隔1秒钟亮一次(P1.7接LED)。
根据实验内容编写一个程序,并在实验仪器上调试和验证。
二、仿真图
三、代码
C语言实现:
# include <reg52.h>
# include <intrins.h>
# define uint unsigned int
# define uchar unsigned char sbit LED=P1^0;
uchar t,temp;
void init();void main()
{ t=0;init();while(1){if(t>=20){ t=0;LED=~LED ;}}}
void init()
{// 定时器1TMOD=0x10;//设置定时器1 的工作方式TH1=(65536-50000)/256;TL1=(65536-50000)%256; EA=1;//开总中断ET1=1;//开定时器1 的中断TR1=1;//启动定时器1;
}
void timr1() interrupt 3
{TH1=(65536-50000)/256;TL1=(65536-50000)%256; t++;
}
汇编实现:
TICK EQU 10000 ; 10000 X 100US = 1ST100US EQU 156 ; 100US时间常数(6M)C100US EQU 30H ; 100US记数单元LEDBUF BIT 20HORG 0000HLJMP STARTORG 000BHLJMP T0INTORG 0030HSTART: MOV SP, #60HMOV TMOD, #02H ; 定时器0,方式2 MOV TH0, #T100USMOV TL0, #T100USMOV IE, #10000010B ; EA=1, IT0 = 1SETB TR0 ; 开始定时CLR LEDBUFCLR P1.0MOV C100US, #27H ;#HIGH(TICK)MOV C100US+1, #10H ;#LOW(TICK)
LOOP: MOV C, LEDBUFMOV P1.0, CSJMP LOOPT0INT: PUSH PSWMOV A, C100US+1JNZ GOONDEC C100US
GOON: DEC C100US+1MOV A, C100USORL A, C100US+1JNZ EXIT ; 100US 记数器不为0, 返回MOV C100US, #27H ; #HIGH(TICK)MOV C100US+1, #10H ; #LOW(TICK)CPL LEDBUF ; 100US 记数器为0, 重置记数器,取反LED
EXIT: POP PSWRETIEND
51单片机内部定时器/计数器实验相关推荐
- 51单片机之定时器\计数器的工作原理
51单片机之定时器\计数器的工作原理 定时器/计数器的结构: 何时处于计数器方式?何时处于定时器方式? TCON和TMOD特殊功能寄存器: 定时器/计数器工作方式: 方式0:13位的定时器/计数器 方 ...
- 【51单片机】定时器/计数器的工作原理和结构(一)
[51单片机]定时器/计数器的工作原理和结构 回看下单片机中断系统内部结构: 分析内部中断触发: 先看图 TCON:和外部中断相比少了IT位设置触发方式 :1跳沿触发 0电平触发:此处我的理解是:就好 ...
- 关于用51单片机内部定时器实现时钟和闹钟功能的概述
关于用51单片机内部定时器实现时钟和闹钟功能的概述 仅个人观点,欢迎大家相互学习和讨论 STC89C52单片机,内部配置了三个定时器,T0\T1\T2,其中T2定时器我们几乎不用,或者说很少用到.我们 ...
- 51单片机笔记:定时器/计数器
单片机笔记 定时器/计数器 定时器/计数器的结构 AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器 ...
- 六、51单片机之定时器/计数器_理论
1.什么是定时器.计数器 定时器就是单片机设定一个时间间隔,时间间隔到后通知单片机.例如设置100ms的定时器,100ms后定时器通知单片机时间到了. (1)定时器是单片机的一种内部外设.(以前的单片 ...
- 51单片机之定时器/计数器应用实例(方式0、1、2、3)
硬件:STC89C52RC 开发工具:Keil uVision4 对于刚接触单片机的同学来说可能会对定时器/计数器的应用很蒙圈,特别是初值的计算和各种定时方式的选择.下面希望能给你带来一个清晰的思路. ...
- 51单片机内部外设:定时器和计数器
定时器 51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成. 定时器作用: 1.用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作: 2.替代长时间的for循 ...
- 定时器计数器实验C语言程序,单片机定时器计数器实验报告.docx
单片机定时器计数器实验报告 单片机定时器计数器实验报告 篇一:单片机计数器实验报告 计数器实验报告 ㈠ 实验目的 1. 学习单片机内部定时/计数器的使用和编程方法: 2. 进一步掌握中断处理程序的编程 ...
- 《单片机》实验——实验4 MCS-51内部定时/计数器实验(2)
<单片机>实验--实验4 MCS-51内部定时/计数器实验(2) 一.实验目的 二.知识要点 三.实验内容 实验一至实验七配套源代码.电路图.hex文件.实验报告,请点击此处 一.实验目的 ...
最新文章
- Oracle NVL函数的用法
- VC socket api使用引入
- PHP的Smarty较为完整的笔记
- readmemh函数引用的txt格式_verilog的系统函数$readmemh的使用
- iOS从生成证书到打包上架-02(详细2016-10最新)
- TensorFlow基础篇(三)——tf.nn.softmax_cross_entropy_with_logits
- ubuntu12 环境下编译freerdp
- cad图纸怎么看懂_教你如何快速看懂建筑施工图纸
- MFC对TXT文档的操作—读、写、删、查
- 斐讯K2 V22.X.X.X 新版固件 刷机教程 (开telnet,安装SSH,adbyby,刷breed,华硕Padavan)
- Android云测云真机调试平台
- 4根网线水晶头接法(8根只接4根即可通讯)
- el-table 表尾行合并,列合并,统计
- 【OpenCV】尺寸测量
- 牛牛的旅游纪念品(背包DP)
- 程序员除了去上班还能怎样赚钱?
- 面试总结-拉开2014校招的序幕
- 生物基础知识---CDS,基因,Matlab生物信息工具箱
- Hackthebox Three
- CF1661D Progressions Covering