?? main9604.c
字號:
#include "C:\Keil\C51\INC\reg51.h"
#include "C:\Keil\C51\INC\reg9604.h"
#include "C:\Keil\C51\INC\absacc.h"
#include "C:\Keil\C51\INC\ComUsb9604.h"
#include "C:\Keil\C51\INC\usbspec.h"
void main(void)
{
EA=0;
init_89C51();
init_9603();
EA=1;
while(1) { }
}
void init_89C51()
{
IP=0x1;
EX0=0;
IT0=0;
TMOD=0x20;
PCON=0x00;
SCON=0x40;
TR1=1;
EX0=1;
ES=0;
ET1=0;
IE1=0;
TH1=0x0FD;
TL1=0X0FD;
}
void init_9604()
{ USC t;
status_GETDESC=0;
usb_cfg = 0;
write_usb(MCNTRL,SRST);
write_usb(MCNTRL,VGE+INT_H_P);
write_usb(CCONF,0x1c);
write_usb(FAR,AD_EN+0);
write_usb(EPC0,0x00);
write_usb(NAKMSK,NAK_O0);
write_usb(TXMSK,TXFIFO0+TXFIFO1+TXFIFO2+TXFIFO3);
t=read_usb(TXMSK);
write_usb(RXMSK,RXFIFO0+RXFIFO1+RXFIFO2+RXFIFO3);
write_usb(ALTMSK,SD3+RESET_A);
write_usb(MAMSK,(INTR_E+RX_EV+NAK+TX_EV+ALT));
FLUSHTX0;
Delay1();
write_usb(RXC0,RX_EN);
write_usb(NFSR,OPR_ST);
write_usb(MCNTRL,VGE+INT_L_P+NAT);
Ints=0;
for(k=0;k<10000;k++) delay1();
write_usb(MCNTRL,VGE);
}
void write_usb(USC addr,USC dat)
{
XBYTE[0x8000|addr]=dat;
}
USC read_usb(USC addr)
{
return XBYTE[0x8000|addr];
}
void delay1()
{
USC i;
for(i=0;i<200;i++){}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -