?? isd1700c.c
字號(hào):
#include "REG8952.h"
//command define
#define PU 0x01 //上電
#define STOP 0x02 //停止
#define RESET 0x03 //復(fù)位
#define CLR_INT 0x04 //清除中斷
#define RD_STATUS 0x05 //讀取 SR 狀態(tài)寄存器指令
#define RD_PLAY_PTR 0x06 //獲取播放指針地址
#define PD 0x07 //掉電
#define RD_REC_PTR 0x08 //獲取錄音指針地址
#define DEVID 0x09 //獲取芯片ID
#define PLAY 0x40 //播放
#define REC 0x41 //錄音
#define ERASE 0x42 //單段擦除
#define G_ERASE 0x43 //全部擦除
#define RD_APC 0x44 //讀取APC寄存器內(nèi)容
#define WR_APC1 0x45 //寫APC寄存器
#define WR_APC2 0x65
#define WR_NVCFG 0x46 //寫NVCFG寄存器默認(rèn)值
#define LD_NVCFG 0x47 //將NVCFG內(nèi)容加載至APC寄存器
#define FWD 0x48 //快進(jìn)
#define CHK_MEM 0x49 // 檢查芯片環(huán)狀存儲(chǔ)結(jié)構(gòu)
#define EXTCLK 0x4a
#define SET_PLAY 0x80 //精確尋地址播放
#define SET_REC 0x81 //精確尋地址錄音
#define SET_ERASE 0x82 //精確尋地址擦除
#define UINT8 unsigned char
//spio define
sbit ISD1790_SS = P1^3; //片選信號(hào)
sbit ISD1790_MISO = P1^0; //數(shù)據(jù)輸出
sbit ISD1790_MOSI = P1^1; //數(shù)據(jù)輸入
sbit ISD1790_SCLK = P1^2; //時(shí)鐘信號(hào)
sbit ISD1790_AN = P1^5; //按鍵執(zhí)行
sbit ISD1790_STOP = P1^4; //停止運(yùn)行
//var define
UINT8 bdata SR0H;
UINT8 bdata SR0L;
sbit bCMD_ERR = SR0L^0; //錯(cuò)誤標(biāo)志位為1表示上一個(gè)SPI指令無效
sbit bPU = SR0L^2; //上電標(biāo)志位
sbit bEOM = SR0L^3; //當(dāng)檢測到EOM時(shí)該位置1
sbit bINT = SR0L^4; //當(dāng)一個(gè)SPI操作完成時(shí)該位置1 可被CLR-INT清零
UINT8 bdata SR1;
sbit bRDY = SR1^0; //RDY=1時(shí)空閑 可以接受SPI命令,RDY=0為忙不接受新的SPI除(RESET
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -