0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机制作的时钟程序

倩倩 来源:电子开发网 2020-09-18 17:09 次阅读

今天完成的一个用单片机制作的时钟程序,

/****************************************************************

*工程名:带秒显示时钟单片机程序 *

*单片机:STC89C52 *

*电路板:http://www.dzkfw.com.cn/index.html *

*目 的:学习单片机编程 *

*是 间:2018-01-25星期五 *

*修 订:功能有待完善,下边我还加上调整时间的功能 *

*****************************************************************/

#include

#define uint unsigned int

#define uchar unsigned char

sbit wei=P2^7; //位锁存器使能端定义

sbit duan=P2^6; //段锁存器使能端定义

sbit led=P1^4; //这个是我买的实验板上的led使能端控制位

//定义需要的为变量。。.

uchar code duan_table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x00

};//数码管从1——F显示编码表,记得最后一个分号哦。。.

uchar a,xiaoshi,fenzhong,miao,miao1,miao2,xiao1,xiao2,fen1,fen2; //定义要用到的变量,记得一个字符都不要写错哦。。.

void dispay(uchar miao1,uchar miao2,uchar fen1,uchar fen2,uchar xiao1,uchar xiao2); //显示函数什么,一定要记得什么哦。。.

void delay(uchar x);

void init()//初始化函数

{

TMOD=0X01; //定时计数器工作模式,工作于16位定时器计数器模式

TH0=(65536-50000)/256; //十六位寄存器高八位赋初值

TL0=(65536-50000)%256; //。。.。。.。。.。。.低八位赋初值

EA=1; //开总中断

ET0=1; //开定时器计数器0中断

TR0=1; //启动定时器/计数器0

}

void main()

{

init(); //调用初始化函数

while(1)

{

if(a==20) //判断是否定时到1秒钟

{

a=0; //到一秒a清零

miao++; //让秒加1

if(miao==60) //判断秒是否到60

{

miao=0; //秒到60,让“miao”清零

fenzhong++; //让分钟自加1

if(fenzhong==60) //判断分钟是否到60

{

fenzhong=0; //分钟到60,让“fenzhong”清零

xiaoshi++; //让小时加1

if(xiaoshi==24) //判断小时是否到24

{xiaoshi=0;} //到24,让“xiaoshi”清零,从零点从新走动。。.

}

}

xiao1=xiaoshi/10;

xiao2=xiaoshi%10; //上面一行和这一行是把小时的两位分离出来,比如23,分解成2和3;下面几行一样就不解释了

fen1=fenzhong/10;

fen2=fenzhong%10;

miao1=miao/10;

miao2=miao%10;

}

dispay(miao1,miao2,fen1,fen2,xiao1,xiao2);

}

}

void dispay(uchar miao1,uchar miao2,uchar fen1,uchar fen2,uchar xiao1,uchar xiao2)

{

duan=1;

P0=duan_table[xiao1];

duan=0;

P0=0xff;

wei=1;

P0=0xfb;//第三个LED亮,小时高位

wei=0;

delay(2);

duan=1;

P0=duan_table[xiao2];

duan=0;

P0=0xff;

wei=1;

P0=0xf7; //第四个LED亮,小时低位

wei=0;

delay(2);

duan=1;

P0=duan_table[fen1];

duan=0;

P0=0xff;

wei=1;

P0=0xef; //第五个LED亮,分钟高位

wei=0;

delay(2);

duan=1;

P0=duan_table[fen2];

duan=0;

P0=0xff;

wei=1;

P0=0xdf; //第六个LED亮,分钟低位

wei=0;

delay(2);

duan=1;

P0=duan_table[miao1];

duan=0;

P0=0xff;

wei=1;

P0=0xbf; //第七个LED亮,秒高位

wei=0;

delay(2);

duan=1;

P0=duan_table[miao2];

duan=0;

P0=0xff;

wei=1;

P0=0x7f;

wei=0;

delay(2);

}

void delay(uchar x)

{

uchar bb,dd;

for(bb=x;bb》0;bb--)

for(dd=110;dd》0;dd--);

}

void timer0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

a++;

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44489

    浏览量

    631889
  • 变量
    +关注

    关注

    0

    文章

    613

    浏览量

    28306
  • 时钟程序
    +关注

    关注

    0

    文章

    15

    浏览量

    7628
