hnpdcdn 发表于 2024-12-23 22:56:43




由于等级问题,无法上传完整图片,截两个图吧


hnpdcdn 发表于 2024-12-23 22:57:35




由于等级问题,无法上传完整图片,截两个图吧


hnpdcdn 发表于 2024-12-23 23:00:40

hnpdcdn 发表于 2024-12-23 22:56
由于等级问题,无法上传完整图片,截两个图吧




hnpdcdn 发表于 2024-12-23 23:02:03

服了,图片就是发不上来,就上传为附件吧

hnpdcdn 发表于 2024-12-24 08:15:10


hnpdcdn 发表于 2024-12-24 09:08:30


hnpdcdn 发表于 2024-12-24 09:12:18






我就不信传不上来了

hnpdcdn 发表于 2024-12-24 10:02:17

第六集(上),花式点灯和之前无异,遂使用usb免冷启动代码进行更改。


isp软件更改如下,完成编译后自动下载。

1、如何用电脑串口发送时间更改闪烁速度并断电保存呢?
2、有阻塞,虽然时间很短,但是依旧是阻塞了串口,看来得学到中断才行~

272761180 发表于 2024-12-24 10:18:46

<p>给贴主认真的态度点赞!<img alt="qiang" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/qiang.gif" title="qiang" /></p>

hnpdcdn 发表于 2024-12-24 10:27:59

第六集下——本想用for循环的,但是就循环三次,实在没必要了~


作业:
#include "ai8051u.h"            //调用头文件
#include "stc32_stc8_usb.h"       //调用头文件

#define   FOSC24000000UL
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";


void dalay_ms(u16 ms)
{
        u16 i;
        do
        {
                i = FOSC/6000;
                while(--i);
        }while(--ms);
}


void main(void)      //主函数
{
        WTST=0;
        CKCON=0;
        P_SW2 |= 0x80;      //B7位写1,使能访问XFR

       
                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;
       
        P3M0 &=~0x03;
        P3M1 = 0x03;
        IRC48MCR =0x80;
        while (!(IRC48MCR & 0x01));
        USBCLK=0x00;
        USBCON=0x90;
       
        usb_init();                                     //USB CDC 接口配置
   
    EUSB = 1;                                    //使能USB中断
    EA = 1;                                       //
       
    while (DeviceState != DEVSTATE_CONFIGURED);   //等待USB完成配置
       
        while(1)
        {
                        P40 = 0;                                                                                                                                        //SOS
                        dalay_ms(500);
                        P40 = 1;
                        dalay_ms(500);
               
                        P40 = 0;
                        dalay_ms(500);
                        P40 = 1;
                        dalay_ms(500);
               
                        P40 = 0;
                        dalay_ms(500);
                        P40 = 1;
                        dalay_ms(500);
               
                        P40 = 0;
                        dalay_ms(1500);
                        P40 = 1;
                        dalay_ms(500);               
               
                        P40 = 0;
                        dalay_ms(1500);
                        P40 = 1;
                        dalay_ms(500);                       

                        P40 = 0;
                        dalay_ms(1500);
                        P40 = 1;
                        dalay_ms(500);       
                       
                        P40 = 0;
                        dalay_ms(500);
                        P40 = 1;
                        dalay_ms(500);
               
                        P40 = 0;
                        dalay_ms(500);
                        P40 = 1;
                        dalay_ms(500);
               
                        P40 = 0;
                        dalay_ms(500);
                        P40 = 1;
                        dalay_ms(500);                       
               
               if (bUsbOutReady)                  //如果接收到了数据
      {
            USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
                                                printf_hid("\r\nOK");
            usb_OUT_done();
      }
               
       }
}




页: 1 [2] 3
查看完整版本: 【已送实验箱】}AI8051U学习打卡-hnpdcdn