找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2533|回复: 1
收起左侧

单片机定时器实验程序

[复制链接]
ID:577468 发表于 2019-7-3 22:20 | 显示全部楼层 |阅读模式
定时器计数器综合实验

P1接8个LED灯,P3.7接1个LED灯,点动开关接P3.2 (INT0),负跳变产生中断,P3.3 (INT1)用低电平触发中断。系统时钟6M。

编写程序实现如下功能:

① 主程序9只LED灯上电全灭。

② INT0中断程序实现:按一次启动定时器T0,再按一次停止。停止后恢复到上电状态。

③ INT1中断程序实现:按一次启动定时器T1,再按一次停止。停止后恢复到上电状态。

④ 定时器T0实现:P3.7所接1个LED灯亮灭闪烁,亮灭时间各为1S。

⑤ 计数器T1实现:记录由T1口所输入脉冲个数,以二进制形式在P1口连接的8只LED灯上显示出来。

(提示:低电平触发及时恢复高电平,以免中断重入)

程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. sbit p3_7=P3^7;
  4. char t;
  5. char k=0;
  6. void main()
  7. {
  8.          TMOD=0x51;
  9.          EA=1;
  10.          EX0=1;
  11.          EX1=1;
  12.          ET0=1;
  13.          ET1=1;
  14.          IT0=1;
  15.          IT1=1;
  16.          TR0=0;
  17.          TR1=0;
  18.          TL0=(65536-15536)%256;
  19.          TH0=(65536-15536)/256;
  20.          TL1=0;
  21.          TH1=0;
  22.          p3_7=0;
  23.          P1=0;
  24.          while(1);
  25. }
  26. void key0()interrupt 0
  27. {
  28.          TR0=!TR0;
  29.          if(TR0==0)
  30.          {
  31.                   TR1=0;
  32.                   k=0;
  33.                   P1=0;
  34.                   p3_7=0;
  35.          }
  36. }
  37. void time0()interrupt 1
  38. {
  39.          TL0=(65536-15536)%256;
  40.          TH0=(65536-15536)/256;
  41.          t++;
  42.          if(t==10)
  43.          {
  44.                   p3_7=!p3_7;
  45.                   t=0;
  46.          }
  47. }
  48. void key1()interrupt 2
  49. {
  50.          TR1=!TR1;
  51.          TH1=0xff;
  52.          TL1=0xff;
  53.          if(TR1==0)
  54.          {
  55.                   TR0=0;
  56.                   k=0;
  57.                   P1=0;
  58.                   p3_7=0;
  59.          }
  60. }
  61. void time1()interrupt 3
  62. {
  63.          TH1=0xff;
  64.          TL1=0xff;
  65.          k++;
  66.          P1=k;
  67. }
复制代码


回复

使用道具 举报

ID:1 发表于 2019-7-4 23:10 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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