标题: 求程序 单片机设计数字电子钟 [打印本页]

作者: 李zhong富    时间: 2017-5-14 00:17
标题: 求程序 单片机设计数字电子钟

要求:
1、数码管显示时、分,秒可通过小数点闪烁或点亮发光二极管显示
2、时间可通过功能键(设置、移位、增加)设定或调整
3、整点报时(报时发光二极管显示全亮)
4、闹钟功能(发光二极管显示全亮)


作者: zha    时间: 2017-5-14 01:19
这是我的用1602显示的多功能电子时钟

电子时钟.zip

43.32 KB, 下载次数: 29


作者: zl2168    时间: 2017-5-14 07:40
本帖最后由 zl2168 于 2017-5-14 16:00 编辑

实例93  具有校正功能的时钟1302(LED数码管显示)
Proteus仿真一下,确认有效。
实例93 带校正时分秒的时钟1302(6位LED数码管显示).rar (732.75 KB, 下载次数: 12)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。

作者: zl2168    时间: 2017-5-14 07:49
本帖最后由 zl2168 于 2017-5-14 16:02 编辑

实例94  模拟电子钟(由80C51定时器产生秒时基)
Proteus仿真一下,确认有效。
实例94 模拟电子钟(由80C51定时器产生秒时基).rar (43.05 KB, 下载次数: 7)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。

作者: 李zhong富    时间: 2017-5-20 17:58
zha 发表于 2017-5-14 01:19
这是我的用1602显示的多功能电子时钟

我要的是汇编语言啊
作者: qihemu    时间: 2017-5-21 10:52
#include<reg52.h>                                                                                                                                                                           #include<reg52.h>

sbit dula=P2^6;
sbit wela=P2^7;

unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
unsigned char code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80};


unsigned int s, f, m,
                         ss, sg,
                         fs, fg,
                         ms, mg,
                         n, x;

void delayms(unsigned int xms)
{
        unsigned int i, j;
        for(i=0;i<xms;i++)
                for(j=0;j<110;j++);
}

void SMG(int i, int j)
{
        dula=1;
        P0=duan[i];
        dula=0;
        P0=0xff;
        wela=1;
        P0=wei[j];
        wela=0;
        delayms(1);
}

void T0_time() interrupt 1
{
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        n++;
}

void main()
{
        TMOD=0x01;
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        EA=1;
        ET0=1;
        TR0=1;

        while(1)
        {
                if(n==20){n=0;m++;}
                if(m==60){m=0;f++;}
                if(f==60){f=0;s++;}
                if(s==24){s=0;}
                ms=m/10;
                mg=m%10;
                fs=f/10;
                fg=f%10;
                ss=s/10;
                sg=s%10;
                for(x=0;x<2;x++)
                {

                        SMG(10,1);
                        SMG(10,3);

                        SMG(ss,0);
                        SMG(sg,1);
                        SMG(fs,2);
                        SMG(fg,3);
                        SMG(ms,4);
                        SMG(mg,5);

                       
                }
        }
}
程序中用到 数码管 和 中断   数码管 dula  wela   IO口自行修改
作者: qihemu    时间: 2017-5-21 10:53
李zhong富 发表于 2017-5-20 17:58
我要的是汇编语言啊

别汇编了 学C吧
作者: xs199510    时间: 2017-5-21 11:40
我刚刚用c写完
作者: 15622633856    时间: 2017-5-21 13:04
我用c写完学汇编
作者: zl2168    时间: 2017-5-21 18:06
李zhong富 发表于 2017-5-20 17:58
我要的是汇编语言啊

有汇编程序的。
实例32 模拟电子钟(由80C51定时器产生秒时基)
先Proteus仿真一下,确认有效。
实例94 模拟电子钟(由80C51定时器产生秒时基).rar (43.05 KB, 下载次数: 6)





以上摘自张志良编著《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,书中电路和程序设计有详细说明,程序(双解c
和汇编)语句条条有注解,便于阅读理解,便于自学。
仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。







作者: zl2168    时间: 2017-5-21 18:13
李zhong富 发表于 2017-5-20 17:58
我要的是汇编语言啊

有汇编的。
实例33  具有校正功能的时钟1302(LCD1602显示)
上面已发过。在80C51单片机实用教程——基于Keil CProteus》书中,高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。
仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。










作者: 小蚂蚁123    时间: 2017-5-21 19:02
加油.....................




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1