cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 4437|回复: 11

[fx-9860/9750系列] 简陋计时器

[复制链接]
发表于 2018-1-13 14:08:34 | 显示全部楼层 |阅读模式
计算器程序
程序名称: 简陋计时器
平台: fx-9860GII fx-9860G & Slim fx-9750GII 
系统/软件要求:
版本号:
类型: 其他 
作者: sandyzhang
大小(K): 15
更新日期: 2018-01-13
描述: -
已知缺陷: 暂无
源代码: 开源/部分开源 » 其它许可协议(请注明)
接触fx9750以来,编的第一个程序,耗电还是很少的,计时很精准!
上课的时候就拿出来计时玩

很简陋
很简陋
很简陋


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


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




源码:
  1. #include "fxlib.h"  
  2. #include "stdlib.h"
  3. #include "stdio.h"
  4. #include "string.h"

  5. int second;/*总秒数*/
  6. unsigned char str[21];/*显示字符串变量*/
  7. void timeadd(){
  8.         char ssec[2],smin[2],shour[2],showstr[21];/*showstr为要显示的时间字符串*/
  9.         int sec,min,hour;
  10.         second++;/*总秒数自加*/
  11.         sec=second%60;
  12.         min=(int)(second/60)%60;/*根据总秒数算出时间*/
  13.         hour=(int)(second/3600)%24;
  14.         if(sec<10){sprintf(ssec,"0%d",sec);}else{sprintf(ssec,"%d",sec);}
  15.         if(min<10){sprintf(smin,"0%d",min);}else{sprintf(smin,"%d",min);}/*进位*/
  16.         if(hour<10){sprintf(shour,"0%d",hour);}else{sprintf(shour,"%d",hour);}
  17.         strcpy(showstr,shour);
  18.         strcat(showstr,":");
  19.         strcat(showstr,smin);
  20.         strcat(showstr,":");
  21.         strcat(showstr,ssec);/*连接各个字符串(时分秒)*/

  22.         locate(1,1);
  23.         PrintRev((unsigned char*)showstr);
  24.         Bdisp_PutDisp_DD();
  25. }

  26. int AddIn_main(int isAppli, unsigned short OptionNum) {
  27.         unsigned int key;
  28.         int i,j,timerrun=0;/*timerrun是计时器状态*/
  29.         locate(1,1);
  30.         Print((unsigned char*)"Sandyzhang's timer");
  31.         for(i=0;i<=100;i++)
  32.         {
  33.                 Sleep(5);/*延迟5ms*/
  34. sprintf(str,"loading...%d%%",i);
  35. locate(1,2);
  36.                 Print((unsigned char*)str);
  37.                 Bdisp_PutDisp_DD();
  38.         }
  39.         Bdisp_AllClr_DDVRAM();
  40.         locate(1,3);Print((unsigned char*)"F1:Start/Stop");
  41.         locate(1,4);Print((unsigned char*)"F2:Clear");
  42.         locate(1,1);Print((unsigned char*)"00:00:00");
  43.         while(1){
  44.                 GetKey(&key);
  45.                 if(key==30009){
  46.                         if(!timerrun){SetTimer(1,1000,timeadd);timerrun=1;}else{KillTimer(1);timerrun=0;}/*30009是F1键的键代码,按下后计时器计时状态取反*/
  47.         }
  48.                 if(key==30010){
  49.                         KillTimer(1);
  50.                         timerrun=0;
  51.                         locate(1,1);Print((unsigned char*)"00:00:00");/*清零*/
  52.           second=0;/*总秒数清零*/
  53.         }
  54.         }
  55.         return 1;
  56. }


  57. #pragma section _BR_Size
  58. unsigned long BR_Size;
  59. #pragma section
  60. #pragma section _TOP
  61. int InitializeSystem(int isAppli, unsigned short OptionNum){
  62.     return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
  63. }
  64. #pragma section
复制代码


图片:
360截图20180113140125414.jpg
360截图20180113140141238.jpg






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


TIMER.G1A (14.96 KB, 下载次数: 18)

发表于 2018-1-13 21:16:05 | 显示全部楼层
我那个时候全校也找不到几个……所以才需要在线论坛啊
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-18 16:00:40 | 显示全部楼层
大学了,当年玩9860的时候还是初中生。现在论文工作太忙了,没时间研究计算器了都。
发表于 2018-2-6 23:10:48 来自手机 | 显示全部楼层
好样的!可惜不懂英语
发表于 2018-3-8 16:03:52 | 显示全部楼层
请问FX-CG20上能运行吗?
发表于 2018-3-8 22:36:27 | 显示全部楼层
实测CG20上运行不了啊
发表于 2018-3-9 08:41:45 | 显示全部楼层
大神,计时器能不能给做个G3A文件啊,;G3M最好啦
发表于 2018-4-5 19:36:36 来自手机 | 显示全部楼层
以前做过一个5位数精读的,一天错半秒。。。。后来也没在管他
发表于 2018-5-8 11:55:14 | 显示全部楼层
加油
发表于 2018-5-8 11:56:22 | 显示全部楼层
一定要加油呀,支持你
 楼主| 发表于 2018-5-19 23:13:25 | 显示全部楼层
神算子 发表于 2018-5-8 11:56
一定要加油呀,支持你

谢谢哈!
 楼主| 发表于 2018-5-19 23:15:07 | 显示全部楼层
13810668422 发表于 2018-3-9 08:41
大神,计时器能不能给做个G3A文件啊,;G3M最好啦

在9860sdk上可以运行,也可以编译成g1a文件,在计算器里就是一个app的样子,
你说的彩屏cg20貌似不能运行。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-3-29 15:05 , Processed in 0.051148 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表