搜索
bottom↓
回复: 14
打印 上一主题 下一主题

如何用STC15单片机实现步进电机S曲线加减速?

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2015-6-6 17:39:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ruan18278816371 于 2015-6-7 09:07 编辑

如题,最近在玩步进电机,需要用S曲线来实现步进电机平滑地加减速。有大侠研究过吗?求教!下面贴出我驱动步进电机的代码.单片机用的是IAP STC15F2K60S2,驱动器用的是TB660步进电机驱动器,用定时器0作为PWM脉宽输出的时钟源,最终输出的PWM脉宽3.9KHz,按照我之前改变定时器初值的方法来实现步进电机的加减速,稍微变一下初值,电机会很抖,咔咔响很不爽。特意像各位大侠求教S曲线加减速的方法。

#include<stc15f2k60s2.h>
#include "intrins.h"
//#include "uart.h"


//sfr P_SW1       = 0xA2;             //外设功能切换寄存器1

#define CCP_S0 0x10                 //P_SW1.4
#define CCP_S1 0x20                 //P_SW1.5

//sfr AUXR        =   0x8E;   //0000,0000 辅助寄存器
sbit EN=P2^3;//TB660时能 高电平使能
sbit CW=P2^4;//TB660控制电机正反转 高电平正转
static float i=0;
static long j=0;

void Timer0Init(void)                //1微秒@22.1184MHz
{
        AUXR |= 0x80;                //定时器时钟1T模式
        TMOD &= 0xF0;                //设置定时器模式 16位非自动重装
        TMOD |= 0x01;                //设置定时器模式
        TL0 = 0xEA;                //设置定时初值
        TH0 = 0xFF;                //设置定时初值
        TF0 = 0;                //清除TF0标志
        TR0 = 1;                //定时器0开始计时
        EA=1;
        ET0=1;
}

