跪求!基于单片机的数字时钟设计

本人在做毕业设计,希望哪位爷手上有此类论文的发我参考,小的感激不尽。要有详细的电路图和程序。功能最好能具体全面。拜托各位了!本人邮箱:550368649@qq.com我需... 本人在做毕业设计,希望哪位爷手上有此类论文的发我参考,小的感激不尽。要有详细的电路图和程序。功能最好能具体全面。拜托各位了!本人邮箱:550368649@qq.com
我需要完整的毕业论文格式的论文,有致谢什么的。。。最好能附上开题报告和任务书。
展开
 我来答
qiu1123
2010-05-24 · 超过16用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:44.5万
展开全部
  #include<reg52.h>
  #include<absacc.h>
  #include<intrins.h>
  #define unit unsigned int
  #define uchar unsigned char
  //#define HZ 12
  sbit key0=P0^0; // 分钟调整
  sbit key1=P0^1; // 小时调整

  sbit P2_0=P2^7; //秒 指示灯
  sbit MN_RXD=P3^6;
  sbit MN_TXD=P3^7;

  uchar data CLOCK[4]={0,0,0,12};//存放时钟时间(百分秒,秒,分,和时位)

  //数码管显示表0-f 灭
  uchar code TABLE[]={0xBE,0x06,0xEA,0x6E,0x56,0x7C,0xFC,0x0E,0xFE,0x7E,0x00};
  //**********************************
  //模拟串口发送一个字节数据 函数
  //**********************************
  void SendData(unsigned char senddata)
  {
  unsigned char i;
  for(i=0;i<8;i++)
  {
  if((senddata&0x01)==0)
  MN_RXD=0;
  else
  MN_RXD=1;
  _nop_();
  MN_TXD=0;
  _nop_();
  MN_TXD=1;
  senddata=senddata>>1;
  }
  }

  //**********************************
  //显示程序函数
  //**********************************
  void display(void)
  {
  // unsigned int n;
  uchar temp;
  temp=CLOCK[1]; temp=temp%10; SendData(TABLE[temp]);
  temp=CLOCK[1]; temp=temp/10; SendData(TABLE[temp]);
  temp=CLOCK[2]; temp=temp%10; SendData(TABLE[temp]);
  temp=CLOCK[2]; temp=temp/10; SendData(TABLE[temp]);
  temp=CLOCK[3]; temp=temp%10; SendData(TABLE[temp]);
  temp=CLOCK[3]; temp=temp/10; SendData(TABLE[temp]);

  /*
  for(n=0;n<5000;n++);

  for(n=0;n<6;n++)
  {
  SendData(TABLE[10]);
  }
  */
  }

  //**********************************
  //按键控制函数
  //**********************************
  void keycan()
  {
  unsigned int n;
  EA=0;
  if(key0==0) // 分钟调整
  {
  for(n=0;n<10000;n++); //延时去抖动
  while(key0==0);
  CLOCK[2]=CLOCK[2]+1;
  if(CLOCK[2]==60) //到一时
  {
  CLOCK[2]=0;
  }
  display();

  }
  if(key1==0) // 小时调整
  {
  for(n=0;n<10000;n++); //延时去抖动
  while(key1==0);
  CLOCK[3]=CLOCK[3]+1;
  if(CLOCK[3]==24)
  {
  CLOCK[3]=0;
  }
  display();

  }
  EA=1;
  }

  //**********************************
  //T0中断服务函数
  //**********************************
  void time0() interrupt 1 //using 1
  {
  TH0=0xD8; TL0=0xF0; //重置初值
  // TH0=0xB1; TL0=0xE0;
  //时钟处理
  CLOCK[0]=CLOCK[0]+1;

  }
  //**********************************
  //主函数
  //**********************************
  void main()
  {
  EA=1;
  ET0=1;
  TMOD=0x01; //T0方式1定时
  TH0=0xD8; TL0=0xF0; //D8F0 定时10ms
  // TH0=0xB1; TL0=0xE0; //定时 20ms
  TR0=1;
  for(;;)
  {
  if(CLOCK[0]==100) //到一秒 10ms*100
  {
  CLOCK[0]=0;
  P2_0=~P2_0;
  CLOCK[1]=CLOCK[1]+1;
  if(CLOCK[1]==60) //到一分
  {
  CLOCK[1]=0;
  CLOCK[2]=CLOCK[2]+1;
  if(CLOCK[2]==60) //到一时
  {
  CLOCK[2]=0;
  CLOCK[3]=CLOCK[3]+1;
  if(CLOCK[3]==24)
  {
  CLOCK[3]=0;
  }
  }
  }
  display();
  }

  keycan();
  }

  }
深圳市兴威帆电子技术有限公司
2023-06-12 广告
时钟模块有许多选择,这里为您提供几家广泛应用的模块,并询问一些普遍问题:1. Arduino - 这是一个非常受欢迎的选择,因为它易于使用,价格实惠,且能与多种传感器连接。此外,它也具有可编程功能和Wi-Fi /蓝牙功能。2. Raspbe... 点击进入详情页
本回答由深圳市兴威帆电子技术有限公司提供
洋俊杰03c
2010-05-25 · TA获得超过512个赞
知道答主
回答量:257
采纳率:100%
帮助的人:0
展开全部
电子钟相关毕业设计
·数字电子钟的电路设计
·数字电子钟的设计与制作
·数字钟的设计
·基于8051单片机的数字钟
·基于单片机的电子时钟控制系统
·数字电路数字钟设计
·电子闹钟设计
·定时闹钟设计
·智能定时闹钟设计
·下棋定时钟设计
·多功能数字钟设计与制作
·基于单片机的电子钟设计
·基于单片机的数字电子钟设计
·基于Labview的虚拟数字钟设计
·电子日历钟
·数字钟的设计与制作
·单片机数字钟设计
·基于单片机的数字钟设计
·单片机定时闹钟设计
·万年历可编程电子钟控电铃
·数字定时闹钟设计
·基于EDA技术的数字电子钟设计
·多功能时钟打点系统设计
·智能音乐闹钟设计
·基于AT89S51单片机的数字电子钟设计
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changshs
2010-05-24 · TA获得超过311个赞
知道答主
回答量:262
采纳率:100%
帮助的人:216万
展开全部
你看下郭天祥的书上有这个程序的,完整的,你直接抄过来好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式