基于单片机的电子时钟设计报告(LCD显示)

时间:2024.4.20

单片机原理及应用课程设计任务书

                                            

题目:电子时钟(LCD显示)

1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:

使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。

用3个功能键操作来设置当前时间。功能键K1~K4功能下。

K1—设置小时。

K2—设置分钟。

K3—设置秒。

程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。

2、工作原理

本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。

3、参考电路

硬件设计电路图如下图所示:

硬件电路原理图

单片机原理及应用课程设计任务书

                                            

题目:电子时钟(LCD显示)

1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:

使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。

用3个功能键操作来设置当前时间。功能键K1~K4功能下。

K1—设置小时。

K2—设置分钟。

K3—设置秒。

程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。

2、工作原理

本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。

3、参考电路

硬件设计电路图如下图所示:

硬件电路原理图

基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的

  1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。

2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。

3)、用3个功能键操作来设置当前时间。

4)、熟悉掌握proteus编成软件以及keil软件的使用

二、本设计原理

本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。

该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。

三、硬件设计原理(电路)

硬件电路原理图

四、软件设计(流程图)

五、仿真结果与结论

5.仿真结果与结论

初始运行显示效果如下 :

用按键调节时分秒从而设置时间:

结论:采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。根据仿真结果可知该编程及硬件电路符合要求。

附录

程序设计如下:

        KM1   BIT  P1.0

             KM2   BIT  P1.1

             KM3   BIT  P1.2

             RS    EQU  P2.0

        RW    EQU  P2.1

        E     EQU  P2.2

        IN_0  EQU  P0

        SECL  EQU   40H        ;秒低位

        SECH  EQU   41H        ;秒高位

        MH1   EQU   42H        ;冒号

        MINL  EQU   43H        ;分低位

        MINH  EQU   44H        ;分高位

        MH2   EQU   45H        ;冒号

        HOURL EQU   46H        ;时低位

        HOURH EQU   47H        ;时高位

        ORG 0000H 

        AJMP MAIN

        ORG 000BH

        AJMP INTT_0

MAIN:   MOV R2,#20

        ACALL INIT_LCD         ;初始化液晶

        MOV R5,#00H

        MOV  IN_0,#84H         ;写入显示起始地址(第一行第五个位置)

        ACALL ENABLE

        MOV TH0,#3CH           ;50MS

        MOV TL0,#0B0H 

        MOV TMOD,#01H

        ACALL SJCZ    

        SETB EA

        SETB ET0

        SETB TR0

            LCALL A1            

START1: LCALL WDATA1

            LCALL WDATA2

            AJMP  START1

;*******控制键*******        

A1:           LCALL WDATA2

        LCALL WDATA1

            JNB   KM1,S1

            JNB   KM2,S2

            JNB   KM3,S3

            AJMP  A1

;*****调整小时*****

S1:     LCALL DELAYL

        JB    KM1,A1

        MOV  A,HOURH

        CJNE A,#02H,ST1

            MOV  A,HOURL

            CJNE A,#03H,ST2

            MOV HOURH,#00H

            MOV HOURL,#00H

            AJMP J1

ST1:    MOV  A,HOURL

        CJNE A,#09H,ST2

            INC HOURH

            MOV HOURL,#00H            

            AJMP J1

ST2:    INC HOURL

        AJMP J1

J1:     JB KM1,S1

            LCALL WDATA1

            AJMP J1

;*****调整分钟*****

S2:     LCALL DELAYL

        JB    KM2,A1

        MOV  A,MINH

        CJNE A,#05H,ST3

            MOV  A,MINL

            CJNE A,#09H,ST4

            MOV MINH,#00H

            MOV MINL,#00H

            AJMP J2

ST3:    MOV  A,MINL

        CJNE A,#09H,ST4

            INC MINH

            MOV MINL,#00H        

            AJMP J2

ST4:    INC MINL

        AJMP J2

J2:     JB KM2,S2

            LCALL WDATA1

            AJMP J2

;*****调整秒*****

S3:     LCALL DELAYL

        JB    KM3,A1

        MOV  A,SECH

        CJNE A,#05H,ST5

            MOV  A,SECL

            CJNE A,#09H,ST6

            MOV SECH,#00H

            MOV SECL,#00H

            AJMP J3

ST5:    MOV  A,SECL

        CJNE A,#09H,ST6

            INC SECH

            MOV SECL,#00H        

            AJMP J3

ST6:    INC SECL

        AJMP J3

J3:     JB KM3,S3

            LCALL WDATA1

            AJMP J3       

