若手机在使用中出现应用程序停止运行,可按照以下方法尝试:
1、系统运行程序过多,导致运行内存不足,一键清理可解决此类问题(重启手机也可);
2、手机的应用程序数据缓存过多,建议点击桌面--设置--常规--应用程序--全部--找到出现停止运行的程序--清理数据;
3、安装位置不当引起,进入设置--储存--首选安装位置--由系统决定(部分机型无首选安装位置选项);
4、备份手机资料(联系人、短信等),恢复出厂设置。
我不知道你是不是想要这们的结果。还是怎么样的,我测试过了。在按暂停再按开“倒计时”时它会产生误差几秒。可能是程序响应的问题。。。这种方法有点笨。。高手莫笑。。有什么更好的方法。一起贴出来研究。。
版本 2
程序集 窗口程序集1
程序集变量 时间停留分, 整数型
程序集变量 时间停留秒, 整数型
程序集变量 时间下班小时, 整数型
程序集变量 时间下班分, 整数型
程序集变量 时间下班秒, 整数型
程序集变量 时间小时, 整数型
程序集变量 时间分, 整数型
程序集变量 时间秒, 整数型
子程序 _时钟1_周期事件
时间下班小时 = 17 ' 6点下班!175960就是18点
时间下班分 = 59
时间下班秒 = 60
时间小时 = 到数值 (取小时 (取现行时间 ()))
时间分 = 到数值 (取分钟 (取现行时间 ()))
时间秒 = 到数值 (取秒 (取现行时间 ()))
标签2标题 = 到文本 (时间下班小时 - 时间小时) + “小时” + 到文本 (时间下班分 - 时间分) + “分” + 到文本 (时间下班秒 - 时间秒) + “秒”
子程序 _按钮1_被单击
如果 (按钮1标题 = “暂停”)
按钮1标题 = “倒计时”
时间停留小时 = 到数值 (取小时 (取现行时间 ()))
时间停留分 = 到数值 (取分钟 (取现行时间 ()))
时间停留秒 = 到数值 (取秒 (取现行时间 ()))
时钟1时钟周期 = 0
否则
按钮1标题 = “暂停”
时间小时 = 到数值 (取小时 (取现行时间 ()))
时间分 = 到数值 (取分钟 (取现行时间 ()))
时间秒 = 到数值 (取秒 (取现行时间 ()))
时间下班小时 = 时间下班小时 + 时间小时 - 时间停留小时
时间下班分 = 时间下班分 + 时间分 - 时间停留分
时间下班秒 = 时间下班秒 + 时间秒 - 时间停留秒
时钟1时钟周期 = 1000
如果结束
#include <AT89X52H>unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};unsigned char flag,a;unsigned int count;sbit k5=P1^4;void delay1(void){ unsigned int j; for(j=0;j<24;j++);//02毫妙}void display(unsigned int y){ P0=0xff; P2=0xdf; P0=tab[y/100]; delay1(); P0=0xff; P2=0xbf; P0=tab[y%100/10]; delay1(); P0=0xff; P2=0x7f; P0=tab[y%10]; delay1(); P0=0xff; } void main(){ TMOD=0x11; EA=1; ET0=1; TH0=0xf8; TL0=0xcc; TR0=1; while(1) { if(k5==0) { TH1=55536/256; TL1=55536%256; TR1=1; while(!TF1); TF1=0; TR1=0; if(k5==0) { while(!k5); flag++; flag=flag%2; } } }}void T0_jishi() interrupt 1{ TH0=0xf8; TL0=0xcc;//liang 毫秒 a++; if(flag==0) { if(a==5) { a=0; count++; if(count==1000) count=0; } } display(count);
}
这个是秒表程序,按了停再按走,可以修改点参数,把数码管时钟加上去就行了
;汇编时钟程序。显示时分秒。两个按键一个控制时钟开始走,一个控制暂停和继续。。。
;T-启动 空格-暂停和继续 Q-退出
;在MASM50编译通过
assume cs:code
code segment
ORG 100H
start:
JMP CZR
MESS DB 'PRESS "T" START, "SPACE KEY" PAUSE OR CONTINUE, "Q" TO EXIT! $'
flag db 0
CZR:
PUSH CS
POP DS
MOV AH,09 ;显示提示信息
MOV DX,OFFSET MESS
INT 21H
mov ah,1 ;输入一个字符
int 21h
cmp al,54h ;是'T'吗
je start1 ;是则开始运行程序
jmp start ;不是转重新输入一个字符
start1:
MOV AL,FLAG
CMP AL,0
JE GOON
JMP TEST_K
GOON:
mov bx,0b800h ;设置彩色显示卡显示区地址
mov es,bx
mov di,16012+230 ;光标定位:12行/30列
push di ;光标位进栈保存
mov al,10
rdate:
dec al ;AL-1
cmp al,7 ;依次设AL=9,8,7 通过OUT 70H,AL及IN AL,71H,可依次取年月日数据
jb rtime ;AL若小于7,则取时间
call show
add di,6 ;本是增加3个字符位,但还有3个属性位,所以+6
jmp short rdate
rtime:
sub al,2 ;依次设AL=4,2,0 通过OUT 70H,AL及IN AL,71H,可依次取时分秒数据
cmp al,0feh ;0-2H=0feh
je sign ;转显示" / / : : " 标志符号
call show
add di,6 ;本是增加3个字符位,但还有3个属性位,所以+6
jmp short rtime
sign:
pop di ;光标位出栈
add di,4
mov byte ptr es:[di],'/' ;在12行/32列 显示 '/'
add di,6
mov byte ptr es:[di],'/' ;在12行/35列 显示 '/'
add di,12
mov byte ptr es:[di],':' ;在12行/41列 显示 ':'
add di,6
mov byte ptr es:[di],':' ;在12行/44列 显示 ':'
TEST_K:
in al,60h ;从键盘读入字符
cmp al,10h ;是Q的扫描码吗
je quit ;是则退出程序
CMP AL,39H ;是空格键码?
JE FAN
JMP START1
FAN: ;是空格键,转换标志
MOV AL,1
XOR FLAG,AL
jmp start1 ;否则继续
quit: mov ax,4c00h ;退出程序,返回DOS
int 21h
show: push ax ;从CMOS取数并转换成ASCII码子程序
push cx
out 70h,al
in al,71h ;从CMOS读取日期/时间数据, 假如AL=12H
mov ah,al ;AX=1212H
mov cl,4
shr ah,cl ;AH右移4位后,AH=01H
and al,00001111b ;AL=02H
add ah,30h ;AH=31H 至此,完成ASCII码转换
add al,30h ;AL=32H
mov byte ptr es:[di],ah ;将ASCII码填入待显示的位置,AH为10位
mov byte ptr es:[di+2],al ;AL为个位,之所以+2,是因为除字符位外,还有一个属性位
pop cx
pop ax
ret
code ends
end start
以上就是关于时钟停止运行全部的内容,包括:时钟停止运行、易语言是倒计时暂停的代码、求单片机12分钟倒计时的C语音程序,要可以暂停等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)