收藏 人收藏

    评论

    相关推荐

    使用Stellaris(群星)单片机制作自动小车

    使用Stellaris(群星)单片机制作自动小车 本文讲述如何使用Stellaris(群星)单片机制作自动小车
    发表于 04-06 17:28 25次下载

    单片机制作的6位数字钟

    单片机制作的6位数字钟 常见的电子钟程序由显示部分, 计算部分, 时钟调整部分构成。     时钟的基本显示原理:
    发表于 05-16 01:25 1.1w次阅读

    51单片机制作计算器程序

    用51单片机制作计算器程序,可以实现加减乘除开根号的计算功能
    发表于 11-19 11:34 70次下载

    单片机制作译码器实验程序 【C语言版】

    单片机制作译码器实验程序 【C语言版】单片机制作译码器实验程序 【C语言版】单片机制作译码器实验程序
    发表于 12-29 13:50 0次下载

    单片机制作继电器 【汇编版】

    单片机制作继电器 【汇编版】单片机制作继电器 【汇编版】单片机制作继电器 【汇编版】
    发表于 12-29 13:50 0次下载

    单片机制作继电器 【C语言版】

    单片机制作继电器 【C语言版】单片机制作继电器 【C语言版】单片机制作继电器 【C语言版】单片机制作继电器 【C语言版】
    发表于 12-29 13:53 0次下载

    单片机制作译码器实验程序+文档

    单片机制作译码器实验程序+文档 单片机制作译码器实验程序+文档 单片机制作译码器实验程序+文
    发表于 12-29 15:51 3次下载

    单片机制作RTC实时时钟(DS1302)程序【C语言版】

    单片机制作RTC实时时钟(DS1302)程序【C语言版】,感兴趣的可以看看。
    发表于 12-30 13:48 0次下载

    基于单片机制作C语言寻迹小车程序

    基于单片机制作C语言寻迹小车程序以及原理图。
    发表于 09-14 16:45 15次下载

    STM32单片机制作音乐谱程序原理图详解下载

    单片机制作音乐谱程序原理图详解下载
    发表于 03-20 11:38 5次下载

    使用51单片机制作的做一个简易时钟程序免费下载

    本文档的主要内容详细介绍的是使用51单片机制作的做一个简易时钟程序免费下载 利用独立键盘,数码管完成一个简易的时钟,按键一可以修改时间,按键二可以设置闹钟,按键三进行加一操作,按键四进
    发表于 06-13 17:45 15次下载
    使用51<b class='flag-5'>单片机制作</b>的做一个简易<b class='flag-5'>时钟</b><b class='flag-5'>程序</b>免费下载

    使用单片机制作数字可控时钟程序资料免费下载

    本文档的主要内容详细介绍的是使用单片机制作数字可控时钟程序资料免费下载。
    发表于 05-23 17:42 22次下载
    使用<b class='flag-5'>单片机制作</b>数字可控<b class='flag-5'>时钟</b>的<b class='flag-5'>程序</b>资料免费下载

    51单片机制作的实时时钟DS1302源代码免费下载

    本文档的主要内容详细介绍的是51单片机制作的实时时钟DS1302源代码免费下载。
    发表于 10-31 16:56 30次下载
    51<b class='flag-5'>单片机制作</b>的实时<b class='flag-5'>时钟</b>DS1302源代码免费下载

    使用单片机制作可调数字时钟的汇编语言程序免费下载

    本文档的主要内容详细介绍的是使用单片机制作可调数字时钟的汇编语言程序免费下载。
    发表于 08-28 15:48 16次下载
    使用<b class='flag-5'>单片机制作</b>可调数字<b class='flag-5'>时钟</b>的汇编语言<b class='flag-5'>程序</b>免费下载

    使用51单片机制作数码管显示数字时钟的可调C源程序免费下载

    本文档的主要内容详细介绍的是使用51单片机制作数码管显示数字时钟的可调C源程序免费下载。
    发表于 11-19 17:48 22次下载
    使用51<b class='flag-5'>单片机制作</b>数码管显示数字<b class='flag-5'>时钟</b>的可调C源<b class='flag-5'>程序</b>免费下载