• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STC89C52秒表系统

你离开是否 2017-08-18 浏览量:1044
,可利用STC89C52定时器T0作为每10ms加一的定时器,P3.5控制开始键,按键按下并检测弹起后,开启定时器T0,开始计数;P3.6控制暂停键,按键按下并检测弹起后,关闭定时器T0实现暂停功能;P3.7控制复位键,按键按下并检测弹起后,显示变量全部置零,实现清零功能。
(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。
(2)通过LED显示程序的调整,熟悉LED动态显示的控制过程。

(3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。

程序一直不通。。可否帮看看

#include<reg52.h>
 #define uint unsigned int
 #define uchar unsigned char
 sbit rs=P1^0; //定义1602 数据命令端
 sbit lcden=P1^2; //定义1602 LCDEN 端
 sbit s1=P3^5; //开始键
 sbit s2=P3^6;  //暂停键
 sbit s3=P3^7;  //复位键
 sbit cs=P1^1;
 uchar count,s1num;
 char fen,miao,hao;
 uchar count,s1num;
void delay(uint z) //延时函数
{  uint x,y;
   for(x=z;x>0;x--)
     for(y=110;y>0;y--);
}
  void write_com(uchar com)  //1602写命令函数
  {rs=0;
  lcden=0;
  P0=com;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
      }
  void write_date(uchar date)
  {  rs=1;
    lcden=0;
P0=date;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
   }

   write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口  
write_com(0x0c);//设置开显示,不显示光标
  write_com(0x06);//写一个字符后地址指针加1
   write_com(0x01);//显示清零,数据指针清零
write_com(0x80);
write_com(0x80+0x40+6);//写出时间显示部分的冒号
write_date(':');
delay(5);
write_com(0x80+0x40+9);
write_date(':');
delay(5);
write_fmh(10,hao); //显示毫秒
write_fmh(7,miao); //显示秒
write_fmh(4,fen); //显示分
TMOD=0x01; //定时器0 工作方式1
TH0=(65536-9216)/256; //定时器装初值
TL0=(65536-9216)%256;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=0;//关闭定时器
    
   }
   void keyscan()//按键扫描函数
   { if(s1==0)
   {  delay(5);
       if(s1==0)//确认功能键被按下
  {  while(!s1);//确认功能键释放
    TR0=1;
  }
       }
    if(s2==0)
{ delay(5);
 if(s2==0)
 { while(!s2);
 TR0=0;
   }
  }
if(s3==0)
{ delay(5);
if(s3==0)
{ while(!s3);
fen=0;
miao=0;
hao=0;
}
}
write_fmh(4,fen);
write_fmh(7,miao);
write_fmh(10,hao);

   }
   void main()
   { init();
   while(1)
   { keyscan();
   }
   }
void time0() interrupt 1//定时器0中断服务程序
{ TH0=(65536-9216)/256; //定时器装初值
TL0=(65536-9216)%256;
hao++;  
if(hao==100)
{  hao=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{fen=0;}
//write_fmh(4,fen);
}
  //write_fmh(7,miao);  
}
//write_fmh(10,hao);
}

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案

其他答案 数量:2

  • 你出的问题在哪里???debug下试试
    • 发布于2017-08-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STC89C52秒表系统