首页 > 其他分享 >数码管闪烁模板及注意事项

数码管闪烁模板及注意事项

时间:2024-04-08 19:34:54浏览次数:33  
标签:Down Seg Slow string seg 数码管 ms 注意事项 模板

数码管闪烁模板及注意事项

方式1:直接在segProc()里写

查看代码

void Seg_Proc(void)
{
	if(Seg_Slow_Down) return;
	Seg_Slow_Down = 1;
	
	/***用户自定义代码区↓***/
	
		sprintf(seg_string,"-%d-  %3d",(unsigned int)disp1,disp2);		
		
		if(state_flag == 2)//让disp1闪烁
		{
            /*Seg_Slow_Down减速如果为400,那我们这里if((ms_Tick - ms_Tick_point) >= 200)在400以下的就没理想效果	,
            所以改这里的同时,也要记得改数码管减速Seg_Slow_Down的值*/
			if((ms_Tick - ms_Tick_point) >= 200)		
			{
				ms_Tick_point=ms_Tick;
				bulingbuling ^= 1;  
				if(bulingbuling == 1)
					seg_string[1] = ' ';
			}
		}
		else if(state_flag == 3)//让disp2闪烁
		{
			if((ms_Tick - ms_Tick_point)>=200)
			{
				ms_Tick_point=ms_Tick;
				bulingbuling ^= 1;
				if(bulingbuling == 1)
					seg_string[5] = seg_string[6] = seg_string[7] = ' ';
			}	
		}
	
	Seg_Tran(seg_string, seg_buf);
}

方式2:在timer1_Isr里写个标志位,然后在segProc()里作判断

查看代码
void tm1_isr() interrupt 3
{	
	
	//永远不变
	if(++Key_Slow_Down == 10) Key_Slow_Down = 0;
	if(++Seg_Slow_Down == 400) Seg_Slow_Down = 0;

	//根据代码需求变换
	Ms_Count++;
	if(Ms_Count == 300)   
        /*Seg_Slow_Down减速如果为400,那我们这里if((ms_Tick - ms_Tick_point) >= 300)在400以下的就没理想效果	,
        所以改这里的同时,也要记得改数码管减速Seg_Slow_Down的值*/
	{
        Ms_Count=0;
        Disp_BlingBling ^= 1;//闪动变量翻滚
	}
    
    //这样也可以
   // if(Ms_Count % 300 == 0 )
    //    Disp_BlingBling ^= 1;//闪动变量翻滚

	//永远不变
	Seg_Disp(seg_buf, pos);//数码管显示刷新
	if( ++pos == 8 ) 	pos = 0;

	Led_Disp(ucLed);//LED显示内容
}

void Seg_Proc(void)//显示处理,显示信息生成
{
	//永远不变
	if(Seg_Slow_Down) return;
	Seg_Slow_Down = 1;//减速程序

	//根据代码需求发生变化
	switch(Running_Setting_Mode)
	{
		case 1:
		case 2:
		case 3://S5 时钟界面
				sprintf(seg_string, "%02d-%02d-%02d",(unsigned int)Clock_HMS[0],(unsigned int)Clock_HMS[1],(unsigned int)Clock_HMS[2]);//待设置的时间显示处理
				break;			
		case 5:
		case 6:
		case 7://S6 闹钟界面
				sprintf(seg_string, "%02d-%02d-%02d",(unsigned int)Alarm_HMS[0],(unsigned int)Alarm_HMS[1],(unsigned int)Alarm_HMS[2]);//待设置的闹钟显示处理			
				break;			
	}	
	
	if( Disp_BlingBling==1 )
	{
			switch(Running_Setting_Mode)
			{
				case 1://时钟秒
				case 7://闹钟秒					
						seg_string[6] = " ";
						seg_string[7] = " ";				
						break;
				
				case 2://时钟分
				case 6://闹钟分					
						seg_string[3] = " ";
						seg_string[4] = " ";				
						break;	
				
				case 3://时钟时
				case 5://闹钟时					
						seg_string[0] = " ";
						seg_string[1] = " ";				
						break;		
			}		
	}

	//永远不变
	Seg_Tran(seg_string, seg_buf);
}

 

总之,就是 Seg_Slow_Down减速如果为400,那我们这里if((ms_Tick - ms_Tick_point) >= 200)在400以下的就没理想效果,所以改这里的同时,也要记得改数码管减速Seg_Slow_Down的值。

