【51单片机2位数码管100毫秒的9.9秒表】2022-5-16

缘由

这一题刚设计好要去回复就看到结帖了,好似看到我设计完成就盗窃去了,如此下面类似题目很容易也懒得回复了。

cpp 复制代码
#include "reg52.h"
sbit k0=P3^0;
sbit k1=P3^1;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111};//0-9
unsigned char Js=0,miao=0,hm=0;//中断计时 秒 毫秒
void smxs(unsigned char mz,unsigned char w,unsigned char d)
{
	unsigned char Xd=0;
	P0=255;
	P0=255-((d==1?SmZiFu[mz]:(SmZiFu[mz]|0x80)));//小数点闪烁段数据显示
	P2=~w;//位选
	while(++Xd);//数码管延时
}
void ZhongDuanSheZhi()
{
	TH0+=(65536-9216)/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/
	TL0+=(65536-9216)%256; 
	TMOD=0X01;//模式设置
	TR0=0; //开定时器
	ET0=1; //启定时器
	EA=1; //全局中断开关
}
void jishi()//计时
{
	if(Js==10)//100毫秒
	{
		if(++hm==10){hm=0;++miao;}else;
		if(miao==10)miao=hm=0;else;
		Js=0;
	}else;
}
void main()
{
	unsigned char JZhi=0;
	ZhongDuanSheZhi();
	while(1)
	{
		smxs(miao,2,0);smxs(hm,1,1);//数码管驱动
		if(hm==9&&miao==9)TR0=0;else;//计数满停止定时器
		jishi();
		if(!k0&&!++JZhi){TR0=1;while(!k0);}//按键消抖等待释放处理启动定时器
		if(!k1&&!++JZhi){Js=miao=hm=0;while(!k1);}//清零停止定时器
	}
}
void ZhongDuan() interrupt 1
{
	++Js;
	TH0+=(65536-9216)/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/
	TL0+=(65536-9216)%256;      
}

单片机定时器模拟信号灯-嵌入式-CSDN问答
关于#单片机#的问题:求在P1.0引脚接有虚拟示波器,观察P1.0引脚输出的矩形脉冲波形-嵌入式-CSDN问答

单片机外部中断实验(写程序)-嵌入式-CSDN问答

相关推荐
Xudde.40 分钟前
班级作业笔记报告0x04
笔记·学习·安全·web安全·php
iFlyCai1 小时前
C语言中的指针
c语言·数据结构·算法
421!2 小时前
GPIO工作原理以及核心
开发语言·单片机·嵌入式硬件·学习
zzh0813 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
绛橘色的日落(。・∀・)ノ3 小时前
Matplotlib实践学习笔记
笔记·学习
chase。3 小时前
【学习笔记】AGILE:把人形机器人强化学习从“玄学”变成“工程学”
笔记·学习·敏捷流程
久菜盒子工作室4 小时前
高等教育学|第一章高等教育概述
经验分享·笔记·课程设计
良木生香4 小时前
【C++初阶】:C++类和对象(下):构造函数promax & 类型转换 & static & 友元 & 内部类 & 匿名对象 & 超级优化
c语言·开发语言·c++
tq10864 小时前
语言流形与思维共生:中西认知图景的差异与交融
笔记
YuanDaima20484 小时前
基于 LangChain 1.0 的检索增强生成(RAG)实战
人工智能·笔记·python·langchain·个人开发·langgraph