;****设定显示初值***            

SJCZ:   MOV 40H,#0             ;显示初值是   23:59:00

        MOV 41H,#0

        MOV 42H,#10

        MOV 43H,#9

        MOV 44H,#5

        MOV 45H,#10

        MOV 46H,#3

        MOV 47H,#2

        RET

INTT_0: PUSH PSW

        PUSH ACC                 ;T0定时器中断

        MOV  TL0,#0B0H         ;送定时初值

        MOV  TH0,#3CH

        DJNZ R2,TT

        MOV  R2,#20

        INC  SECL              ;秒记数,到60S就清0

        MOV  A,SECL       

        CJNE A,#0AH,TT

        INC  SECH        

        MOV  SECL,#00H

        MOV  A,SECH

        CJNE A,#06H,TT

        MOV  SECH,#00H

        INC  MINL              ;分记数,到60分请0

        MOV  A,MINL           

        CJNE A,#0AH,TT

        MOV  MINL,#00H

        INC  MINH

        MOV  A,MINH

        CJNE A,#06H,TT

        MOV  MINH,#00H

        INC  HOURL             ;时记数,到24时清0

        MOV  A,HOURL

        CJNE A,#04H,TT2

        MOV  A,HOURH

        CJNE A,#02H,TT1

        MOV HOURL,#00H

        MOV HOURH,#00H

        AJMP TT

 TT2:   CJNE A,#0AH,TT

        MOV HOURL ,#00H

        INC HOURH

        AJMP TT

 TT1:   CJNE A,#02H,TT

        MOV HOURL,#00H

        MOV HOURH,#00H

        AJMP TT

 TT:    POP ACC

        POP PSW                     

        RETI

;****液晶初始化****

INIT_LCD:ACALL DELAYL          ;延时,等待LCD完成电源的启动

         MOV  IN_0,#01H        ;清屏并光标复位

         ACALL ENABLE   

         MOV  IN_0,#38H        ;设置显示模式:8位2行5x7点阵

         ACALL ENABLE            

         MOV  IN_0,#0CH        ;显示器开、光标关、光标不闪烁

         ACALL ENABLE

         MOV  IN_0,#06H        ;文字不动,光标自动右移

         ACALL ENABLE

         MOV  IN_0,#0C0H       ;写入显示起始地址(第二行第一个位置)

         ACALL ENABLE

         RET

;****写数据程序****

WDATA1:   MOV  IN_0,#84H       ;写入显示起始地址(第一行第五个位置)

          ACALL ENABLE

          MOV  R1,#08H

          MOV  R0,#47H

WDATA_1:  MOV  A,@R0

          MOV  DPTR,#TABLE

          MOVC A,@A+DPTR       

          MOV  IN_0,A          ;写入数据

          SETB RS

          CLR  RW

          CLR  E

          ACALL CHECKBUSY

          SETB E               ; 忙检测

          DEC  R0

          DJNZ R1,WDATA_1

          MOV  R1,#08H

          RET

WDATA2:   MOV  IN_0,#0C0H      ;写入显示起始地址(第二行第一个位置)

          ACALL ENABLE

          MOV  R1,#10H

          MOV  R0,#00H

              MOV  DPTR,#TAB

WDATA_2:  MOV  A,R0

          MOV  DPTR,#TAB

          MOVC A,@A+DPTR       

          MOV  IN_0,A          ;写入数据

          SETB RS

          CLR  RW

          CLR  E

          ACALL CHECKBUSY

          SETB E               ;忙检测

          INC R0

          DJNZ R1,WDATA_2

          MOV R1,#08H

          RET

;****显示符号表****

TABLE:    DB 30H,31H,32H,33H,34H,35H  ;0 1 2 3 4 5

          DB 36H,37H,38H,39H,3AH,80H,2EH   ;6 7 8 9 : 空格 .

TAB:      DB " MADE  IN  CHINA"      

;******写指令****

ENABLE:   CLR  RS              ;写入控制命令的子程序

          CLR  RW

          CLR  E

          ACALL CHECKBUSY

          SETB E

          RET

CHECKBUSY:MOV  IN_0,#0FFH      ;判断液晶显示器是否忙的子程序

          CLR   RS

          SETB  RW

          CLR   E

          NOP

          SETB  E

          JB   P0.7,CHECKBUSY  ;如果P0.7为高电平表示忙就循环等待

          RET

DELAYL:   MOV  R7,#100         ;延时程序   

D1:       MOV  R6,#200    

          DJNZ R6,$              

          DJNZ R7,D1             

          RET

          END


