首页 > 其他分享 >对于需要实时处理的代码语句 就用定时器中断模式,实现多线程模式,建议不要用查询模式。

对于需要实时处理的代码语句 就用定时器中断模式,实现多线程模式,建议不要用查询模式。

时间:2024-03-02 23:33:48浏览次数:17  
标签:实时处理 0x3F 模式 char 定时器 多线程

对于需要实时处理的代码语句 就用定时器中断模式,实现多线程模式,建议不要用查询模式。

 

示例代码1:

查看代码
#include"delay.h"
#include"sysInt.h"
#include"intrins.h"
char SMGDuan[]={0x5B,0x3F,0x5B,0x66,	0x40,0x40,	0x3F,0x3F};							//2024--MM
char segDuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};	//0-9
char month;	

//SMG
void segDisp()
{
	char i=0;
	for(i=0;i<8;i++)
	{
		P0=~SMGDuan[i];
		HC573(7);
		P0=_crol_(0X01,i);	
		HC573(6);
		
		delayMs(2);
		P0=0X00;	
		HC573(6);
	}
}
//
void delayMs(uint xms)
{
	xms/=50;
	while(xms--)
	{
		TL0 = 0xB0;				//设置定时初始值 50ms
		TH0 = 0x3C;				//设置定时初始值
		TR0=1;
		while(!TF0);
		TF0=0;
	}
}
// ------------------------分 隔 符------------------------
//main
void main()
{
	sysInt();
	TMOD &= 0xF0;			//设置定时器模式
	
	while(1)
	{
		delayMs(1000);
				
		if(++month == 13)month=1;
		SMGDuan[6]=segDuan[month/10];
		SMGDuan[7]=segDuan[month%10];
		
		segDisp();
	}
}

定时器查询方式1s,但是“2024--MM”是要一直显示着,通过这种方式,并不能一直执行到segDisp();部分,所以就没有效果。

 

对于数码管需要实时显示,还是建议用定时器中断方式(多线程),达到实时处理。查询方式的定时本质上还是执行空语句。

标签:实时处理,0x3F,模式,char,定时器,多线程
From: https://www.cnblogs.com/YYZYCS/p/18049441

相关文章

  • Hyper-v系列---【使用NAT模式连接虚拟机并使用宿主机网络】
    1.虚拟交换机外部网络:就是桥接模式,虚拟机ip和宿主机ip在一个段上,网关和宿主机一样。弊端是,一切换网络,虚拟机ip就得跟着改。内部网络(推荐):就是NAT模式,可以固定ip,把所有虚拟机改成同一个网关ip,使用以太网把网络共享给NAT模式的网卡,把NAT模式的虚拟网卡ip地址改成前面虚拟机的网......
  • pyqt5中多线程爬虫
       设立爬虫Class,继承pyqt5中的Thread函数中使用普通线程  整体代码:importsysimportpandasaspdimportjson,requests,time,threadingfromPyQt5.QtWidgetsimportQMainWindow,QApplication,QVBoxLayout,QMessageBoxfromui.ui_testimportUi_MainWind......
  • c++多线程按行读取同一个每行长度不规则文件
    对于非常大的比如上百G的大文件读取,单线程读是非常非常慢的,需要考虑用多线程读,多个线程读同一个文件时不用加锁的,每个线程打开一个独立的文件句柄多线程读同一个文件实现思路思路1先打开一个文件句柄,获取整个文件大小file_size确定要采用线程读取的部分大小read_size和......
  • c++多线程编程
    c++线程库:<thread>创建线程:需要可调用的函数或者函数对象作为线程入口点例:std::threadthreadname(function_name,args...)在C++中,当使用std::thread创建线程并传递类的成员函数时,需要使用&来获取成员函数的地址,同时还需要传递对象的指针(或引用)作为第一个参数。......
  • kmp模式匹配例题思考
    题目描述读入一个字符串数组string[],再读入一个短字符串。要求查找string[]中和短字符串的所有匹配,输出行号和匹配的字符串以。匹配时不区分大小写,并且可以有一个中括号表示的模式匹配。例如,对aa[123]bb来说,aa1bb,aa2bb,aa3bb都算匹配。输入格式:第一行输入字符串数组的长度接下......
  • C++ 多线程笔记2 线程同步
    C++多线程笔记2线程同步并发(Concurrency)和并行(Parallelism)并发是指在单核CPU上,通过时间片轮转的方式,让多个任务看起来像是同时进行的。实际上,CPU在一个时间段内只会处理一个任务,但是由于切换时间非常快,用户感觉像是多个任务同时在进行。这种方式的优点是可以充分利用CPU资源,......
  • 跟着GPT学设计模式之代理模式
    引言代理模式(ProxyDesignPattern)在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。代理模式的关键角色包括:抽象主题(Subject):定义了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。目标对象(RealSubject):也......
  • 关于KMP模式匹配的一些思考
    算法简介模式匹配给定主串text和模式串pattern,在主串中查找,如果找到了模式串,返回模式串在主串中的起始位置,从1开始计数。暴力求解求解模式匹配算法的核心思想是:蛮力法。即使用两个指针i和j,其中i指针用来遍历text,j指针用来遍历pattern。当text[i]==text[j]的时候,继续比较;如果不......
  • 文件扩展模式
    当然,我可以帮你将这些Python代码转化为Markdown格式的笔记。以下是你的Markdown笔记:Python中的文件操作的扩展模式在Python中,文件操作的模式主要有读模式(r)、写模式(w)、追加模式(a),以及它们的扩展模式(r+,w+,a+)。1.读写模式(r+)读写模式允许你先读取文件,然后再写入文件。......
  • VSCode编写多线程程序碰到 mutex 和 thread 未定义的报错问题
    硬件:ThinkBook16G5+IRH系统:Win11家庭中文版22H2如果碰到在线安装MinGW-w64失败的问题可以参考以下链接在线安装MinGW-w64失败下载mingw-std-threads文件夹目前MinGWGCC缺少标准的C++11线程类,该库补充实现有关thread和mutex的内容https://github.com/mega......