yongxincool 发表于 2011-3-1 16:03

求助九齐老鸟

最近公司开发九齐这块,打电话去深圳办事处不鸟我,哪位大侠有NY3,NY4,NY5的程序框架或者一个简单的项目请发我邮箱 yongxincool@163.com 不胜感激

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 都有。
明天再联系你。佑华和凌阳的要不。华邦的没有
今天下了先

老鱼探戈 发表于 2011-3-2 19:53

本帖最后由 老鱼探戈 于 2011-3-3 09:03 编辑

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

老鱼探戈 发表于 2011-3-2 20:03

本帖最后由 老鱼探戈 于 2011-3-3 09:02 编辑

先传几个给你。。

oyk2008 发表于 2011-3-3 13:09

6# 老鱼探戈
谢谢老鱼大哥了,这几天整框架,老惨了,盲区没地问去

老鱼探戈 发表于 2011-3-4 11:34

7# oyk2008

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

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

旭日东起 发表于 2011-5-2 11:04

6# 老鱼探戈

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

旭日东起 发表于 2011-5-2 11:07

这个是程序,NY4A的

老鱼探戈 发表于 2011-5-11 13:19

这个是程序,NY4A的
旭日东起 发表于 2011-5-2 11:07 https://bbs.21ic.com/images/common/back.gif

先按照图片中的方法试试

老鱼探戈 发表于 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

老鱼探戈 发表于 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   PMotBackwardT_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

老鱼探戈 发表于 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

jy0361 发表于 2011-5-11 13:38

dddddddddddddddddddd

whilebreak 发表于 2011-5-20 16:20

顶顶顶顶!

yang358831170 发表于 2011-6-9 12:22

顶顶顶顶

baihugang 发表于 2011-6-25 11:48

鱼大哥,把九齐的开发软件,发给我。 邮箱 baihugang@163.com

feixueyingchun 发表于 2011-6-25 12:02

鱼大哥,把九齐的开发软件,发给我。 邮箱 baihugang@163.com

feixueyingchun 发表于 2011-7-1 10:10

谁九齐的开发软件,给我发邮箱。我QQ: 1060974833
页: [1] 2
查看完整版本: 求助九齐老鸟