找回密码
 立即注册
查看: 197|回复: 2

STC8H8k64U 定时中的 IE2 问题

[复制链接]
  • TA的每日心情
    开心
    2023-11-30 12:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    3

    回帖

    38

    积分

    新手上路

    积分
    38
    发表于 2023-11-28 21:29:27 | 显示全部楼层 |阅读模式
    定时器初始化函数如下


    void timer_init()  //定时器初始化程序,开启5个定时器,一般在主程序的void main()后while(1)前要调用
    {
            AUXR=0xD4;//=1101 0100=T0/T1选用1T模式,  T2启动,     T2选用1T模式,
                            /*AUXR=T0x12 T1x12 U_M0x6 T2R   T2_C/T T2x12 EXTRAM S1ST2        */
           TMOD=0X20; //定时器1使用了模式2(8位自动重载),定时器0使用模式0(16位自动重载);


            TH0=TimerSetH0;//定时器0装初值 1ms定时
            TL0=TimerSetL0;//
            ET0=1;     //定时器0中断允许   
            TR0=1;     //启动定时器0  

            TH1=TimerSetH1; //定时器1装初值 10us定时,用于产生50KHz方波
            TL1=TimerSetL1; //   
            ET1=1;     //定时器1中断允许
            TR1=1;     //启动定时器1

            IE2 =0xE4; //=1110 0100=T4/T3/T2定时中断允许
            /*IE2=ETKSU ET4 ET3 ES4  ES3 ET2 ESPI ES2                USB模式下载时,其中ETKSU触摸按键中断允许 必须=1  ???   */
            /*      0   1   1   0    0   1   0    0   */
            T2H=0xD4;          //晶振22.1184MHz时  0.5ms=500us
            T2L=0xCD;           //65536-500*22.1184=65536-11059=54477=0xD4CD
           
            T3H=0xEE;        //22.1184MHz时  0.2ms=200us
            T3L=0xB8;       //65536-200*22.1184=65536-4424=61112=0xEEB8
                   
            T4H=0xF7;      //22.1184MHz时  0.1ms=100us
            T4L=0x5D;         //65536-100*22.1184=65536-2211=63325=0xF75D       
           
            T4T3M=0xAA; //1010 1010 =T4/T3启动,1T模式
            /*T4T3M=T4R T4_C/T T4x12 T4CLKO T3R T3_C/T T3x12 T4CLKO  */
            /*       1     0     1     0     1    0      1     0*/

            IPH =0x0A;//0000 1010// -  PLVDH PADCH PSH  PT1H PX1H PT0H PX0H
            IP  =0x08;//0000 1000// -  PLVD  PADC  PS   PT1  PX1  PT0  PX0
           /*定时器T1为优先最高级,定时器T0为优先次高级,*/
           /*由于定时器T1用于产生方波,应为最高级,否则方波会抖动,周期不够稳定*/

            EA=1;      //开总中断
    }

    已加载stc_usb_hid_8h.LIB。
    问题:其中的IE2 =0x64;时,即ETKSU=0; 发现不能自动下载,每次必须按P32再关电源才能下载。IE2 =0xE4;时,编译成功后 即能自动触发HID模式下载,这为什么?


    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 2023-11-29 09:20:26 | 显示全部楼层
    带硬件USB模块的芯片,IE2最高位是EUSB(USB中断使能)。
    带触摸按键模块的芯片,IE2最高位是ETKSU(触摸中断使能)。
    截图202311290918306945.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-11-30 12:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    3

    回帖

    38

    积分

    新手上路

    积分
    38
     楼主| 发表于 2023-11-30 12:52:01 | 显示全部楼层
    明白了 谢谢
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-20 04:02 , Processed in 0.059481 second(s), 41 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表