简单做的基于51单片机的数码管时钟

发布者:千变万化最新更新时间:2019-12-11 来源: 51hei关键字:51单片机  数码管  时钟 手机看文章 扫描二维码
随时随地手机看文章

看看抽屉的材料,就想做做东西玩玩。本来想做99码表的,结果按键开关不够,就改成了时钟。话不多说,直接上图。
最小系统

 



显示模块
 


最后效果
 

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
 

单片机源程序如下:

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

*实验名   :数码管动态显示

*实验效果        :8位数码管显示数字12345678

*注意   : 每位数码管显示之间延迟时间小于3ms可看见8位数码管同时点亮

*

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

#include

#define uchar unsigned char

#define uint unsigned int

        

uint k=0;

uint second=0;//秒

uint min =0;//分

uint hour=1;//时


sbit we1=P3^3; //位选

sbit we2=P3^1;

sbit we3=P3^2;

sbit we4=P3^0;

sbit L0=P2^0;


uchar code sz[17]={0x3f , 0x06 , 0x5b ,0x4f , 0x66 , 0x6d ,0x7d ,

                   0x07 , 0x7f , 0x6f ,0x77 , 0x7c , 0x39 , 

                   0x5e , 0x79 , 0x71 , 0x00};         //0-9&A-F&“不显示”  字型码


void delay(uint xms)                  //xms等于几就延迟几毫秒

{

    uint i,j;

        for(i=xms;i>0;i--)

            for(j=112;j>0;j--);

}


void Init_timer0(void)

{

  TMOD |= 0X01;                      //工作方式1 内部寄存器控制的定时功能

        TH0=0X3c;                         //高八位的初值

        TL0=0Xb0;                         //第八位初值

        EA=1;                            //开启整体中断允许

        ET0=1;                           //开启定时器0中断允许

        TR0=1;                                                         //开始计数

}


void Timer0_isr(void)interrupt 1

{

  TH0=0x3c;

        TL0=0xb0;

        k++;

}


void main()

{

        Init_timer0();

    while(1)

        {

                if(k==20)  //20次1秒

                {

                second++;

                k=0;

                if(second==60)

                {

                  second =0;

                        min++;

                        if(min==60)

                        {

                           min=0;

                                 hour++;

                                if(hour==13)

                                {

                                  hour=1;

                                }

                        }

                }

                

                }

                P1=sz[min%10];   //分显示

                we4 =0;

                delay(5);

                we4=1;

                        

                P1=sz[min/10];   

                we3=0;

                delay(5);

                we3=1;

                

                P1=sz[hour%10];   //时显示

                we2=0;

                delay(5);

                we2=1;

                

                P1=sz[hour/10];   

                we1=0;

                delay(5);

                we1=1;

                

                /*P1=sz[0];  //显示0

                we1=0;

                delay(10);

                we1=1;

                

                P1=sz[1];   //显示1

                we2=0;

                delay(10);

                we2=1;

                

                P1=sz[2];   //显示2

                we3=0;

                delay(10);

                we3=1;

                

                P1=sz[3];   //显示3

                we4=0;

                delay(10);

                we4=1;*/

        }

}

…………………



关键字:51单片机  数码管  时钟 引用地址:简单做的基于51单片机的数码管时钟

上一篇:MFRC522电路原理图与单片机测试程序
下一篇:GP2Y0E02B测距模块89c52单片机串口程序

推荐阅读最新更新时间:2024-11-12 13:15

51单片机制作电子琴
#include reg52.h unsigned char tone; unsigned char op; sbit led=P1^1; sbit spk=P1^0; sbit key1=P3^2; //两只老虎演奏按键 sbit key2=P3^3; //1~i演奏按键 unsigned char code shuma ={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //用于使定时器初值变化以产生相应频率的定时 unsigned char code yinfu_H = {0xfb
[单片机]
【单片机学习】51单片机【串口】,详细介绍
一、先知先会 1、计算串行通信基础 2、串行通信的基本概念 (1)、异步通信与同步通信 a.异步通信 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。 异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。 b、同步通信 同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步,。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保
[单片机]
【单片机学习】<font color='red'>51单片机</font>【串口】,详细介绍
STM32入门——时钟
STM32中使用任何一个外设都必须打开相应的时钟。在STM32中有5个时钟源可供用户选择: 1.HSI高速内部时钟,RC震荡器,频率为8MHz。 2.HSE高速外部时钟,右英/陶瓷谐振器,或着外部时钟源,4MHz-16MHz. 3.LSI内部低速时钟,RC震荡器频率为40Hz。 4.LSE外部低速时钟,接频率为32.768KHz的石英晶体。 5.PLL锁相环频输出,时钟源可选为HIS/2、HSE或HSE/2。倍频可选2-16倍,但其输出频率最大不能超过72MHz。 系统时钟SYSCLK,它是供STM32中绝大部分器件工作的时钟源,系统时钟可选择为PLL输出、HSI或者HSE。系统时钟的做大频率为72MHz,
[单片机]
8051单片机架构_封装及原理图
  在1976年时,英特尔首次生产了名称为MCS-48的单片机,即8位单片机。1980年晚些时候,发布了名称为MCS-51的改进版本(也是8位单片机),目前国内广泛使用的8051单片机就是属于Intel的MCS-51单片机家族,而且现在已经过了知识产权期限。   继8051单片机成功之后,许多其他半导体制造商纷纷以自己的品牌发布了使用MCS-51内核的单片机。比如Microchip、Zilog、Atmel、Philips、Siemens等公司。它们的共同点是所有这些单片机都可以使用相同的MCS-51指令集进行编程。它们在支持设备配置(例如改进的内存,是否存在ADC或DAC等)方面基本上有所不同。随后,英特尔于1982年发布了其首
[单片机]
80<font color='red'>51单片机</font>架构_封装及原理图
自制51单片机常用头文件(T6963C)
#include reg51.h #define uint unsigned int #define uchar unsigned char code uchar CCTAB ={ /*-- 宽度x高度=128x64 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x
[单片机]
错误使用派生时钟对逻辑时序的影响
项目代码编译后打印如下信息:   Info: Clock “CLK48M” has Internal fmax of 67.47 MHz between source register “GLUE_LGC:glue|MCLK” and destination register “img_lgc:img|N2DSP” (period= 14.822 ns)   信号由MCLK到N2DSP这条通道限定了时针的最高速度只能到67.47MHz。   查看相关代码中存在如下代码段:   always @( posedge CLK48M )   begin   CLKDIV 《= CLKDIV + 1; //clock divid
[模拟电子]
MCS-51单片机实用子程序库5
(5) 标号: FDIV 功能:浮点数除法 入口条件:被除数在 中,除数在 中。 出口信息:OV=0时,商仍在 中,OV=1时,溢出。 影响资源:PSW、A、B、R2~R7、位1EH、1FH 堆栈需求: 5字节 FDIV: INC R0 MOV A,@R0 INC R0 ORL A,@R0 DEC R0 DEC R0 JNZ DIV1 MOV @R0,#41H;被除数为零,不必运算 CLR OV RET DIV1: INC R1 MOV A,@R1 INC R1 ORL A,@R1 DEC R1 DEC R1 JNZ DIV2 SETB OV ;除数为零,溢出 RET DIV2: LCALL MVR0 ;将 传送到第一工作区中 MO
[单片机]
基于c51单片机8位数码管显示电子时钟程序
/* 8位数码管显示 时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include reg52.h sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED =P1^2; //定义指示灯参数 code unsigned char tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved