#include "regx52.h"
#include "LCD1602.h"
void Delay(int time)
{
while(time--) //while循环一次需要10us
{
}
}
void Timer0Init(void) //1毫秒@11.0592MHz
{
TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = 0x66; //设置定时初值
TH0 = 0xFC; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1;
EA = 1;
PT0 = 0;
}
//定义变量
int Seconds, Minutes, Hours,count;
// 中断后需要执行的内容
void Timer0_motion() interrupt 1
{
TL0 = 0x66; //设置定时初值
TH0 = 0xFC; //设置定时初值
count++;
if(count == 1000)
{
Seconds++;
if(Seconds>=60)
{
Seconds=0;
Minutes++;
if(Minutes>=60)
{
Minutes=0;
Hours++;
if(Hours>=24)
{
Hours=0;
}
}
}
count=0;
}
}
int main()
{
int KeyNum;
Timer0Init();//计时器初始化
LCD_Init(); //LCD1602初始化
LCD_ShowString(1,2,"Clock:");
LCD_ShowChar(2,4,':');
LCD_ShowChar(2,7,':');
while(1)
{
//显示小时
LCD_ShowNum(2,2,Hours,2);
//显示分钟
LCD_ShowNum(2,5,Minutes,2);
//显示秒
LCD_ShowNum(2,8,Seconds,2);
}
return 0;
}
实验现象
关于LCD1602显示屏的一些显示功能的function可以去到B站查看
关键字:51单片机 定时器 LCD1602 简易时钟
引用地址:
51单片机:定时器与LCD1602的运用,做一个简易时钟
推荐阅读最新更新时间:2024-11-01 20:49
MCS-51单片机定时器/c见习题解答
1、根据定时器/计数器0方式1逻辑结构图,分析门控位GATE取不同值时,启动定时器的工作过程。 答:当GATE=0:软件启动定时器,即用指令使TCON中的TR0置1即可启动定时器0。 GATE=1:软件和硬件共同启动定时器,即用指令使TCON中的TR0置1时,只有外部中断INT0引脚输入高电平时才能启动定时器0。 2、当定时器/计数器的加1计数器计满溢出时, 溢出标志位TF1由硬件自动置1,简述对该标志位的两种处理方法。 答:一种是以中断方式工作,即TF1置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF1置1后必须用软件使TF1清0
[单片机]
有保护功能的51单片机编程器
这款简易编程器具有自动断电保护功能,当单片机插反,保护电路会立刻切断电源(电源指示灯进入闪烁状态),既保护了单片机、编程器,也保护了计算机USB口,避免造成不必要的损失。它所支持的芯片型号如下表所示。 一、特点及性能 ①具有自动断电保护功能,当单片机插反,保护电路会立刻切断电源(电源指示灯进入闪烁状态),即保护了单片机、编程器,也保护了计算机USB接口,避免造成不必要的损失。 ②使用串口通信,芯片自动判别,编程过程中的擦除、烧写、校验各种操作完全由编程器上的监控芯片89C51控制,不受PC配置及其主频的影响,因此烧写成功率高可以达到100%,烧写速度很快并且.烧写速度和微机的档次无关。 ③采用最高可达57600bps高速波特
[单片机]
【51单片机快速入门指南】4.3.3: MPU6050使用Mahony AHRS算法实现六轴姿态融合获取四元数、欧拉角
STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 移植自MPU6050姿态解算——Mahony互补滤波 —— 大写的小写字母 加入了输入数据范围的自动处理,即使更改量程也能正确解算。 源码 为了避免所用RAM超标,部分变量设为idata类型,移植时需注意。 所用MCU为STC89C516 晶振16MHz 6T模式 stdint.h见【51单片机快速入门指南】1:基础知识和工程创建 软件I2C程序见【51单片机快速入门指南】4: 软
[单片机]
MCS-51单片机的存储器结构---单片机基础
ROM和RAM容量和位置 MCS-51单片机的存储器包括程序存储器(ROM)和数据存储器(RAM)两部分,而每一部分的容量又包括片内容量和片外容量。一般8x51系列的单片机的ROM内部容量是4KB,外部扩展容量最大的是64KB;RAM内部容量是128B,外部扩展容量最大是64KB。MCS-51单片机进行了扩容,其内部存储器的容量大小是256B。 程序存储器(ROM)的调用 EA引脚接高电平时,CPU将使用内部程序存储器,若程序超过4KB,将使用外部存储器存储超过的部分; EA引脚接低电平时,CPU将使用外部程序存储器,而内部程序存储器将形同虚设。 数据存储器(RAM)的调用 在汇编语言中,访问内部数据存储器
[单片机]
51单片机——中断系统、外部中断、定时器中断、串口通信C语言入门编程
中断系统: 当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。当几个中断源同时向 CPU请求中断,CPU总是先响应优先级别最高的中断请求。当CPU正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它还高的中断源请求。如果CPU能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断服务程序,这样的过程称为中断嵌套。STC89C5X 系列单片机提供了8个中断请求源,它们分别是:外部中断0(INT0)、外部中断1(INT1)、外部中断2(
[单片机]
基于51单片机设计的比例电磁铁控制技术
引言 比例电磁铁作为执行元件,是机电一体化的关键产品之一,广泛应用于各种自动化控制系统中;比例电磁铁的推力大,结构简单,维护方便,成本低廉,是应用非常广泛的电—机械转换器 ;比例电磁铁的特性及工作的可靠性,对于整个控制系统具有十分重要的影响,是决定控制系统品质的关键部件之一。比例电磁铁作为电—机械转换元件,其功能是将比例控制放大器输给的电流信号,转换成位移或者力信号输出。 比例电磁铁适用于直流电压为24 V比例控制放大器的控制线路中,作为连续地、按比例地控制系统执行元件的运动、速度和方向的动力元件。比例电磁铁在其额定行程范围内的推力与通入其线圈的电流成正比,可在其他需要作用力自动控制的装置上作为线性动力元件,如自动油门
[单片机]
基于51单片机的俄罗斯方块
一.硬件方案 本设计采用STC89C52RC单片机作为系统的芯片,实现人机交互、娱乐等功能。选用LCD12864实现俄罗斯方块游戏界面、图形显示;选用独立按键实现游戏控制。本设计实现的基本功能是:用按键控制目标方块的变换与移动;消除一行并计分,方块堆满时结束游戏等俄罗斯方块的基本功能。 硬件主要由51单片机+最小系统电路+按键电路+12864液晶显示电路设计而成。 二.设计功能 (1)主控芯片基于STC89C51/52(与AT89S51/52、AT89C51/52通用)单片机; (2)采用LCD12864液晶显示屏; (3)共有7个按键,除复位按键外,其余六个按键分别为:左移、右移、变形、下降、暂停、确定; (4)设计有0
[单片机]
基于51单片机的报警器设计原理与分析
1.实验任务 用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。 2.电路原理图 图4.6.1 3.系统板上硬件连线 (1).把“ 单片机 系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2).在“音频放大模块”区域中的SPK OUT端口上接上一个8欧的或者是16欧的喇叭; (3).把“单片机系统”区域中的P1.7/RD端口用导线连接到“四路拨动开关”区域中的K1端口上; 4.程序设计内容 (1
[单片机]