第二篇:基于单片机的液晶显示可调电子时钟


 

设计题目:基于单片机的可调电子时钟

    系:    电气工程系          

    业:            

    级:            

    名:            

指导教师:             

西南交通大学峨眉校区

    20##     5  15 

一  原理:

1.1单片机最小系统接线图原理:

图1

单片机最小系统是在以MCS-51单片机为基础上扩展,使其能更方便地运用于测试系统中不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。本课题设计主要利用MCS-51单片机I/O口,蜂鸣器,键盘。适合于我们学生用于单片机的学习掌握和一些各种科研立项等的需求。因此,研究单片机最小系统有很大的实用意义

1.2 LCD1602接线图:

图2

1.2.1  LCD1602的工作原理:

1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。

1.2.2 1602LCD主要技术参数:

显示容量:16×2个字符

芯片工作电压:4.5—5.5V

工作电流:2.0mA(5.0V)

模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

1.2.3 引脚功能说明:

第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:背光源正极。

第16脚:背光源负极。

1.2.4 控制命令表:

指令1:清显示,指令码01H,光标复位到地址00H位置。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标

1.3独立键盘接线图:

图3

P1口作为一般的输入输出口使用,如图所示:只要有按键按下,那么相应管脚的数值就会发生改变,这就是我们判断按键是否按下的原理,其中需要注意的就是由于单片机芯片运算速度快,在按键按下的时候由于按键具有抖动现象,所以我们必须要注意消抖,这是程序能够正确运行的关键,不能大意。

二 系统接线图原理:

图4

单片机应用系统是指微处理器用于工业测量控制功能所必备的硬件结构系统。在这幅图中,有复位电路,石英晶体振荡电路即时钟电路,两个独立键盘电路,IO接口电路,LCD1602接线电路。过程输入/输出通道包括模拟量输入/输出通道和开关量输入/输出通道两大部分。对模拟量信号的采集,需要经过模拟量输入通道的A/D转换器转换成数字信号,再通过接口送入微处理器进行加工处理、分析运算等。各部分的组合,就构成了硬件接线原理图,到达这一步,硬件设计就完成了,接下来的工作就是编程。

三 程序流程图:

图5

程序流程图用于程序的编写,是设计的核心。其中,开始阶段包含了各变量的赋值,各IO口的赋值,以及数组等的初始化。检测有无按键按下这个板块是核心也是难点,我们必须要注意消斗和松手检测。计算键值这个板块主要在于数值的计算,这需要自己完成,而计算机不能帮你完成,因此需要对二进制数与十六进制之间进行转化,所以要细心。送值显示是利用LCD1602来完成的,所以重点在编程。

四 程序:

#include<reg51.h>

#include<stdio.h>

sbit k1 = P1^1;       //位申明,根据硬件接线电路对必要的位进行定义,下同

sbit k2 = P1^5;

sbit k3 = P1^7;

sbit rs = P3^1;

sbit en = P3^5;

unsigned int num, m, n, i, j, h, d; //定义几个必要的变量

unsigned char tab[] = "   15:15:15"; //定义一个数组

unsigned char tab1[]="  It not easy";  //定义一个数组,简要说明此次编程的感受

void delay( int x)  //粗略延时函数,延时时间约为x毫秒

{

    int y;

    while(--x)

       {

            for( y=0;y<115;++y);

        }

}

void wtc( unsigned char ord)    //LCD写命令函数

{

    rs = 0;

    en = 1;

    P2 = ord;

    delay(1);

    en = 1;

    delay(2);

    en = 0;

}

void wtd( unsigned char dta)   //LCD写数据函数

{

    rs = 1;

    en = 0;

    P2 = dta;

    delay(1);

    en = 1;

    delay(5);

    en = 0;

}

void ini()           //初始化函数,对相关数据以及变量等初始化

{

    wtc(0x38);    //显示设置

    wtc(0x0c);    //光标设置

    wtc(0x06);    //显示方式设置

    wtc(0x01);    //清屏

    wtc(0x80);    //初始化地址

    TH0 = (65536-50000)/256;      //定时50ms时,对定时器装初值

    TL0 = (65536-50000)%256;      //同上

    m = 5;

    j = 0;

    d = 0;

    TMOD = 0x01;          //定时器方式等设置

    EA = 1;

    ET0 = 1;

    TR0 = 1;

    tab[3] = 1;

    tab[4] = 5;

    tab[6] = 1;

    tab[7] = 5;

    tab[9] = 1;

    tab[10] = 5;

    n = tab[3]*10+tab[4];

}

