西西研究员 发表于 2025-1-23 16:20:25

第十三集 中断系统 已手敲代码测试完成


代码如下:
#include "config.h"
#include "task.h"      
#include "io.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay3000ms(void)      //@24.000MHz
{
      unsigned long edata i;
      _nop_();
      _nop_();
      i = 17999998UL;
      while (i) i--;
}
void main(void)
{
      Sys_init();    //系统初始化
      usb_init();   //USB CDC 接口配置                              
      IE2 |= 0x80;                                 
         Timer0_Init();
         Init_595();
      INT1_Init();
      EA = 1;                                                                                       
         P40 = 0;
         while (DeviceState!=DEVSTATE_CONFIGURED);   
          while(1)
          {
      if (bUsbOutReady)                                                      
      {
      usb_OUT_done();                                                      
      }
                P00=!P00;
                Delay3000ms();      
         }
}
void Timer0_Isr(void) interrupt 1                //1毫秒执行一次
{
Task_Marks_Handler_Callback      ();    //系统计时
}

西西研究员 发表于 2025-1-24 15:04:41

第十四集IO中断,已手敲代码测试完成


代码如下:
#include "config.h"
#include "task.h"      
#include "io.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay3000ms(void)      //@24.000MHz
{
      unsigned long edata i;
      _nop_();
      _nop_();
      i = 17999998UL;
      while (i) i--;
}
void main(void)
{
      Sys_init();    //系统初始化
      usb_init();   //USB CDC 接口配置                              
      IE2 |= 0x80;                                 
          Timer0_Init();
                Init_595();
      //INT1_Init();
      P3_IO_Init();
      P4_IO_Init();
       EA = 1;                                                                                       
       P40 = 0;
       while (DeviceState!=DEVSTATE_CONFIGURED);   
          while(1)
          {
                if (bUsbOutReady)                                                      
      {
            //USB_SendData(UsbOutBuffer,OutNumber);

            usb_OUT_done();                                                      
      }
       Task_Pro_Handler_Callback();      //执行功能函数
      passward=0;      
         }
}
void Timer0_Isr(void) interrupt 1                //1毫秒执行一次
{
    Task_Marks_Handler_Callback      ();    //系统计时

}
页: 1 [2]
查看完整版本: 《8051U深度入门到32位51大型实战视频》,跟着冲哥学习80541U视频,打卡