单片机实现60s定时器
单片机573+数码管+按钮 实现60秒的定时器
知识:
IE寄存器

TCON寄存器

TMOD 寄存器

/*****************
2个定时中断,2个按钮中断
*******************/
#include <reg51.h>
#define SEG P2 //数码管 断码口
#define SCANP P1 //数码管 com扫描口
sbit OC = P0^; //定义573锁存器使能口,我是用的573驱动7段数码管
sbit PB0=P3^; //按钮0
sbit PB1=P3^; //按钮1
/********************
第一个定时器
********************/
#define count_M1 50000 // 0.05s MODE 1 一个机器周期1us 这里12MHZ 机器周期=1/(12/12) 定时时间=定时个数*机器周期=50000*1us =0.05s
#define TH_M1 (65536-count_M1)/256 //MODE 1 高4位
#define TL_M1 (65536-count_M1)%256 //MODE 1 低4位
; /***定义中断次数,第一个中断***/
/**********************
第2个定时器
**********************/
#define count_M2 250 //MODE 2 250*1us = 0.25s
#define TH_M2 (256-count_M2) //方式2 高4位
#define TL_M2 (256-count_M2) //方式1 低4位
; /***定义中断次数 ,第2个中断***/
]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67 }; // 共阴极
]={ 0x3f,0x3f }; // 数码管开始显示 0 0
;
;
void delay(void);
main()
{
OC = ; //锁存置0 ,点亮数码管
IE=0x8f; // 1000 1111 1000开启总中断 1111开启4个中断
TCON=0x00; //低电平0触发
TMOD=0x21; // 0010 0001 timer1采用方式2 timer0采用方式1
TH0=TH_M1; //T0高4位 MODE 1
TL0=TL_M1; //T0低4位 MODE 1
TR0=; //不启动 T0
TH1=TH_M2; //设置T1自动加载值,计数值 MODE2
TL1=TL_M2; // T1 MODE2
TR1=; //启动T1
P3 =0xff; //设置按钮输入
);
}
/**************
中断0 计算并显示秒数
***************/
{
TH0=TH_M1;
TL0=TL_M1;
) //中断计数20次 0.05*20 = 1S
{
count_T0=;
seconds++;
)
seconds=;
}
disp[]=TAB[seconds/]; //十位
disp[]=TAB[seconds%]; //个位
}
/***********************
中断1 扫描
************************/
{ ) //0.25us * 32 ==8ms
{
count_T1=;
) //不能超过十位
scan=;
SEG=0xff;
SCANP=~scan;
SEG=disp[scan-];
}
}
/************************
按钮 0 中断 码表开始/暂停
*************************/
{
TR0=~TR0; //启动/暂停定时器
);
delay(); //延时去抖动
}
/************************
中断1 按钮 1 复位
************************/
{
);
delay();
seconds=;
disp[]=disp[]=0xc0;
}
void delay(void) //延时去抖动
{
int i;
;i<;i++); // 2400 * 8 = 19200us = 20ms
}
单片机实现60s定时器的更多相关文章
- C51单片机_day_01(定时器和中断系统)
c51单片机 51单片机是控制电路系统的开关,当然芯片就是51芯片,现在随着科技的发展,也是出了很多,功能更多,更全的芯片. 51是用c语言做为程序编程的语言 ——我对基本基础 ...
- STM32F103单片机学习—— 通用定时器
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fengshuiyue/article/details/79150724 本篇重点记录的是STM32F ...
- 【单片机】CH32V103C8T6定时器3程序实验
代码功能:每隔1毫秒进入一次定时器中断. 每隔1秒串口打印一次数据. time.c #include "time.h" #include "ch32v10x.h" ...
- 26.单片机中利用定时器中断,在主流程while(1){}中设置每隔精确时间计量
{ CountMilliseconds++;//只负责自加,加到最大又重新从0开始 } u16 setDelay(u16 t) { ); } u8 checkDelay (u16 t)//返回非零表示 ...
- MCS-51单片机的定时器/计数器概念
一.MCS-51单片机的定时器/计数器概念 单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,而花费的时间恰好是1微秒;只要相邻两个计数脉冲之间的时间间隔相等,则计 ...
- ATmega328P定时器详解
写这篇文章,纯粹是想为博客拉点点击量.在博客园,游客访问好像是不计入阅读量的,而作为一个十八线博主,注册用户的访问应该以搜索引擎为主,博客园首页为次,个位数的粉丝就别谈了. 所以,希望各位从搜索引擎点 ...
- STM32定时器学习---基本定时器
STM32F1系列的产品,除了互联网产品外,工作8个,3种定时器,其中一种就是基本定时器.那么STM32单片机的基本定时器如何操作以及编程呢? 下面我们就来详细的了解一下 STM32F1系列的产品,除 ...
- STC12C5A60S2 双串口通信
STC12C5A60S2单片机是一款功能比较强大的单片机,它拥有两个全双工串行通信接口,串口1的功能及操作与传统51单片机串行口相同:特殊的是STC12C5A60S2单片机内部有一个独立波特率发生器, ...
- MODBUS-寄存器与功能码学习
分类 简称 起始地址 结束地址 能够使用的功能码 输出逻辑线圈/(可读写位)/(DI/O)(如继电器开关控制) 0x 00000 09999 0x01读一组逻辑线圈 0x05写单个线圈 0x0f写多个 ...
随机推荐
- 2005年IT行业趋势Top10
未来三年内对组织有潜在的重大影响IT趋势.这里的IT趋势的摘要: 1. 计算位于任何地方 智能手机,平板,电视盒,可穿戴设备,可连接的屏幕,对于适应移动用户所求要的整体环境的需求在不断增强.这会继续提 ...
- .NET删除字节数组中的0字节
private static byte[] Decode(byte[] packet) { ; while (packet[i] == 0) { --i; } ]; Array.Copy(packet ...
- Java基础学习 -- Java(OOP)程序的设计原则
避免代码复制.解决方案:函数.父类: 封装.尽量private每个类的成员变量,用操作封装数据,减少类与类之间成员变量的直接调用,而是调用method,降低耦合: 可扩展性最大化.尽量使用框架+数据的 ...
- 功能齐全的图表库 ACharts
ACharts是基于Raphael 库开发的,而Raphael.js是基于svg和vml语言,因此最低可以兼容到IE6+,而最高则所有支持w3c svg标准的现代浏览器都可以使用,svg甚至在手机平台 ...
- 小清新的jQuery ck-slide 图片轮播
ck_slide 是一款小清新的jQuery 幻灯片插件,它非常小巧,压缩后仅 3KB,基本功能可以满足.它支持淡入淡出/左右滚动.箭头/圆点控制.自动播放. 在线实例 默认(淡入淡出) 左右滚动 自 ...
- MySQL之MySQL5.7中文乱码
自己的MySQL服务器不能添加中文,于是自己使用 show variables like 'character%'; 查看了当前的编码格式 我又通过以下方法将其设置为utf-8 SETcharacte ...
- 【web前端面试题整理01】各位加班累了吧,来做点前端面试题吧
前言 最近小叶子有点疲惫,主要是在外地工作生活上不太适应,吃一样的东西,我居然会拉肚子,而且是一个星期一个星期的.... 脸上长了一个豆豆一个星期还没消,我那个去啊. 昨天上午上班后,本来想继续研究j ...
- git怎么创建本地版本仓库
git怎么创建本地版本仓库 安装git我就不用说了吧!下载地址:https://github.com/msysgit/msysgit/releases/download/Git-1.9.4-previ ...
- Hybrid框架UI重构之路:五、前端那点事儿(HTML、CSS)
上文回顾 :Hybird框架UI重构之路:四.分而治之 这里讲述在开发的过程中,一些HTML.CSS的关键点. 单页模式的页面结构 在单页模式中,弱化HTML的概念,把HTML当成一个容器,BODY中 ...
- js之如何获取css样式
js之如何获取css样式 一.获取内联样式 1 <div id ="myDiv" style="width:100px;height:100px; border ...