找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于C51的定时/计数器实验

[复制链接]
跳转到指定楼层
楼主
程序如下
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint sec,counter;
main()
{
   TMOD=0x01  //T0定时器 工作方式1
   TH0=(65536-50000)/256
   TL0=(65536-50000)%256
   ET0=1    //T0开中断
   EA=1     //CPU开中断
   TR0=1    //启动T0
  While(1)
{
   P2=table[sec/10];
   P3=table[sec%10];
  }
}
void int1 interrupt 1   
{
   counter++
   if(counter==20)
   {
     counter=0;
      sec++;
      if(sec==8)   //数字达到8则溢出,重新定义
      sec=0;
}
TH0=(65536-50000)/256   //重新赋初值
    TL0=(65536-50000)%256
}

图片1.png (2.21 MB, 下载次数: 12)

实验成果

实验成果

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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