void main()
{

  ACC = P_SW1;
  ACC &= ~(CCP_S0 | CCP_S1);      //CCP_S0=0 CCP_S1=1
  ACC |= CCP_S1;                  //(P2.4/ECI_3, P2.5/CCP0_3, P2.6/CCP1_3, P2.7/CCP2_3)
  P_SW1 = ACC;  

    CCON = 0;                       //初始化PCA控制寄存器
                                    //PCA定时器停止
                                    //清除CF标志
                                    //清除模块中断标志
    CL = 0;                         //复位PCA寄存器
    CH = 0;
    //CMOD = 0x01;                    //设置PCA时钟源  系统时钟的12分频,使能CF中断
     CMOD = 0x04;                    //设置PCA时钟源  定时器0时钟,                           
    PCA_PWM0 = 0x00;                //PCA模块0工作于8位PWM
    CCAP0H = CCAP0L = 0x80;         //PWM0的占空比为50% ((100H-20H)/100H)
    CCAPM0 = 0x42;                  //PCA模块0为8位PWM模式

        CR = 1;                         //PCA定时器开始工作
        EN=1;
        CW=1;
        Timer0Init();       
        while(1);
               
}
void Timer0(void) interrupt 1
{
        //16位定时模式(非自动重装)在这儿重装初值                       
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
 楼主| 发表于 2015-6-7 10:23:02 | 只看该作者
怎么没大侠支招啊,自己帮顶

出0入0汤圆

3
 楼主| 发表于 2015-6-8 21:01:48 | 只看该作者
STC单片机实现不了步进电机S曲线加减速

出100入85汤圆

4
发表于 2015-6-9 09:30:53 | 只看该作者
可以明确高速你肯定是可以的

就算定时器不支持PWM也可以实现,当然速度高了是不行的
大致流程如下

S曲线速度列表请查询本论坛

Motor_Init
{
    脉冲输出口PUL_Pin初始化为低电平
}

Motor_Interrupt   //代码放入 定时器中断
{

    如果(PUL_Pin > 0)
    {
        PUL_Pin = 0;
    }
    else
    {
        PUL_Pin = 1;
    }

    脉冲数每进两次中断
    {
        脉冲数-1

        如果是正方向
        {
              正方向脉冲数++
        }
        否则
        {
             反方向脉冲数++
        }

        如果 是停止指令
        {
            如果速度低到可以直接停止
            {
                关闭定时器
                恢复初始状态
            }
             否则
             {
                 按速度列表减慢速度  
             }
             更新速度
        }
        如果是 加速指令
        {
            按速度列表减慢速度
            更新速度
        }
        如果是减速指令
        {
            按速度列表减慢速度
            更新速度
        }
        否则
        {
  
        }
    }
        
   
}

Motor_Start
{
    脉冲输出口PUL_Pin强制置为低电平

    设置脉冲数
    设置初始速度
    设置方向

    启动定时器
}

Motor_Stop
{
    发送停止命令
}

Motor_SuddenStop
{
    脉冲输出口PUL_Pin强制置为低电平
    关闭定时器
}

出0入0汤圆

5
 楼主| 发表于 2015-6-9 10:30:24 | 只看该作者
whatcanitbe 发表于 2015-6-9 09:30
可以明确高速你肯定是可以的

就算定时器不支持PWM也可以实现,当然速度高了是不行的

你好!改变步进电机速度本质是改变脉冲频率,大侠的思路没看到频率有变化啊,你只改变脉冲数。是不是你改变的是一个周期的脉冲数?这样的话一个周期的脉冲数越多频率越快。但是STC15F2K60S2这款单片机是有硬件的PWM的,可以设置定时器0作为PWM的时钟源,之前我改变定时器0的初值电机加减速很抖,你这个是控制脉冲数的话,这款单片机一旦配置好PWM就是一直输出脉冲啊,这么控制脉冲输出个数?

出0入0汤圆

6
发表于 2015-6-9 10:32:15 | 只看该作者
ruan18278816371 发表于 2015-6-9 10:30
你好!改变步进电机速度本质是改变脉冲频率,大侠的思路没看到频率有变化啊,你只改变脉冲数。是不是你改 ...

他漏了一个东西,就是加减速表,表内装的就是频率值;所以且等这位大侠给你普及,他说的非常好;

出0入0汤圆

7
 楼主| 发表于 2015-6-9 10:46:15 | 只看该作者
kinsno 发表于 2015-6-9 10:32
他漏了一个东西,就是加减速表,表内装的就是频率值;所以且等这位大侠给你普及,他说的非常好;  ...

步进电机加减速表?百度看过一些,在论坛上也找到对应的软件,但是不懂设置具体参数呢。下面是在本论坛找到的一个S曲线表生成软件,对于表中的一些参数设置不是很懂,我测试过直接用这个软件把生成的表里面的元素对256分别取整,求余赋给定时器
TH0 =( WaitTable/256);
TL0 =( WaitTable%256);
没有效果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

8
 楼主| 发表于 2015-6-10 16:55:12 | 只看该作者
怎么贴就沉下来了,欢迎各路大侠指导啊

出0入0汤圆

9
发表于 2015-8-1 11:00:33 | 只看该作者
ruan18278816371 发表于 2015-6-9 10:46
步进电机加减速表?百度看过一些,在论坛上也找到对应的软件,但是不懂设置具体参数呢。下面是在本论坛找 ...

不知道楼主的问题解决没?可以提点一下吗?

出0入0汤圆

10
发表于 2015-9-26 18:03:40 | 只看该作者
ruan18278816371 发表于 2015-6-9 10:46
步进电机加减速表?百度看过一些,在论坛上也找到对应的软件,但是不懂设置具体参数呢。下面是在本论坛找 ...

要是有这个软件的具体算法就更好了,因为只是生成,做实验可以,没太大的实用价值

出0入0汤圆

11
发表于 2015-10-27 21:51:26 | 只看该作者
本帖最后由 tbcrv 于 2015-10-27 21:55 编辑

这是我的程序 用的是查表法 。加减速表是用晓奇软件生成的。你可以参考一下。
void t1int() interrupt 3         //¼ÆÊýÆ÷1.¼Æʱ

{
       
       
       
         temxt=WaitTable[tabi];//²é±í
       
        TH1=temxt>>8;
        TL1=temxt;
       
        clk=~clk;//²½½øÂö³å
        if(clk==1)
                dsty=1;
   
        if((dsty==1)&&(clk==0))
        {
       
                           if ((tabi<maxseep)&&(adec==0))
                        {
                                tabi++;
                        }       
               
                        if((tabi>5)&&(adec==1))
                        {
                                tabi--;
                        }
                        seto_val++;
                        dsty=0;
               
                        if(runstep==(seto_val+tabi))
                        {
                                adec=1;//¼ÓËÙ±êÖ¾
                        }
                  
                        if(runstep==seto_val)
                        {  
                                runing=0;
                                adec=0;
                                seto_val=0;
                                tabi=0;
                                TR1=0;
                                ET1=0;
                                TH1=(65535-32767)/256;
                                TL1=(65535-32767)%256;
                                pvt++;                                //µ±Ç°¶ÎÊý
                                ZJS++;
                               
                                if(pvt>=snt)
                                {
                                runbit=0;
                                bellbit=1;
                                }
                               
                                if((runing==0)&&(nextbit==1))
                                  {
                                            motoren=0;
                                        motorjj=0;
                    acmotor=0;
                                  }
                          
                                wr_epprom(save,0,2);
                               
                               
                        }
        }
       
       
}



/*============================================================================
¾§ÕðƵÂÊ     = 12.000000;
Ô¤·ÖƵÂÊ     = 12;
Æð²½ËٶȠ    = 50;
¼«ÏÞÖÕµã     = 2000;
¼«ÏÞתËÙ     = 1000;
ÆðʼÕÛµã     = 600;
ÕÛµãתËÙm    = 300;
¸ßËÙÕÛµã     = 1400;
ÕÛµãתËÙf    = 800;
ÖÜÂö³åÊý     = 1600;
ÖжÏÏìÓ¦±à³Ì²¹³¥ = 30;
TÌÝÐÎÇúÏßÉú³ÉÀàÐÍTÌÝÐÎÇúÏßÉú³ÉÀàÐÍ ============================================================================*/
unsigned int code WaitTable[]={
        0xFD10, 0xFD12, 0xFD16, 0xFD23, 0xFD30, 0xFD38, 0xFD45, 0xFD5A, 0xFD5F, 0xFD65,  // 10
        0xFD6A, 0xFD70, 0xFD75, 0xFD7A, 0xFD7F, 0xFD84, 0xFD89, 0xFD8D, 0xFD92, 0xFD97,  // 20
        0xFD9C, 0xFDA0, 0xFDA5, 0xFDA9, 0xFDAD, 0xFDB2, 0xFDB6, 0xFDBA, 0xFDBE, 0xFDC3,  // 30
        0xFDC7, 0xFDCB, 0xFDCE, 0xFDD2, 0xFDD6, 0xFDDA, 0xFDDD, 0xFDE1, 0xFDE5, 0xFDE9,  // 40
        0xFDEC, 0xFDF0, 0xFDF3, 0xFDF6, 0xFDFA, 0xFDFD, 0xFE00, 0xFE04, 0xFE07, 0xFE0A,  // 50
        0xFE0D, 0xFE10, 0xFE13, 0xFE16, 0xFE19, 0xFE1C, 0xFE1F, 0xFE22, 0xFE25, 0xFE28,  // 60
        0xFE2A, 0xFE2D, 0xFE30, 0xFE33, 0xFE35, 0xFE38, 0xFE3B, 0xFE3D, 0xFE40, 0xFE42,  // 70
        0xFE45, 0xFE47, 0xFE4A, 0xFE4C, 0xFE4F, 0xFE51, 0xFE53, 0xFE56, 0xFE58, 0xFE5A,  // 80
        0xFE5C, 0xFE5F, 0xFE61, 0xFE63, 0xFE65, 0xFE68, 0xFE6A, 0xFE6C, 0xFE6E, 0xFE70,  // 90
        0xFE72, 0xFE74, 0xFE76, 0xFE78, 0xFE7A, 0xFE7C, 0xFE7E, 0xFE80, 0xFE82, 0xFE83,  // 100
        0xFE85, 0xFE87, 0xFE89, 0xFE8B, 0xFE8D, 0xFE8E, 0xFE90, 0xFE92, 0xFE94, 0xFE95,  // 110
        0xFE97, 0xFE99, 0xFE9B, 0xFE9C, 0xFE9E, 0xFEA0, 0xFEA1, 0xFEA3, 0xFEA4, 0xFEA6,  // 120
        0xFEA8, 0xFEA9, 0xFEAB, 0xFEAC, 0xFEAE, 0xFEAF, 0xFEB1, 0xFEB2, 0xFEB4, 0xFEB5,  // 130
        0xFEB7, 0xFEB8, 0xFEB9, 0xFEBB, 0xFEBC, 0xFEBE, 0xFEBF, 0xFEC0, 0xFEC2, 0xFEC3,  // 140
        0xFEC4, 0xFEC6, 0xFEC7, 0xFEC8, 0xFECA, 0xFECB, 0xFECC, 0xFECD, 0xFECF, 0xFED0,  // 150
        0xFED1, 0xFED2, 0xFED4, 0xFED5, 0xFED6, 0xFED7, 0xFED8, 0xFEDA, 0xFEDB, 0xFEDC,  // 160
        0xFEDD, 0xFEDE, 0xFEDF, 0xFEE0, 0xFEE2, 0xFEE3, 0xFEE4, 0xFEE5, 0xFEE6, 0xFEE7,  // 170
        0xFEE8, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, 0xFEED, 0xFEEE, 0xFEEF, 0xFEF0, 0xFEF1,  // 180
        0xFEF2, 0xFEF3, 0xFEF5, 0xFEF5, 0xFEF6, 0xFEF7, 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB,  // 190
        0xFEFC, 0xFEFD, 0xFEFE, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF03, 0xFF03, 0xFF04,  // 200
        0xFF05, 0xFF06, 0xFF07, 0xFF08, 0xFF09, 0xFF0A, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D,  // 210
        0xFF0E, 0xFF0F, 0xFF0F, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF13, 0xFF14, 0xFF15,  // 220
        0xFF16, 0xFF17, 0xFF17, 0xFF18, 0xFF19, 0xFF1A, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF1D,  // 230
        0xFF1D, 0xFF1E, 0xFF1F, 0xFF20, 0xFF20, 0xFF21, 0xFF22, 0xFF22, 0xFF23, 0xFF24,  // 240
        0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF27, 0xFF28, 0xFF29, 0xFF29, 0xFF2A, 0xFF2B,  // 250
        0xFF2B, 0xFF2C, 0xFF2D, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF2F, 0xFF30, 0xFF30, 0xFF31,  // 260
        0xFF32, 0xFF32, 0xFF33, 0xFF34, 0xFF34, 0xFF35, 0xFF35, 0xFF36, 0xFF37, 0xFF37,  // 270
        0xFF38, 0xFF38, 0xFF39, 0xFF3A, 0xFF3A, 0xFF3B, 0xFF3B, 0xFF3C, 0xFF3C, 0xFF3D,  // 280
        0xFF3D, 0xFF3E, 0xFF3F, 0xFF3F, 0xFF40, 0xFF40, 0xFF41, 0xFF41, 0xFF42, 0xFF42,  // 290
        0xFF43, 0xFF44, 0xFF44, 0xFF45, 0xFF45, 0xFF46, 0xFF46, 0xFF47, 0xFF47, 0xFF48,  // 300
        0xFF48, 0xFF49, 0xFF49, 0xFF4A, 0xFF4A, 0xFF4B, 0xFF4B, 0xFF4C, 0xFF4C, 0xFF4D,  // 310
        0xFF4D, 0xFF4E, 0xFF4E, 0xFF4F, 0xFF4F, 0xFF50, 0xFF50, 0xFF51, 0xFF51, 0xFF51,  // 320
        0xFF52, 0xFF52, 0xFF53, 0xFF53, 0xFF54, 0xFF54, 0xFF55, 0xFF55, 0xFF56, 0xFF56,  // 330
        0xFF56, 0xFF57, 0xFF57, 0xFF58, 0xFF58, 0xFF59, 0xFF59, 0xFF5A, 0xFF5A, 0xFF5A,  // 340
        0xFF5B, 0xFF5B, 0xFF5C, 0xFF5C, 0xFF5D, 0xFF5D, 0xFF5D, 0xFF5E, 0xFF5E, 0xFF5F,  // 350
        0xFF5F, 0xFF5F, 0xFF60, 0xFF60, 0xFF61, 0xFF61, 0xFF61, 0xFF62, 0xFF62, 0xFF63,  // 360
        0xFF63, 0xFF63, 0xFF64, 0xFF64, 0xFF65, 0xFF65, 0xFF65, 0xFF66, 0xFF66, 0xFF66,  // 370
        0xFF67, 0xFF67, 0xFF68, 0xFF68, 0xFF68, 0xFF69, 0xFF69, 0xFF69, 0xFF6A, 0xFF6A,  // 380
        0xFF6B, 0xFF6B, 0xFF6B, 0xFF6C, 0xFF6C, 0xFF6C, 0xFF6D, 0xFF6D, 0xFF6D, 0xFF6E,  // 390
        0xFF6E, 0xFF6E, 0xFF6F, 0xFF6F, 0xFF6F, 0xFF70, 0xFF70, 0xFF70, 0xFF71, 0xFF71,  // 400
        0xFF71, 0xFF72, 0xFF72, 0xFF72, 0xFF73, 0xFF73, 0xFF73, 0xFF74, 0xFF74, 0xFF74,  // 410
        0xFF75, 0xFF75, 0xFF75, 0xFF76, 0xFF76, 0xFF76, 0xFF77, 0xFF77, 0xFF77, 0xFF78,  // 420
        0xFF78, 0xFF78, 0xFF78, 0xFF79, 0xFF79, 0xFF79, 0xFF7A, 0xFF7A, 0xFF7A, 0xFF7B,  // 430
        0xFF7B, 0xFF7B, 0xFF7B, 0xFF7C, 0xFF7C, 0xFF7C, 0xFF7D, 0xFF7D, 0xFF7D, 0xFF7D,  // 440
        0xFF7E, 0xFF7E, 0xFF7E, 0xFF7F, 0xFF7F, 0xFF7F, 0xFF7F, 0xFF80, 0xFF80, 0xFF80,  // 450
        0xFF81, 0xFF81, 0xFF81, 0xFF81, 0xFF82, 0xFF82, 0xFF82, 0xFF83, 0xFF83, 0xFF83,  // 460
        0xFF83, 0xFF84, 0xFF84, 0xFF84, 0xFF84, 0xFF85, 0xFF85, 0xFF85, 0xFF85, 0xFF86,  // 470
        0xFF86, 0xFF86, 0xFF86, 0xFF87, 0xFF87, 0xFF87, 0xFF87, 0xFF88, 0xFF88, 0xFF88,  // 480
        0xFF89, 0xFF89, 0xFF89, 0xFF89, 0xFF89, 0xFF8A, 0xFF8A, 0xFF8A, 0xFF8A, 0xFF8B,  // 490
        0xFF8B, 0xFF8B, 0xFF8B, 0xFF8C, 0xFF8C, 0xFF8C, 0xFF8C, 0xFF8D, 0xFF8D, 0xFF8D,  // 500
        0xFF8D, 0xFF8E, 0xFF8E, 0xFF8E, 0xFF8E, 0xFF8E, 0xFF8F, 0xFF8F, 0xFF8F, 0xFF8F,  // 510
        0xFF90, 0xFF90, 0xFF90, 0xFF90, 0xFF91, 0xFF91, 0xFF91, 0xFF91, 0xFF91, 0xFF92,  // 520
        0xFF92, 0xFF92, 0xFF92, 0xFF93, 0xFF93, 0xFF93, 0xFF93, 0xFF93, 0xFF94, 0xFF94,  // 530
        0xFF94, 0xFF94, 0xFF94, 0xFF95, 0xFF95, 0xFF95, 0xFF95, 0xFF96, 0xFF96, 0xFF96,  // 540
        0xFF96, 0xFF96, 0xFF97, 0xFF97, 0xFF97, 0xFF97, 0xFF97, 0xFF98, 0xFF98, 0xFF98,  // 550
        0xFF98, 0xFF98, 0xFF99, 0xFF99, 0xFF99, 0xFF99, 0xFF99, 0xFF9A, 0xFF9A, 0xFF9A,  // 560
        0xFF9A, 0xFF9A, 0xFF9B, 0xFF9B, 0xFF9B, 0xFF9B, 0xFF9B, 0xFF9B, 0xFF9C, 0xFF9C,  // 570
        0xFF9C, 0xFF9C, 0xFF9C, 0xFF9D, 0xFF9D, 0xFF9D, 0xFF9D, 0xFF9D, 0xFF9E, 0xFF9E,  // 580
        0xFF9E, 0xFF9E, 0xFF9E, 0xFF9E, 0xFF9F, 0xFF9F, 0xFF9F, 0xFF9F, 0xFF9F, 0xFFA0,  // 590
        0xFFA0, 0xFFA0, 0xFFA0, 0xFFA0, 0xFFA0, 0xFFA1, 0xFFA1, 0xFFA1, 0xFFA1, 0xFFA1,  // 600
        0xFFA1, 0xFFA2, 0xFFA2, 0xFFA2, 0xFFA3, 0xFFA3, 0xFFA3, 0xFFA3, 0xFFA4, 0xFFA4,  // 610
        0xFFA4, 0xFFA4, 0xFFA5, 0xFFA5, 0xFFA5, 0xFFA5, 0xFFA6, 0xFFA6, 0xFFA6, 0xFFA6,  // 620
        0xFFA6, 0xFFA7, 0xFFA7, 0xFFA7, 0xFFA7, 0xFFA8, 0xFFA8, 0xFFA8, 0xFFA8, 0xFFA9,  // 630
        0xFFA9, 0xFFA9, 0xFFA9, 0xFFAA, 0xFFAA, 0xFFAA, 0xFFAA, 0xFFAA, 0xFFAB, 0xFFAB,  // 640
        0xFFAB, 0xFFAB, 0xFFAC, 0xFFAC, 0xFFAC, 0xFFAC, 0xFFAC, 0xFFAD, 0xFFAD, 0xFFAD,  // 650
        0xFFAD, 0xFFAE, 0xFFAE, 0xFFAE, 0xFFAE, 0xFFAE, 0xFFAF, 0xFFAF, 0xFFAF, 0xFFAF,  // 660
        0xFFAF, 0xFFB0, 0xFFB0, 0xFFB0, 0xFFB0, 0xFFB0, 0xFFB1, 0xFFB1, 0xFFB1, 0xFFB1,  // 670
        0xFFB1, 0xFFB2, 0xFFB2, 0xFFB2, 0xFFB2, 0xFFB2, 0xFFB3, 0xFFB3, 0xFFB3, 0xFFB3,  // 680
        0xFFB3, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB4, 0xFFB5, 0xFFB5, 0xFFB5,  // 690
        0xFFB5, 0xFFB5, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB6, 0xFFB7, 0xFFB7, 0xFFB7,  // 700
        0xFFB7, 0xFFB7, 0xFFB7, 0xFFB8, 0xFFB8, 0xFFB8, 0xFFB8, 0xFFB8, 0xFFB8, 0xFFB9,  // 710
        0xFFB9, 0xFFB9, 0xFFB9, 0xFFB9, 0xFFB9, 0xFFBA, 0xFFBA, 0xFFBA, 0xFFBA, 0xFFBA,  // 720
        0xFFBA, 0xFFBB, 0xFFBB, 0xFFBB, 0xFFBB, 0xFFBB, 0xFFBB, 0xFFBC, 0xFFBC, 0xFFBC,  // 730
        0xFFBC, 0xFFBC, 0xFFBC, 0xFFBD, 0xFFBD, 0xFFBD, 0xFFBD, 0xFFBD, 0xFFBD, 0xFFBE,  // 740
        0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBE, 0xFFBF, 0xFFBF, 0xFFBF, 0xFFBF, 0xFFBF,  // 750
        0xFFBF, 0xFFBF, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC1,  // 760
        0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC1, 0xFFC2, 0xFFC2, 0xFFC2, 0xFFC2,  // 770
        0xFFC2, 0xFFC2, 0xFFC2, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3, 0xFFC3,  // 780
        0xFFC4, 0xFFC4, 0xFFC4, 0xFFC4, 0xFFC4, 0xFFC4, 0xFFC4, 0xFFC5, 0xFFC5, 0xFFC5,  // 790
        0xFFC5, 0xFFC5, 0xFFC5, 0xFFC5, 0xFFC5, 0xFFC6, 0xFFC6, 0xFFC6, 0xFFC6, 0xFFC6,  // 800
        0xFFC6, 0xFFC6, 0xFFC7, 0xFFC7, 0xFFC7, 0xFFC7, 0xFFC7, 0xFFC7, 0xFFC7, 0xFFC7,  // 810
        0xFFC8, 0xFFC8, 0xFFC8, 0xFFC8, 0xFFC8, 0xFFC8, 0xFFC8, 0xFFC8, 0xFFC9, 0xFFC9,  // 820
        0xFFC9, 0xFFC9, 0xFFC9, 0xFFC9, 0xFFC9, 0xFFC9, 0xFFCA, 0xFFCA, 0xFFCA, 0xFFCA,  // 830
        0xFFCA, 0xFFCA, 0xFFCA, 0xFFCA, 0xFFCA, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB, 0xFFCB,  // 840
        0xFFCB, 0xFFCB, 0xFFCB, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC,  // 850
        0xFFCC, 0xFFCC, 0xFFCD, 0xFFCD, 0xFFCD, 0xFFCD, 0xFFCD, 0xFFCD, 0xFFCD, 0xFFCD,  // 860
        0xFFCD, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE, 0xFFCE,  // 870
        0xFFCE, 0xFFCF, 0xFFCF, 0xFFCF, 0xFFCF, 0xFFCF, 0xFFCF, 0xFFCF, 0xFFCF, 0xFFCF,  // 880
        0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0, 0xFFD0,  // 890
        0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1,  // 900
        0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2, 0xFFD2,  // 910
        0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3, 0xFFD3,  // 920
        0xFFD3, 0xFFD4, 0xFFD4, 0xFFD4, 0xFFD4, 0xFFD4, 0xFFD4, 0xFFD4, 0xFFD4, 0xFFD4,  // 930
        0xFFD4, 0xFFD5, 0xFFD5, 0xFFD5, 0xFFD5, 0xFFD5, 0xFFD5, 0xFFD5, 0xFFD5, 0xFFD5,  // 940
        0xFFD5, 0xFFD5, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFD6,  // 950
        0xFFD6, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFD7, 0xFFD7, 0xFFD7, 0xFFD7, 0xFFD7, 0xFFD7,  // 960
        0xFFD7, 0xFFD7, 0xFFD7, 0xFFD7, 0xFFD7, 0xFFD7, 0xFFD8, 0xFFD8, 0xFFD8, 0xFFD8,  // 970
        0xFFD8, 0xFFD8, 0xFFD8, 0xFFD8, 0xFFD8, 0xFFD8, 0xFFD8, 0xFFD8, 0xFFD9, 0xFFD9,  // 980
        0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9, 0xFFD9,  // 990
        0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA, 0xFFDA,  // 1000
        0xFFDA, 0xFFDA, 0xFFDA, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB,  // 1010
        0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDB, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC,  // 1020
        0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC, 0xFFDC,  // 1030
        0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD,  // 1040
        0xFFDD, 0xFFDD, 0xFFDD, 0xFFDD, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE,  // 1050
        0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDE, 0xFFDF, 0xFFDF,  // 1060
        0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF,  // 1070
        0xFFDF, 0xFFDF, 0xFFDF, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0,  // 1080
        0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE0, 0xFFE1, 0xFFE1,  // 1090
        0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1,  // 1100
        0xFFE1, 0xFFE1, 0xFFE1, 0xFFE1, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2,  // 1110
        0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2, 0xFFE2,  // 1120
        0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3,  // 1130
        0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE3, 0xFFE4, 0xFFE4, 0xFFE4,  // 1140
        0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4,  // 1150
        0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE4, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5,  // 1160
        0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5, 0xFFE5,  // 1170
        0xFFE5, 0xFFE5, 0xFFE5, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6,  // 1180
        0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6, 0xFFE6,  // 1190
        0xFFE6, 0xFFE6, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7,  // 1200
        0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7, 0xFFE7,  // 1210
        0xFFE7, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8,  // 1220
        0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8, 0xFFE8,  // 1230
        0xFFE8, 0xFFE8, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9,  // 1240
        0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9, 0xFFE9,  // 1250
        0xFFE9, 0xFFE9, 0xFFE9, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA,  // 1260
        0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA,  // 1270
        0xFFEA, 0xFFEA, 0xFFEA, 0xFFEA, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB,  // 1280
        0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB,  // 1290
        0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEB, 0xFFEC, 0xFFEC, 0xFFEC,  // 1300
        0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC,  // 1310
        0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC,  // 1320
        0xFFEC, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED,  // 1330
        0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED,  // 1340
        0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFED, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE,  // 1350
        0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE,  // 1360
        0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE, 0xFFEE,  // 1370
        0xFFEE, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF,  // 1380
        0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF,  // 1390
        0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFEF, 0xFFF0, 0xFFF0, 0xFFF0,  // 1400
        0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0,  // 1410
        0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0,  // 1420
        0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0,  // 1430
        0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0,  // 1440
        0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF0, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1,  // 1450
        0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1,  // 1460
        0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1,  // 1470
        0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1,  // 1480
        0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1,  // 1490
        0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1, 0xFFF1,  // 1500
        0xFFF1, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2,  // 1510
        0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2,  // 1520
        0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2,  // 1530
        0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2,  // 1540
        0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2,  // 1550
        0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF2, 0xFFF3, 0xFFF3, 0xFFF3,  // 1560
        0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3,  // 1570
        0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3,  // 1580
        0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3,  // 1590
        0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3,  // 1600
        0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3,  // 1610
        0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF3, 0xFFF4, 0xFFF4, 0xFFF4,  // 1620
        0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4,  // 1630
        0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4,  // 1640
        0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4,  // 1650
        0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4,  // 1660
        0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4,  // 1670
        0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF4, 0xFFF5,  // 1680
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5,  // 1690
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5,  // 1700
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5,  // 1710
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5,  // 1720
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5,  // 1730
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5,  // 1740
        0xFFF5, 0xFFF5, 0xFFF5, 0xFFF5, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1750
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1760
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1770
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1780
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1790
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1800
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6, 0xFFF6,  // 1810
        0xFFF6, 0xFFF6, 0xFFF6, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1820
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1830
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1840
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1850
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1860
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1870
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7,  // 1880
        0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF7, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1890
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1900
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1910
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1920
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1930
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1940
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1950
        0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8, 0xFFF8,  // 1960
        0xFFF8, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9,  // 1970
        0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9,  // 1980
        0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9,  // 1990
        0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9, 0xFFF9,  // 2000
        0xFFF9
};

不知道问什么 注释是乱码。没改过来。

出0入0汤圆

12
发表于 2015-11-11 11:45:50 | 只看该作者
学习一下,帮顶。。。

出0入0汤圆

13
发表于 2016-2-16 17:39:45 | 只看该作者
tbcrv 发表于 2015-10-27 21:51
这是我的程序 用的是查表法 。加减速表是用晓奇软件生成的。你可以参考一下。
void t1int() interrupt 3          ...

带负载了之后停止的时候会震动吗?

出0入0汤圆

14
发表于 2016-3-5 17:06:34 | 只看该作者
感谢,原来S曲线是这样使用的,谢谢

出50入135汤圆

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

本版积分规则

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

GMT+8, 2024-4-26 05:41

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

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