分享

15W4K58S4 实验8:T0做计数器计数外部脉冲

 360tsgyd 2018-07-02
数码管显示,计数输入脉冲值

程序实现的功能:
从2号单片机的P1.0引脚输出脉冲,由1号单片机的T0进行计数并通过数码管显示。
或者将脉冲线去掉,连上手动按键也能显示计数值。

对定时器T0进行初始化

TMODE: 
  7    6   5   4       3     2   1   0
GATE  C/T  M1  M0  |  GATE  C/T  M1  M0
  0    0   0   0       0     1   0   1

 TMOD = 0x05;   //T0为计数器     模式1 ,16位计数模式
 TH0 = 0;       //清计数值
 TL0 = 0;       //清计数值
 TR0 = 1;       //使能T/C0

如果希望计数溢出后进行处理,则设置中断
IE:
   EA      ET2  ES  ET1  EX1  ET0  EX0
    1   0   0   0    0    0    1    0     
 IE = 0x82;    //Timer0中断使能  总中断开,定时器T0中断开


在计数溢出后,在中断程序中进行处理
void Timer0Isr(void)interrupt 1 //T/C0中断函数
{
  //计数溢出后的处理
}

实验效果:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多