C语言打开关闭定时器控制台程序,如何实现定时器

【单片机c语言定时器实验】 - CSDN用c语言写51单片机定时器中断判断按键是否按下该怎么写? 我想实现的功_百度知道
用c语言写51单片机定时器中断判断按键是否按下该怎么写? 我想实现的功
用c语言写51单片机定时器中断判断按键是否按下该怎么写?我想实现的功能是,按下某一个按键或者在五秒内没有按下这个按键都可以执行后面的工作,该如何写呢?...
用c语言写51单片机定时器中断判断按键是否按下该怎么写?我想实现的功能是,按下某一个按键或者在五秒内没有按下这个按键都可以执行后面的工作,该如何写呢?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
IT类认证行家
采纳数:14430
获赞数:20171
国家科技进步奖
这个可以这样实现:#include&reg51.h&#define uchar unsigned charuchar time=0;sbit key=P1^0;void t0isr() interrupt 1{TH0=()/256;TL0=()%256;time++;}main(){TMOD=0x01;TH0=()/256;TL0=()%256;TR0=1;ET0=1;EA=1;while(1){while(key)
如果按键未按下则执行循环{if(time&100)
//如果时间大于5秒,退出循环。}............}}
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。已解决问题
C语言如何实现定时器?
提问时间: 09:35:20
浏览次数:9860
该答案已经被保护
按你说的意思,专门给你写的程序 电路图将放在 http://www.hsz.ik8.com/baidu/mcu.jpg 使用51单片机,时种频率为6MHz, 五个按键,1 复位键 2 开始/暂停键 3 调整键 4 +键 5 -键 程序如下: ;;;;;;;;;;;;;;;;;;;;;AT89S51,F=6MHz;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 00H ;程序从这里开始 SJMP MAIN ;主程序 ORG 0BH ;定时器0中断入口 LJMP GOTO ORG 40H ;初始化 MAIN:MOV SP,#5FH ;设堆栈 MOV 30H,#50H ;设初值50S MOV 31H,#50H ;剩余时间S SETB P1.0 ;定时时间到输出位P1.0,接个LED SETB P1.1 ;1 复位键 SETB P1.2 ;2 开始/暂停键 SETB P1.3 ;3 调整键 SETB P1.4 ;4 +键 SETB P1.5 ;5 -键 MOV R3,#50 ;设定时次数 MOV R4,#50 CLR TR0 MOV TMOD,#02H ;设定时器0工作方式为方式2 MOV TH0,#56 ;设初始值 MOV TL0,#56 SETB ET0 ;启动中断 SETB EA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LOOP:LCALL XIAN LCALL AJ SJMP LOOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;中断处理;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GOTO:PUSH A ;保护现场 DJNZ R3,GOTO1 MOV R3,#50 DJNZ R4,GOTO1 MOV R4,#50 MOV A,31H LCALL DECBCD MOV 31H,A CJNE A,#00H,GOTO1 CLR TR0 CLR P1.0 GOTO1:POP A ;恢复现场 RETI ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;子程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2位LED显示子程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; XIAN:MOV A,31H ;将暂存的数转成字形 MOV B,#10H DIV AB LCALL ZH MOV P0,A ;LED显示 MOV P2,#B LCALL DELAY MOV A,B LCALL ZH MOV P0,A MOV P2,#B LCALL DELAY RET DELAY:MOV R5,#0AH ;延时1mS(6MHz) L1:MOV R6,#19H L2:DJNZ R6,L2 DJNZ R5,L1 RET ZH:MOV DPTR,#TAB ;字形转换 MOVC A,@A+DPTR MOV P2,#0FFH ;消影 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;字形0~9 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;显示子程序结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BCD减1子程序HSZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DECBCD:CJNE A,#10H,DECA1 MOV A,#09H RET DECA1:CJNE A,#20H,DECA2 MOV A,#19H RET DECA2:CJNE A,#30H,DECA3 MOV A,#29H RET DECA3:CJNE A,#40H,DECA4 MOV A,#39H RET DECA4:CJNE A,#50H,DECA5 MOV A,#49H RET DECA5:CJNE A,#60H,DECA6 MOV A,#59H RET DECA6:CJNE A,#70H,DECA7 MOV A,#69H RET DECA7:CJNE A,#80H,DECA8 MOV A,#79H RET DECA8:CJNE A,#90H,DECA9 MOV A,#89H RET DECA9:CJNE A,#00H,DECAA MOV A,#00H RET DECAA:DEC A RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;按键;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AJ:JB P1.1,AJ2 ;复位 LCALL XIAN JB P1.1,AJ2 CLR TR0 SETB P1.0 MOV R3,#50 MOV R4,#50 MOV TH0,#56 MOV TL0,#56 MOV 31H,30H AJ1:JB P1.1,AJ2 LCALL XIAN SJMP AJ1 AJ2:JB P1.2,AJ3 ;开始/暂停 LCALL XIAN JB P1.2,AJ3 CPL TR0 AJ22:JB P1.2,AJ3 LCALL XIAN SJMP AJ22 AJ3:JB P1.3,AJ4 ;设置调整 LCALL XIAN JB P1.3,AJ4 CLR TR0 SETB P1.0 MOV R3,#50 MOV R4,#50 MOV TH0,#56 MOV TL0,#56 MOV 31H,30H LOOP2:LCALL XIAN AJ5:JB P1.4,AJ6 ;加1 LCALL XIAN JB P1.4,AJ6 CJNE A,#99H,AJX SJMP AJ55 AJX:MOV A,30H ADD A,#01H DA A MOV 30H,A MOV 31H,A AJ55:JB P1.4,AJ6 LCALL XIAN SJMP AJ55 AJ6:JB P1.5,AJ7 ;减1 LCALL XIAN JB P1.5,AJ7 MOV A,30H LCALL DECBCD MOV 30H,A MOV 31H,A AJ66:JB P1.5,AJ7 LCALL XIAN SJMP AJ66 AJ7:JB P1.2,AJ8 ;开始 LCALL XIAN JB P1.2,AJ8 MOV 31H,30H SETB TR0 AJ77:JB P1.2,AJ4 LCALL XIAN SJMP AJ77 AJ8:SJMP LOOP2 AJ4:RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END ;程序结束。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题【实现功能】:下的C编程:编写一个程序(库),实现定时器(计时器)的功能,它能为用户提供在同一进程中多次使用的定时器。这里要求用信号来实现。
【解题思路】:编写一个结构体Timer代表一个计时器,然后再定义Timer类型的数组myTimer[N],用来保存我们设置的定时器;再定义函数setTimer()生成计时器,并将生成的计时器保存到myTimer中,这样通过多次调用,就可以在同一个进程中生成多个计时器;定义timeout()信号处理函数,每隔一秒产生一个信号,通过调用timeout()对所有的定时器扫描一遍,检查哪些计时器超时。
【程序代码】:如下
#include&stdlib.h&
#include&unistd.h&
#include&signal.h&
#include&time.h&
#include&sys/time.h&
#define N 100 //设置最大的定时器个数
int i=0,t=1;//i代表定时器的个数;t表示时间,逐秒递增
struct Timer
//Timer结构体,用来保存一个定时器的信息
int total_time;//每隔total_time秒
int left_time;//还剩left_time秒
int func;//该定时器超时,要执行的代码的标志
}myTimer[N];//定义Timer类型的数组,用来保存所有的定时器
void setTimer(int
t,int f)//新建一个计时器
struct Timer a;
a.total_time=t;
a.left_time=t;
myTimer[i++]=a;
void timeout()//判断定时器是否超时,以及超时时所要执行的动作
printf("Time: %d\n",t++);
for(j=0;j&i;j++)
if(myTimer[j].left_time!=0)
myTimer[j].left_time--;
switch(myTimer[j].func)
//通过匹配myTimer[j].func,判断下一步选择哪种操作
printf("------Timer 1: --Hello Aillo!\n");break;
printf("------Timer 2: --Hello Jackie!\n");break;
printf("------Timer 3: --Hello PiPi!\n");break;
myTimer[j].left_time=myTimer[j].total_time;//循环计时
int main()//测试函数,定义三个定时器
setTimer(3,1);
setTimer(4,2);
setTimer(5,3);
signal(SIGALRM,timeout);//接到SIGALRM信号,则执行timeout函数
sleep(1);//每隔一秒发送一个SIGALRM
kill(getpid(),SIGALRM);
C/C++ 学习之 定时器
C语言实现定时器
C语言定时器
让你提前认识软件开发(21):C程序中的定时器
C语言中高效定时器的实现_warmembrace
Windows高精度微秒级(并发)定时器实现
单线程中的通用定时器(C语言)
C语言计时器的使用
没有更多推荐了,用定时器方式2怎么弄一个一秒的时间且用c语言
全部答案(共1个回答)
LED=Px^x
void main()
{
1.定时器设置、中断设置,
2.LED=1; //假设高电平亮
3.定时中断次数设置X=m
//2秒等于m次中断
4.开定时器中断
5.While(x);
//未到时间停在这一步
6.关定时器中断
给你个提纲,自己写吧,如下:
sbit LED=Px^x
void main()
1.定时器设置、中断设置,
2.LED=1; //假设高电平亮
3.定时中断次数设置X=m
//2秒等于m次中断
4.开定时器中断
5.While(x);
//未到时间停在这一步
6.关定时器中断
8.定时中断次数设置X=n
//3秒等于n次中断
9.开定时器中断
10.While(x);
//未到时间停在这一步
11.关定时器中断
void intr() interrupt0
//中断服务函数
重装初值;
//装入的初值时间要能被2秒、3秒整除
这里把游戏的关键设计放在三个盒子和一个坐标上:
大盒子:一个两维数组,记录着方块点阵的开与关(把游戏的舞台想像
成一个点阵),在下面也把这个东西称为地图
图层面板底端有个“fx”的标志 这叫混合选项 你点描边就可任意换色粗细了!
定时关机是有招的:
1、不用编程,先建一个批处理文件1.BAT,文件内容:shutdown -s
2、在控制面板中,添加任务计划,将1.BAT作为需要执行的文件...
首先得用鼠标选中定时器
然后右下角的属性窗口里面有个属性叫Interval
设置为1000
希望能帮助你。
如果是内部定时器的话影响其精度的就是溢出后执行代码的长度,代码越长影响越大,最好多试几次然后对初值进行补偿,尽量不要用一些延时函数;如果是时钟芯片的话就不会受影...
答: 汇编语言和c语言混编 用keil怎么写入单片机啊?求步骤!谢谢!
答: 读指针用来记录文件当前文件之前的读取位置,它指向下一个将要读取的信息项
答: 读指针用来记录文件当前文件之前的读取位置,它指向下一个将要读取的信息项
铝属于两性金属,遇到酸性或碱性都会产生不同程度的腐蚀,尤其是铝合金铸件的孔隙较多,成分中还含有硅和几种重金属,其防腐蚀性能比其他铝合金更差,没有进行防护处理的铝铸件只要遇到稍带碱性或稍带酸性的水,甚至淋雨、水气、露水等就会受到腐蚀,产生白锈。
解决的办法。
铝铸件完成铸造后,在机械加工前,先要进行表面预处理,如预先对铸件进行喷砂,涂上一道底漆(如锌铬黄底漆),在此基础上再进行机械加工,以避免铸铝件在没有保护的情况下放久了被腐蚀。
目前我们的生活水平必竟非同以往.吃得好休息得好,能量消耗慢,食欲比较旺盛,活动又少,不知不觉脂肪堆积开始胖啦。                                                                                         减肥诀窍:一.注意调整生活习惯,二。科学合理饮食结构,三。坚持不懈适量运动。
   具体说来:不要暴饮暴食。宜细嚼慢咽。忌辛辣油腻,清淡为好。多喝水,多吃脆平果青香焦,芹菜,冬瓜,黄瓜,罗卜,番茄,既助减肥,又益养颜,两全其美!
有减肥史或顽固型症状则需经药物治疗.
如有其他问题,请发电子邮件:jiaoaozihao53@ .或新浪QQ: 1
工行的网银没有软键盘,主要通过安全控件来保证安全,只有安装了工行的安全控件,才能在工行网页上输入密码。
修改密码的操作,你可以在登陆工行网银以后,在“客户服务”的“修改客户密码”里找到相关链接。
有可能搓纸轮需要清洗一下了,如果清洗了还是不行的话,那估计需要更换搓纸组件了
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415

我要回帖

更多关于 C语言控制台 的文章

 

随机推荐