精华内容
下载资源
问答
  • 怎么控制软件用的时间
    千次阅读
    2021-11-26 20:53:18

    1.题目:用状态机设计交通灯控制器,设计要求:A路和B路都有红、黄、绿三种灯,持续时间为红灯45s、黄灯5s、绿灯40s。A路和B路交通灯的状态转移为
    (1)A红,B绿(持续时间40s);
    (2)A红,B黄(持续时间5s);
    (3)A绿,B红(持续时间40s);
    (4)A黄,B红(持续时间5s)。

    2.Verilog代码(仅供参考!!!)

    module traffic_lights(input clk50M,rst,//时钟、复位输入信号
                          output reg[5:0] lout);//输出六位2进制数点亮对应的灯
    reg[30:0] count;//存计的数用的约21亿>20亿,基于50M的晶振最多可计时40多s
    reg state;//灯的状态
    parameter S0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;//灯的4种状态用4种不同的2进制表示
    parameter extinguish_all=6'b000000,red_green=6'b100010,red_yellow=6'b100001,green_red=6'b010100,yellow_red=6'b001100;//点亮对应状态的灯的程序,不同的FPGA板子可能不一样
    //计数
    always@(posedge clk50M or posedge rst)
    begin if(rst) count<=0;//如果复位,计数清零
          else count<=count+1;//否则每来一个时钟上升沿count+1
    end       
    //状态机
    always@(posedge clk50M or posedge rst)
    begin if(rst) begin//如果复位
                  state<=S0;//灯状态变为S0
                  lout<=extinguish_all;//暂时灯全部熄灭
                  end
          else begin
               case(state)
               S0:begin lout<=red_green;//输出灯的状态为A红灯、B绿灯,并让它们保持40s
                        if(count>=2000_000_000)//如果计时到40s
                        begin
                            state<=S1;//灯进入S1状态
                            count<=0;//count归0
                        end
                        else state<=S0;//否则,灯保持S0状态
                  end                      
               S1:begin lout<=red_yellow;//输出灯的状态为A红灯、B黄灯,并让它们保持5s
                        if(count>=250_000_000)//如果计时到5s
                        begin
                            state<=S2;//灯进入S2状态
                            count<=0;//count归0
                        end
                        else state<=S1;//否则,灯保持S1状态
                  end               
               S2:begin lout<=green_red;//输出灯的状态为A绿灯、B红灯,并让它们保持40s
                        if(count>=2000_000_000)//如果计时到40s
                        begin
                            state<=S3;//灯进入S3状态
                            count<=0;//count归0
                        end
                        else state<=S2;//否则,灯保持S2状态
                  end            
               S3:begin lout<=yellow_red;//输出灯的状态为A黄灯、B红灯,并让它们保持5s
                        if(count>=250_000_000)//如果计时到5s
                        begin
                            state<=S0;//灯回到S0状态
                            count<=0;//count归0
                        end
                        else state<=S3;//否则,灯保持S3状态
                  end
               default: begin//出故障
                        state<=S0;//灯状态变为S0
                        count<=0;//计数清零
                        lout<=extinguish_all;//暂时灯全部熄灭
                        end
               endcase            
               end              
    end        
    endmodule
    
    ​
    更多相关内容
  • 自己做的时间控制器课设.zip
  • LK系列大型可编程控制器网络时间协议NTP软件用户手册pdf,LK系列大型可编程控制器网络时间协议NTP软件用户手册
  • 单片机 软件延时时间控制

    万次阅读 多人点赞 2018-11-01 11:13:14
    单片机 软件延时时间控制 一、简述 记--通过代码方式实现软件延时(不精确延时)。 二、指令周期 单片机需要一个时钟信号送给内部各个电路,才能使它们有节拍地协同工作。时钟信号的频率是由外部震荡电路的...

    单片机 软件延时时间控制

    一、简述

       记--通过代码方式实现软件延时(不精确延时)。

    二、指令周期

             单片机需要一个时钟信号送给内部各个电路,才能使它们有节拍地协同工作。时钟信号的频率是由外部震荡电路的晶振频率决定的。

           外接晶振的频率 = 时钟信号的频率 = 工作频率。(如24MHz,12MHz,11.0592MHz)

           震荡周期:为单片机提供时钟脉冲的振荡源的周期。

                              震荡周期 = 1/晶振频率          (如晶振频率是12MHz时,振荡周期 = 1/12MHz = (1/12)us)

           机器周期:51系列单片机的一个机器周期由12个震荡周期组成。

                             机器周期 = 12 * 振荡周期      

                     (如晶振频率是24MHz时,振荡周期 = 1/24MHz = (1/24)us,机器周期 = 12*(1/24)us = 0.5us)

                     (如晶振频率是12MHz时,振荡周期 = 1/12MHz = (1/12)us,机器周期 = 12*(1/12)us = 1us)

                     (如晶振频率是11.0592MHz时,振荡周期 = 1/12MHz = (1/11.0592)us,机器周期 = 12*(1/11.0592)us = 1.085us)

           指令周期:单片机执行一条指令所用的时间。

                            一般来说,单片机执行1个简单的指令需要一个机器周期,执行复杂的指令需要两个机器周期。

    三、软件延时

            通过一个循环来实现延时

           测试代码:

    #include <reg51.h>
    
    void delay(void)//延时函数
    {
    	unsigned char i;
    	for(i=0; i<100; i++)
    		;
    }
    
    void main(void)
    {
    	while(1)
    	{
    		//dosomething()
    		delay();
    	}
    }

    在Keil C51 环境下编译后,点击"调试"--"开始";在执行"视图"--"反汇编",可以看到延时函数对应的汇编代码。

    其中:

                 CLR指令消耗1个机器周期

                 MOV指令消耗1个机器周期

                 INC指令消耗1个机器周期                                      

                 CJNE指令消耗2个机器周期

    根据循环条件,INC指令和CJNE指令总共要执行100次(0x64=100),共消耗机器周期(1+2)*100=300,

    加上CLR指令和MOV指令,循环程序总共消耗机器周期:1+1+300=302

    如果单片机的晶振频率为11.0592MHz,则机器周期 = 12*(1/11.0592)us = 1.085us。

    那么for循环程序耗时为302*1.085us=327.67us。

    deley()函数用时:0.06607530s-0.000422209s=0.065653091s=65.653091ms=65653.091us   

    (指令的执行时间不代表函数的执行时间。函数跳转需要时间,开辟函数栈、临时变量、回收栈资源等需要时间,因此c语言有内联(inline)函数,宏函数(带参宏)用来提高执行效率)。

    两层循环

    #include <reg51.h>
    
    void delay(void)//延时函数
    {
    	unsigned char i, j;
    	for(i=0; i<100; i++)
    		for(j=0; j<200; j++)
    			;
    }
    
    void main(void)
    {
    	while(1)
    	{
    		//dosomething()
    		delay();
    	}
    }

    注:对于C语言编译器,某些编译器会进行代码优化,比如循环里面什么都没做,编译器有可能将循环去掉。

           软件延时不精准:因为相当于是通过控制CPU做某一些预定消耗一定时间的动作,根据CPU执行完成判断已经过去多长时间。但是CPU有可能在中途被其他进程强行占用(优先级高的进程),CPU被迫中断当前执行,优先执行优先级较高的任务,当执行完优先级较高的任务,才回来继续执行之前中断的任务,那么延时就会加长。比如想要延时1分钟,我们预定执行A动作之后,刚好耗时1分钟,那么让CPU执行这个动作就达到延时1分钟。如果当CPU执行到一半时,突然有一个紧急任务S(优先级高)发生,要求CPU立即处理,那么CPU就会中断当前任务A,优先处理紧急任务S,等待执行完毕,才回来继续执行之前被中断的任务A。那么当A任务执行完毕,我们预期是从执行开始到结束消耗时间1分钟,但是实际上已经过去不止1分钟,因为中途被中断了。所以软件延时时间越长,容易被中断,而且CPU不能长时间被一个进程独占,延时越不精准。

           要实现精确的延时可使用硬件延时:使用定时器/计数器。定时器/计数器是根据时钟信号脉冲计数的,是直接跟硬件晶振相关的。

    
    //函数名:delay_1ms(uint x)
    //功能:利用定时器0精确定时1ms
    //调用函数:
    //输入参数:x,1ms计数
    //输出参数:
    //说明:延时的时间为1ms乘以x
    
    void delay_1ms(uint x)
    {
    	TMOD=0X01;//开定时器0,工作方式为1
    	TR0=1;//启动定时器0;
    	while(x--)
    	{
    		TH0=0Xfc;//定时1ms初值的高8位装入TH0
    		TL0=0X18;//定时1ms初值的低8位装入TL0
    		while(!TF0);//等待,直到TF0为1
    		TF0=0;	   //重置溢出位标志
    	}		
    	TR0=0;//停止定时器0;
    }
    

    延时1s:delay_1ms(1000); //1000ms = 1s

    展开全文
  • win10系统使用久了,好多网友反馈说关于对win10系统设置控制孩子电脑的时间设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统设置控制孩子电脑的时间进行设置,有什么好的办法去设置win10系统...

    win10系统使用久了,好多网友反馈说关于对win10系统设置控制孩子用电脑的时间设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统设置控制孩子用电脑的时间进行设置,有什么好的办法去设置win10系统设置控制孩子用电脑的时间呢?在这里小编教你只需要1.首先,点击"开始",选中"控制面版",在弹出的窗口中, 先中"系统和安全" 2.选择"用户账户和安全"就搞定了。下面小编就给小伙伴们分享一下对win10系统设置控制孩子用电脑的时间进行设置的问题,针对此问题小编给大家收集整理的问题,针对此问题小编给大家收集整理具体的图文步骤:

    1.首先,点击"开始",选中"控制面版",在弹出的窗口中, 先中"系统和安全"

    eecd8dcf6de32605e35561e04e2685ef.png

    2.选择"用户账户和安全"

    ef9ffe42afaaa9586dbf669fba10fddd.png

    3.点击"添加或删除用户账户"

    3f4581703c36f7490a3d7c60df6c215c.png

    4.这里我的计算机的用户名是uubuge,你的用户名跟我的肯定不一样,但是用户一定存在,请给它加上密码,防止儿童通过这个账号登录计算机,那么接下来你的家长控制就没有意义了

    6ca5b65d7df40f31d51b2fcf3d84b947.png

    5.改好密码后,我们再从"开始"->"控制面版",进入"控制面版",选择"用户账户和家庭安全"

    57f933115c6d33887628153508406953.png

    6.先择家长控制

    b75663172b480e96576e6c1c0fb01416.png

    7.选择"创建新用户账户"

    2a08c985a2a68cc11a06a90291531c54.png

    8.输入账户名为"儿童",或者输入你孩子的姓名,反正你想要输入的名字

    72ce771b247eeaa4cce144d1982cae43.png

    9.选择"启用,应用当前设置"

    e2335166e604c0dc46ef7bba1b45842c.png

    10.此项为对儿童使用电脑时间的限制,点击进去可以设置儿童的上网时间

    56bfc312c5515c4d763af07b632674f4.png

    11.如图,可以通过点击方块的颜色来设置允许上网的时间

    a6061ed647fc58d2f22f223e87bcda3c.png

    现在设置已经完成,请重新启动电脑,登陆时,在选择登录用户为"儿童",此时进入的系统便是在家长限制下使用的系统。

    展开全文
  • CPU中控制器的功能

    千次阅读 2021-07-30 20:53:16
    以前CPU主要由运算器和控制器两大部分组成,随着集成电路的发展,目前CPU芯片集成了一些其他逻辑功能部件来扩充CPU的功能,如浮点运算器、Cache和MMX等。 根据存储程序控制这一基本概念,程序和数据是事先存放在...

    以前CPU主要由运算器和控制器两大部分组成,随着集成电路的发展,目前CPU芯片集成了一些其他逻辑功能部件来扩充CPU的功能,如浮点运算器、Cache和MMX等。

    根据存储程序控制这一基本概念,程序和数据是事先存放在存储器中的,计算机对信息的加工处理是通过执行程序来实现的。计算机的工作过程就是程序的运行过程,也就是在控制器的控制下逐条执行程序中指令的过程。在程序运行中,控制器对整个计算机进行控制,使各部件在规定的时刻执行相应的操作

    控制器最基本的功能有两个

    (1)控制指令执行的顺序。

    为了控制指令的执行顺序,CPU中设置了指令地址寄存器PC(即程序计数器),用它来存放指令的地址。在执行一条指令的同时,必须形成后续指令的地址,以便程序能继续运行。

    在一般情况下,指令是按顺序执行的,由程序计数器PC决定后继指令的地址,也就是说,PC的内容不断地加一个固定步长。但是,当执行的指令是转移类型指令时,就要改变指令执行的原来顺序。

    控制器对指令执行顺序的控制实质上是对PC的控制,也就是说,根据转移类型指令的操作码和转移的条件来决定是否改变PC的内容。从程序运行的角度来看,PC内容的改变可以分为以下两大类。

    ①程序中规定的转移类型指令。如无条件转移、转子指令等,这需要在程序设计时预先安排好要改变指令执行的顺序。在多数情况下,转移前的PC内容不需要保留,在转子指令或过程调用指令时需要保留转移前的PC内容,作为程序的返回地址。

    ②中断处理。即在程序运行中对于某些突发事件的紧急处理。当出现来自系统外部或计算机内部的任何异常或意外事件(如计算机出现故障、程序出现错误、外设请求、实时请求等)时,CPU可以暂停执行现行程序,转去处理这些事件,在这里需要改变PC的内容,而且要保留改变前的PC的内容,待处理完后再返回继续执行原被中断的程序。

    (2)控制指令的具体执行。

    一条指令的执行主要分为以下两个阶段:
    ①从存储器取出指令。根据程序计数器PC的内容,向地址寄存器发出地址和读指令操作信号。取出现行指令后,为了正确执行该条指令,将取出的指令存放在控制器中专门设置的指令寄存器IR中。

    ②分析和执行指令。分析指令就是把指令寄存器中的现行指令进行译码。首先分析其操作码,为此需要设置操作码译码器,通过对操作码的分析,产生相应的控制电位,提供给控制信号形成部件;其次就是确定参与操作的数据地址,即分析寻址方式和形成操作数的地址,并向存储器发出调用操作数的控制信号,从而取得操作数;然后,根据指令的操作性质和CPU的某些状态特征,执行指令所给定的操作。

    上述的两个功能都是由控制器产生的各种微操作(或微命令)来实现的。

    微操作信号是构成控制信号序列的最小单位,对于不同的指令要求不仅需要确定应该发出哪些微操作信号,而且还必须顾及到这些微操作信号之间的时间关系。

    产生微操作的基本逻辑是依据指令操作码、主机的运行状态、控制台命令等因素,它的时间条件则由时序系统提供,时序系统是根据指令执行方式设计的。

    因此,控制器中应该设置控制信号形成部件,用来产生执行指令时所需要的各种微操作信号;还应该设置一个时序部件,用来产生定时信号,对各种微操作进行严格的时间控制。

    控制信号形成部件的输入由两方面决定:一是指令译码器的内容和状态条件(在状态条件寄存器PSWR中);二是来自时序部件。控制信号形成部件的输出应该连接到计算机各个部件的控制信号线上,以便控制计算机的各部件完成相应的微操作。

    根据上述控制器的功能分析,必须有相应的部件予以实现,图2.2所示是控制器的基本结构图。
    在这里插入图片描述

    总结

    • 读取指令,执行指令
    展开全文
  • 运算器和控制器合称为什么

    千次阅读 2021-07-22 02:37:31
    在计算机中,运算器和控制器合称为“中央处理器”。中央处理器(CPU)是计算机中负责读取指令,对指令译码并执行指令的核心部件;其主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系...
  • 工业机器人控制器

    万次阅读 多人点赞 2019-06-08 13:36:08
     机械臂控制器 移动机器人控制器  1. 机械臂控制器   机械臂类的控制器发展较早,相对成熟,先来看看现有的控制系统方案。 厂家 硬件 操作系统 ABB x86 VxWorks KUKA x86 V...
  • jmeter巧ForEach控制器

    万次阅读 2018-01-16 09:38:41
    前段时间做接口自动化的时候遇到很多查询接口,接口出参会随着入参type的变化,得到不同type下的数据。 如上图,是接口query_financial_stock的说明。测试时候对入参financial_type分别传入值100301、100302、...
  • 历史PID控制器框图PID控制器的工作P-控制器I-控制器D-控制器PID控制器的类型开/关控制比例控制标准型PID控制器实时 PID 控制器调优方法试错法过程反应曲线技术Zeigler-Nichols 方法PID控制器结构应用炉温控制MPPT...
  • 微程序控制器概述 微程序控制器的基本原理:把一条指令的微操作控制信号序列,以二进制编码字(称为微指令)的形式编制成程序(称为微程序),并存放在控制存储器中。执行指令时,通过依次读取一条条微指令,产生一组组...
  • 凯利KAC交流控制器调试方案

    万次阅读 多人点赞 2018-05-02 14:22:03
    凯利KAC交流控制器调试方案(客户版)基础调试一、 安全操作规范(调试之前必看)1. 拆装控制器时,一定要断掉总电,使电池主回路处于断路状态。2. 安装控制器时,一定要检查控制器的B+、B-与电池正、负极接线...
  • 组合逻辑控制器和微程序控制器的主要区别

    千次阅读 多人点赞 2020-09-26 17:45:11
    组合逻辑控制器是采用组合逻辑技术来实现控制操作,把控制部件看成是产生专门固定时序控制信号的... 微程序控制器是为了克服组合逻辑控制器线路复杂、不易修改的缺点而提出的,类似存储程序的办法,来解决微操作命
  • 边缘控制器

    千次阅读 2020-03-09 17:15:23
    为了能充分利用接入工业物联网中的工厂,必须将机器和设备接入云服务端,这就需要用到边缘控制器。 绕不开的边缘计算 在介绍边缘控制器之前,需要先了解边缘计算。从图1 工厂构成的示意图来看,未来工厂需要采集大量...
  • PID控制器——MATLAB/Simulink仿真以及性能比较与分析

    万次阅读 多人点赞 2020-05-18 09:57:27
    PID控制器——MATLAB/Simulink仿真  一、本文中用到的Simulink模块    1、 传递环数模块 (Transfer Fcn)    2、 常数模块 (Constant)    3、求和模块 (Sum)    4、PID模块 (PID Controller) ...
  • 手动调整域控制器之间的复制时间

    千次阅读 2016-07-13 16:15:36
    站点内的域控制器之间的复制默认为每小时4次,管理员可以根据需要调整复制的时间,或者可以设置在某个时间段内不允许复制。在域控制器上打开“AD站点和服务”, 并展开NTDS Settings,如下图,650) this.width=650;...
  • Simulink中步长、powergui采样时间、模块采样时间控制周期的关系 最近在搭模型的时候,对simulink中的各个“时间”产生了概念上的混淆,网上的资料也是鱼龙混杂,看了之后更是一知半解。因此本文针对Simulink中的...
  • DMA控制器原理详解

    万次阅读 多人点赞 2021-09-02 10:37:01
    CPU经历了三个步骤,先将内存中指定位置上的数据取到数据缓存中,然后在将数据缓存中的内容写入到内存中,总共了三步来完成内存两天不同地址上的数据写入 而使用DMA之后就会变得非常简单,DMA不会放入暂存...
  • TP-link AC100控制器配置基础教程

    万次阅读 2021-03-07 05:03:21
    第一次登录时,需要确认以下几点:1) 无线控制器已正常加电启动,任一物理端口已与管理主机相连。2) 管理主机已正确安装有线网卡及该网卡的驱动程序。3) 管理主机已至少安装一种以下浏览器:IE 8.0或以上版本,或...
  • Jmeter--控制器--详解

    千次阅读 多人点赞 2021-12-08 15:08:40
    重点篇,控制器学会了直接起飞!
  • jmeter事务控制器

    万次阅读 2019-08-13 17:26:18
    jmeter事务控制器 作用:可以用于测试执行嵌套测试元素所花费的总时间,即相当于用户进行一系列操作的测试。 结构如下: Generate Parent Sample:如果选中,则生成样本作为其他样本的父项,否则样本将作为独立...
  • 5.4 控制器的功能和工作原理

    千次阅读 2019-09-07 20:54:35
    它们通过数据总线,地址总线和控制总线连接在一起,其中点划线框内的是控制器部件。 控制器是计算机系统的指挥中心,控制器的主要功能有: 1> 从主存中取出一条指令,并指出下一条指令在主存中的位置 2> ...
  • 自抗扰控制器-1.跟踪微分器 TD

    千次阅读 2022-01-19 22:19:08
    传统控制方法大都基于设定值与系统输出的残差的生成控制量,这就是让有惯 性输出信号跟踪存在跳变的设定值信号,最初阶段残差过大,容易导致超调。为了 克服这个缺陷,研究人员采用微分来获得信号的微分信号,然而...
  • 纯电动汽车整车控制器(VCU)详细介绍

    万次阅读 多人点赞 2020-04-13 22:49:14
    (1)丰田公司整车控制器 丰 田公司整车控制器的原理图如下图所示。该车是后轮驱动,左后轮和右后轮分别由2个轮毂电机驱动。其整车控制器接收驾驶员的操作信号和汽车的运动传感器信 号,其中驾驶员的操作信号包括...
  • 设置客户机和域控制器时间同步

    千次阅读 2014-10-13 21:33:10
    在PDC上执行 net time /setsntp:210.72.145.44 net stop w32time net start w32time NTP服务器是210.72.145.44是国家授时中心的Ip地址。...那么域控制器就是一个time master,作为客户端的一个
  • PLC与运动控制器有什么不同?为什么运动控制器比PLC好? plc是什么  可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、...
  • AD域控制器时间同步

    万次阅读 2018-05-10 15:11:09
    控制器时间同步 现象:域控制器和域内的计算机时间与internet上的时间不同步,老慢几分钟。 解决办法:设置NTP服务器,和外网时间同步。 下面是最近操作的时间同步方法 修改主域控制器上同步Internet时间...
  • 目录控制器控制器的结构和功能硬布线控制器硬布线控制器的定义硬布线控制器结构逻辑网络输入信号的三个来源硬布线控制器的基本原理微操作控制信号微操作控制信号的产生安排微操作时序的原则微程序控制器微命令和微...
  • PID控制器及其参数整定

    万次阅读 多人点赞 2019-05-22 22:54:57
    本文主要详细分析PIDPIDPID控制器各个环节的作用以及参数整定的一般方法。 PIDPIDPID控制器各环节的作用: PPP:误差的比例项(现在),比例项的引入,时域上来讲可以增加了系统的开环增益和自然频率,使控制系统的...
  • 中央处理器 —— 硬布线控制器和微程序控制器

    万次阅读 多人点赞 2019-08-10 10:44:41
    一、控制器的结构和功能 运算器是组合逻辑电路(输入),控制器是时序逻辑电路(输入+状态) 控制器是计算机系统的指挥中心,控制器的主要功能有: 1)从主存中取出一条指令,并指出下一条指令在主存中的位置。 2)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,802,200
精华内容 720,880
热门标签
关键字:

怎么控制软件用的时间