打印
[国产单片机]

求助九齐老鸟

[复制链接]
11948|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
yongxincool|  楼主 | 2011-3-1 16:14 | 只看该作者
补充下 是 asm的

使用特权

评论回复
板凳
McuPlayer| | 2011-3-1 16:52 | 只看该作者
NY的语音开发SDK可能不完全开放吧,台系IC喜欢玩这套

使用特权

评论回复
地板
老鱼探戈| | 2011-3-2 19:52 | 只看该作者
本帖最后由 老鱼探戈 于 2011-3-2 19:54 编辑

是完全开放的,我这里NY3,NY4,NY5,NY2 都有。
明天再联系你。佑华和凌阳的要不。华邦的没有
今天下了先

使用特权

评论回复
5
老鱼探戈| | 2011-3-2 19:53 | 只看该作者
本帖最后由 老鱼探戈 于 2011-3-3 09:03 编辑

可以用C的,非标准的而已。。。呵呵

Q-Code_NY4_Example.rar

2.73 MB

使用特权

评论回复
6
老鱼探戈| | 2011-3-2 20:03 | 只看该作者
本帖最后由 老鱼探戈 于 2011-3-3 09:02 编辑

先传几个给你。。

NY4-Play.rar

34.32 KB

使用特权

评论回复
评分
参与人数 2威望 +2 收起 理由
whilebreak + 1
oyk2008 + 1
7
oyk2008| | 2011-3-3 13:09 | 只看该作者
6# 老鱼探戈
谢谢老鱼大哥了,这几天整框架,老惨了,盲区没地问去

使用特权

评论回复
8
老鱼探戈| | 2011-3-4 11:34 | 只看该作者
7# oyk2008

一级代理都有做技术支持的,我也是一点一点自己摸出来的。不过得到代理的很多帮助。

   有的附件有些大,不好上传。有问题可以联系我

使用特权

评论回复
9
旭日东起| | 2011-5-2 11:04 | 只看该作者
6# 老鱼探戈

老鱼您好,我们公司最近也要我搞九齐的语音,我新手对很多都不懂,特别是那个ASM框架的,我下了你上传的程序,自己改了一下,编译是通过了,但播了不到1秒就退出播了,你能不能帮我看看是什么问题?多谢了

使用特权

评论回复
10
旭日东起| | 2011-5-2 11:07 | 只看该作者
这个是程序,NY4A的

NY4ADIY.rar

94.05 KB

使用特权

评论回复
11
老鱼探戈| | 2011-5-11 13:19 | 只看该作者
这个是程序,NY4A的
旭日东起 发表于 2011-5-2 11:07


先按照图片中的方法试试

1.JPG (14.98 KB )

1.JPG

使用特权

评论回复
12
老鱼探戈| | 2011-5-11 13:29 | 只看该作者
本帖最后由 老鱼探戈 于 2011-5-11 13:34 编辑

看了你的程序,有的东西可以写成宏的:
比如:语音播放宏:

M_LoadVoiceDataAddress macro V_SOUND,LEA2,LEA1
;------------------------------------------------
; set sample rate to timer,s.r = 0xL, 0xH ; TM =(Fcpu/Fsample)-1; 0xf9=(1MHz/4000)-1
;LEA2,LEA1 ;
0xF9 = 4KHz ;
0xA6 = 6KHz ;
0x7C = 8KHz ;
0x6E = 9KHz ;
0x63 = 10KHz ;
0x5A = 11KHz ;
0x52 = 12KHz ;
0x46 = 14KHz ;
0x3E = 16KHz ;
0x31 = 20KHz ;
--------------------------------------------------
MPG 0
MVLR LEA1,D_RPT0 ;set sample low
mvLR LEA2,D_RPT1 ;set sample high
LDTM
MVLA (LOW0 V_SOUND)
MVAM D_RPT0
MVLA (LOW1 V_SOUND)
MVAM D_RPT1
MVLA (MID0 V_SOUND)
MVAM D_RPT2
MVLA (MID1 V_SOUND)
MVAM D_RPT3
MVLA (HIGH0 V_SOUND)
MVAM D_RPT4 ENDM
;=======4位查表============
M_LoadTableAddress macro REG1,u1;,U2
MVLR (LOW0 REG1),D_RPT0
MVLR (LOW1 REG1),D_RPT1
MVLR (MID0 REG1),D_RPT2
MVLR (MID1 REG1),D_RPT3
MVLA (HIGH0 REG1)
MVAM D_RPT4
; MVLA ((HIGH1 REG1)<<2)
; MVAM D_RPT5 RSTC mvma u1 addm D_RPT0 mvam D_RPT0
; mvma u2
; addm D_RPT1
; mvla 0x0
; addm D_RPT2
; ADDM D_RPT3
endm ;
;=========================================== M_Save_QIO_Address MACRO
MVRM (R_QAdrL0&0XF),D_RPT0
MVRM (R_QAdrL1&0XF),D_RPT1
MVRM (R_QAdrM0&0XF),D_RPT2
MVRM (R_QAdrM1&0XF),D_RPT3
ENDM
;=======================================
_CLEAR_RAM macro
MPG 0
MVLA 0
MVAM 0X10
MVAM 0X11
MVAM 0X12
..........

