数码管显示模拟8位时钟.rar

  • gogox
    了解作者
  • C/C++
    开发工具
  • 13KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2020-05-21 22:51
    上传日期
基于VC的51单片机数码管显示模拟8位时钟程序源码
数码管显示模拟8位时钟.rar
  • 数码管显示模拟8位时钟
  • ex66.Uv2
    2.1KB
  • ex66_Opt.Bak
    974B
  • ex66.lnp
    40B
  • ex66.c
    4.2KB
  • ex66.LST
    8.8KB
  • ex66.hex
    1.3KB
  • ex66_Uv2.Bak
    2.1KB
  • ex66
    6.3KB
  • ex66.M51
    8.9KB
  • ex66.Opt
    977B
  • ex66.OBJ
    7.2KB
内容介绍
//数码时钟设计 #include<reg52.h> // 包含51单片机寄存器定义头文件 unsigned char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //control shape unsigned char port[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char int_time ; //中断次数计数变量 unsigned char second; //秒计数变量 unsigned char minute; //分钟计数变量 unsigned char hour; //小时计数变量 ///////////////////////////////////////////////////// void delay(void) //延时函数,延时约0.6ms { unsigned char j; for(j=0;j<180;j++) ; } //download by http://www.codefans.net /****************************************************************** 函数功能:显示秒的子程序 入口参数:s ********************************************************************/ void DisplaySecond(unsigned char s) { P2=0xbf; //P2.6引脚输出低电平, DS6点亮 P0=Tab[s/10]; //显示十位 delay(); delay(); delay(); P2=0x7f; //P2.7引脚输出低电平, DS7点亮 P0=Tab[s%10]; //显示个位 delay(); delay(); delay(); P2=0xff; //关闭所有数码管 P0=0xff; delay(); delay(); delay(); } /****************************************************************** 函数功能:显示分钟的子程序 入口参数:m ********************************************************************/ void DisplayMinute(unsigned char m) { P2=0xf7; // P2.3引脚输出低电平, DS3点亮 P0=Tab[m/10];//显示个位 delay(); delay(); delay(); delay(); P2=0xef; // P2.4引脚输出低电平, DS4点亮 P0=Tab[m%10]; delay(); delay(); delay(); P2=0xdf; //P2.5引脚输出低电平, DS5点亮 P0=0xbf; //分隔符“-”的段码 delay(); delay(); delay(); P2=0xff; //关闭所有数码管 P0=0xff; delay(); delay(); delay(); } /****************************************************************** 函数功能:显示小时的子程序 入口参数:h ********************************************************************/ void DisplayHour(unsigned char h) { P2=0xfe; //P2.0引脚输出低电平, DS0点亮 P0=Tab[h/10]; //显示十位 delay(); delay(); delay(); P2=0xfd; //P2.1引脚输出低电平, DS1点亮 P0=Tab[h%10]; //显示个位 delay(); delay(); delay(); P2=0xfb; //P2.2引脚输出低电平, DS2点亮 P0=0xbf; //分隔符“-”的段码 delay(); delay(); delay(); P2=0xff; //关闭所有数码管 P0=0xff; delay(); delay(); delay(); } /****************************************************************** 函数功能:主函数 ********************************************************************/ void main(void) { TMOD=0x01; //使用定时器T0 EA=1; //开中断总允许 ET0=1; //允许T0中断 TH0=(65536-46083)/256; //定时器高八位赋初值 TL0=(65536-46083)%256; //定时器低八位赋初值 TR0=1; int_time=0; //中断计数变量初始化 second=0; //秒计数变量初始化 minute=0; //分钟计数变量初始化 hour=0; //小时计数变量初始化 while(1) { DisplaySecond(second); //调用秒显示子程序 delay(); DisplayMinute(minute); //调用分钟显示子程序 delay(); DisplayHour(hour); delay(); } } /****************************************************************** 函数功能:定时器T0的中断服务子程序 ********************************************************************/ void interserve(void ) interrupt 1 using 1 //using Time0 { int_time++; if(int_time==20) { int_time=0; //中断计数变量清0 second++; //秒计数变量加1 } if(second==60) { second=0; //如果秒计满60,将秒计数变量清0 minute++; //分钟计数变量加1 } if(minute==60) { minute=0; //如果分钟计满60,将分钟计数变量清0 hour++; //小时计数变量加1 } if(hour==24) { hour=0; //如果小时计满24,将小时计数变量清0 } TH0=(65536-46083)/256; //定时器重新赋初值 TL0=(65536-46083)%256; }
评论
    相关推荐
    • 单片机课件
      单片机的课件及例题, 单片机的课件及例题, 单片机的课件及例题, 单片机的课 件及例题,
    • 爱上单片机
      一本电子爱好者都能看懂,会边看边笑的单片机入门书籍,作者杜洋曾在《无线电》上发表过“趣味单片机制作专题”、“单片机编程魔法学校”等深受读者喜爱、让无数单片机入门者热血沸腾的系列文章。本书通过生动的语言...
    • 单片机教程
      单片机教程其一,其他的有待上传,中间手把手叫你学单片机
    • 单片机语言
      单片机高级语言c51应用程序设计,帮助你更好学习单片机程序设计。
    • 单片机入门
      很好的单片机学习资源,入门比较好适合对单片机的学习有兴趣的人,而且是名校的精彩讲解,
    • 单片机教程
      单片机教程从入门到精通,这是一个很不错的教程,初学都必看,看了必有收获
    • 单片机小精灵
      一款查询单片机功能及代码的使用工具,方便,还可以查询汇编程序,适用于初学单片机
    • 单片机宝典
      在此我从网上收集了大量的资料包含了单片机初学者入门基本教程、 单片机应用范例、实例程序、希望对大家有用。
    • 单片机资料
      STC89C51RC-RD单片机使用说明、STC89C51RC-RD使用手册、max232中文资料及应用、MAX232与单片机通信电路图等
    • 爱上单片机
      《爱上单片机》本书是一本电子爱好者都能看懂,会边看边笑的单片机入门书籍,作者杜洋曾在《无线电》上发表过“趣味单片机制作专题”、“单片机编程魔法学校”等深受读者喜爱、让无数单片机入门者热血沸腾的系列文章...