求助九齐老鸟
最近公司开发九齐这块,打电话去深圳办事处不鸟我,哪位大侠有NY3,NY4,NY5的程序框架或者一个简单的项目请发我邮箱 yongxincool@163.com 不胜感激 补充下 是 asm的 NY的语音开发SDK可能不完全开放吧,台系IC喜欢玩这套 本帖最后由 老鱼探戈 于 2011-3-2 19:54 编辑是完全开放的,我这里NY3,NY4,NY5,NY2 都有。
明天再联系你。佑华和凌阳的要不。华邦的没有
今天下了先 本帖最后由 老鱼探戈 于 2011-3-3 09:03 编辑
可以用C的,非标准的而已。。。呵呵 本帖最后由 老鱼探戈 于 2011-3-3 09:02 编辑
先传几个给你。。 6# 老鱼探戈
谢谢老鱼大哥了,这几天整框架,老惨了,盲区没地问去 7# oyk2008
一级代理都有做技术支持的,我也是一点一点自己摸出来的。不过得到代理的很多帮助。
有的附件有些大,不好上传。有问题可以联系我 6# 老鱼探戈
老鱼您好,我们公司最近也要我搞九齐的语音,我新手对很多都不懂,特别是那个ASM框架的,我下了你上传的程序,自己改了一下,编译是通过了,但播了不到1秒就退出播了,你能不能帮我看看是什么问题?多谢了 这个是程序,NY4A的 这个是程序,NY4A的
旭日东起 发表于 2011-5-2 11:07 https://bbs.21ic.com/images/common/back.gif
先按照图片中的方法试试 本帖最后由 老鱼探戈 于 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 主程序 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 声音播放:
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 dddddddddddddddddddd 顶顶顶顶! 顶顶顶顶 鱼大哥,把九齐的开发软件,发给我。 邮箱 baihugang@163.com 鱼大哥,把九齐的开发软件,发给我。 邮箱 baihugang@163.com 谁九齐的开发软件,给我发邮箱。我QQ: 1060974833
页:
[1]
2