void displ( unsigned int addr,unsigned char dt)   // LCD命令和数据显示函数,负责在指定位置显示指定数据

{

   

    wtc(0x80+addr);            //指定地址

    wtd(0x30+dt);              //显示数据

}

void shix()     //时间显示函数,在指定位置显示 时,分,秒

{

        displ(4, tab[4]);

        displ(3, tab[3]);

        displ(7, tab[7]);

        displ(6, tab[6]);

        displ(10, tab[10]);

        displ(9, tab[9]);

}

                                                

void jishi()    // 计时函数,清0定时器的计量值同时改变对应 时,分,秒的值

{

        if(num==20)

         {

            num = 0;

            ++tab[10];

            if(tab[10]>9)

            {

                tab[10] = 0;

                ++tab[9];

                if(tab[9]>5)

                {

                    tab[9] = 0;

                    ++tab[7];

                    if(tab[7]>9)

                    {

                        tab[7] = 0;

                        ++tab[6];

                        if(tab[6]>5)

                        {

                            tab[6] = 0;

                            ++tab[4];

                            ++n;

                            if(n>23)

                            {

                                n = 0;

                                tab[4] = 0;

                                tab[3] = 0;

                            }

                            if(tab[4]>9)

                            {

                                tab[4] = tab[4]-10;

                            }

                                   

                        }

                           

                    }

                   

                 

                }

                       

            }

               

        }

}

void keyj()     // 数值加键判别函数,实现相应数值的加

{

        if(k2==0)

        {

            delay(5);

            if(k2==0)

            {

                while(!k2);     //消抖

                if(d==1)

                {

                    ++tab[4];

                    ++n;

                    if(n>23)

                    {

                        tab[4] = 0;

                        tab[3] = 0;

                        n = 0;

                    }

                    if(tab[4]>9)

                    {

                        ++tab[3];

                    }

                    if(tab[4]>9)

                    tab[4] = tab[4]-10;

                }

   

                if(d==2)

                {

                    ++tab[7];

                    if(tab[7]>9)

                    {

                        tab[7] = 0;

                        ++tab[6];

                        if(tab[6]>5)

                        tab[6] = 0;

                    }

                }

                if(d==3)

                {

                    ++tab[10];

                    if(tab[10]>9)

                    {

                        tab[10] = 0;

                        ++tab[9];

                        if(tab[9]>5)

                        tab[9] = 0;

                    }              

                }

            wtc(0x0c);         //关光标

            shix();

        }

    }

}

   

void keyg()     //功能键判别函数,实现按键的判定以及完成相应需要完成的工作

{

     if(k1==0)

     {

        delay(5);

        if(k1==0)

        {  

            while(!k1);     //消抖

            ++j;

            ++d;

            m = 1;

            TR0 = 0;       //关闭定时器

            if(j>3)

            {

                wtc(0x0c);

                j = 0;

                d = 0;

                m = 5;

                TR0 = 1;

            }

            if(j==1)

            {

                wtc(0x84);

                wtc(0x0f); 

            }

            if(j==2)

            {

                wtc(0x80+7);

                wtc(0x0f);

           

            }

                if(j==3)

            {

                wtc(0x80+10);

                wtc(0x0f);          //光标闪烁

               

            }          

        }

    }

    keyj();

}

void main()     //主函数,负责各个子函数的调用

{

    unsigned int i;

    ini();

    wtc(0x01);

    for(i=0;i<15;++i)

    wtd(tab[i]);

    wtc(0x80+0x40);

    for(i=0;i<15;++i)

    wtd(tab1[i]);

   

    while(1)

    {

        keyg();

        if(m==5)

        {

            shix();

            jishi();

        }             

    }

}

void tim0() interrupt 1          //中断函数

{

    TH0 = (65536-50000)/256;

    TL0 = (65536-50000)%256;

    ++num;                      //计数

}

五 仿真结果运行图

5.1:

图6

图6为没有按键按下时,时钟正常运行时的结果图,该图正确反映了时间的走动,完成了准确计时并且显示相应时间的任务,达到了此次课程设计的基本内容和基本要求之一,同时也是此次课程设计的第一个成功点。

5.2:

图7

图7为功能键在一轮循环中,第一次按下后的结果显示,此时定时器停止计时,并且光标在小时的个位开始闪烁,很明显,这是提醒我们调节时间,同时也是为调整时间按键做准备,以及为下一个需要调整的值做准备。

5.3:

图8

