找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1848|回复: 4
打印 上一主题 下一主题
收起左侧

新手求解题

[复制链接]
跳转到指定楼层
楼主
ID:62478 发表于 2014-6-10 10:23 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设时钟频率为6MHz,试编写利用T0产生的1秒定时程序
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:62064 发表于 2014-6-17 19:11 | 只看该作者
真的蛮好的哦
回复

使用道具 举报

板凳
ID:61604 发表于 2014-6-17 22:55 | 只看该作者
还24小时必答,无法保证就不要 吹这个牛啊,这比ACCESS论坛回覆速度太不稳定多了~~
回复

使用道具 举报

地板
ID:274129 发表于 2019-1-5 10:08 | 只看该作者
51单片机定时时间的计算
回复

使用道具 举报

5#
ID:155507 发表于 2019-1-5 11:15 | 只看该作者
  1. /*-----------------------------------------------
  2. 名称:定时器0
  3. 内容:通过定时让LED灯闪烁
  4. 设时钟频率为6MHz,试编写利用T0产生的1秒定时程序
  5. ------------------------------------------------*/
  6. #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

  7. sbit LED=P1^2;    //定义LED端口

  8. /*------------------------------------------------
  9.                                         定时器初始化子程序
  10. ------------------------------------------------*/
  11. void Init_Timer0(void)                 //50毫秒@6.000MHz
  12. {
  13.         TMOD &= 0xF0;                //设置定时器模式       
  14.         TMOD |= 0x01;          //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响                     
  15.         TL0 = 0x58;                //设置定时初值 50毫秒@6.000MHz
  16.         TH0 = 0x9E;                //设置定时初值
  17.         TF0 = 0;                //清除TF0标志
  18.         EA=1;            //总中断打开
  19.         ET0=1;           //定时器中断打开
  20.         TR0=1;           //定时器开关打开
  21. }

  22. /*------------------------------------------------
  23.                                         主程序
  24. ------------------------------------------------*/
  25. main()
  26. {
  27.         Init_Timer0();
  28.         while(1);
  29. }

  30. /*------------------------------------------------
  31.                                 定时器中断子程序
  32. ------------------------------------------------*/
  33. void Timer0_isr(void) interrupt 1 using 1
  34. {
  35.         unsigned char Count=0;
  36.         TH0=0x58;                  //重新赋值 50毫秒@6.000MHz
  37.         TL0=0x9E;
  38.         Count++;
  39.         if(Count>20) //1秒定时
  40.         {
  41.                 LED=~LED;        //指示灯反相,可以看到闪烁 1秒
  42.                 Count=0;
  43.         }
  44. }

复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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