【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问答

相关推荐
玖玥拾7 小时前
C/C++ 基础笔记(十二)友元、运算符重载
c语言·c++·运算符重载·友元
Szime7 小时前
AD9694 国产替代方案:四通道高速 ADC 在通信与雷达项目中的选型参考
单片机·嵌入式硬件·fpga开发
智者知已应修善业7 小时前
【51单片机8位数码管同时倒计时从9999】2024-1-25
c++·经验分享·笔记·算法·51单片机
AOwhisky7 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
fanged7 小时前
Datasheet学习6(光机)
嵌入式硬件
dtq04248 小时前
C语言刷题数组5,6(求平均值,求最大值)
c语言·数据结构·算法
2501_938176888 小时前
924期权赚了2000倍真的吗?
笔记
yzqy_8 小时前
AMD AI 开发者计划学习笔记:从 ROCm 到 Ryzen AI,理解 AMD 的 AI 开发生态
人工智能·笔记·学习·datawhale·amdev
CoreTK芯通康EMC整改8 小时前
PCB 信号回流路径 EMC 失效深度解析:原理、误区与量产级整改方案
网络·经验分享·安全·emc整改案例·emc整改
疯狂打码的少年8 小时前
【程序语言与编译】正规式与有限自动机的等价转换
笔记