标签:Down,Seg,Slow,string,seg,数码管,ms,注意事项,模板
From: https://www.cnblogs.com/YYZYCS/p/18122368

相关文章

  • 外贸网站模板:大气实木家具公司自适应网站(zblogphp模板)
    外贸网站模板:大气实木家具公司自适应网站(zblogphp模板)外贸网站模板:大气实木家具公司自适应网站(zblogphp模板)主要是以文字内容为主导,将页面的设计杂乱的图片和元素进行最小化或者去除,从而使整个页面更加简洁、清晰,突出信息的呈现。下面介绍一下外贸网站模板:大气实木家具......
  • 外贸企业模板:响应式高端简洁英文外贸企业公司(zblogphp模板)
    外贸网站模板:响应式高端简洁英文外贸企业公司(zblogphp模板)外贸网站模板:响应式高端简洁英文外贸企业公司(zblogphp模板)主要是以文字内容为主导,将页面的设计杂乱的图片和元素进行最小化或者去除,从而使整个页面更加简洁、清晰,突出信息的呈现。下面介绍一下外贸网站模板:响应......
  • 外贸企业模板:大气珠宝首饰官网首页网站(zblogphp模板)
    外贸网站模板:大气珠宝首饰官网首页网站(zblogphp模板)外贸网站模板:大气珠宝首饰官网首页网站(zblogphp模板)主要是以文字内容为主导,将页面的设计杂乱的图片和元素进行最小化或者去除,从而使整个页面更加简洁、清晰,突出信息的呈现。下面介绍一下外贸网站模板:大气珠宝首饰官网......
  • Avalonia的模板控件(Templated Controls)
    在Avalonia的UI框架中,TemplatedControl是一个核心组件,它提供了一种强大的方式来创建可重用且高度可定制的控件。本文将深入探讨TemplatedControl的概念、其带来的优势以及它在实际开发中的应用场景,并通过一个示例代码来展示其用法。什么是TemplatedControlTemplatedControl是Av......
  • 让ChatGPT写分镜模板以及生成图片提示词模板
    你现在是一位知名的短视频导演,要拍摄一段1分钟左右的视频玄幻故事短片,介绍一个来自深海的远古文明,需要在开头的五秒钟抓住用户的兴趣点,请详细的撰写分镜脚本和旁白你现在是一位知名的短视频导演,要拍摄一段1分钟左右的视频玄幻故事短片,介绍一个女孩坚持谈恋爱就是谈恋爱......
  • Vite项目打包配置注意事项及常用配置
    1.在vite中默认打包的文件放到assets文件夹中 2.开发环境下我们的图片位置在/src,ok,本地没问题正常显示,你打了个包(npmrunbuild),然后又运行了npm脚本preview,也没问题,但是在一些服务器上,使用绝对目录会导致404,所以我们需要配置为相对目录 3.这时需要将打包路径改为相......
  • P1177 【模板】排序
    P1177【模板】排序题目将读入的$N$个数从小到大排序后输出。输入第一行为一个正整数$N$。第二行包含$N$个空格隔开的正整数$a_i$,为你需要进行排序的数。输出将给定的$N$个数从小到大输出,数之间空格隔开,行末换行且无空格。样例输入542451输出12445......
  • P1883 【模板】三分 | 函数
    原题链接题解1.首先,\(F(x)\)图像一定是下凹的,怎么证明我也不知道,只是感觉是这样2.既然是下凹的,那么一定有最小值,区间内找极大值/极小值可以用三分B站有个视频直观地讲解了,一看便知还有一些小细节,请看讨论区code#include<bits/stdc++.h>usingnamespacestd;constint......
  • Android11 - 添加自定义服务注意事项
    添加自定义服务注意事项:a:(Android11)快速编译framework.jar./prebuilts/build-tools/linux-x86/bin/ninja-fout/combined-xx.ninjaframework-minus-apexb:在framework/base/core目录下添加文件java和aidl文件后,编译时需要先makeupdate-api去更新current.txt文件,然后才能......
  • 信息化系统项目验收阶段的一些注意事项总结分享
    在信息化系统项目的生命周期中,项目验收是确保项目质量、满足客户需求并成功交付的重要环节。作为项目经理,须深知项目验收的复杂性和重要性,以下是我根据过往经验,对信息化系统项目验收注意事项的总结。一、验收过程中需归档的一些主要材料在项目验收过程中,为确保项目的可追溯性和......