国学芯用 发表于 2026-6-30 13:21:36

71-STC_USB_鼠标键盘复合例程,STC8H8K64U实验箱演示程序, STC8H2K32U, STC8H2K12U, S

71-STC_USB_鼠标键盘复合例程,STC8H8K64U实验箱演示程序, STC8H2K32U, STC8H2K12U, STC8H
主程序main.C代码如下(汇编版本在附件中):

/*---------------------------------------------------------------------*/
/* --- Web: www.STCAI.com ---------------------------------------------*/
/* --- BBS: www.STCAIMCU.com-----------------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序            */
/*---------------------------------------------------------------------*/

/*************功能说明    **************


本例程基于STC8H8K64U为主控芯片的实验箱9进行编写测试.

基于HID协议的USB鼠标、键盘复合范例

P3.5松开时,按键为键盘功能:
跑马灯中的LED17为NumLock灯、LED16为CapsLock灯、LED15为ScrollLock灯
矩阵按键中的KEY0~KEY7分别为键盘中的1~8

P3.5按下时,按键为鼠标功能:
矩阵按键中的KEY0为鼠标左键,KEY1为鼠标中键,KEY2为鼠标右键
矩阵按键中的KEY4为左移,KEY5为右移,KEY6为上移,KEY7为下移

下载时, 设置IRC工作频率为 24MHz.

******************************************/

#include "stc.h"
#include "usb.h"
#include "usb_req_class.h"
#include "timer.h"

void sys_init();

void main()
{
    P_SW2 |= 0x80;//扩展寄存器(XFR)访问使能

    usb_init();
    timer_init();

    EA = 1;
   
    while (1)
    {
      usb_class_in();
      
      if (f1ms)
      {
            f1ms = 0;
            scan_keyboard();
            scan_mouse();
      }
    }
}


页: [1]
查看完整版本: 71-STC_USB_鼠标键盘复合例程,STC8H8K64U实验箱演示程序, STC8H2K32U, STC8H2K12U, S