图8为功能键在一轮循环中第二次按下后的结果显示,其目的和用意同图7,当然,当我们再次按下功能键后,光标会在秒的个位显示,这里就不再重复显示了,当我们在一轮循环中第四次按下功能键后,光标会停止闪烁,并接着计时。

5.4:

图9

图9为数值加键按下后调整时间时的图,此时,每按一下数值加键,光标显示位置的数会加1,这一步就实现了时钟可调这一要求,当在一轮循环中,我们第四次按下功能键后,定时器恢复并继续计时,到此,可调电子时钟的设计完成。

六 课程设计心得体会:

通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

过而能改,善莫大焉。在课程设计过程中,我不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!

课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了有关单片机I/O口的使用以及矩阵式键盘的接法和扫描计算等等,加深了单片机编程软件以及仿真软件的应用,让我对单片机的认识以及操作更上一层楼。

我认为,在这次的实践中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实践结束之后变的更加成熟,会面对需要面对的事情。

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

七 参考文献:

《单片机原理及C51开发技术》西南交通大学出版社。

更多相关推荐:
单片机电子时钟课程设计报告

基于单片机电子时钟的设计绪论单片机自20世纪70年代问世以来以其极高的性能价格比受到人们的重视和关注应用很广发展很快单片机体积小重量轻抗干扰能力强环境要求不高价格低廉可靠性高灵活性好开发较为容易由于具有上述优点...

单片机电子时钟设计报告

科技创新实践[数字时钟设计][用AT89S52单片机设计电子时钟的实验报告]目录单片机的个性化电子钟设计报告1一、设计背景1二、作品介绍1三、设计目的及意义1四、设计要求1五、总体方案设计25.1硬件设计21.…

单片机电子时钟的设计报告

单片机电子时钟的设计目录1引言12设计任务与要求221设计题目222设计要求23系统的功能分析与设计方案331系统的主要功能332系统的设计方案333数码管显示工作原理434电路硬件设计5341设计原理框图53...

51单片机电子时钟设计报告

电子时钟实验报告全部代码在文档末尾51单片机LCD1602液晶显示屏平台下编程实现可直接编译运行目录一实验目的1二实验要求2三实验基本原理2四实验设计分析2五实验要求实现3A电路设计31整体设计32分块设计42...

51单片机电子时钟课程设计报告

第一部分设计任务和要求11单片机课程设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟可由按键进行调时和1224小时切换12单片机课程设计要求1能实现年月日星期时分秒的显示2能实现调时功能...

51单片机电子时钟课程设计报告

JINGCHUUNIVERSITYOFTECHNOLOGY单片机原理及应用课程设计报告题目电子时钟专业电气工程及其自动化班级20xx级电工2班学号20xx401020xx2姓名王贞指导教师邹云峰提交日期20xx...

基于单片机的电子时钟课程设计报告

目录一、引言二、设计课题三、系统总体方案四、系统硬件设计1.硬件电路原理图2.元件清单五、系统软件设计1.软件流程图2.程序清单六、系统实物图七、课程设计体会八、参考文献及网站九、附录一.引言单片机因将其主要组…

单片机电子钟设计报告

目录单片机的个性化电子钟设计报告作者黄淀钧吴耿彬09电信3班一设计背景2二作品简介2三设计目的与意义3四设计要求3五总体方案设计351硬件设计3511总原理图3512各模块设计4513器件清单752软件设计75...

单片机电子时钟毕业论文设计

单片机电子时钟的设计摘要单片机自20世纪70年代问世以来以其极高的性能价格比受到人们的重视和关注应用很广发展很快单片机体积小重量轻抗干扰能力强环境要求不高价格低廉可靠性高灵活性好开发较为容易由于具有上述优点在我...

基于C52单片机的电子时钟毕业设计论文

毕业论文设计开题报告2毕业论文设计成绩评定3摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展单片机的应用正在不断地走向深入由于它具有功能强体积小功耗低价格便宜工作可靠使用方便等特点因此特别适合于与控制...

基于单片机的电子钟设计毕业论文

基于单片机的电子时钟设计摘要20世纪末电子技术获得了飞速的发展在其推动下现代电子产品几乎渗透了社会的各个领域有力地推动了社会生产力的发展和社会信息化程度的提高同时也使现代电子产品性能进一步提高产品更新换代的节奏...

单片机电子时钟设计

单片机电子时钟设计课程设计论文任务书1单片机电子时钟设计2单片机电子时钟设计指导教师签字学生签字3单片机电子时钟设计4单片机电子时钟设计5单片机电子时钟设计目录摘要1第一章电子时钟的设计211电子时钟简介212...

单片机电子时钟设计报告(31篇)