搜索
bottom↓
回复: 129

1602+C8051F020做的基于合作式调度的简易多功能测试仪--显示时间、ADC、PWM、频率检

[复制链接]

出30入0汤圆

发表于 2009-11-22 01:13:31 | 显示全部楼层 |阅读模式
1602+C8051F020做的基于合作式调度的简易多功能测试仪
                                -----显示时间、ADC、PWM、频率检测、DA输出、温度显示等
第一次发帖。
三个多星期前,偶尔在网上查资料,发现了这个网站。很高兴在这里认识了那么多高尚而有激_情而又志同道合的朋友,虽然我们互不相识,但你们乐于分享知识,经验,脚踏实地而又不懈的追求完美,让我充分的感到技术能给人生带来愉悦。在这个浮躁的社会,这里实在是一片世外桃园。
话说回来,我一般是个较懒的人,就是典型的“看帖不喜欢回的人”,专业的需要,一段时间上过CSDN等网站,感觉很郁闷,没有贬低他们的意思,觉得他们做事情太过于功利。辛苦写的文章,发N个帖子,换来可怜的一点积分,网络不好,一不小心就光了。也曾购买过虚拟币,也曾上垃圾网站买过坏开发板-------这些事情太多太多,不一而足。艰难的出生背景,清贫的学生时代,垃圾的学校教育,一切一切,成长是件很艰难的事情。
多谢这里的开源,感谢阿莫,也谢谢各位素未谋面的发烧友公布自己的程序和经验,在参考你们的程序的同时,也想把自己的程序和调试经验一起与大家分享,相互交流,共同进步。
前不久在中关村淘到了一个焊错了脚的1602,勉强能用,苦口婆心的讨价后,15元买回家,同学那里借来的开发板,实验室角落捡来的4X4键盘,白天在实验室干活,深夜回到寝室,弄个把小时后睡觉,前后弄了一个星期左右,终于把一个C8051F020+1602的完整的程序写出来了。
程序是基于合作式调度器来进行任务切换的,控制器是C8051f020。
实现了:
显示时间,可以动态调整时间(操作系统实现,非常精确,并且在单片机执行其他任务时也可以同时并行执行)
显示八路ADC采样,并在1602上显示出来
输出两路DA信号,一路负责LCD背光的调整,还有一路向外输出。所有的DA输出值都通过键盘输入,可以在2430mV内调整,在LCD上显示出来,精确度在5mV以内。(因为是直接接的开发板,不可能很精确)
测量频率,从1HZ到6.55MHZ,1602上显示的有效数字是四位。
输出不同占空比的PWM,从0到100,可以通过键盘调整。
输出当前的芯片的温度(是单片机的内部的温度传感器)
目前用了7个任务,如果需要的话,可以再增加。片内的RAM用了170Byte左右。020芯片上有4K的片内DRAM,应该可以做很多的事情。(说明一下,我自己移植的UC/OS-II在020上完全可以跑起来,需要的读者可以把邮箱告诉我,我给你们发过去)
说明一下,这个合作式模板是我参考一本书写的,《基于时间触发的嵌入式操作系统》,这本书非常好,想读者们推荐一下。由于是图书馆借的书,还了后我根据记忆写的,没有注释,不是很规范,如果入门级读者要深究的话,推荐去看原书,讲的非常好。
任务分为几个模块,各位读者大人可以参考一下。

************************************/
#include "MAIN.H"
#include "PORT.H"
#include "DeviceInit.h"
#include "DAC.h"
#include "LCD.h"
#include "Key.h"
#include "Time.h"
#include "Temp.h"
#include "sch51.h"
#include "scan.h"
#include "FreRecv.h"
#include "FreSend.h"
void main(void)
{       
        DeviceInit();
        DACInit();
        KeyInit();       
        LCDInit();
        Task_Init();
/*        函数名        第一次执行时延时的节拍数         任务运行间隔的节拍数*/
/*        任务运行间隔的节拍数为N+1,例如间隔为9,则实际的间隔为9+1*/
        Task_Add(TempUpdate,100,99);        //温度扫描更新
        Task_Add(TimeUpdate,1,9);                //时钟更新
        Task_Add(DACUpdate,2,9);                //DA更新,可以调节LCD亮度和一个DA输出
        Task_Add(StateUpdate,3,0);                //按键扫描,判定系统的状态,以及LCD显示,
        Task_Add(DisplayBufferData,4,0); //LCD显示,必须调用(可以放到StateUpdate函数里)
        Task_Add(FreSendUpdate,5,99);          //输出占空比不同的PWM脉冲波
        Task_Add(FreRecvUpdate,99,0);                 //检测脉冲的频率
        Task_Start();
        while(1)
        {                       
                Task_Dispatch();
        }
}
用操作系统的好处在与程序的结构非常好,一个任务一个源文件加一个头文件,不管是结构还是可移植性都非常好。
我用了七个任务,
Task_Add(TempUpdate,100,99);                  //温度扫描更新
Task_Add(TimeUpdate,1,9);                          //时钟更新
Task_Add(DACUpdate,2,9);                          //DA更新
Task_Add(StateUpdate,3,0);                          //按键扫描,判定系统的状态,以及LCD显示,
Task_Add(DisplayBufferData,4,0);          //LCD显示,必须调用(可以放到StateUpdate函数里)
Task_Add(FreSendUpdate,5,99);                 //输出占空比不同的PWM脉冲波
Task_Add(FreRecvUpdate,99,0);                 //检测脉冲的频率

例如Time的任务部分:

/***********************************
初始化部分,显示的是完整的一副时钟画面,
显示的初始值为18:00:00,闹钟的初始值为
08:00:00,index存放的是时钟显示的位置
************************************/
void TimeInit(void)
{
        static bit TimeInitBit=1;
        if(TimeInitBit)
        {
                Time.Sec=0x00;
                Time.Min=0x00;
                Time.Hour=0x12;
                TimeInitBit=0;
        }
        if(TimeFlag)
        {
                WriteDataToBuffer(Time.index,Time0);
                ShowData(0x16|0x60,Time.Hour);
                WriteCharToBuffer(0x18,':');
                ShowData(0x19|0x60,Time.Min);
                WriteCharToBuffer(0x1b,':');
                ShowData(0x1c|0x60,Time.Sec);
                CursionLocate=0x16;
                CURSION_ON;
        }
}
/***********************************
刷新时钟显示,每到一个固定的时间,刷新
分秒时,若到了时间,更新显示。要想完成
显示时间,每隔单位时间调用该函数即可。
按下光标键,则光标会左右移动,若按下
了加减键,则光标键所在的数字会加减,
当到了最大值后,再按下会一直持续这个
最大值
************************************/
void TimeUpdate(void)
{                                                                                        //先显示时间
        static char TimeLocate=0;                                        //保存的是光标的额位置
        static char TimeCount=0;                                        //每10ms刷新一次,所以每100次运行该程序就是一秒
        if(TimeCount++==10)
        {
                TimeCount=0;
                Time.Sec++;
                if(TimeFlag)ShowData(0x1c|0x60,Time.Sec);                         //一秒到了,刷新显示
                if(Time.Sec==60)
                {
                        Time.Sec=0;
                        Time.Min++;
                        if(TimeFlag)ShowData(0x19|0x60,Time.Min);                 //一分到了,刷新显示
                        if(Time.Min==60)
                        {
                                Time.Min=0;
                                Time.Hour++;
                                if(TimeFlag)ShowData(0x16|0x60,Time.Hour); //一小时到了,刷新显示
                                if(Time.Hour==24)       
                                {
                                        Time.Hour=0;
                                }
                        }
                }
        }
        if(TimeFlag)
        {                               
                if(KeyValue=='#')                                                                        //如果'#'键按下,光标右移
                {
                        if(TimeLocate++>=5)TimeLocate=5;
                        KeyValue=0;
                        TimeLocate|=0x80;

                }
                if(KeyValue=='*')                                                                          //如果'*'键按下,光标右移
                {
                        if(TimeLocate--<=0)TimeLocate=0;
                        KeyValue=0;
                        TimeLocate|=0x80;
                }
                if(TimeLocate&0x80)                                                                   //执行光标移动
                {
                        CURSION_ON;
                        TimeLocate&=0x7f;
                        switch(TimeLocate)
                        {
                                case 0:
                                                CursionLocate=0x16;
                                                break;
                                case 1:
                                                CursionLocate=0x17;
                                                break;
                                case 2:
                                                CursionLocate=0x19;
                                                break;
                                case 3:
                                                CursionLocate=0x1a;
                                                break;
                                case 4:
                                                CursionLocate=0x1c;
                                                break;
                                case 5:
                                                CursionLocate=0x1d;
                                                break;
                                default:break;
                        }
                }
                if(KeyValue=='8')                                          //如果'*'键按下,光标所在的数字加一
                {
                        CURSION_ON;
                        KeyValue=0;
                        switch(TimeLocate)
                        {
                        case 0:                Time.Hour+=10;
                                                if(Time.Hour>=23)Time.Hour=23;
                                                break;
                        case 1:                Time.Hour+=1;
                                                if(Time.Hour>=23)Time.Hour=23;
                                                break;
                        case 2:                Time.Min+=10;
                                                if(Time.Min>=59)Time.Min=59;
                                                break;
                        case 3:                Time.Min+=1;
                                                if(Time.Min>=59)Time.Min=59;
                                                break;
                        case 4:                Time.Sec+=10;
                                                if(Time.Sec>=59)Time.Sec=59;
                                                break;
                        case 5:                Time.Sec+=1;
                                                if(Time.Sec>=59)Time.Sec=59;
                                                break;
                        default:         break;
                        }                                                                  //更新显示
                        ShowData(0x16|0x60,Time.Hour);
                        WriteCharToBuffer(0x18,':');
                        ShowData(0x19|0x60,Time.Min);
                        WriteCharToBuffer(0x1b,':');
                        ShowData(0x1c|0x60,Time.Sec);
                }

                if(KeyValue=='0')                                                 //如果'0'键按下,光标所在数字减一
                {
                        CURSION_ON;
                        KeyValue=0;
                        switch(TimeLocate)
                        {
                        case 0:                Time.Hour-=10;
                                                if(Time.Hour<=0)Time.Hour=0;
                                                break;
                        case 1:                Time.Hour-=1;
                                                if(Time.Hour<=0)Time.Hour=0;
                                                break;
                        case 2:                Time.Min-=10;
                                                if(Time.Min<=0)Time.Min=0;
                                                break;
                        case 3:                Time.Min-=1;
                                                if(Time.Min<=0)Time.Min=0;
                                                break;
                        case 4:                Time.Sec-=10;
                                                if(Time.Sec<=0)Time.Sec=0;
                                                break;
                        case 5:                Time.Sec-=1;
                                                if(Time.Sec<=0)Time.Sec=0;
                                                break;
                        default:         break;
                        }                                                                          //更新显示
                        ShowData(0x16|0x60,Time.Hour);
                        WriteCharToBuffer(0x18,':');
                        ShowData(0x19|0x60,Time.Min);
                        WriteCharToBuffer(0x1b,':');
                        ShowData(0x1c|0x60,Time.Sec);
                }
        }
}
各位读者看完程序后会发觉几乎所有的功能函数的源文件都是遵照上述文件的格式来编写的。白天要做老师布置的该死的机械的机械图,凌晨趁室友们睡了后挑灯夜战,这种模块化的程序结构也省了不少事情,一天一个任务出来了,感觉非常好。
有一点需要提醒读者的是,由于程序采用的是基于时间片轮询的程序结构,所以LCD和其他的任务都是一次调度只运行一次,运行完后把CPU交给别人,如一个功能函数可能需要刷新所有的LCD显示字符,这个任务的显示执行时间可能需要超过10ms,所以采用的是轮询结构,即建立一个显示缓冲区以后,每次任务调度时就会检查这个缓冲区里是否还有有效的字符未发送出去,若有,发送出去,将发送缓冲区的指针加一。所以要刷新一个16X2的液晶屏,需要32次调度。
现在在编写注释的过程中,当时写程序,调程序卡壳的一个个片段历历在目。在下机械出身,至今菜鸟一个,第一次发表主题,希望个位大侠不要板砖,在程序的结构方面多提些建议,在下不胜感激!
我在WORD里写的,图片很大,远远超过了300K,太晚了,我明天再另外想办法传上来。

出0入0汤圆

发表于 2009-11-22 01:29:56 | 显示全部楼层
楼主精神可嘉,夜晚看到,不得不顶

出30入0汤圆

 楼主| 发表于 2009-11-22 01:42:36 | 显示全部楼层

初始化界面: (原文件名:tt1.JPG)


按下‘1’键以后显示的是时间,初始化时间是18:00:00,在时间显示区‘1’的下面有一个光标,拍的不好看不清楚,按下‘8’加一,按下‘0’减一,‘*’左移光标,‘#’右移光标。 (原文件名:tt2.JPG)


调整时间的画面,这次应该能看清楚光标。 (原文件名:tt3.JPG)


按键‘2’是发出PWM脉冲波功能键,按下后同样的人机交互画面,不仔细介绍。下面是20%占空比的画面。 (原文件名:tt4.JPG)


下面是60%占空比的画面。 (原文件名:tt5.JPG)


按键‘3’是频率检测功能键,输出四位有效位数,从1HZ到6.556MHZ。 (原文件名:tt6.JPG)


显示八路ADC采样,并在1602上显示出来,通过人机交互,在LCD上显示出来。因为ADC未接电路,显示的是随机值。 (原文件名:tt7.JPG)


