找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机计时程序与仿真电路图程序

[复制链接]
跳转到指定楼层
楼主

#include<reg51.h>
unsigned char  seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};
//共阳极断码表
unsigned char num=0,count=0;
sbit K0=P3^2;
sbit K1=P3^3;
int i=0;
void dis_play();
void intittimer();

void main()
{
   intittimer();
   while(1)
   {
      dis_play();
   }
}

void intittimer()
{
  TMOD=0x01;            
  TH0=(65536-50000)/256;  //50ms=50000us  
  TL0=(65536-50000)%256;
  ET0=1;                 
  EA=1;
  TR0=0;
  IT0=1;
  EX0=1;
  IT1=1;
  EX1=1;                  
}

void dis_play()
{  
  if(num==100)
  {
    num=0;
  }
  P2=seg[num/10];
  P1=seg[num%10];
}
void a() interrupt 0
{
   TR0=~TR0;
   num=num;
}
void b()interrupt 2
{
  TR0=0;
  num=0;
}

void timer_isr()  interrupt 1
{
  TH0=(65536-50000)/256;  //50ms=50000us  256=2^8  初值>>8
  TL0=(65536-50000)%256;
  count++;
  if(count==20)
  {
     num++;
     count=0;
  }
}

秒表.zip (36.84 KB, 下载次数: 10)

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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