|
- #include "ai8051u.h" //調(diào)用頭文件
- #include "stc32_stc8_usb.h" //調(diào)用頭文件
- #include "intrins.h" //調(diào)用頭文件
-
- #define u8 unsigned char //8位無符號變量(0-255)
- #define u16 unsigned int //16位無符號變量(0-65535)
- u8 state = 0; //初始狀態(tài)
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- char *USER_STCISPCMD = "@STCISP#";
- void Delay20ms(void) //@24.000MHz Delay20ms();
- {
- unsigned long edata i;
- _nop_();
- _nop_();
- i = 119998UL;
- while (i) i--;
- }
- void main(void) //主函數(shù)
- {
- WTST = 0; //設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
- EAXFR = 1; //擴展寄存器(XFR)訪問使能
- CKCON = 0; //提高訪問XRAM速度
-
- P0M1 = 0x00; P0M0 = 0x00;
- P1M1 = 0x00; P1M0 = 0x00;
- P2M1 = 0x00; P2M0 = 0x00;
- P3M1 = 0x00; P3M0 = 0x00;
- P4M1 = 0x00; P4M0 = 0x00;
- P5M1 = 0x00; P5M0 = 0x00;
- P6M1 = 0x00; P6M0 = 0x00;
- P7M1 = 0x00; P7M0 = 0x00;
-
- usb_init(); //USB CDC 接口配置
-
- IE2 |= 0x80; //使能USB中斷
- EA = 1; //
-
- P40 = 0;
- while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
-
- while(1)
- {
- if (bUsbOutReady) //如果接收到了數(shù)據(jù)
- {
- //USB_SendData(UsbOutBuffer,OutNumber); //發(fā)送數(shù)據(jù)緩沖區(qū),長度(接收數(shù)據(jù)原樣返回, 用于測試)
-
- usb_OUT_done();
- }
- // //任務(wù)1:按下P32按鈕燈亮,松開P32按鈕燈滅;
- // if( P32 == 0 )
- // {
- // P00 = 0;
- // }
- // else
- // {
- // P00 = 1;
- // }
-
- // //任務(wù)1:按下P32按鈕燈滅,松開P32按鈕燈亮;
- // if( P32 == 0 )
- // {
- // P00 = 1;
- // }
- // else
- // {
- // P00 = 0;
- // }
- //任務(wù)1:按一下燈亮,按一下燈滅;
- if( P32 == 0 ) //判斷P32是否按下
- {
- Delay20ms(); //延時20ms消抖
- if ( P32 == 0 )
- {
- state = !state; // 變量取反 0 1 0 1
- P00 = state;
-
- printf("state:%d\r\n",(int)state);
-
- while( P32 == 0); //等待P32松開
-
- }
- }
- }
復(fù)制代碼 |
|