MVAM 0X3F ;---------------------------------
ENDM
;===================================================== _SLEEP MACRO HALT ENDM

使用特权

评论回复
13
老鱼探戈| | 2011-5-11 13:35 | 只看该作者
主程序 main写的规范一点,如:


;=========================================
;==========IO Port Define=================
;=========================================
  #define     PModeKey      T_PA,0
  #define     PPressKey     T_PA,1
  #define     PMotForward   T_PA,2
  #define     PMotBackward  T_PA,3
;=========================================
;===========Registers Defines=============
;=========================================
RSysWork0     EQU   0x10
    #define     FSleepIn              RSysWork0,0   ;睡眠
    #define     FPistiveSoundChose    RSysWork0,1   ;正转声音选择允许
    #define     FKey10sTimeOut              RSysWork0,2   ;10s未松手,马达继续反转
    #define     FMotTimeDownFirst     RSysWork0,3   ;倒计时时间判断  
FTableWork0   EQu   0x11
    #define     FTabInverTimeEnb      FTableWork0,0 ;Tab_InverTimeSpd
    #define     FTabInverSpdEnb       FTableWork0,1  ;Tab_InverSpd
    #define     FTabMotSpdEnb         FTableWork0,2 ;Tab_MotSpd
    #define     FTabFindEnb           FTableWork0,3 ;Find Table Enable

;===============================================
;=========声音播放选择==========================
;===============================================
RSoundMode0   EQU   0X12
    #define    FPlayVoice           RSoundMode0,0 ;声音播放
    #define    FPlayEnb             RSoundMode0,1 ;声音播放允许
    #define    FInvertSoundChose    RSoundMode0,2 ;反转声音切换
    #define    FSoundEngine         RSoundMode0,3  ;待机声

RSoundMode2   EQU   0X13
    #define     FSoundLand1       RSoundMode2,0 ;跑地声1
    #define     FSoundLand2       RSoundMode2,1 ;跑地声2
    #define     FSoundLand3       RSoundMode2,2 ;跑地声3
    #define     FSoundLand4       RSoundMode2,3 ;跑地声4
   
RSoundMode1   EQU   0X14
    #define     FSpeedUp1     RSoundMode1,0 ;加速声1  
    #define     FSpeedUp2     RSoundMode1,1 ;加速声2  
    #define     FSpeedUp3     RSoundMode1,2 ;加速声3  
    #define     FSpeedUp4     RSoundMode1,3 ;加速声4

FKeyWork0   EQU   0x15
    #define    FDoorKeyDown    FKeyWork0,0  ;车门按下标志
    #define    FDoorKeyEnb     FKeyWork0,1  ;按键允许
    #define    FModeKeyDown    FKeyWork0,2  ;模式按下标志
    #define    FModeKeyEnb     FKeyWork0,3  ;模式开关允许

RPressTCnt0    EQU   0x16 ;按压基准
RPressTime     EQU   0x17  ;按压时间

;------------------------------------
FMotCtrl    EQU   0x18  ;马达控制标志
    #define     FMotInvert          FMotCtrl,0  ;反转标志
  ;  #define     FMotInvertRunEnb    FMotCtrl,1  ;转停控制
    #define     FMotPositive        FMotCtrl,2  ;正转标志
    #define     FMotTimeDown        FMotCtrl,3  ;倒计时标志     
DMotspd       EQU   0x19
DMotCnt       EQU   0x1a

TMotDown0     EQU   0x1b
TMotDown1     EQU   0x1c  ;倒计时秒单位

KeyLastA1     EQU   0x1d
KeyLastA0     EQU   0x1e

;----------------------------
RTabInverCnt      EQU   0x20  ;反转查表PCL计数

RMotInverCnt      EQU   0x21  ;级数级数
RMotInverTime     EQU   0x22  ;反转转停时间
;----------------------------
;-------睡眠计数10s
;----------------------------
R_SleepCnt0       EQU   0X30
R_SleepCnt1       EQU   0X31
R_SleepCnt2       EQU   0X32
;============================
;=====系统时间标志位
;============================
DBaseClk0     EQU   0x38
DBaseClk1     EQU   0x39
DBaseClk2     EQU   0x3a
Sysbank0      EQU   0x3b
SysFlag0      EQU   0x3c
    #define   FClk_25ms     SysFlag0,0
    #define   FClk_50ms     SysFlag0,1
    #define   FClk_100ms    SysFlag0,2
    #define   FClk_200ms    SysFlag0,3

;----------------------------
Temp0     EQU   0x3d
Temp1     EQU   0x3e
;=============================================
;=============头文件包含======================
;=============================================
  #include"INH\NY4P_SFR.H"
  #include"INH\NY4P_MACRO.M"
  #include"INH\NY4P_MACRO1.M"
  #include"INH\NY4_MATH.M"
  ;----------------------------
      ORG   0X000000
      JMP   RESET         
      ORG   0X000800
      ;----------------------------
      #include"module\keyscanA.asm"
      #include"module\GetTabDataA.asm"
      #include"module\MotorDrvA.asm"
      #include"module\InitA.asm"
;=============================================
;=============初始化程序段====================
;=============================================
RESET:  
      _CLEAR_RAM
      Cwdt         ;清看门狗
      _MOVL     0x2,T_BT ;1ms
      _MOVL     0X3,T_PAIO
      _MOVL     0X3,T_PA
      _MOVL     0Xf,T_PBIO
      _MOVL     0Xf,T_PB
      mvma      t_sfr
      orl       0x4
      mvam      t_sfr
      
      mvla      0x1
      mvam      KeyLastA0
      mvla      0x2
      mvam      KeyLastA1
      
     ;-------------------------  
      M_LoadVoiceDataAddress        Start,0x7,0xC  ;8K 启动
      play
L_PowerStartA:
      CWDT          ;清看门狗
      MVMA        T_SFR
      ANDL        fRP**
      CPAL        0
      JMP         L_PowerStartA   
      ;--------------------------------   
      M_LoadVoiceDataAddress        Playup,0x6,0x3  ;10K 加油声
      play
L_PowerPlayUpA0:
      CWDT          ;清看门狗
      MVMA        T_SFR
      ANDL        fRP**
      CPAL        0
      JMP         L_PowerPlayUpA0
      ;--------------------------------
      M_StopVoiceDataRate   ;声音停止
      ;--------------------------------------   
      ;上电就按下车门,认为是触发。
      ;--------------------------------------   
      _BTSS_BIT     PPressKey,L_PowerOnSleep
      ;--------------------------------------   
      _setbit       FDoorKeyDown     ;按键按下
      _setbit       FTabFindEnb      ;查表允许
      _setbit       FTabInverTimeEnb ;反转查表  
      _setbit       FMotInvert       ;允许反转
      _setbit       FModeKeyEnb      ;模式按键允许
      JMP           F_MainA
L_PowerOnSleep:
      _setbit       FSoundEngine  ;待机声
      _setbit       FPlayVoice
      _setbit       FPlayEnb      

;=============================================
;=============主程序段========================
;=============================================
F_MainA:
      call        Systime_ctrl
      call        Get_systime
      jmp         F_GetModeA    ;传感器
After_GetModeA:
      call        GetPresKeyA   ;车门按制
      jmp         F_GetTabDataA ;查表
After_GetMotDataA:
      call        MotorDrv_NegA
      call        MotorDrvA   ;马达驱动  
      JMP         MotTimerDownA
After_MotTimerDownA:
      call        F_GetInvertSoundA
      jmp         VoiceActionA
After_VoiceActionA:  
      JMP         F_CheckSleep
After_CheckSleep:     
      ;----------------------------
      _btsc_bit   FSleepIn,F_MainA        
      MVMA        T_SFR
      ANDL        fRP**
      CPAL        0
      JMP         F_MainA
      
      _MOVM       T_PA,T_PA
      _MOVM       T_PB,T_PB
      
      _clrbit     FSleepIn         

      ;------------清寄存器------------
L_FallInSleep:
      nop
      nop
      nop
      nop
      
      _SLEEP
      
      nop
      nop
      nop
      nop
      _btss_bit     PModeKey,L_WakePressKey
      _btsc_bit     FModeKeyEnb,L_FallInSleep
      jmp           L_SystemWakeup
L_WakePressKey:
      _btss_bit     PPressKey,L_FallInSleep  
      _btss_bit     FModeKeyEnb,L_FallInSleep
      
L_SystemWakeup:
      mvla      0x1
      mvam      KeyLastA0
      mvla      0x2
      mvam      KeyLastA1
      
    ; JMP                                RESET
      JMP       F_MainA
;=============================================
;=============表格定义========================
;=============================================
      org   0x000D20
Tab_MotSpd:       ;正转,满级10级
      dw    0x0
      dw    0x1   ;10%
      dw    0x2
      dw    0x3
      dw    0x4   ;40%
      dw    0x5
      dw    0x6
      dw    0x7   ;70%
      dw    0x8
      dw    0x9
      dw    0xa   ;100%
      ;---------------------------
      ;---------------------------
      ;反转转停时间控制,满级12级
      ;---------------------------
      ;最高位:转停控制
      ;次高位:马达转停时间控制
      ;最低位:反转马达级数
      ;===========================
      org   0x000D30
Tab_InverTimeSpd:     
      dw    0x183   ;0.8s Run
      dw    0x080   ;0.5s Stop
      ;-------------
      dw    0x186   ;0.8s Run
      dw    0x050   ;0.5s Stop
      ;-------------
      dw    0x186   ;0.8s Run
      dw    0x040   ;0.4s Stop
      ;-------------
      dw    0x189   ;0.8s Run
      dw    0x030   ;0.3s Stop
      ;-------------
      dw    0x189   ;0.8s Run
      dw    0x020   ;0.2s Stop
      ;-------------
      dw    0x189   ;0.8s Run
      dw    0x010   ;0.1s Stop
      ;-------------
      dw    0x1bc   ;1.5s Run
      dw    0x1ac   ;1.4s Run
      dw    0x18c   ;1.5s Run
      ;---------------------------  
;=============================================
;=============声音文件包含====================
;最后修改:3/14/2011 11:47:38 AM
;=============================================
Start:
      #includata"sound\MainswitchOnA.v4x"
      ;----------------------------
Playup:
      #includata"sound\MainswitchOnB.v4x"
      ;----------------------------
Enginestart:
    #includata"sound\Idlingsound.v4x"
      ;----------------------------
Speedup:
      #includata"sound\GripswitchON.v4x"
      ;----------------------------
SpeedOnLand:
    #includata"sound\StartswitchON.v4x"
;======================================   
    END

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
whilebreak + 1
14
老鱼探戈| | 2011-5-11 13:36 | 只看该作者
声音播放:
L_VoiceSpeedUpA1:         
      M_LoadVoiceDataAddress          Speedup,0x7,0xC  ;8K 加速声1
      play
      _clrbit       FSpeedUp1
      JMP           Exit_VoiceActionA
      ;--------------------------------
L_VoiceSpeedUpA2:     
      M_LoadVoiceDataAddress          Speedup,0x6,0xE  ;9K 加速声2
      play
      _clrbit       FSpeedUp2
      
      JMP           Exit_VoiceActionA
      ;--------------------------------
L_VoiceSpeedUpA3:     
      M_LoadVoiceDataAddress          Speedup,0x6,0x3  ;10K 加速声3
      play
      _clrbit       FSpeedUp3
      JMP           Exit_VoiceActionA
      ;--------------------------------
L_VoiceSpeedUpA4:     
      M_LoadVoiceDataAddress          Speedup,0x5,0xA  ;11K  加速声4
      play
      _clrbit       FSpeedUp4
      JMP           Exit_VoiceActionA

使用特权

评论回复
15
jy0361| | 2011-5-11 13:38 | 只看该作者
dddddddddddddddddddd

使用特权

评论回复
16
whilebreak| | 2011-5-20 16:20 | 只看该作者
顶顶顶顶!

使用特权

评论回复
17
yang358831170| | 2011-6-9 12:22 | 只看该作者
顶顶顶顶

使用特权

评论回复
18
baihugang| | 2011-6-25 11:48 | 只看该作者
鱼大哥,把九齐的开发软件,发给我。 邮箱 baihugang@163.com

使用特权

评论回复
19
feixueyingchun| | 2011-6-25 12:02 | 只看该作者
鱼大哥,把九齐的开发软件,发给我。 邮箱 baihugang@163.com

使用特权

评论回复
20
feixueyingchun| | 2011-7-1 10:10 | 只看该作者
谁九齐的开发软件,给我发邮箱。我QQ: 1060974833

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