sandyzhang 发表于 2018-1-13 14:08:34

简陋计时器

接触fx9750以来,编的第一个程序,耗电还是很少的,计时很精准!
上课的时候就拿出来计时玩

很简陋
很简陋
很简陋


只有F1计时/暂停,F2清零的功能,程序图标也没换(懒癌没下载制作单色像素图的软件)


源码可以凑合看看,9860SDK上可直接运行。给刚接触的参考参考




源码:
#include "fxlib.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"

int second;/*总秒数*/
unsigned char str;/*显示字符串变量*/
void timeadd(){
        char ssec,smin,shour,showstr;/*showstr为要显示的时间字符串*/
        int sec,min,hour;
        second++;/*总秒数自加*/
        sec=second%60;
        min=(int)(second/60)%60;/*根据总秒数算出时间*/
        hour=(int)(second/3600)%24;
        if(sec<10){sprintf(ssec,"0%d",sec);}else{sprintf(ssec,"%d",sec);}
        if(min<10){sprintf(smin,"0%d",min);}else{sprintf(smin,"%d",min);}/*进位*/
        if(hour<10){sprintf(shour,"0%d",hour);}else{sprintf(shour,"%d",hour);}
        strcpy(showstr,shour);
        strcat(showstr,":");
        strcat(showstr,smin);
        strcat(showstr,":");
        strcat(showstr,ssec);/*连接各个字符串(时分秒)*/

        locate(1,1);
        PrintRev((unsigned char*)showstr);
        Bdisp_PutDisp_DD();
}

int AddIn_main(int isAppli, unsigned short OptionNum) {
        unsigned int key;
        int i,j,timerrun=0;/*timerrun是计时器状态*/
        locate(1,1);
        Print((unsigned char*)"Sandyzhang's timer");
        for(i=0;i<=100;i++)
        {
                Sleep(5);/*延迟5ms*/
sprintf(str,"loading...%d%%",i);
locate(1,2);
                Print((unsigned char*)str);
                Bdisp_PutDisp_DD();
        }
        Bdisp_AllClr_DDVRAM();
        locate(1,3);Print((unsigned char*)"F1:Start/Stop");
        locate(1,4);Print((unsigned char*)"F2:Clear");
        locate(1,1);Print((unsigned char*)"00:00:00");
        while(1){
                GetKey(&key);
                if(key==30009){
                        if(!timerrun){SetTimer(1,1000,timeadd);timerrun=1;}else{KillTimer(1);timerrun=0;}/*30009是F1键的键代码,按下后计时器计时状态取反*/
        }
                if(key==30010){
                        KillTimer(1);
                        timerrun=0;
                        locate(1,1);Print((unsigned char*)"00:00:00");/*清零*/
        second=0;/*总秒数清零*/
        }
        }
        return 1;
}


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section

图片:








还有最近论坛已经没什么人了?我可能是来最晚的一个
本人高二学生狗一枚,现在这年代都没什么人对计算器感兴趣了,全校都找不到第二个对这方面有研究的人




ZephRay 发表于 2018-1-13 21:16:05

我那个时候全校也找不到几个……所以才需要在线论坛啊

yzhang37 发表于 2018-1-18 16:00:40

大学了,当年玩9860的时候还是初中生。现在论文工作太忙了,没时间研究计算器了都。

爱里来 发表于 2018-2-6 23:10:48

好样的!可惜不懂英语

13810668422 发表于 2018-3-8 16:03:52

请问FX-CG20上能运行吗?

13810668422 发表于 2018-3-8 22:36:27

实测CG20上运行不了啊

13810668422 发表于 2018-3-9 08:41:45

大神,计时器能不能给做个G3A文件啊,{:13_322:};G3M最好啦{:13_340:}

梧桐树 发表于 2018-4-5 19:36:36

以前做过一个5位数精读的,一天错半秒。。。。后来也没在管他

神算子 发表于 2018-5-8 11:55:14

加油

神算子 发表于 2018-5-8 11:56:22

一定要加油呀,支持你

sandyzhang 发表于 2018-5-19 23:13:25

神算子 发表于 2018-5-8 11:56
一定要加油呀,支持你

谢谢哈!

sandyzhang 发表于 2018-5-19 23:15:07

13810668422 发表于 2018-3-9 08:41
大神,计时器能不能给做个G3A文件啊,;G3M最好啦

在9860sdk上可以运行,也可以编译成g1a文件,在计算器里就是一个app的样子,
你说的彩屏cg20貌似不能运行。。
页: [1]
查看完整版本: 简陋计时器