?? main.c
字號(hào):
#pragma CODE
#include <reg52.h>
#include "APR6008_DRIVER.H"
#include <intrins.h>
/*
sbit SCLK = P0^0;
sbit CS = P0^1;
sbit DI = P0^2;
sbit DO = P0^3;
sbit INT = P0^4;
sbit SAC = P0^5;
extern void send (unsigned long command);
extern void delay(unsigned char k);
*/
unsigned char data starts;
unsigned char nkey;
unsigned int data add0;
unsigned int data add1;
void send (unsigned char command,unsigned int address){
unsigned char i;
CS = 0;
SCLK = 0;
CY = 0;
for (i = 1;i < 6;i++){
command = command<<1;
DI = CY;
SCLK = 1;
_nop_();
SCLK = 0;
_nop_();
putbuf(CY);
}
if (address != 0X00){
CY = 0;
for (i = 1;i < 16;i++){
address = address<<1;
DI = CY;
SCLK = 1;
_nop_();
SCLK = 0;
_nop_();
putbuf(CY);
}
}
CS = 1;
}
void delay (unsigned char k){
unsigned char temp;
while (k){
for (temp = 0;temp <0xff;temp++){
}
k--;
}
}
void InitSerial (void) {
PCON |=0x80;
SCON = 0x50;
TMOD |= 0x20;
//TL1 |= 0xFA; // 19200 C35
//TH1 |= 0xFA;
TL1 |= 0xF4; // 9600 愛立信
TH1 |= 0xF4;
TR1 = 1;
REN = 1;
ES = 1;
}
void putbuf (char c) {
TI = 0;
SBUF = c;
while(!TI);
TI = 0;
}
void putstring(unsigned char *puts){
for(;*puts!=0;puts++) //遇到停止符0結(jié)束
putbuf(*puts);
}
void main (void){
bit record_key=0;
bit nkey = 0;
InitSerial ();
P0 = 0xff;
P1 = 0xff;
P2 = 0xff;
P3 = 0xff;
send (pwpup,0x0002); //選擇取樣頻率,A1,A0 = 01 4.0KHz
while (1){
add0= 0x0002;
starts = getkey(1000);
if (starts != 0x00){
switch (starts){
case '1': //錄制
while (SAC);
send (set_reg,add0);
delay (0xff);
send (nop,0x00);
starts = 0x00;
putstring ("record");
record_key = 1;
break;
case '2': //播放
while (SAC);
send (setplay,add0);
delay (0xff);
send (nop,0x00);
starts = 0x00;
putstring ("play");
record_key = 0;
break;
case '3': //跳過
while (SAC);
add1 = add0++;
send (setplay,add1);
delay (0xff);
send (nop,0x00);
putstring ("skip");
starts = 0x00;
break;
case '4': //停止
while (SAC);
send (stop,add0);
delay (0xff);
send (nop,0x00);
starts = 0x00;
putstring ("stop");
record_key = 0;
break;
}
}
if (SAC == 0)led1 = 1;
else led1 = 0;
if ((SAC == 0)&&(record_key == 1)&&(nkey == 1)){
led0 = 0;
add1 = add0++;
send (set_reg,add1);
delay (0xff);
send (nop,0x00);
putstring ("record++");
nkey = 0;
}
if (SAC == 1){nkey = 1;led0 = 1;}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -