- 打卡等级:以坛为家I
- 打卡总天数:239
- 最近打卡:2026-02-12 07:42:26
已绑定手机
金牌会员
- 积分
- 1073
|
/*------------------ 头文件声明 ---------------------*/
#include "ai8051u.H"
#include "stc32_stc8_usb.H"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
#define MAIN_Fosc 24000000UL //系统频率
u8 x = 20;
u8 y = 10;
void delay_ms(u8 ms); //延时函数声明
/*------------------ MAIN主函数 ---------------------*/
void main(void)
{
WTST = 0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXFR = 1; //扩展寄存器(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
P2M0 = 0x00; P2M1 = 0x00; //设置P2口为标准IO口
usb_init(); //USB接口配置
IE2 |= 0x80; //使能USB中断
EA = 1; //全能总中断
while (DeviceState != DEVSTATE_CONFIGURED); //等待USB完成配置
while(1)
{
if (bUsbOutReady)
{
USB_SendData(UsbOutBuffer,OutNumber); //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
printf("今天是%d年%d月%d日\r\n",25,12,28);
printf("x / y = %u\r\n",(u16)(x/y));
printf("x %% y = %u\r\n",(u16)(x%y));
usb_OUT_done();
}
P20 = 0;
delay_ms(250);
P20 = 1;
P21 = 0;
delay_ms(250);
P21 = 1;
P22 = 0;
delay_ms(250);
P22 = 1;
P23 = 0;
delay_ms(250);
P23 = 1;
P24 = 0;
delay_ms(250);
P24 = 1;
P25 = 0;
delay_ms(250);
P25 = 1;
P26 = 0;
delay_ms(250);
P26 = 1;
P27 = 0;
delay_ms(250);
P27 = 1;
}
}
//========================================================================
// 函数: void delay_ms(unsigned char ms)
// 描述: 延时函数。
// 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.
// 返回: 无.
// 备注:
//========================================================================
void delay_ms(u8 ms)
{
u16 i;
do{
i = MAIN_Fosc/6000;
while(--i);
}while(--ms);
}
|
|