以前转了一篇延时的文章,呵呵。其实我写了一个VB的程序,可以根据这个来生成延时代码的。曾经在pic16上发布过的,地址:http://pic16.com/bbs/dispbbs.asp?BoardID=9&ID=25231。不过发布后,实际使用中发现了很多问题,并进行了多次更新。只是一直没有时间发到网上来大家分享。今天把它整理一下发上来^_^
该程序名叫DelayGen,借用KeyGen的创意,呵呵,就是延时生成器的意思。程序根据前面转载的那篇文章的计算原理,可进行二重循环延时时间的计算,并可根据给定的延时时间来求出最佳循环参数值。同时,可以给定参数或计算结果生成8位PIC汇编代码。
最新的1.50版可以生成C代码,该C代码在PICC编译环境下,将会编译成和汇编完全相同的代码。方便C的伙计们使用——不过8位机,没多少人用C吧,呵呵……
程序在VB6.0+VISTA/WIN2000测试通过。
目前版本号:v1.50 beta,更新时间:2007.12.11
更新历史:
v1.50 beta
添加C的延时代码生成支持
修正若干BUG(详细的不记得了)
添加“关于”按钮
v1.16
(再往前的详细历史不记得了-_-b)
修正计算错误,计算中参数使用浮点数代替以前的长整型,保证计算结果正确
修改生成代码显示方式,取消X/Y变量及其定义,改用立即数,便于在程序中使用多个延时
修改计算限制,目前时间计算可支持到X=255/Y=255/N=255,根据时间求解可支持到X=255/Y=255/N=20
修改根据时间求解部分计算时代码,计算时计算按钮将暂时不可用,并且结果区显示“计算中。。。。”
添加更多频率支持,目前支持4/7.3728/8/10/12/16/20MHz频率
其他一些细小更新(其实是我不记得了-_-b)
v1.00
完成基本功能,可进行时间计算、根据时间求解及代码生成
已知问题:
VB6.0程序需要VB运行库,下载地址:http://www.skycn.com/soft/2944.html
程序根据时间求解部分使用穷举法,求解较长延时时间时会比较慢,请耐心等待-_-b
程序大小:60K
下载地址:请点击这里
UPDATE 2010-03-22
杯具的发现之前的链接地址写错了,已修正。
不知不觉三年了,PIC也好久不用,这小程序也好久不更新了,现把源代码一并附上,有兴趣的朋友自己拿去改吧。VB6工程。
下载地址:请点击这里
- 本文固定链接: https://www.dragongod.net/2007/10/delaygen-released/
- 转载请注明: 龙天 于 龙天小筑 发表
@lenyu: 已修正,不好意思。另外源码没找到1.50b的,只找到1.16的,三年了……
@龙天:软件下载链接已经失效了。能否发份最新的代码到我的email:pengyu00@gmail.com,不胜感激!
呵呵,大虾出现了~!我只是借用了你的算法写了一点小代码而已。主要的贡献都是你的么~呵呵。冒昧的就把你的联系方式加入了程序,如有冒犯敬请见谅~
我的计算机算法和数学着实很差,也懒得学了,呵呵。好在我的机器还行,自己测试和使用时的延迟还算可以接受。让大虾见笑了~以后有空还要向你多多请教呢~~o(∩_∩)o…
谢谢你对我的软件与公式的扩展,你的软件做的很不错,加进了代码自动生成的功能。另外还特别注明出处。只是反向求解的算法需要改进一些,有空可以交流啊!