输出两路DA信号,一路负责LCD背光的调整,还有一路向外输出。所有的DA输出值都通过键盘输入,可以在2430mV内调整,在LCD上显示出来,精确度在10mV以内。(因为是直接接的开发板,不可能很精确)上面编得很粗糙,第二行应该是DAC1,不过很好改。 (原文件名:tt8.JPG)


下图是DAC1输出后,通过跳线接在在ADC0通道上采样后显示的结果,虽然很粗糙,误差也不是太大。 (原文件名:tt9.JPG)


DAC0负责LCD背光的调整,1602的背光是越低对比度越强。下面是500mv的结果。 (原文件名:tt10.JPG)


到了900mv时,就很模糊了。 (原文件名:tt11.JPG)


输出当前的芯片的温度(是单片机的内部的温度传感器) (原文件名:tt12.JPG)

出30入0汤圆

 楼主| 发表于 2009-11-22 01:45:21 | 显示全部楼层
晕,还是看不清楚,数码相机拍的3M的图片,用截图的方式,截了两次,才能上传,各位大虾是怎么处理这种问题的。

出0入0汤圆

发表于 2009-11-22 09:15:33 | 显示全部楼层
不错,这种操作系统的思想是不是只能协作不能抢占?

出0入0汤圆

发表于 2009-11-22 09:49:06 | 显示全部楼层
mark

出30入0汤圆

 楼主| 发表于 2009-11-22 13:40:13 | 显示全部楼层
回四楼,对。合作式调度器的实现方法很简单,就是每个任务建立一个结构体,结构体里保存的是每个任务的起始执行时间,间隔执行时间,执行标志位,如果要加入事件标志位判断,可以在结构体里再加入一个判别字节。
昨天晚上太晚了,今天把源文件发上来。
另外加上原作者Pont先生的光盘里的操作系统模板也一起传上来。
源文件的结构:
"MAIN.c"//主函数,添加任务和任务启动
"DeviceInit.c"//设备初始化以及对按键扫描后的功能函数激活判断
"DAC.c"//两路DAC输出
"LCD.c"//显示,推荐读者朋友们看看,合作式调度每个调度都会显示缓冲区的一个字符(如果缓冲区存在有效字符的话),自己写的,欢迎大家给出宝贵意见。
"Key.c"//按键扫描
"Time.c"//时间任务更新
"Temp.c"//温度任务更新
"sch51.c"//调度器的内核函数
"scan.c"//同上(这是自己乱写的简易版本,推荐大家参考原作者的模板
"FreRecv.c"//频率检测刷新函数
"FreSend.c"//不同占空比的PWM输出刷新函数
自己比较懒,其实还可以加入很多东西,020的可计数逻辑阵列非常强大,什么时候有动力了再发上来。
Pont先生的合作式调度操作系统模板ourdev_505848.rar(文件大小:42K) (原文件名:Pont先生的合作式调度操作系统模板.rar)
液晶显示加操作系统ourdev_505849.rar(文件大小:112K) (原文件名:液晶显示加操作系统11.20.rar)

出0入0汤圆

发表于 2009-11-22 14:40:32 | 显示全部楼层

出0入0汤圆

发表于 2009-11-22 15:30:18 | 显示全部楼层
MARK 协作多任务

出0入0汤圆

发表于 2009-11-22 16:25:26 | 显示全部楼层
顶,精神可佳,。。。。。。

出30入0汤圆

 楼主| 发表于 2009-11-23 13:49:36 | 显示全部楼层
为什么要使用操作系统?
在网上,我们见到了一个又一个程序,各种各样的驱动,但是个人觉得有些程序似乎不太适合于工程运用,为什么?
举个例子,在论坛上存在这样的一幅帖子《新手学单片机才五天,用89S52和1602一个时钟》(当然,作者学单片机五天写出这种程序实属难得,我非常佩服),仔细阅读了这个帖子的源文件以后我们发现这样的程序:
while(1)
{
if(CNTX==16)
{
S++;
CNTX=0;
FLAG=1;
}
if(FLAG==1)
{
FLAG=0;
if(S==60){M++;S=0;}
if(M==60){H++;M=0;}
            if(H==24){H=0;D++;}
            if(D==(MON[K]+1)){K++;D=1;}
            if(K==13){K=1;Y++;}
Y=Y%100;
dis1[5]=H/10+0x30;
dis1[6]=H%10+0x30;
dis1[8]=M/10+0x30;
dis1[9]=M%10+0x30;
dis1[11]=S/10+0x30;
dis1[12]=S%10+0x30;

dis2[5]=Y/10+0x30;
dis2[6]=Y%10+0x30;
dis2[8]=K/10+0x30;
dis2[9]=K%10+0x30;
dis2[11]=D/10+0x30;
dis2[12]=D%10+0x30;

display(0x00,dis1);
display(0x40,dis2);
}
}
且不论作者是否有完整的编程风格,以及单片机只执行这一个显示时钟的任务,就从程序实现时钟显示的功能来看,是不完善的。我们知道,超级循环在使用的时候,其指令所执行的周期是不固定的,譬如,if(S==60){M++;S=0;}
if(M==60){H++;M=0;}
            if(H==24){H=0;D++;}
            if(D==(MON[K]+1)){K++;D=1;}
            if(K==13){K=1;Y++;}
