请问怎么编能使一段程序重复一定的时间,时间到了立马终止,运行下面的程序? (就算前面那段程序没有运行完,时间到了也要终止)
比如说我把P1 ^ 7(定义为AAA)和地之间接了个开关,并频繁的按它,我想让单片机测出1秒内开关按的次数,并赋值给a,怎么编?(不考虑按键去抖)
我想让 if(AAA == 0){a = a+1;} 重复一秒,一秒后立刻终止,请问怎么编?
能详细的说一下么?写一下程序好么?谢谢
追答我不知道你用的什么单片机,用什么编写
追问#include
sbit AAA = P1 ^ 7;
void main (void)
.
.
.........
你增加一个定时器1初始化,让它变成1秒钟中断
本回答被网友采纳能给个完整程序么?STC12C2052
c语言等待指定的时间,怎么做?
单片机延时程序?(1)用定时器算出来,弄一个死循环,同时开定时器,时间到了就break。(2)用延时子函数,也是一个循环,每个循环周期执行N个NOP指令,这个N由汇编语言来控制,也就是循环体里插入汇编语句,一个NOP的时间由单片机决定,有的是1个机器周期,有的是2个,但是具体的单片机执行NOP的时间是...
...中断程序 使程序在运行10秒后跳转至下一段程序!
1、首先编写一段简单的代码,如下图所示,编辑一段简单的输出语句。2、依次点击菜单栏内的编译→组建→执行,确保这段成率可以正确执行。3、从运行结果来看程序正确,没有问题,然后找到exe可执行程序看其是否有闪退现象。4、将C语言代码保存后打开代码所在的文件夹,该文件夹内有一个名为【Debug】的...
单片机c语言怎么记录程序运行时间
1、debug中查看运行时间。这个好像不太准确。2、反汇编后,通过指令周期和晶振频率计算。3、程序中加入定时器中断程序,来计算程序运行时间。看到你的问题,暂时就想起这么多。
怎么用C语言做单片机的精确延时
Keil C51的编程语言常用的有2种: 一种是汇编语言;另一种是C 语言。用汇编语言写单片机程序时,精确时间延时是相对容易解决的。比如,用的是晶振频率为12 MHz的AT89C51,打算延时20 μs,51单片机的指令周期是晶振频率的1\/12,即一个机器周期为1 μs;“MOV R0,#X”需要2个机器周期,DJNZ也需要...
单片机C语言延时程序怎么停止?
在循环里判断是否满足跳出的条件,满足则跳出循环,不满足就继续延时直到延时结束。具体的条件要有程序的要求来,比如说某个IO口的电平的状态。sbit state=P1^7;delay(uint){ uint x,y;for(x=1000;x>0;x--)for(y=1200;y>0;y--){ if(state==1)return ;\/\/当p1.7口为高时跳出循环 } ...
用C语言实现单片机延时,怎么知道设置循环值为多少才能延时某一时间...
用定时器啊,单片机都带定时器的,用定时器延时还是比较精确的。
51单片机如何用一个按键控制一段程序的运行与停止
使其在按下时控制LED关闭,程序开始运行。)。再次按下按键,会触发中断,使得LED重新点亮,程序暂停(6、再次按下S1,中断执行,LED重新点亮,程序进入暂停状态,等待下一次按键指令。)。通过这种方式,一个简单的按键就能控制51单片机程序的运行与停止,实现了用户与硬件的交互。
51单片机c程序求助,程序会在main()函数里循环执行,这是怎么回事?当main...
keil做了下仿真,虽然你的主函数结束了,但是你的计时器仍然在工作,单步下去,总会进入中断函数。但是在protues下你的定时器初值要设置合理,也就是在主函数结束前溢出,中断就能发生。然后一直会有定时中断.挺神奇的 还是烧在板上做吧
单片机C语言中断程序的应用问题
用状态机啊 ,一种方法是: 定时器中断计数,进入设置时,根据存储当前状态的状态变量进入数码管的设置时闪烁模式,如果计数时间到了,清除计数时间,和当前数码管的状态异或来取反,闪烁不同数码管。
请教关于单片机C语言中用while延时的问题
若为 理想状态,则delay(500000)的时间应该是:500000×1us=500ms;但是,编译软件 要把 函数调用、for 语句转换成 机器指令,这是需要一定周期的,周期长短 视不同的编译软件 而有所不同,目前也没人对这个 转换差别 做过 专业的考量,故LZ 的问题,没有确切 的答案,只能 是告诉 你,大于某个...