在实际执行的过程中,如果FLAG=1,S=60,M=60,H=24,D==(MON[K]+1,K==13,那么这个程序的所有的语句都执行一遍,至少得需要几百个机器周期,而如果FLAG=0,这段程序根本就不会运行,仅仅在运行了一条JNB FLAG,?C0056(一条条件转移指令,具体是什么依赖于编译器)后就跳过了,仅仅运行了两条机器周期,这样的程序结构是极合理的。所有的程序跑起来以后,程序的执行时间是完全不可预知的,这样的程序在对时间管理要求非常严格的环境下是不能忍受的。
有的读者会觉得。如果我采用中断系统去执行呢?
好,我们将这段代码加到中断里去运行,
变成这样:
void Timer0ISR(void)   internet using 0
{
TF0=1;
if(CNTX==16)
{
S++;
CNTX=0;
FLAG=1;
}
if(FLAG==1)
{
FLAG=0;
if(S==60){M++;S=0;}
if(M==60){H++;M=0;}
            if(H==24){H=0;D++;}
            if(D==(MON[K]+1)){K++;D=1;}
            if(K==13){K=1;Y++;}
}
当然,所有的局部变量都变成了全局变量
unsigned char H,M,S,D,K,Y,FLAG;//全局变量
中断的时间是固定的,所以每到一个固定的时刻,这段程序就会执行,然后刷新时间记录。那么是否可以解决问题呢?
还是会存在问题,譬如说:
如果现在的时间是19点59分59秒,液晶显示的也是19点59分59秒,超级循环准备执行液晶刷新的第二位‘9’时候,突然时间中断来了,在中断函数里将时间刷新了,这是的时间按变成了20点00分00秒,中断跳出来了以后,程序开始执行第二位的显示,执行完毕后所以就变成了10点00分00秒,尽管在下次执行的时候,程序会自动恢复到正常显示状态,但是,如果这段程序是检查某个标志位,然后采取一系列动作,那么这段程序将会产生误动作,如果是用于性命攸关的场合,那后果是不堪设想的。
在这种场合,就体现出操作系统的优势了。
太累了,打字。操作系统完全可以避免这种情况(尽管临时关中断也可以避免这种情况)具体怎么避免,请大家自己去看原书,写的相当好。
这里表达一下对Pont先生的仰慕之情,看似简单的东西,其实有很深的学问,Pont先生将其发挥到了极致,在中国这种浮躁的社会,真正的这种人也不多,具我看来OURDEV上也不多。希望大家向Pont先生学习。
下面是我的协作式调度操作系统的测试任务的时序图,在Keil的逻辑分析器里面可以直接生成,有兴趣的朋友可以试一下。我把Keil源文件发上来,大家可以直接在上面观看到。
值得一提的是,我采用的是22.1184MHZ的晶振,所以每一条机器周期的执行时间不是一个整数,所以在为调度器制定调度周期时,会存在一个指令周期的误差(浮点数没法除尽),在小数点后的7位左右,也就是100纳秒左右,但在实际中不会产生累积误差,因为在连续几十条调度器件内可能会快一点,然后下一几十条调度器内可能会慢一点。就是说,调度的周期是固定的(18431个周期)但是不是整数,所以从22.1184MHZ的运行周期来看是每隔
18431隔周期调度一次,这个是固定的。只是换成绝对的时间后是个无理数。再就是任务是最后一个,在一个调度期间内,可能有几个任务同时运行,而测试任务排在最后一个,所以这是就会有一个较大的变动,但过后会恢复到原先的状态。
"Time (sec.)"        "Cycles"        "p5.0"
0.002314420        0        1.000000000
0.002544500        5089        0.000000000       
1.058804989        23367881        0.000000000
1.068805938        23589086        1.000000000
1.078805079        23810251        0.000000000
1.088801010        24031345        1.000000000
1.098801010        24252529        0.000000000
1.108804718        24473795        1.000000000
1.118801056        24694898        0.000000000
1.128801056        24916082        1.000000000
1.138801056        25137266        0.000000000
1.148801056        25358450        1.000000000
1.158801056        25579634        0.000000000
1.168805170        25800909        1.000000000
1.178804989        26022089        0.000000000
1.188801056        26243186        1.000000000
1.198801056        26464370        0.000000000
1.208801056        26685554        1.000000000
1.218801056        26906738        0.000000000
1.228801056        27127922        1.000000000
1.238801056        27349106        0.000000000
1.248801056        27570290        1.000000000
1.258801056        27791474        0.000000000
1.268805170        28012749        1.000000000
1.278804989        28233929        0.000000000
1.288801056        28455026        1.000000000
1.298801056        28676210        0.000000000
1.308801056        28897394        1.000000000
1.318801056        29118578                0.000000000
1.328801056        29339762        1.000000000
1.338801056        29560946        0.000000000
1.348801056        29782130        1.000000000
1.358801056        30003314        0.000000000
1.368805170        30224589        1.000000000
1.378804989        30445769        0.000000000
1.388801056        30666866        1.000000000
1.398801056        30888050        0.000000000
1.408801056        31109234                1.000000000
1.418801056        31330418        0.000000000
1.428801056        31551602        1.000000000
1.438801056        31772786        0.000000000
1.448801056        31993970        1.000000000
1.458801056        32215154        0.000000000
1.468805170        32436429        1.000000000
1.478804989        32657609        0.000000000
1.488801056        32878706        1.000000000
1.498801056        33099890        0.000000000
1.508801056        33321074        1.000000000
1.518801056        33542258        0.000000000
1.528801056        33763442        1.000000000
1.538801056        33984626        0.000000000
1.548801056        34205810        1.000000000
1.558801056        34426994        0.000000000
1.568805170        34648269        1.000000000
1.578804989        34869449        0.000000000
1.588801056        35090546        1.000000000
1.598801056        35311730                0.000000000
1.608801056        35532914        1.000000000
1.618801056        35754098        0.000000000
1.628801056        35975282        1.000000000
1.638801056        36196466        0.000000000
1.648801056        36417650        1.000000000
1.658801056        36638834        0.000000000
1.668805170        36860109        1.000000000
1.678804989        37081289        0.000000000
1.688801056        37302386        1.000000000
1.698801056        37523570        0.000000000
1.708801056        37744754        1.000000000
1.718801056        37965938        0.000000000
1.728801056        38187122        1.000000000
1.738801056        38408306        0.000000000
1.748801056        38629490        1.000000000
1.758801056        38850674        0.000000000
1.768805170        39071949        1.000000000
1.778804989        39293129        0.000000000
1.788801056        39514226        1.000000000
1.798801056        39735410        0.000000000
1.808801056        39956594        1.000000000
1.818801056        40177778        0.000000000
1.828801056        40398962        1.000000000
1.838801056        40620146        0.000000000
1.848801056        40841330        1.000000000
1.858801056        41062514        0.000000000
1.868805170        41283789        1.000000000
1.878804989        41504969        0.000000000
1.888801056        41726066        1.000000000
1.898801056        41947250        0.000000000
1.908801056        42168434        1.000000000
1.918801056        42389618        0.000000000
1.928801056        42610802        1.000000000
1.938801056        42831986        0.000000000
1.948801056        43053170        1.000000000
1.958801056        43274354        0.000000000
1.968805170        43495629        1.000000000
1.978804989        43716809        0.000000000
1.988801056        43937906        1.000000000
1.998801056        44159090        0.000000000
2.008801056        44380274        1.000000000
2.018801056        44601458        0.000000000
2.028801056        44822642        1.000000000
2.038801056        45043826        0.000000000
2.048801056        45265010        1.000000000
2.058805079        45486283        0.000000000
2.068805125        45707468        1.000000000
2.078805079        45928651        0.000000000
2.088801010        46149745        1.000000000
2.098801010        46370929        0.000000000
2.108804718        46592195        1.000000000
2.118801056        46813298        0.000000000
2.128801056        47034482        1.000000000
2.138801056        47255666        0.000000000
2.148801056        47476850        1.000000000
2.158801056        47698034        0.000000000
2.168805938        47919326        1.000000000
2.178805079        48140491        0.000000000
2.188801010        48361585        1.000000000
2.198801010        48582769        0.000000000
2.208801010        48803953        1.000000000
2.218801010        49025137        0.000000000
2.228801010        49246321        1.000000000
2.238801010        49467505        0.000000000
2.248801010        49688689        1.000000000
2.258801010        49909873        0.000000000
2.268805125        50131148                1.000000000
2.278805079        50352331        0.000000000
2.288801010        50573425        1.000000000
2.298801010        50794609        0.000000000
2.308801010        51015793        1.000000000
2.318801010        51236977        0.000000000
2.328801010        51458161        1.000000000
2.338801010        51679345        0.000000000
2.348801010        51900529        1.000000000
2.358801010        52121713        0.000000000
2.368805125        52342988        1.000000000
2.378805079        52564171        0.000000000
2.388801010        52785265        1.000000000
2.398801010        53006449        0.000000000
2.408801010        53227633        1.000000000
2.418801010        53448817        0.000000000
2.428801010        53670001        1.000000000
2.438801010        53891185                0.000000000
2.448801010        54112369                1.000000000
2.458801010        54333553        0.000000000
2.468805125        54554828        1.000000000
2.478805079        54776011                0.000000000
2.488801010        54997105        1.000000000
2.498801010        55218289        0.000000000
2.508801010        55439473        1.000000000
2.518801010        55660657        0.000000000
2.528801010        55881841        1.000000000
2.538801010        56103025        0.000000000
2.548801010        56324209        1.000000000
2.558801010        56545393        0.000000000
2.568805125        56766668        1.000000000
2.578805079        56987851        0.000000000
2.588801010        57208945        1.000000000
2.598801010        57430129        0.000000000
2.608801010        57651313        1.000000000
2.618801010        57872497        0.000000000
2.628801010        58093681        1.000000000
2.638801010        58314865        0.000000000
2.648801010        58536049        1.000000000
2.658801010        58757233        0.000000000
2.668805125        58978508        1.000000000
2.678805079        59199691        0.000000000
2.688801010        59420785        1.000000000
2.698801010        59641969        0.000000000
2.708801010        59863153        1.000000000
2.718801010        60084337        0.000000000
2.728801010        60305521        1.000000000
2.738801010        60526705        0.000000000
2.748801010        60747889        1.000000000
2.758801010        60969073        0.000000000
2.768805125        61190348                1.000000000
2.778805079        61411531                0.000000000
2.788801010        61632625        1.000000000
2.798801010        61853809        0.000000000
2.808801010        62074993        1.000000000
2.818801010        62296177        0.000000000
2.828801010        62517361        1.000000000
2.838801010        62738545        0.000000000
2.848801010        62959729        1.000000000
2.858801010        63180913        0.000000000
2.868805125        63402188        1.000000000
2.878805079        63623371        0.000000000
2.888801010        63844465        1.000000000
2.898801010        64065649        0.000000000
2.908801010        64286833        1.000000000
2.918801010        64508017        0.000000000
2.928801010        64729201        1.000000000
2.938801010        64950385        0.000000000
2.948801010        65171569        1.000000000
2.958801010        65392753        0.000000000
2.968805125        65614028        1.000000000
2.978805079        65835211                0.000000000
2.988801010        66056305        1.000000000
2.998801010        66277489        0.000000000
3.008801010        66498673        1.000000000
3.018801010        66719857        0.000000000
3.028801010        66941041        1.000000000
3.038801010        67162225        0.000000000
3.048801010        67383409        1.000000000
3.058805034        67604682        0.000000000
3.068805079        67825867        1.000000000
3.078805034        68047050        0.000000000
3.088800965        68268144        1.000000000
3.098800965        68489328        0.000000000
3.108804673        68710594        1.000000000
3.118801010        68931697        0.000000000
3.128801010        69152881        1.000000000
3.138801010        69374065        0.000000000
3.148801010        69595249        1.000000000
3.158801010        69816433        0.000000000
3.168805125        70037708        1.000000000
3.178805079        70258891        0.000000000
3.188801010        70479985        1.000000000
3.198801010        70701169                0.000000000
3.208801010        70922353        1.000000000
3.218801010        71143537                0.000000000
3.228801010        71364721        1.000000000
3.238801010        71585905        0.000000000
3.248801010        71807089        1.000000000
3.258801010        72028273        0.000000000
3.268805893        72249565        1.000000000
3.278805034        72470730        0.000000000
3.288800965        72691824        1.000000000
3.298800965        72913008        0.000000000
3.308800965        73134192        1.000000000
3.318800965        73355376        0.000000000
3.328800965        73576560        1.000000000
3.338800965        73797744        0.000000000
3.348800965        74018928        1.000000000
3.358800965        74240112                0.000000000
3.368805079        74461387        1.000000000
3.378805034        74682570        0.000000000
3.388800965        74903664        1.000000000
3.398800965        75124848        0.000000000
3.408800965        75346032        1.000000000
3.418800965        75567216        0.000000000
3.428800965        75788400        1.000000000
3.438800965        76009584        0.000000000
3.448800965        76230768        1.000000000
3.458800965        76451952        0.000000000
3.468805079        76673227        1.000000000
3.478805034        76894410        0.000000000
3.488800965        77115504                1.000000000
3.498800965        77336688        0.000000000
3.508800965        77557872        1.000000000
3.518800965        77779056        0.000000000
3.528800965        78000240        1.000000000
3.538800965        78221424        0.000000000
3.548800965        78442608        1.000000000
3.558800965        78663792        0.000000000
3.568805079        78885067        1.000000000
3.578805034        79106250        0.000000000
3.588800965        79327344        1.000000000
3.598800965        79548528        0.000000000
3.608800965        79769712        1.000000000
3.618800965        79990896        0.000000000
3.628800965        80212080        1.000000000
3.638800965        80433264        0.000000000
3.648800965        80654448        1.000000000
3.658800965        80875632        0.000000000
3.668805079        81096907        1.000000000
3.678805034        81318090        0.000000000
3.688800965        81539184        1.000000000
3.698800965        81760368        0.000000000
3.708800965        81981552        1.000000000
3.718800965        82202736        0.000000000
3.728800965        82423920        1.000000000
3.738800965        82645104        0.000000000
3.748800965        82866288        1.000000000
3.758800965        83087472        0.000000000
3.768805079        83308747        1.000000000
3.778805034        83529930        0.000000000
3.788800965        83751024        1.000000000
3.798800965        83972208        0.000000000
3.808800965        84193392        1.000000000
3.818800965        84414576        0.000000000
3.828800965        84635760        1.000000000
3.838800965        84856944        0.000000000
3.848800965        85078128        1.000000000
3.858800965        85299312        0.000000000
3.868805079        85520587        1.000000000
3.878805034        85741770        0.000000000
3.888800965        85962864        1.000000000
3.898800965        86184048        0.000000000
3.908800965        86405232        1.000000000
3.918800965        86626416        0.000000000
3.928800965        86847600        1.000000000
3.938800965        87068784        0.000000000
3.948800965        87289968        1.000000000
3.958800965        87511152        0.000000000
3.968805079        87732427        1.000000000
3.978805034        87953610        0.000000000
3.988800965        88174704        1.000000000
3.998800965        88395888        0.000000000
4.008800965        88617072        1.000000000
4.018800965        88838256        0.000000000
4.028800965        89059440        1.000000000
4.038800965        89280624        0.000000000
4.048800965        89501808        1.000000000
4.058804989        89723081        0.000000000
4.068805170        89944269        1.000000000
4.078804989        90165449        0.000000000
4.088801056        90386546        1.000000000
4.098801056        90607730        0.000000000
4.108804763        90828996        1.000000000
4.118800965        91050096        0.000000000
4.128800965        91271280        1.000000000
4.138800965        91492464        0.000000000
4.148800965        91713648        1.000000000
4.158800965        91934832        0.000000000
4.168805079        92156107        1.000000000
4.178805034        92377290        0.000000000
4.188800965        92598384        1.000000000
4.198800965        92819568        0.000000000
4.208800965        93040752        1.000000000
4.218800965        93261936        0.000000000
4.228800965        93483120        1.000000000
4.238800965        93704304        0.000000000
4.248800965        93925488        1.000000000
4.258800965        94146672        0.000000000
4.268805079        94367947        1.000000000
4.278805034        94589130        0.000000000
4.288800965        94810224        1.000000000
4.298800965        95031408        0.000000000
4.308800965        95252592        1.000000000
4.318800965        95473776        0.000000000
4.328800965        95694960        1.000000000
4.338800965        95916144        0.000000000
4.348800965        96137328        1.000000000
4.358800965        96358512        0.000000000
4.368805848        96579804        1.000000000
4.378804989        96800969        0.000000000
4.388801056        97022066        1.000000000
4.398801056        97243250        0.000000000
4.408801056        97464434        1.000000000
4.418801056        97685618        0.000000000
4.428801056        97906802        1.000000000
4.438801056        98127986        0.000000000
4.448801056        98349170        1.000000000
4.458801056        98570354        0.000000000
4.468805170        98791629        1.000000000
4.478804989        99012809        0.000000000
4.488801056        99233906        1.000000000
4.498801056        99455090        0.000000000
4.508801056        99676274        1.000000000
4.518801056        99897458        0.000000000
4.528801056        100118642        1.000000000
4.538801056        100339826        0.000000000
4.548801056        100561010        1.000000000
4.558801056        100782194        0.000000000
4.568805170        101003469        1.000000000
4.578804989        101224649        0.000000000
4.588801056        101445746        1.000000000
4.598801056        101666930        0.000000000
4.608801056        101888114        1.000000000
4.618801056        102109298        0.000000000
4.628801056        102330482        1.000000000
4.638801056        102551666        0.000000000
4.648801056        102772850        1.000000000
4.658801056        102994034        0.000000000
4.668805170        103215309        1.000000000
4.678804989        103436489        0.000000000
4.688801056        103657586        1.000000000
4.698801056        103878770        0.000000000
4.708801056        104099954        1.000000000
4.718801056        104321138        0.000000000
4.728801056        104542322        1.000000000
4.738801056        104763506        0.000000000
4.748801056        104984690        1.000000000
4.758801056        105205874        0.000000000
4.768805170        105427149        1.000000000
4.778804989        105648329        0.000000000
4.788801056        105869426        1.000000000
4.798801056        106090610        0.000000000
4.808801056        106311794        1.000000000
4.818801056        106532978        0.000000000
4.828801056        106754162        1.000000000
4.838801056        106975346        0.000000000
4.848801056        107196530        1.000000000
4.858801056        107417714        0.000000000
4.868805170        107638989        1.000000000
4.878804989        107860169        0.000000000
4.888801056        108081266        1.000000000
4.898801056        108302450        0.000000000
4.908801056        108523634        1.000000000
4.918801056        108744818        0.000000000
4.928801056        108966002        1.000000000
4.938801056        109187186        0.000000000
4.948801056        109408370        1.000000000
4.958801056        109629554        0.000000000
4.968805170        109850829        1.000000000
4.978804989        110072009        0.000000000
4.988801056        110293106        1.000000000
4.998801056        110514290        0.000000000
5.008801056        110735474        1.000000000
5.018801056        110956658        0.000000000
5.028801056        111177842        1.000000000
5.038801056        111399026        0.000000000
5.048801056        111620210        1.000000000
5.058805079        111841483        0.000000000
5.068805125        112062668        1.000000000
5.078805079        112283851        0.000000000
5.088801010        112504945        1.000000000
5.098801010        112726129        0.000000000
5.108804718        112947395        1.000000000
5.118801056        113168498        0.000000000
5.128801056        113389682        1.000000000
5.138801056        113610866        0.000000000
5.148801056        113832050        1.000000000
5.158801056        114053234        0.000000000
5.168805170        114274509        1.000000000
5.178804989        114495689        0.000000000
5.188801056        114716786        1.000000000
5.198801056        114937970        0.000000000
5.208801056        115159154        1.000000000
5.218801056        115380338        0.000000000
5.228801056        115601522        1.000000000
5.238801056        115822706        0.000000000
5.248801056        116043890        1.000000000
5.258801056        116265074        0.000000000
5.268805170        116486349        1.000000000
5.278804989        116707529        0.000000000
5.288801056        116928626        1.000000000
5.298801056        117149810        0.000000000
5.308801056        117370994        1.000000000
5.318801056        117592178        0.000000000
5.328801056        117813362        1.000000000
5.338801056        118034546        0.000000000
5.348801056        118255730        1.000000000
5.358801056        118476914        0.000000000
5.368805170        118698189        1.000000000
5.378804989        118919369        0.000000000
5.388801056        119140466        1.000000000
5.398801056        119361650        0.000000000
5.408801056        119582834        1.000000000
5.418801056        119804018        0.000000000
5.428801056        120025202        1.000000000
5.438801056        120246386        0.000000000
5.448801056        120467570        1.000000000
5.458801056        120688754        0.000000000
5.468805938        120910046        1.000000000
5.478805079        121131211        0.000000000
5.488801010        121352305        1.000000000
5.498801010        121573489        0.000000000
5.508801010        121794673        1.000000000
5.518801010        122015857        0.000000000
5.528801010        122237041        1.000000000
5.538801010        122458225        0.000000000
5.548801010        122679409        1.000000000
5.558801010        122900593        0.000000000
5.568805125        123121868        1.000000000
5.578805079        123343051        0.000000000
5.588801010        123564145        1.000000000
5.598801010        123785329        0.000000000
5.608801010        124006513        1.000000000
5.618801010        124227697        0.000000000
5.628801010        124448881        1.000000000
5.638801010        124670065        0.000000000
5.648801010        124891249        1.000000000
5.658801010        125112433        0.000000000
5.668805125        125333708        1.000000000
5.678805079        125554891        0.000000000
5.688801010        125775985        1.000000000
5.698801010        125997169        0.000000000
5.708801010        126218353        1.000000000
5.718801010        126439537        0.000000000
5.728801010        126660721        1.000000000
5.738801010        126881905        0.000000000
5.748801010        127103089        1.000000000
5.758801010        127324273        0.000000000
5.768805125        127545548        1.000000000
5.778805079        127766731        0.000000000
5.788801010        127987825        1.000000000
5.798801010        128209009        0.000000000
5.808801010        128430193        1.000000000
5.818801010        128651377        0.000000000
5.828801010        128872561        1.000000000
5.838801010        129093745        0.000000000
5.848801010        129314929        1.000000000
5.858801010        129536113        0.000000000
5.868805125        129757388        1.000000000
5.878805079        129978571        0.000000000
5.888801010        130199665        1.000000000
5.898801010        130420849        0.000000000
5.908801010        130642033        1.000000000
5.918801010        130863217        0.000000000
5.928801010        131084401        1.000000000
5.938801010        131305585        0.000000000
5.948801010        131526769        1.000000000
5.958801010        131747953        0.000000000
5.968805125        131969228        1.000000000
5.978805079        132190411        0.000000000
5.988801010        132411505        1.000000000
5.998801010        132632689        0.000000000
6.008801010        132853873        1.000000000
6.018801010        133075057        0.000000000
6.028801010        133296241        1.000000000
6.038801010        133517425        0.000000000
6.048801010        133738609        1.000000000
6.058805034        133959882        0.000000000
6.068805079        134181067        1.000000000
6.078805034        134402250        0.000000000
6.088800965        134623344        1.000000000
6.098800965        134844528        0.000000000
6.108804673        135065794        1.000000000
6.118801010        135286897        0.000000000
6.128801010        135508081        1.000000000
6.138801010        135729265        0.000000000
6.148801010        135950449        1.000000000
6.158801010        136171633        0.000000000
6.168805125        136392908        1.000000000
6.178805079        136614091        0.000000000
6.188801010        136835185        1.000000000
6.198801010        137056369        0.000000000
6.208801010        137277553        1.000000000
6.218801010        137498737        0.000000000
6.228801010        137719921        1.000000000
6.238801010        137941105        0.000000000
6.248801010        138162289        1.000000000
6.258801010        138383473        0.000000000
6.268805125        138604748        1.000000000
6.278805079        138825931        0.000000000
6.288801010        139047025        1.000000000
6.298801010        139268209        0.000000000
6.308801010        139489393        1.000000000
6.318801010        139710577        0.000000000
6.328801010        139931761        1.000000000
6.338801010        140152945        0.000000000
6.348801010        140374129        1.000000000
6.358801010        140595313        0.000000000
6.368805125        140816588        1.000000000
6.378805079        141037771        0.000000000
6.388801010        141258865        1.000000000
6.398801010        141480049        0.000000000
6.408801010        141701233        1.000000000
6.418801010        141922417        0.000000000
6.428801010        142143601        1.000000000
6.438801010        142364785        0.000000000
6.448801010        142585969        1.000000000
6.458801010        142807153        0.000000000
6.468805125        143028428        1.000000000
6.478805079        143249611        0.000000000
6.488801010        143470705        1.000000000
6.498801010        143691889        0.000000000
6.508801010        143913073        1.000000000
6.518801010        144134257        0.000000000
6.528801010        144355441        1.000000000
6.538801010        144576625        0.000000000
6.548801010        144797809        1.000000000
6.558801010        145018993        0.000000000
6.568805893        145240285        1.000000000
6.578805034        145461450        0.000000000
6.588800965        145682544        1.000000000
6.598800965        145903728        0.000000000
6.608800965        146124912        1.000000000
6.618800965        146346096        0.000000000
6.628800965        146567280        1.000000000
6.638800965        146788464        0.000000000
6.648800965        147009648        1.000000000
6.658800965        147230832        0.000000000
6.668805079        147452107        1.000000000
6.678805034        147673290        0.000000000
6.688800965        147894384        1.000000000
6.698800965        148115568        0.000000000
6.708800965        148336752        1.000000000
6.718800965        148557936        0.000000000
6.728800965        148779120        1.000000000
6.738800965        149000304        0.000000000
6.748800965        149221488        1.000000000
6.758800965        149442672        0.000000000
6.768805079        149663947        1.000000000
6.778805034        149885130        0.000000000
6.788800965        150106224        1.000000000
6.798800965        150327408        0.000000000
6.808800965        150548592        1.000000000
6.818800965        150769776        0.000000000
6.828800965        150990960        1.000000000
6.838800965        151212144        0.000000000
6.848800965        151433328        1.000000000
6.858800965        151654512        0.000000000
6.868805079        151875787        1.000000000
6.878805034        152096970        0.000000000
6.888800965        152318064        1.000000000
6.898800965        152539248        0.000000000
6.908800965        152760432        1.000000000
6.918800965        152981616        0.000000000
6.928800965        153202800        1.000000000
6.938800965        153423984        0.000000000
6.948800965        153645168        1.000000000
6.958800965        153866352        0.000000000
6.968805079        154087627        1.000000000
6.978805034        154308810        0.000000000
6.988800965        154529904        1.000000000
6.998800965        154751088        0.000000000
7.008800965        154972272        1.000000000
7.018800965        155193456        0.000000000
7.028800965        155414640        1.000000000
7.038800965        155635824        0.000000000
7.048800965        155857008        1.000000000
7.058804989        156078281        0.000000000
7.068805170        156299469        1.000000000
7.078804989        156520649        0.000000000
7.088801056        156741746        1.000000000
7.098801056        156962930        0.000000000
7.108804763        157184196        1.000000000
7.118800965        157405296        0.000000000
7.128800965        157626480        1.000000000
7.138800965        157847664        0.000000000
7.148800965        158068848        1.000000000
7.158800965        158290032        0.000000000
7.168805079        158511307        1.000000000
7.178805034        158732490        0.000000000
7.188800965        158953584        1.000000000
7.198800965        159174768        0.000000000
7.208800965        159395952        1.000000000
7.218800965        159617136        0.000000000
7.228800965        159838320        1.000000000
7.238800965        160059504        0.000000000
7.248800965        160280688        1.000000000
7.258800965        160501872        0.000000000
7.268805079        160723147        1.000000000
7.278805034        160944330        0.000000000
7.288800965        161165424        1.000000000
7.298800965        161386608        0.000000000
7.308800965        161607792        1.000000000
7.318800965        161828976        0.000000000
7.328800965        162050160        1.000000000
7.338800965        162271344        0.000000000
7.348800965        162492528        1.000000000
7.358800965        162713712        0.000000000
7.368805079        162934987        1.000000000
7.378805034        163156170        0.000000000
7.388800965        163377264        1.000000000
7.398800965        163598448        0.000000000
7.408800965        163819632        1.000000000
7.418800965        164040816        0.000000000
7.428800965        164262000        1.000000000
7.438800965        164483184        0.000000000
7.448800965        164704368        1.000000000
7.458800965        164925552        0.000000000
7.468805079        165146827        1.000000000
7.478805034        165368010        0.000000000
7.488800965        165589104        1.000000000
7.498800965        165810288        0.000000000
7.508800965        166031472        1.000000000
7.518800965        166252656        0.000000000
7.528800965        166473840        1.000000000
7.538800965        166695024        0.000000000
7.548800965        166916208        1.000000000
7.558800965        167137392        0.000000000
7.568805079        167358667        1.000000000
7.578805034        167579850        0.000000000
7.588800965        167800944        1.000000000
7.598800965        168022128        0.000000000
7.608800965        168243312        1.000000000
7.618800965        168464496        0.000000000
7.628800965        168685680        1.000000000
7.638800965        168906864        0.000000000
7.648800965        169128048        1.000000000
7.658800965        169349232        0.000000000
7.668805848        169570524        1.000000000
7.678804989        169791689        0.000000000
7.688801056        170012786        1.000000000
7.698801056        170233970        0.000000000
7.708801056        170455154        1.000000000
7.718801056        170676338        0.000000000
7.728801056        170897522        1.000000000
7.738801056        171118706        0.000000000
7.748801056        171339890        1.000000000
7.758801056        171561074        0.000000000
7.768805170        171782349        1.000000000
7.778804989        172003529        0.000000000
7.788801056        172224626        1.000000000
7.798801056        172445810        0.000000000
7.808801056        172666994        1.000000000
7.818801056        172888178        0.000000000
7.828801056        173109362        1.000000000
7.838801056        173330546        0.000000000
7.848801056        173551730        1.000000000
7.858801056        173772914        0.000000000
7.868805170        173994189        1.000000000
7.878804989        174215369        0.000000000
7.888801056        174436466        1.000000000
7.898801056        174657650        0.000000000
7.908801056        174878834        1.000000000
7.918801056        175100018        0.000000000
7.928801056        175321202        1.000000000
7.938801056        175542386        0.000000000
7.948801056        175763570        1.000000000
7.958801056        175984754        0.000000000
7.968805170        176206029        1.000000000
7.978804989        176427209        0.000000000
7.988801056        176648306        1.000000000
7.998801056        176869490        0.000000000
8.008801056        177090674        1.000000000
8.018801056        177311858        0.000000000
8.028801056        177533042        1.000000000
8.038801056        177754226        0.000000000
8.048801056        177975410        1.000000000
8.058805079        178196683        0.000000000
8.068805125        178417868        1.000000000
8.078805079        178639051        0.000000000
8.088801010        178860145        1.000000000
8.098801010        179081329        0.000000000
8.108804718        179302595        1.000000000
8.118801056        179523698        0.000000000
8.128801056        179744882        1.000000000
8.138801056        179966066        0.000000000
8.148801056        180187250        1.000000000
8.158801056        180408434        0.000000000
8.168805170        180629709        1.000000000
8.178804989        180850889        0.000000000
8.188801056        181071986        1.000000000
8.198801056        181293170        0.000000000
8.208801056        181514354        1.000000000
8.218801056        181735538        0.000000000
8.228801056        181956722        1.000000000
8.238801056        182177906        0.000000000
8.248801056        182399090        1.000000000
8.258801056        182620274        0.000000000
8.268805170        182841549        1.000000000
8.278804989        183062729        0.000000000
8.288801056        183283826        1.000000000
8.298801056        183505010        0.000000000
8.308801056        183726194        1.000000000
8.318801056        183947378        0.000000000
8.328801056        184168562        1.000000000
8.338801056        184389746        0.000000000
8.348801056        184610930        1.000000000
8.358801056        184832114        0.000000000
8.368805170        185053389        1.000000000
8.378804989        185274569        0.000000000
8.388801056        185495666        1.000000000
8.398801056        185716850        0.000000000
8.408801056        185938034        1.000000000
8.418801056        186159218        0.000000000
8.428801056        186380402        1.000000000
8.438801056        186601586        0.000000000
8.448801056        186822770        1.000000000
8.458801056        187043954        0.000000000
8.468805170        187265229        1.000000000
8.478804989        187486409        0.000000000
8.488801056        187707506        1.000000000
8.498801056        187928690        0.000000000
8.508801056        188149874        1.000000000
8.518801056        188371058        0.000000000
8.528801056        188592242        1.000000000
8.538801056        188813426        0.000000000
8.548801056        189034610        1.000000000
8.558801056        189255794        0.000000000
8.568805170        189477069        1.000000000
8.578804989        189698249        0.000000000
8.588801056        189919346        1.000000000
8.598801056        190140530        0.000000000
8.608801056        190361714        1.000000000
8.618801056        190582898        0.000000000
8.628801056        190804082        1.000000000
8.638801056        191025266        0.000000000
8.648801056        191246450        1.000000000
8.658801056        191467634        0.000000000
8.668805170        191688909        1.000000000
8.678804989        191910089        0.000000000
8.688801056        192131186        1.000000000
8.698801056        192352370        0.000000000
8.708801056        192573554        1.000000000
8.718801056        192794738        0.000000000
8.728801056        193015922        1.000000000
8.738801056        193237106        0.000000000
8.748801056        193458290        1.000000000
8.758801056        193679474        0.000000000
8.768805938        193900766        1.000000000
8.778805079        194121931        0.000000000
8.788801010        194343025        1.000000000
8.798801010        194564209        0.000000000
8.808801010        194785393        1.000000000
8.818801010        195006577        0.000000000
8.828801010        195227761        1.000000000
8.838801010        195448945        0.000000000
8.848801010        195670129        1.000000000
8.858801010        195891313        0.000000000
8.868805125        196112588        1.000000000
8.878805079        196333771        0.000000000
8.888801010        196554865        1.000000000
8.898801010        196776049        0.000000000
8.908801010        196997233        1.000000000
8.918801010        197218417        0.000000000
8.928801010        197439601        1.000000000
8.938801010        197660785        0.000000000
8.948801010        197881969        1.000000000
8.958801010        198103153        0.000000000
8.968805125        198324428        1.000000000
8.978805079        198545611        0.000000000
8.988801010        198766705        1.000000000
8.998801010        198987889        0.000000000
9.008801010        199209073        1.000000000
9.018801010        199430257        0.000000000
9.028801010        199651441        1.000000000
9.038801010        199872625        0.000000000
9.048801010        200093809        1.000000000
9.058805034        200315082        0.000000000
9.068805079        200536267        1.000000000
9.078805034        200757450        0.000000000
9.088800965        200978544        1.000000000
9.098800965        201199728        0.000000000
9.108804673        201420994        1.000000000
9.118801010        201642097        0.000000000
9.128801010        201863281        1.000000000
9.138801010        202084465        0.000000000
9.148801010        202305649        1.000000000
9.158801010        202526833        0.000000000
9.168805125        202748108        1.000000000
9.178805079        202969291        0.000000000
9.188801010        203190385        1.000000000
9.198801010        203411569        0.000000000
9.208801010        203632753        1.000000000
9.218801010        203853937        0.000000000
9.228801010        204075121        1.000000000
9.238801010        204296305        0.000000000
9.248801010        204517489        1.000000000
9.258801010        204738673        0.000000000
9.268805125        204959948        1.000000000
9.278805079        205181131        0.000000000
9.288801010        205402225        1.000000000
9.298801010        205623409        0.000000000
9.308801010        205844593        1.000000000
9.318801010        206065777        0.000000000
9.328801010        206286961        1.000000000
9.338801010        206508145        0.000000000
9.348801010        206729329        1.000000000
9.358801010        206950513        0.000000000
9.368805125        207171788        1.000000000
9.378805079        207392971        0.000000000
9.388801010        207614065        1.000000000
9.398801010        207835249        0.000000000
9.408801010        208056433        1.000000000
9.418801010        208277617        0.000000000
9.428801010        208498801        1.000000000
9.438801010        208719985        0.000000000
9.448801010        208941169        1.000000000
9.458801010        209162353        0.000000000
9.468805125        209383628        1.000000000
9.478805079        209604811        0.000000000
9.488801010        209825905        1.000000000
9.498801010        210047089        0.000000000
9.508801010        210268273        1.000000000
9.518801010        210489457        0.000000000
9.528801010        210710641        1.000000000
9.538801010        210931825        0.000000000
9.548801010        211153009        1.000000000
9.558801010        211374193        0.000000000
9.568805125        211595468        1.000000000
9.578805079        211816651        0.000000000
9.588801010        212037745        1.000000000
9.598801010        212258929        0.000000000
9.608801010        212480113        1.000000000
9.618801010        212701297        0.000000000
9.628801010        212922481        1.000000000
9.638801010        213143665        0.000000000
9.648801010        213364849        1.000000000
9.658801010        213586033        0.000000000
9.668805125        213807308        1.000000000
9.678805079        214028491        0.000000000
9.688801010        214249585        1.000000000
9.698801010        214470769        0.000000000
9.708801010        214691953        1.000000000
9.718801010        214913137        0.000000000
9.728801010        215134321        1.000000000
9.738801010        215355505        0.000000000
9.748801010        215576689        1.000000000
9.758801010        215797873        0.000000000
9.768805125        216019148        1.000000000
9.778805079        216240331        0.000000000
9.788801010        216461425        1.000000000
9.798801010        216682609        0.000000000
9.808801010        216903793        1.000000000
9.818801010        217124977        0.000000000
9.828801010        217346161        1.000000000
9.838801010        217567345        0.000000000
9.848801010        217788529        1.000000000
9.858801010        218009713        0.000000000
9.868805893        218231005        1.000000000
9.878805034        218452170        0.000000000
9.888800965        218673264        1.000000000
9.898800965        218894448        0.000000000
9.908800965        219115632        1.000000000
9.918800965        219336816        0.000000000
9.928800965        219558000        1.000000000
9.938800965        219779184        0.000000000
9.948800965        220000368        1.000000000
9.958800965        220221552        0.000000000
9.968805079        220442827        1.000000000
9.978805034        220664010        0.000000000
9.988800965        220885104        1.000000000
9.998800965        221106288        0.000000000
10.008800965        221327472        1.000000000
10.018800965        221548656        0.000000000
10.028800965        221769840        1.000000000
10.038800965        221991024        0.000000000
10.048800965        222212208        1.000000000
10.058804989        222433481        0.000000000
10.068805170        222654669        1.000000000
10.078804989        222875849        0.000000000
10.088801056        223096946        1.000000000
10.098801056        223318130        0.000000000
10.108804763        223539396        1.000000000
10.118800965        223760496        0.000000000
10.128800965        223981680        1.000000000
10.138800965        224202864        0.000000000
10.148800965        224424048        1.000000000
10.158800965        224645232        0.000000000
10.168805079        224866507        1.000000000
10.178805034        225087690        0.000000000
10.188800965        225308784        1.000000000
10.198800965        225529968        0.000000000
10.208800965        225751152        1.000000000
10.218800965        225972336        0.000000000
10.228800965        226193520        1.000000000
10.238800965        226414704        0.000000000
10.248800965        226635888        1.000000000
10.258800965        226857072        0.000000000
10.268805079        227078347        1.000000000
10.278805034        227299530        0.000000000
10.288800965        227520624        1.000000000
10.298800965        227741808        0.000000000
10.308800965        227962992        1.000000000
10.318800965        228184176        0.000000000
10.328800965        228405360        1.000000000
10.338800965        228626544        0.000000000
10.348800965        228847728        1.000000000
10.358800965        229068912        0.000000000
10.368805079        229290187        1.000000000
10.378805034        229511370        0.000000000
10.388800965        229732464        1.000000000
10.398800965        229953648        0.000000000
10.408800965        230174832        1.000000000
10.418800965        230396016        0.000000000
10.428800965        230617200        1.000000000
10.438800965        230838384        0.000000000
10.448800965        231059568        1.000000000
10.458800965        231280752        0.000000000
10.468805079        231502027        1.000000000
10.478805034        231723210        0.000000000
10.488800965        231944304        1.000000000
10.498800965        232165488        0.000000000
10.508800965        232386672        1.000000000
10.518800965        232607856        0.000000000
10.528800965        232829040        1.000000000
10.538800965        233050224        0.000000000
10.548800965        233271408        1.000000000
10.558800965        233492592        0.000000000
10.568805079        233713867        1.000000000
10.578805034        233935050        0.000000000
10.588800965        234156144        1.000000000
10.598800965        234377328        0.000000000
10.608800965        234598512        1.000000000
10.618800965        234819696        0.000000000
10.628800965        235040880        1.000000000
10.638800965        235262064        0.000000000
10.648800965        235483248        1.000000000
10.658800965        235704432        0.000000000
10.668805079        235925707        1.000000000
10.678805034        236146890        0.000000000
10.688800965        236367984        1.000000000
10.698800965        236589168        0.000000000
10.708800965        236810352        1.000000000
10.718800965        237031536        0.000000000
10.728800965        237252720        1.000000000
10.738800965        237473904        0.000000000
10.748800965        237695088        1.000000000
10.758800965        237916272        0.000000000
10.768805079        238137547        1.000000000
10.778805034        238358730        0.000000000
10.788800965        238579824        1.000000000
10.798800965        238801008        0.000000000
10.808800965        239022192        1.000000000
10.818800965        239243376        0.000000000
10.828800965        239464560        1.000000000
10.838800965        239685744        0.000000000
10.848800965        239906928        1.000000000
10.858800965        240128112        0.000000000
10.868805079        240349387        1.000000000
10.878805034        240570570        0.000000000
10.888800965        240791664        1.000000000
10.898800965        241012848        0.000000000
10.908800965        241234032        1.000000000
10.918800965        241455216        0.000000000
10.928800965        241676400        1.000000000
10.938800965        241897584        0.000000000
10.948800965        242118768        1.000000000
10.958800965        242339952        0.000000000
10.968805848        242561244        1.000000000
10.978804989        242782409        0.000000000
10.988801056        243003506        1.000000000
10.998801056        243224690        0.000000000
11.008801056        243445874        1.000000000
11.018801056        243667058        0.000000000
11.028801056        243888242        1.000000000
11.038801056        244109426        0.000000000
11.048801056        244330610        1.000000000
11.058805079        244551883        0.000000000
11.068805125        244773068        1.000000000
11.078805079        244994251        0.000000000
11.088801010        245215345        1.000000000
11.098801010        245436529        0.000000000
11.108804718        245657795        1.000000000
11.118801056        245878898        0.000000000
11.128801056        246100082        1.000000000
11.138801056        246321266        0.000000000
11.148801056        246542450        1.000000000
11.158801056        246763634        0.000000000
11.168805170        246984909        1.000000000
11.178804989        247206089        0.000000000
11.188801056        247427186        1.000000000
11.198801056        247648370        0.000000000
11.208801056        247869554        1.000000000
11.218801056        248090738        0.000000000
11.228801056        248311922        1.000000000
11.238801056        248533106        0.000000000
11.248801056        248754290        1.000000000
11.258801056        248975474        0.000000000
11.268805170        249196749        1.000000000
11.278804989        249417929        0.000000000
11.288801056        249639026        1.000000000
11.298801056        249860210        0.000000000
11.308801056        250081394        1.000000000
11.318801056        250302578        0.000000000
11.328801056        250523762        1.000000000
11.338801056        250744946        0.000000000
11.348801056        250966130        1.000000000
11.358801056        251187314        0.000000000
11.368805170        251408589        1.000000000
11.378804989        251629769        0.000000000
11.388801056        251850866        1.000000000
11.398801056        252072050        0.000000000
11.408801056        252293234        1.000000000
11.418801056        252514418        0.000000000
11.428801056        252735602        1.000000000
11.438801056        252956786        0.000000000
11.448801056        253177970        1.000000000
11.458801056        253399154        0.000000000
11.468805170        253620429        1.000000000
11.478804989        253841609        0.000000000
11.488801056        254062706        1.000000000
11.498801056        254283890        0.000000000
11.508801056        254505074        1.000000000
11.518801056        254726258        0.000000000
11.528801056        254947442        1.000000000
11.538801056        255168626        0.000000000
11.548801056        255389810        1.000000000
11.558801056        255610994        0.000000000
11.568805170        255832269        1.000000000
11.578804989        256053449        0.000000000
11.588801056        256274546        1.000000000
11.598801056        256495730        0.000000000
11.608801056        256716914        1.000000000
11.618801056        256938098        0.000000000
11.628801056        257159282        1.000000000
11.638801056        257380466        0.000000000
11.648801056        257601650        1.000000000
11.658801056        257822834        0.000000000
11.668805170        258044109        1.000000000
11.678804989        258265289        0.000000000
11.688801056        258486386        1.000000000
11.698801056        258707570        0.000000000
11.708801056        258928754        1.000000000
11.718801056        259149938        0.000000000
11.728801056        259371122        1.000000000
11.738801056        259592306        0.000000000
11.748801056        259813490        1.000000000
11.758801056        260034674        0.000000000
11.768805170        260255949        1.000000000
11.778804989        260477129        0.000000000
11.788801056        260698226        1.000000000
11.798801056        260919410        0.000000000
11.808801056        261140594        1.000000000
11.818801056        261361778        0.000000000
11.828801056        261582962        1.000000000
11.838801056        261804146        0.000000000
11.848801056        262025330        1.000000000
11.858801056        262246514        0.000000000
11.868805170        262467789        1.000000000
11.878804989        262688969        0.000000000
11.888801056        262910066        1.000000000
11.898801056        263131250        0.000000000
11.908801056        263352434        1.000000000
11.918801056        263573618        0.000000000
11.928801056        263794802        1.000000000
11.938801056        264015986        0.000000000
11.948801056        264237170        1.000000000
11.958801056        264458354        0.000000000
11.968805170        264679629        1.000000000
11.978804989        264900809        0.000000000
11.988801056        265121906        1.000000000
11.998801056        265343090        0.000000000
12.008801056        265564274        1.000000000
12.018801056        265785458        0.000000000
12.028801056        266006642        1.000000000
12.038801056        266227826        0.000000000
12.048801056        266449010        1.000000000
12.058805079        266670283        0.000000000
12.068805893        266891485        1.000000000
12.078805034        267112650        0.000000000
12.088800965        267333744        1.000000000
12.098800965        267554928        0.000000000
12.108804673        267776194        1.000000000
12.118801010        267997297        0.000000000
12.128801010        268218481        1.000000000
12.138801010        268439665        0.000000000
12.148801010        268660849        1.000000000
12.158801010        268882033        0.000000000
12.168805125        269103308        1.000000000
12.178805079        269324491        0.000000000
12.188801010        269545585        1.000000000
12.198801010        269766769        0.000000000
12.208801010        269987953        1.000000000
12.218801010        270209137        0.000000000
12.228801010        270430321        1.000000000
12.238801010        270651505        0.000000000
12.248801010        270872689        1.000000000
12.258801010        271093873        0.000000000
12.268805125        271315148        1.000000000
12.278805079        271536331        0.000000000
12.288801010        271757425        1.000000000
12.298801010        271978609        0.000000000
12.308801010        272199793        1.000000000
12.318801010        272420977        0.000000000
12.328801010        272642161        1.000000000
12.338801010        272863345        0.000000000
12.348801010        273084529        1.000000000
12.358801010        273305713        0.000000000
12.368805125        273526988        1.000000000
12.378805079        273748171        0.000000000
12.388801010        273969265        1.000000000
12.398801010        274190449        0.000000000
12.408801010        274411633        1.000000000
12.418801010        274632817        0.000000000
12.428801010        274854001        1.000000000
12.438801010        275075185        0.000000000
12.448801010        275296369        1.000000000
12.458801010        275517553        0.000000000
12.468805125        275738828        1.000000000
12.478805079        275960011        0.000000000
12.488801010        276181105        1.000000000
12.498801010        276402289        0.000000000
12.508801010        276623473        1.000000000
12.518801010        276844657        0.000000000
12.528801010        277065841        1.000000000
12.538801010        277287025        0.000000000
12.548801010        277508209        1.000000000
12.558801010        277729393        0.000000000
12.568805125        277950668        1.000000000
12.578805079        278171851        0.000000000
12.588801010        278392945        1.000000000
12.598801010        278614129        0.000000000
12.608801010        278835313        1.000000000
12.618801010        279056497        0.000000000
12.628801010        279277681        1.000000000
12.638801010        279498865        0.000000000
12.648801010        279720049        1.000000000
12.658801010        279941233        0.000000000
12.668805125        280162508        1.000000000
12.678805079        280383691        0.000000000
12.688801010        280604785        1.000000000
12.698801010        280825969        0.000000000
12.708801010        281047153        1.000000000
12.718801010        281268337        0.000000000
12.728801010        281489521        1.000000000
12.738801010        281710705        0.000000000
12.748801010        281931889        1.000000000
12.758801010        282153073        0.000000000
12.768805125        282374348        1.000000000
12.778805079        282595531        0.000000000
12.788801010        282816625        1.000000000
12.798801010        283037809        0.000000000
12.808801010        283258993        1.000000000
12.818801010        283480177        0.000000000
12.828801010        283701361        1.000000000
12.838801010        283922545        0.000000000
12.848801010        284143729        1.000000000
12.858801010        284364913        0.000000000
12.868805125        284586188        1.000000000
12.878805079        284807371        0.000000000
12.888801010        285028465        1.000000000
12.898801010        285249649        0.000000000
12.908801010        285470833        1.000000000
12.918801010        285692017        0.000000000
12.928801010        285913201        1.000000000
12.938801010        286134385        0.000000000
12.948801010        286355569        1.000000000
12.958801010        286576753        0.000000000
12.968805125        286798028        1.000000000
12.978805079        287019211        0.000000000
12.988801010        287240305        1.000000000
12.998801010        287461489        0.000000000
13.008801010        287682673        1.000000000
13.018801010        287903857        0.000000000
13.028801010        288125041        1.000000000
13.038801010        288346225        0.000000000
13.048801010        288567409        1.000000000
13.058805034        288788682        0.000000000
13.068805079        289009867        1.000000000
13.078805034        289231050        0.000000000
13.088800965        289452144        1.000000000
13.098800965        289673328        0.000000000
13.108804673        289894594        1.000000000
13.118801010        290115697        0.000000000
13.128801010        290336881        1.000000000
13.138801010        290558065        0.000000000
13.148801010        290779249        1.000000000
13.158801010        291000433        0.000000000
13.168805893        291221725        1.000000000
13.178805034        291442890        0.000000000
13.188800965        291663984        1.000000000
13.198800965        291885168        0.000000000
13.208800965        292106352        1.000000000
13.218800965        292327536        0.000000000
13.228800965        292548720        1.000000000
13.238800965        292769904        0.000000000
13.248800965        292991088        1.000000000
13.258800965        293212272        0.000000000
13.268805079        293433547        1.000000000
13.278805034        293654730        0.000000000
13.288800965        293875824        1.000000000
13.298800965        294097008        0.000000000
13.308800965        294318192        1.000000000
13.318800965        294539376        0.000000000
13.328800965        294760560        1.000000000
13.338800965        294981744        0.000000000
13.348800965        295202928        1.000000000
13.358800965        295424112        0.000000000
13.368805079        295645387        1.000000000
13.378805034        295866570        0.000000000
13.388800965        296087664        1.000000000
13.398800965        296308848        0.000000000
13.408800965        296530032        1.000000000
13.418800965        296751216        0.000000000
13.428800965        296972400        1.000000000
13.438800965        297193584        0.000000000
13.448800965        297414768        1.000000000
13.458800965        297635952        0.000000000
13.468805079        297857227        1.000000000
13.478805034        298078410        0.000000000
13.488800965        298299504        1.000000000
13.498800965        298520688        0.000000000
13.508800965        298741872        1.000000000
13.518800965        298963056        0.000000000
13.528800965        299184240        1.000000000
13.538800965        299405424        0.000000000
13.548800965        299626608        1.000000000
13.558800965        299847792        0.000000000
13.568805079        300069067        1.000000000
13.578805034        300290250        0.000000000
13.588800965        300511344        1.000000000
13.598800965        300732528        0.000000000
13.608800965        300953712        1.000000000
13.618800965        301174896        0.000000000
13.628800965        301396080        1.000000000
13.638800965        301617264        0.000000000
13.648800965        301838448        1.000000000
13.658800965        302059632        0.000000000
13.668805079        302280907        1.000000000
13.678805034        302502090        0.000000000
13.688800965        302723184        1.000000000
13.698800965        302944368        0.000000000
13.708800965        303165552        1.000000000
13.718800965        303386736        0.000000000
13.728800965        303607920        1.000000000
13.738800965        303829104        0.000000000
13.748800965        304050288        1.000000000
13.758800965        304271472        0.000000000
13.768805079        304492747        1.000000000
13.778805034        304713930        0.000000000
13.788800965        304935024        1.000000000
13.798800965        305156208        0.000000000
13.808800965        305377392        1.000000000
13.818800965        305598576        0.000000000
13.828800965        305819760        1.000000000
13.838800965        306040944        0.000000000
13.848800965        306262128        1.000000000
13.858800965        306483312        0.000000000
13.868805079        306704587        1.000000000
13.878805034        306925770        0.000000000
13.888800965        307146864        1.000000000
13.898800965        307368048        0.000000000
13.908800965        307589232        1.000000000
13.918800965        307810416        0.000000000
13.928800965        308031600        1.000000000
13.938800965        308252784        0.000000000
13.948800965        308473968        1.000000000
13.958800965        308695152        0.000000000
13.968805079        308916427        1.000000000
13.978805034        309137610        0.000000000
13.988800965        309358704        1.000000000
13.998800965        309579888        0.000000000
14.008800965        309801072        1.000000000
14.018800965        310022256        0.000000000
14.028800965        310243440        1.000000000
14.038800965        310464624        0.000000000
14.048800965        310685808        1.000000000
14.058804989        310907081        0.000000000
14.068805170        311128269        1.000000000
14.078804989        311349449        0.000000000
14.088801056        311570546        1.000000000
14.098801056        311791730        0.000000000
14.108804763        312012996        1.000000000
14.118800965        312234096        0.000000000
14.128800965        312455280        1.000000000
14.138800965        312676464        0.000000000
14.148800965        312897648        1.000000000
14.158800965        313118832        0.000000000
14.168805079        313340107        1.000000000
14.178805034        313561290        0.000000000
14.188800965        313782384        1.000000000
14.198800965        314003568        0.000000000
14.208800965        314224752        1.000000000
14.218800965        314445936        0.000000000
14.228800965        314667120        1.000000000
14.238800965        314888304        0.000000000
14.248800965        315109488        1.000000000
14.258800965        315330672        0.000000000
14.268805848        315551964        1.000000000
14.278804989        315773129        0.000000000
14.288801056        315994226        1.000000000
14.298801056        316215410        0.000000000
14.308801056        316436594        1.000000000
14.318801056        316657778        0.000000000
14.328801056        316878962        1.000000000
14.338801056        317100146        0.000000000
14.348801056        317321330        1.000000000
14.358801056        317542514        0.000000000
14.368805170        317763789        1.000000000
14.378804989        317984969        0.000000000
14.388801056        318206066        1.000000000
14.398801056        318427250        0.000000000
14.408801056        318648434        1.000000000
14.418801056        318869618        0.000000000
14.428801056        319090802        1.000000000
14.438801056        319311986        0.000000000
14.448801056        319533170        1.000000000
14.458801056        319754354        0.000000000
14.468805170        319975629        1.000000000
14.478804989        320196809        0.000000000
14.488801056        320417906        1.000000000
14.498801056        320639090        0.000000000
14.508801056        320860274        1.000000000
14.518801056        321081458        0.000000000
14.528801056        321302642        1.000000000
14.538801056        321523826        0.000000000
14.548801056        321745010        1.000000000
14.558801056        321966194        0.000000000
14.568805170        322187469        1.000000000
14.578804989        322408649        0.000000000
14.588801056        322629746        1.000000000
14.598801056        322850930        0.000000000
14.608801056        323072114        1.000000000
14.618801056        323293298        0.000000000
14.628801056        323514482        1.000000000
14.638801056        323735666        0.000000000
14.648801056        323956850        1.000000000
14.658801056        324178034        0.000000000
14.668805170        324399309        1.000000000
14.678804989        324620489        0.000000000
14.688801056        324841586        1.000000000
14.698801056        325062770        0.000000000
14.708801056        325283954        1.000000000
14.718801056        325505138        0.000000000
14.728801056        325726322        1.000000000
14.738801056        325947506        0.000000000
14.748801056        326168690        1.000000000
14.758801056        326389874        0.000000000
14.768805170        326611149        1.000000000
14.778804989        326832329        0.000000000
14.788801056        327053426        1.000000000
14.798801056        327274610        0.000000000
14.808801056        327495794        1.000000000
14.818801056        327716978        0.000000000
14.828801056        327938162        1.000000000
14.838801056        328159346        0.000000000
14.848801056        328380530        1.000000000
14.858801056        328601714        0.000000000
14.868805170        328822989        1.000000000
14.878804989        329044169        0.000000000
14.888801056        329265266        1.000000000
14.898801056        329486450        0.000000000
14.908801056        329707634        1.000000000
14.918801056        329928818        0.000000000
14.928801056        330150002        1.000000000
14.938801056        330371186        0.000000000
14.948801056        330592370        1.000000000
14.958801056        330813554        0.000000000
14.968805170        331034829        1.000000000
14.978804989        331256009        0.000000000
14.988801056        331477106        1.000000000
14.998801056        331698290        0.000000000
15.008801056        331919474        1.000000000
15.018801056        332140658        0.000000000
15.028801056        332361842        1.000000000
15.038801056        332583026        0.000000000
15.048801056        332804210        1.000000000
15.058805079        333025483        0.000000000
15.068805125        333246668        1.000000000
15.078805079        333467851        0.000000000
15.088801010        333688945        1.000000000
15.098801010        333910129        0.000000000
15.108804718        334131395        1.000000000
15.118801056        334352498        0.000000000
15.128801056        334573682        1.000000000
15.138801056        334794866        0.000000000
15.148801056        335016050        1.000000000
15.158801056        335237234        0.000000000
15.168805170        335458509        1.000000000
15.178804989        335679689        0.000000000
15.188801056        335900786        1.000000000
15.198801056        336121970        0.000000000
15.208801056        336343154        1.000000000
15.218801056        336564338        0.000000000
15.228801056        336785522        1.000000000
15.238801056        337006706        0.000000000
15.248801056        337227890        1.000000000
15.258801056        337449074        0.000000000
15.268805170        337670349        1.000000000
15.278804989        337891529        0.000000000
15.288801056        338112626        1.000000000
15.298801056        338333810        0.000000000
15.308801056        338554994        1.000000000
15.318801056        338776178        0.000000000
15.328801056        338997362        1.000000000
15.338801056        339218546        0.000000000
15.348801056        339439730        1.000000000
15.358801056        339660914        0.000000000
15.368805938        339882206        1.000000000
15.378805079        340103371        0.000000000
15.388801010        340324465        1.000000000
15.398801010        340545649        0.000000000
15.408801010        340766833        1.000000000
15.418801010        340988017        0.000000000
15.428801010        341209201        1.000000000
15.438801010        341430385        0.000000000
15.448801010        341651569        1.000000000
15.458801010        341872753        0.000000000
15.468805125        342094028        1.000000000
15.478805079        342315211        0.000000000
15.488801010        342536305        1.000000000
15.498801010        342757489        0.000000000
15.508801010        342978673        1.000000000
15.518801010        343199857        0.000000000
15.528801010        343421041        1.000000000
15.538801010        343642225        0.000000000
15.548801010        343863409        1.000000000
15.558801010        344084593        0.000000000
15.568805125        344305868        1.000000000
15.578805079        344527051        0.000000000
15.588801010        344748145        1.000000000
15.598801010        344969329        0.000000000
15.608801010        345190513        1.000000000
15.618801010        345411697        0.000000000
15.628801010        345632881        1.000000000
15.638801010        345854065        0.000000000
15.648801010        346075249        1.000000000
15.658801010        346296433        0.000000000
15.668805125        346517708        1.000000000
15.678805079        346738891        0.000000000
15.688801010        346959985        1.000000000
15.698801010        347181169        0.000000000
15.708801010        347402353        1.000000000
15.718801010        347623537        0.000000000
15.728801010        347844721        1.000000000
15.738801010        348065905        0.000000000
15.748801010        348287089        1.000000000
15.758801010        348508273        0.000000000
15.768805125        348729548        1.000000000
15.778805079        348950731        0.000000000
15.788801010        349171825        1.000000000
15.798801010        349393009        0.000000000
15.808801010        349614193        1.000000000
15.818801010        349835377        0.000000000
15.828801010        350056561        1.000000000
15.838801010        350277745        0.000000000
15.848801010        350498929        1.000000000
15.858801010        350720113        0.000000000
15.868805125        350941388        1.000000000
15.878805079        351162571        0.000000000
15.888801010        351383665        1.000000000
15.898801010        351604849        0.000000000
15.908801010        351826033        1.000000000
15.918801010        352047217        0.000000000
15.928801010        352268401        1.000000000
15.938801010        352489585        0.000000000
15.948801010        352710769        1.000000000
15.958801010        352931953        0.000000000
15.968805125        353153228        1.000000000
15.978805079        353374411        0.000000000
15.988801010        353595505        1.000000000
15.998801010        353816689        0.000000000
16.008801010        354037873        1.000000000
16.018801010        354259057        0.000000000
16.028801010        354480241        1.000000000
16.038801010        354701425        0.000000000
16.048801010        354922609        1.000000000
16.058805034        355143882        0.000000000
16.068805079        355365067        1.000000000
16.078805034        355586250        0.000000000
16.088800965        355807344        1.000000000
16.098800965        356028528        0.000000000
16.108804673        356249794        1.000000000
16.118801010        356470897        0.000000000
16.128801010        356692081        1.000000000
16.138801010        356913265        0.000000000
16.148801010        357134449        1.000000000
16.158801010        357355633        0.000000000
16.168805125        357576908        1.000000000
16.178805079        357798091        0.000000000
16.188801010        358019185        1.000000000
16.198801010        358240369        0.000000000
16.208801010        358461553        1.000000000
16.218801010        358682737        0.000000000
16.228801010        358903921        1.000000000
16.238801010        359125105        0.000000000
16.248801010        359346289        1.000000000
16.258801010        359567473        0.000000000
16.268805125        359788748        1.000000000
16.278805079        360009931        0.000000000
16.288801010        360231025        1.000000000
16.298801010        360452209        0.000000000
16.308801010        360673393        1.000000000
16.318801010        360894577        0.000000000
16.328801010        361115761        1.000000000
16.338801010        361336945        0.000000000
16.348801010        361558129        1.000000000
16.358801010        361779313        0.000000000
16.368805125        362000588        1.000000000
16.378805079        362221771        0.000000000
16.388801010        362442865        1.000000000
16.398801010        362664049        0.000000000
16.408801010        362885233        1.000000000
16.418801010        363106417        0.000000000
16.428801010        363327601        1.000000000
16.438801010        363548785        0.000000000
16.448801010        363769969        1.000000000
16.458801010        363991153        0.000000000
16.468805893        364212445        1.000000000
16.478805034        364433610        0.000000000
16.488800965        364654704        1.000000000
16.498800965        364875888        0.000000000
16.508800965        365097072        1.000000000
16.518800965        365318256        0.000000000
16.528800965        365539440        1.000000000
16.538800965        365760624        0.000000000
16.548800965        365981808        1.000000000
16.558800965        366202992        0.000000000
16.568805079        366424267        1.000000000
16.578805034        366645450        0.000000000
16.588800965        366866544        1.000000000
16.598800965        367087728        0.000000000
16.608800965        367308912        1.000000000
16.618800965        367530096        0.000000000
16.628800965        367751280        1.000000000
16.638800965        367972464        0.000000000
16.648800965        368193648        1.000000000
16.658800965        368414832        0.000000000
16.668805079        368636107        1.000000000
16.678805034        368857290        0.000000000
16.688800965        369078384        1.000000000
16.698800965        369299568        0.000000000
16.708800965        369520752        1.000000000
16.718800965        369741936        0.000000000
16.728800965        369963120        1.000000000
16.738800965        370184304        0.000000000
16.748800965        370405488        1.000000000
16.758800965        370626672        0.000000000
16.768805079        370847947        1.000000000
16.778805034        371069130        0.000000000
16.788800965        371290224        1.000000000
16.798800965        371511408        0.000000000
16.808800965        371732592        1.000000000
16.818800965        371953776        0.000000000
16.828800965        372174960        1.000000000
16.838800965        372396144        0.000000000
16.848800965        372617328        1.000000000
16.858800965        372838512        0.000000000
16.868805079        373059787        1.000000000
16.878805034        373280970        0.000000000
16.888800965        373502064        1.000000000
16.898800965        373723248        0.000000000
16.908800965        373944432        1.000000000
16.918800965        374165616        0.000000000
16.928800965        374386800        1.000000000
16.938800965        374607984        0.000000000
16.948800965        374829168        1.000000000
16.958800965        375050352        0.000000000
16.968805079        375271627        1.000000000
16.978805034        375492810        0.000000000
16.988800965        375713904        1.000000000
16.998800965        375935088        0.000000000
17.008800965        376156272        1.000000000
17.018800965        376377456        0.000000000
17.028800965        376598640        1.000000000
17.038800965        376819824        0.000000000
17.048800965        377041008        1.000000000
17.058804989        377262281        0.000000000
17.068805170        377483469        1.000000000
17.078804989        377704649        0.000000000
17.088801056        377925746        1.000000000
17.098801056        378146930        0.000000000
17.108804763        378368196        1.000000000
17.118800965        378589296        0.000000000
17.128800965        378810480        1.000000000
17.138800965        379031664        0.000000000
17.148800965        379252848        1.000000000
17.158800965        379474032        0.000000000
17.168805079        379695307        1.000000000
17.178805034        379916490        0.000000000
17.188800965        380137584        1.000000000
17.198800965        380358768        0.000000000
17.208800965        380579952        1.000000000
17.218800965        380801136        0.000000000
17.228800965        381022320        1.000000000
17.238800965        381243504        0.000000000
17.248800965        381464688        1.000000000
17.258800965        381685872        0.000000000
17.268805079        381907147        1.000000000
17.278805034        382128330        0.000000000
17.288800965        382349424        1.000000000
17.298800965        382570608        0.000000000
17.308800965        382791792        1.000000000
17.318800965        383012976        0.000000000
17.328800965        383234160        1.000000000
17.338800965        383455344        0.000000000
17.348800965        383676528        1.000000000
17.358800965        383897712        0.000000000
17.368805079        384118987        1.000000000
17.378805034        384340170        0.000000000
17.388800965        384561264        1.000000000
17.398800965        384782448        0.000000000
17.408800965        385003632        1.000000000
17.418800965        385224816        0.000000000
17.428800965        385446000        1.000000000
17.438800965        385667184        0.000000000
17.448800965        385888368        1.000000000
17.458800965        386109552        0.000000000
17.468805079        386330827        1.000000000
17.478805034        386552010        0.000000000
17.488800965        386773104        1.000000000
17.498800965        386994288        0.000000000
17.508800965        387215472        1.000000000
17.518800965        387436656        0.000000000
17.528800965        387657840        1.000000000
17.538800965        387879024        0.000000000
17.548800965        388100208        1.000000000
17.558800965        388321392        0.000000000
17.568805848        388542684        1.000000000
17.578804989        388763849        0.000000000
17.588801056        388984946        1.000000000
17.598801056        389206130        0.000000000
17.608801056        389427314        1.000000000
17.618801056        389648498        0.000000000
17.628801056        389869682        1.000000000
17.638801056        390090866        0.000000000
17.648801056        390312050        1.000000000
17.658801056        390533234        0.000000000
17.668805170        390754509        1.000000000
17.678804989        390975689        0.000000000
17.688801056        391196786        1.000000000
17.698801056        391417970        0.000000000
17.708801056        391639154        1.000000000
17.718801056        391860338        0.000000000
17.728801056        392081522        1.000000000
17.738801056        392302706        0.000000000
17.748801056        392523890        1.000000000
17.758801056        392745074        0.000000000
17.768805170        392966349        1.000000000
17.778804989        393187529        0.000000000
17.788801056        393408626        1.000000000
17.798801056        393629810        0.000000000
17.808801056        393850994        1.000000000
17.818801056        394072178        0.000000000
17.828801056        394293362        1.000000000
17.838801056        394514546        0.000000000
17.848801056        394735730        1.000000000
17.858801056        394956914        0.000000000
17.868805170        395178189        1.000000000
17.878804989        395399369        0.000000000
17.888801056        395620466        1.000000000
17.898801056        395841650        0.000000000
17.908801056        396062834        1.000000000
17.918801056        396284018        0.000000000
17.928801056        396505202        1.000000000
17.938801056        396726386        0.000000000
17.948801056        396947570        1.000000000
17.958801056        397168754        0.000000000
17.968805170        397390029        1.000000000
17.978804989        397611209        0.000000000
17.988801056        397832306        1.000000000
17.998801056        398053490        0.000000000
18.008801056        398274674        1.000000000
18.018801056        398495858        0.000000000
18.028801056        398717042        1.000000000
18.038801056        398938226        0.000000000
18.048801056        399159410        1.000000000
18.058805079        399380683        0.000000000
18.068805125        399601868        1.000000000
18.078805079        399823051        0.000000000
18.088801010        400044145        1.000000000
18.098801010        400265329        0.000000000
18.108804718        400486595        1.000000000
18.118801056        400707698        0.000000000
18.128801056        400928882        1.000000000
18.138801056        401150066        0.000000000
18.148801056        401371250        1.000000000
18.158801056        401592434        0.000000000
18.168805170        401813709        1.000000000
18.178804989        402034889        0.000000000
18.188801056        402255986        1.000000000
18.198801056        402477170        0.000000000
18.208801056        402698354        1.000000000
18.218801056        402919538        0.000000000
18.228801056        403140722        1.000000000
18.238801056        403361906        0.000000000
18.248801056        403583090        1.000000000
18.258801056        403804274        0.000000000
18.268805170        404025549        1.000000000
18.278804989        404246729        0.000000000
18.288801056        404467826        1.000000000
18.298801056        404689010        0.000000000
18.308801056        404910194        1.000000000
18.318801056        405131378        0.000000000
18.328801056        405352562        1.000000000
18.338801056        405573746        0.000000000
18.348801056        405794930        1.000000000
18.358801056        406016114        0.000000000
18.368805170        406237389        1.000000000
18.378804989        406458569        0.000000000
18.388801056        406679666        1.000000000
18.398801056        406900850        0.000000000
18.408801056        407122034        1.000000000
18.418801056        407343218        0.000000000
18.428801056        407564402        1.000000000
18.438801056        407785586        0.000000000
18.448801056        408006770        1.000000000
18.458801056        408227954        0.000000000
18.468805170        408449229        1.000000000
18.478804989        408670409        0.000000000
18.488801056        408891506        1.000000000
18.498801056        409112690        0.000000000
18.508801056        409333874        1.000000000
18.518801056        409555058        0.000000000
18.528801056        409776242        1.000000000
18.538801056        409997426        0.000000000
18.548801056        410218610        1.000000000
18.558801056        410439794        0.000000000
18.568805170        410661069        1.000000000
18.578804989        410882249        0.000000000
18.588801056        411103346        1.000000000
18.598801056        411324530        0.000000000
18.608801056        411545714        1.000000000
18.618801056        411766898        0.000000000
18.628801056        411988082        1.000000000
18.638801056        412209266        0.000000000
18.648801056        412430450        1.000000000
18.658801056        412651634        0.000000000
18.668805938        412872926        1.000000000
18.678805079        413094091        0.000000000
18.688801010        413315185        1.000000000
18.698801010        413536369        0.000000000
18.708801010        413757553        1.000000000
18.718801010        413978737        0.000000000
18.728801010        414199921        1.000000000
18.738801010        414421105        0.000000000
18.748801010        414642289        1.000000000
18.758801010        414863473        0.000000000
18.768805125        415084748        1.000000000
18.778805079        415305931        0.000000000
18.788801010        415527025        1.000000000
18.798801010        415748209        0.000000000
18.808801010        415969393        1.000000000
18.818801010        416190577        0.000000000
18.828801010        416411761        1.000000000
18.838801010        416632945        0.000000000
18.848801010        416854129        1.000000000
18.858801010        417075313        0.000000000
18.868805125        417296588        1.000000000
18.878805079        417517771        0.000000000
18.888801010        417738865        1.000000000
18.898801010        417960049        0.000000000
18.908801010        418181233        1.000000000
18.918801010        418402417        0.000000000
18.928801010        418623601        1.000000000
18.938801010        418844785        0.000000000
18.948801010        419065969        1.000000000
18.958801010        419287153        0.000000000
18.968805125        419508428        1.000000000
18.978805079        419729611        0.000000000
18.988801010        419950705        1.000000000
18.998801010        420171889        0.000000000
19.008801010        420393073        1.000000000
19.018801010        420614257        0.000000000
19.028801010        420835441        1.000000000
19.038801010        421056625        0.000000000
19.048801010        421277809        1.000000000
19.058805034        421499082        0.000000000
19.068805079        421720267        1.000000000
19.078805034        421941450        0.000000000
19.088800965        422162544        1.000000000
19.098800965        422383728        0.000000000
19.108804673        422604994        1.000000000
19.118801010        422826097        0.000000000
19.128801010        423047281        1.000000000
19.138801010        423268465        0.000000000
19.148801010        423489649        1.000000000
19.158801010        423710833        0.000000000
19.168805125        423932108        1.000000000
19.178805079        424153291        0.000000000
19.188801010        424374385        1.000000000
19.198801010        424595569        0.000000000
19.208801010        424816753        1.000000000
19.218801010        425037937        0.000000000
19.228801010        425259121        1.000000000
19.238801010        425480305        0.000000000
19.248801010        425701489        1.000000000
19.258801010        425922673        0.000000000
19.268805125        426143948        1.000000000
19.278805079        426365131        0.000000000
19.288801010        426586225        1.000000000
19.298801010        426807409        0.000000000
19.308801010        427028593        1.000000000
19.318801010        427249777        0.000000000
19.328801010        427470961        1.000000000
19.338801010        427692145        0.000000000
19.348801010        427913329        1.000000000
19.358801010        428134513        0.000000000
19.368805125        428355788        1.000000000
19.378805079        428576971        0.000000000
19.388801010        428798065        1.000000000
19.398801010        429019249        0.000000000
19.408801010        429240433        1.000000000
19.418801010        429461617        0.000000000
19.428801010        429682801        1.000000000
19.438801010        429903985        0.000000000
19.448801010        430125169        1.000000000
19.458801010        430346353        0.000000000
19.468805125        430567628        1.000000000
19.478805079        430788811        0.000000000
19.488801010        431009905        1.000000000
19.498801010        431231089        0.000000000
19.508801010        431452273        1.000000000
19.518801010        431673457        0.000000000
19.528801010        431894641        1.000000000
19.538801010        432115825        0.000000000
19.548801010        432337009        1.000000000
19.558801010        432558193        0.000000000
19.568805125        432779468        1.000000000
19.578805079        433000651        0.000000000
19.588801010        433221745        1.000000000
19.598801010        433442929        0.000000000
19.608801010        433664113        1.000000000
19.618801010        433885297        0.000000000
19.628801010        434106481        1.000000000
19.638801010        434327665        0.000000000
19.648801010        434548849        1.000000000
19.658801010        434770033        0.000000000
19.668805125        434991308        1.000000000
19.678805079        435212491        0.000000000
19.688801010        435433585        1.000000000
19.698801010        435654769        0.000000000
19.708801010        435875953        1.000000000
19.718801010        436097137        0.000000000
19.728801010        436318321        1.000000000
19.738801010        436539505        0.000000000
19.748801010        436760689        1.000000000
19.758801010        436981873        0.000000000
19.768805893        437203165        1.000000000
19.778805034        437424330        0.000000000
19.788800965        437645424        1.000000000
19.798800965        437866608        0.000000000
19.808800965        438087792        1.000000000
19.818800965        438308976        0.000000000
19.828800965        438530160        1.000000000
19.838800965        438751344        0.000000000
19.848800965        438972528        1.000000000
19.858800965        439193712        0.000000000
19.868805079        439414987        1.000000000
19.878805034        439636170        0.000000000
19.888800965        439857264        1.000000000
19.898800965        440078448        0.000000000
19.908800965        440299632        1.000000000
19.918800965        440520816        0.000000000
19.928800965        440742000        1.000000000
19.938800965        440963184        0.000000000
19.948800965        441184368        1.000000000
19.958800965        441405552        0.000000000
19.968805079        441626827        1.000000000
19.978805034        441848010        0.000000000
19.988800965        442069104        1.000000000
19.998800965        442290288        0.000000000
20.008800965        442511472        1.000000000
20.018800965        442732656        0.000000000
20.028800965        442953840        1.000000000
20.038800965        443175024        0.000000000
20.048800965        443396208        1.000000000
20.058804989        443617481        0.000000000
20.068805170        443838669        1.000000000
20.078804989        444059849        0.000000000

出30入0汤圆

 楼主| 发表于 2009-11-23 13:56:04 | 显示全部楼层
在旧版本加了个测试任务,有几个未调用的函数,所以有警告,但不影响使用。ourdev_506296.rar(文件大小:121K) (原文件名:复件 液晶显示加操作系统11.20.rar)

出0入0汤圆

发表于 2009-11-24 03:07:27 | 显示全部楼层
太谢谢了。我是个初学者虽然有些不太懂。拿回去研究一下。

出0入0汤圆

发表于 2009-11-24 16:59:59 | 显示全部楼层
mark!向楼主敬礼!

出0入0汤圆

发表于 2009-11-28 11:07:51 | 显示全部楼层
看了你的程序,这种调度方式的确有他的好处,在用于检测,ADC,DAC等器件上可以有很大的方便。当然可以进一步的优化,让CPU的性能全部发挥出来。基于时间片的合作式调度,如果一个任务的时间过长,还没有完成,是不是可以认为放弃这个任务。转入到下一任务的执行?当然在这个系统不会出现任务“昏迷”的情况,“昏迷”就是某个任务占用CPU的时间过长,系统不能转入下一个任务执行。我曾经在SST的SST89x51系列单片机出现过这个问题。不过楼主的这个时间片调度设计的很好,值得参考。

出0入4汤圆

发表于 2009-11-28 11:19:26 | 显示全部楼层
mark

出0入4汤圆

发表于 2009-11-28 11:19:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-1 14:04:50 | 显示全部楼层
谢谢了

出30入0汤圆

 楼主| 发表于 2009-12-6 00:06:45 | 显示全部楼层
谢谢15楼的建议,这段时间在做一个低通滤波器,没有时间回复。
起始严格来讲,应该设置一个单独的时钟计数器,来记录每个任务的运行情况,在每个任务中加入对超时标志位的判断,若有任务超时,这强行关闭该任务,并且报错。
这样会更好点。
谢谢楼上的兄弟们对一个单片机菜鸟的评价和指导!

出0入0汤圆

发表于 2009-12-6 00:15:15 | 显示全部楼层
Mark学习了

出0入0汤圆

发表于 2009-12-6 09:32:16 | 显示全部楼层
先学习学习楼主的好东西。

出0入0汤圆

发表于 2009-12-6 09:39:36 | 显示全部楼层
MARK下,慢慢品尝.

出0入0汤圆

发表于 2009-12-6 09:40:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-21 11:13:01 | 显示全部楼层
很有参考价值,研究下先

出0入0汤圆

发表于 2009-12-21 23:24:37 | 显示全部楼层
学习一下。

出0入0汤圆

发表于 2009-12-22 01:30:04 | 显示全部楼层
又发现一个nb贴,标记学习~

出0入0汤圆

发表于 2010-1-28 10:40:40 | 显示全部楼层
这个太NB了,直接看不懂

出0入0汤圆

发表于 2010-1-28 21:24:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-13 22:04:53 | 显示全部楼层
学习当中

出0入0汤圆

发表于 2010-5-16 20:35:26 | 显示全部楼层
学习当中 ,但缺图?

出0入0汤圆

发表于 2010-5-18 17:04:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-29 14:24:13 | 显示全部楼层
这个要顶,回头也写个操作系统

出0入0汤圆

发表于 2010-6-29 14:51:13 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-6-29 14:57:39 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-6-29 18:56:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-1 10:43:48 | 显示全部楼层
mark,不错

出0入0汤圆

发表于 2010-8-2 17:26:51 | 显示全部楼层
楼主,我想看一下你移植到C8051F020上的Ucos-ii,我的邮箱beihua_445566@sina.com。非常感谢!!!

出0入0汤圆

发表于 2010-8-8 23:31:40 | 显示全部楼层
回复【6楼】linquan315
-----------------------------------------------------------------------
我看过这本书,书里还介绍了一种混合式调度器,可以实现协作式和抢占式的混合调度。调度结构差不多,不过任务结构体内要有一个标识位来设置是抢占式任务还是协作式任务,调度时加以区分

出0入0汤圆

发表于 2010-8-18 21:04:25 | 显示全部楼层
挖到古墓了,感谢楼主!

出0入0汤圆

发表于 2010-8-20 19:57:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-20 23:49:47 | 显示全部楼层
看看,记号////

出0入0汤圆

发表于 2010-8-24 01:07:03 | 显示全部楼层
好东西,收下好好研究!

出0入0汤圆

发表于 2010-9-25 14:39:46 | 显示全部楼层
谢谢了

出0入0汤圆

发表于 2010-10-14 22:10:34 | 显示全部楼层

出0入0汤圆

发表于 2010-10-15 21:36:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-23 01:18:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-8 15:20:06 | 显示全部楼层
Mark 时间触发

出0入0汤圆

发表于 2010-11-8 16:44:35 | 显示全部楼层
Mark 时间触发

出5入8汤圆

发表于 2010-11-8 21:36:31 | 显示全部楼层
我顶一下

出0入0汤圆

发表于 2010-11-9 00:50:19 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-11-17 14:26:22 | 显示全部楼层
基于时间触发的嵌入式操作系统

出0入0汤圆

发表于 2010-11-18 22:52:46 | 显示全部楼层
很是不错!顶一个。赞一个!

出0入0汤圆

发表于 2010-11-19 10:41:28 | 显示全部楼层
顶,精神可嘉

出0入0汤圆

发表于 2010-11-20 23:37:00 | 显示全部楼层
每天都有新发现,就是我没有新进展。。。。。

出0入0汤圆

发表于 2010-11-21 23:28:12 | 显示全部楼层
《基于时间触发的嵌入式操作系统》这本书好像没得卖了,是不是书名记错了?

出0入0汤圆

发表于 2010-11-22 09:56:38 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2010-11-25 16:23:56 | 显示全部楼层
时间触发嵌入式系统设计

出0入0汤圆

发表于 2010-11-29 12:11:14 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-11-29 13:07:17 | 显示全部楼层
很好,mark~

出0入0汤圆

发表于 2010-11-30 11:09:47 | 显示全部楼层
感谢楼主无私奉献!


记号

出0入0汤圆

发表于 2010-11-30 11:52:03 | 显示全部楼层
回复【2楼】linquan315
-----------------------------------------------------------------------

很经典的帖子,应该置酷。
要是有哪位把《基于时间触发的嵌入式操作系统》这本书的PDF也传上来就好了!

出0入0汤圆

发表于 2010-12-1 08:03:00 | 显示全部楼层
楼主辛苦  记号

出0入0汤圆

发表于 2010-12-1 09:55:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-1 15:57:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-2 21:18:43 | 显示全部楼层
顶,标记

出0入0汤圆

发表于 2010-12-5 21:43:07 | 显示全部楼层
perfect

出0入0汤圆

发表于 2010-12-5 23:59:37 | 显示全部楼层
一年前错过的好帖子

出0入0汤圆

发表于 2010-12-15 19:26:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-23 02:42:11 | 显示全部楼层
MARK下,虽然看不懂

出0入0汤圆

发表于 2010-12-24 00:28:00 | 显示全部楼层
我也留个记号

出0入0汤圆

发表于 2010-12-29 09:45:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-29 10:34:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-29 10:57:50 | 显示全部楼层
mark合作式调度

出0入0汤圆

发表于 2010-12-29 11:07:33 | 显示全部楼层
来学习一下!!!

出0入0汤圆

发表于 2011-1-10 19:02:20 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2011-1-13 18:01:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-13 18:43:02 | 显示全部楼层
"基于时间触发的嵌入式操作系统"的设计方法,在资源不够的MCU中很好用!

出0入0汤圆

发表于 2011-1-13 19:19:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-13 20:25:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-13 21:34:04 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-1-14 12:25:20 | 显示全部楼层
恩。。不错哦。。

出30入0汤圆

 楼主| 发表于 2011-1-16 16:36:11 | 显示全部楼层
呵呵,一年半年前发表的帖子,一年半没有看了,感谢各位朋友的支持,我现在也快要毕业了,回长沙三一工作了。好多感慨啊,时间过得好快。
其实这个东西去年我也改进了一点点,就是以前的任务不是协作的吗,就是一个任务执行完了再执行一个,而任务的执行顺序是先前添加任务的时候的顺序。而这个是可以抢占执行的,其实我也想想UCOS一样来个上下文切换,但是我的汇编太差了,以前自己在51上移植过UCOS,感觉好麻烦,现在在STM32上移植也是感觉比较繁琐,来回查手册。做个抢占的任务还是很简单地,C语言就够了。
抢占内核的合作式调度系统ourdev_611418XHJTR0.rar(文件大小:217K) (原文件名:陶东波步进电机程序6.02(串口控制绝对坐标).rar)

这是我帮别人做的第一个项目,里面的其他代码就不用看了,呵呵,OSCore.c和OSCore.h大家可以看看,我懒得注释了。
里面有个人隐私,不过人事多变,现在失效了,不想改了,呵呵。
还有一个我刚刚发的帖子,比这个还好,个人觉得对初学者有用,可以看看。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4516795&bbs_page_no=1&search_mode=3&search_text=linquan315&bbs_id=9999

出0入0汤圆

发表于 2011-3-4 17:00:38 | 显示全部楼层
在资源不够的MCU中,基于时间触发的嵌入式操作系统的设计方法很好用! 顶

出0入0汤圆

发表于 2011-3-6 12:56:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-7 01:09:45 | 显示全部楼层
楼主辛苦  记号

出0入0汤圆

发表于 2011-3-10 10:02:25 | 显示全部楼层
楼主无私奉献的精神值得我们学习呀!

出0入0汤圆

发表于 2011-5-3 10:11:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-3 10:12:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-12 23:05:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-12 23:23:32 | 显示全部楼层
虽然看不懂,但值得看看

出0入0汤圆

发表于 2011-11-14 01:33:17 | 显示全部楼层
我想看一下你移植到C8051F020上的Ucos-ii,我的邮箱zhyum1@126.com。非常感谢!!!

出0入0汤圆

发表于 2011-11-14 07:27:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-14 12:52:42 | 显示全部楼层
有图有真相。。。学习下
头像被屏蔽

出0入0汤圆

发表于 2011-11-14 23:30:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-17 18:28:44 | 显示全部楼层
楼主当年的能完成这个已经很厉害了。学习了。

出0入0汤圆

发表于 2011-11-17 18:46:05 | 显示全部楼层
这个必须mark

出0入0汤圆

发表于 2011-11-17 18:56:23 | 显示全部楼层
好样的,学习下操作系统写的程序

出0入0汤圆

发表于 2011-11-17 19:17:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-21 14:23:54 | 显示全部楼层
不错,这么多功能集成在一起

出0入0汤圆

发表于 2011-11-21 16:33:20 | 显示全部楼层
不错的好帖子。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-1 19:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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