基于单片机的LCD1602电子时钟设计

发布者:快乐家庭最新更新时间:2022-04-02 来源: eefocus关键字:单片机  LCD1602  电子时钟 手机看文章 扫描二维码
随时随地手机看文章

学习任务:


(1)基本了解LCD1602
(2)基于51单片机用LCD1602实现分秒的计时;
(3)按键控制分秒的调整(两个按键分别控制分和秒的增加);
(4)能实现整时报时的功能(蜂鸣器响);
(5)了解下载模块、下载原理;
(6)基本上了解并使用DXP绘制PCB板


知识点总结:


一、LCD1602:


字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,本次使用的LCD1602为16*2型。


1、基本操作时序


1、1读状态:输入:RS=L,Rw=H,E=H      输出:D0~D7=状态字;
1、2写指令:输入:RS=L,Rw=L,D0~D7=指令码,E=高脉冲,输出:无;
1、3读数据:输入:RS=H,Rw=H,E=H      输出:D0~D7=数据;
1、4写数据:输入:RS=L,Rw=H,D0~D7=数据,E=高脉冲,输出:无;


2、状态字说明


STA7……STA0
D7……D0
STA0~6为当前数据地址指针的数值;STA7为读写操作使能  1 禁止  0 允许;
第一行取地址为80  第二行为80+40;


3、初始化设置


显示模式设置
00111000(0x38)
显示开关及光标设置
指令码
00001DCB   D=1开显示 ,D=0关
C=1显示光标,C=0关
B=1光标闪烁,B=0关
000001NS   N=1 当读或写一个地址后字符指针加一,且光标加一
N=0                                                   减                    减
S=1 写一个字符,整屏显示左移(N=1)或右移(N=0)以得到光标不移动而屏移动
S=0  不移动


4、指示码


80H+地址码(0-27H   40-67H)(只显示每行前十六位)
01H  显示清屏:1、数据指针清零  2、所有显示清零
02H  显示回车:数据指针清零


5、初始化过程(复位过程)


1、延时15ms
2、写指令38H(不检测忙信号)
3、延时5ms
4、写指令38H(不检测忙信号)
5、延时5ms
6、写指令38H(不检测忙信号)
7、写指令38H:显示模式设置
8、写指令08H:显示关闭
9、写指令01H:显示清屏
10、写指令06H:显示光标移动设置
11、写指令0cH:显示开及光标设置


二、计时器


1、TMOD


用于设置定时、计数器的工作方式,低四位用于T0,高四位用于T1
位                7           6        5          4             3         2          1         0
字节地址  GATE   C/T    M1      M0        GATE   C/T     M1       M0       TMOD


GATE是门控位,用于控制定时器的启动是否受外部中断源信号的影响,用软件使TCON中的TR0或者TR1 为1 ,就可以启动定时/计数器工作;GATE=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能使定时/计数器工作。即此时定时器的启动条件加上了INT0/1引脚为高电平这一条件;
C/T:定时/计数模式选择位  C/T=0为定时模式;C/T=1为计数模式;
M1M0:工作模式设置位


定时/计数有四种工作方式
M1M0        工作方式       说明
00                1                      13位定时器/计数器
01                2                      16位定时器/计数器
10                3                       8位自动重装定时/计数器
11                4                       T0分为两个独立的8位定时/计数器;T1此方式停止计数


方式3:只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数
工作方式3将T0分成两个独立的8位计数器TL0好TH0


2、初始化程序


对TMOD赋值,已确定T0和T1的工作方式
计算初值,并将其写入TH0、TL0或TH1、TL1
中断方式时,则对EA赋值,开放定时器中断
使TR0或TR1置位,启动定时、计数器定时或计数


学习过程:


通过视频或网上资料对LCD1602及TMOD定时器有个基本的认识并进行初始化操作;


分析问题:


首先使LCD1602能够基本的可以显示分秒位置;
再次能够使定时器能够实现每秒的增加,即对定时器设置成每秒变化,因为定时器为2^16us 所以为了使其能准确的在1s调整一位则在走一次定时器时实现50ms,然后重复走20次定时器时进行秒的增加;
在实现分秒增加的时候最好在按键的同时是定时器停止运行即TR0=0,然后显示光标及光标的闪烁即0x0f,然后每按一次使秒数增加,调整分时道理同上,在结束调整的时候使光标消失闪烁停止(0x0c),计时继续开始(TR0=1)
同时在主程序运行之前,按键扫描最好进行消抖处理,分秒程序放在主程序之前;


DXP画PCB板


先建立工程,再建立原理图及PCB 将这两个拖入工程中进行保存后开始在库中找元器件并进行连线,连线的同时注意引脚要确定连接好否则在导入PCB板时会出现错误,注意元器件的封装,没有封装的元器件不会导入PCB中
原理图画完之后导入PCB并没有错误的时候开始设置PCB板的大小及元器件的位置和连线,同时连线不要过于细,尽量将线连接适当。


学习过程中的问题


代码在写的过程中遇到卡壳没有思路的时候可以选择问学长或寻找网上的大神,通过理解他们写代码是的思路进行自己代码的修改,同时最主要的是在写代码的时候一定要细心,如果主函数的main打错之后代码运行检测会出现警告而不会有错误使自己判断错误。
在焊制板子的过程中打印图纸前注意元器件的方向,否则会导致元器件与事实相反,导致重新焊制并浪费器材。


关于PCB板镜像问题:
PCB有贴片的时候要考虑到镜像的问题,因为在PCB板上,我们看到的走线还有封装都是直插式直接可以对应放置的,这里从PCB到成品有两个镜像相互已经抵消(一个热转印到板子,一个是从布线的反面直插器件),但是贴片封装是从布线的那一面直接放置的,所以需要考虑到镜像问题
单层板:直插式器件的反面,而直插式器件一般都是在电路板的上面,因此贴片是在电路板的地面的。这样只需要在将贴片的器件在布线前镜像就可以了,方法就是针对该贴片进行X轴对称。


代码如下:

void key_scan()

{

    if(key1==0)

    delay_50us(100);

    if(key1==0)

    {

        TR0=0;

        AN++;

        while(!key1);

    }

        if(AN==1)

        {

            write_com(0x80+0x40+8);

            write_com(0x0f);

        if(key2==0)

        delay_50us(100);

        if(key2==0)

        {

           while(!key2);

            miao++;

            if(miao==60)

            {

               beef=~beef;

                    delay_50us(10);

             miao=0;

             fen++;

                    if(fen==60)

                        fen=0;

               write_shu(4,fen);

            }

            write_shu(7,miao);

        }

        }

        if(AN==2)

        {

            write_com(0x80+0x40+5);

            write_com(0x0f);

        if(key2==0)

        delay_50us(100);

        if(key2==0)

        {

           while(!key2);

               fen++;

                if(fen==60)

             fen=0;

            write_shu(4,fen);

        }

        }

         if(AN==3)

         {

             TR0=1;

             AN=0;

             write_com(0x0c);

         }

}

void int0 () interrupt 1

{

    TH0=(65536-50000)/256;

    TL0=(65536-50000)%256;

    num++;

    if(num==20)

        {

            num=0;

            miao++;

            if(miao==60)

            {

                miao=0;

                beef=~beef;

                delay_50us(10);

                beef=~beef;

                delay_50us(10);

                beef=~beef;

                delay_50us(10);

                beef=~beef;

                delay_50us(10);

                beef=~beef;

                delay_50us(10);

                beef=~beef;

                delay_50us(10);

 

                fen++;

                if(fen==60)

                {

                    fen=0;

                }

            }

          write_shu(4,fen);

            write_shu(7,miao);

        }

}

void main()

{

    init();

    while(1)

    {

        key_scan();

    }

}


关键字:单片机  LCD1602  电子时钟 引用地址:基于单片机的LCD1602电子时钟设计

上一篇:基于单片机的车辆防碰撞及自动刹车系统
下一篇:基于单片机的智能温度监测系统设计

推荐阅读最新更新时间:2024-11-17 17:30

北京君正:公司MCU主要配合公司LED驱动芯片,目前销量不大
9月13日,北京君正与投资者互动时表示,公司MCU主要配合公司LED驱动芯片,目前销量尚不大。 公开资料显示,北京君正为集成电路设计企业,自成立以来在嵌入式CPU、视频编解码、影像信号处理、神经网络处理器、AI算法等领域持续投入,形成自主创新的核心技术;基于这些核心技术,北京君正推出了微处理器芯片和智能视频芯片两条产品线,并且围绕着这两条产品线,研发了相应的软硬件平台和解决方案,帮助客户快速把产品推向市场。 今年上半年,北京君正各产品线市场需求旺盛,总体营业收入呈快速增长趋势,带动了净利润的持续增长。同时,北京君正因收购产生的存货、固定资产和无形资产等资产评估增值,其折旧与摊销等对北京君正报告期损益的影响金额合计为3,651.1
[手机便携]
基于合泰单片机的家校联系系统设计
目前,中小学生家长与教师间的常见联系方式有开家长会、打电话、教师家访、家长到校、家长签字等,这些传统方式都存在弊端,其效果都很不理想。现在已经有不少学校使用爱贝通系统,不过这种系统的缺点也很明显,其功能比较单一,只有学生到达学校和离开学校时 用短信通知家长的作用。加上采用的是IC卡的工作方式,刷卡前往往挤满了学生互相争抢,浪费时间且容易发生安全事故,学生很容易忘记刷卡而使家长着急,甚至一些不喜欢家长约束的高年级学生还会骗家长说学校的刷卡机坏了,所以这种系统在学校中的市场推广也并不理想。 针对以上问题,设计了一个基于HOLTEK单片机的家校联系系统。任课教师与学生家长可以用它很方便地建立起日常的联系,能够对学生在学校和家
[单片机]
基于合泰<font color='red'>单片机</font>的家校联系系统设计
基于单片机的智能小区监控系统的设计
  1. 引言   随着生活水平的不断提高,人们对居住环境的要求也大大提高,对信息服务和安全防范的要求尤为突出.如何利用计算机和通信技术在智能化小区家庭智能管理系统中,对住户家庭水表、电表、煤气表的自动计量以及火灾、煤气泄漏、入室盗窃等警情的实时监控已经成为信息产业的热点技术.利用CAN总线技术虽然有其开放式、数字化、多点通信等诸多优点,但将其用于智能住宅小区,却因其成本偏高,目前在我国还难以推广.为此,作者开发出一种设备简单,成本低廉,便于维护经济型智能小区家庭管理系统,能有效地实现三表自动采集计费,防盗、防灾、自动报警和远程监控等功能.利用单片机进行实时采集,并将采集的数据通过串行口传给PC机,PC机完成数据的运算、存储、和
[单片机]
基于<font color='red'>单片机</font>的智能小区监控系统的设计
HOLTEK推出HT68FB240 Low Speed USB Flash MCU
Holtek USB Flash MCU又多了1个新成员I/O型的Low Speed USB 8-bit Flash MCU -- HT68FB240。如之前所推出的HT66FB5x0与HT68FB5x0一样,HT68FB240均提供ICP / ISP / IAP等烧录模式,支持在线更新功能,可高达百万次的擦写次数。HT68FB240适用于鼠标、键盘、Gamepad、电视游戏外围、USB下载型遥控器、USB Key网络安全、有线或无线的计算机外设与消费性产品等。HT68FB240特别考虑到碳膜键盘的应用需求,研发出无需额外增加被动组件便可轻易克服碳膜高电阻值应用问题。 HT68FB240兼容于USB 2.0规范,并符合工规 (-40
[单片机]
基于51型单片机的远程灯控箱系统
电脑是现今信息时代的标志,通过电脑实现远程实时自动化控制是今后发展的一种趋势。在大型商场、饭店、体育场馆及娱乐场所里,通常有许多照明设备。以往的开关控制和电闸控制,常常需要工作人员频繁亲临现场操作,或向控制室拉接较长的220V电线,实时性、安全性都较差。为了实现工作人员在控制室可以对分散在各个房间的远端照明设备进行实时有效的状态控制及状态查询,笔者开发了一种基于单片机的远程灯控箱系统。该系统由一台PC上位机控制多台远端灯控箱,通过RS-485总线串行传送指令,传输距离最远可达1.2km,并增强串行通信协议的制定,降低了噪声干扰。一台灯控箱可对16路灯进行控制。灯控箱中选用SST89C58型单片机,其方便的IAP功能可在线下载Hex
[单片机]
基于51型<font color='red'>单片机</font>的远程灯控箱系统
STM8单片机串口驱动的深度解析
串口是单片机最重要的外设之一,在很多项目开发中都有应用,Lora模块的外部通讯方式就是串口。 本节简单的和大家解析一下串口通讯及驱动代码的编程。 STM8L101F3单片机支持一路串口通讯。我们先看一下Lora模块的硬件接口,如下图所示: 串口的硬件接口是PC2 和PC3两个脚位。 下面开始讲解软件部分,这块我们无际单片机编程也有这个项目全部视频教程,下面是文字版。 软件驱动 STM8打开标准库文件夹,打开串口USART例程: 2.如上图所示,是标准库中串口通讯的的例程,并选择第一个例程。 3.我们按照之前的方式,把USART_HyperTerminalInterrupt文件复制到ProjectSTM8
[单片机]
STM8<font color='red'>单片机</font>串口驱动的深度解析
单片机LED汉字点阵显示的设计详解
LED 显示屏是利用 发光二极管 点阵 模块 或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。 LED显示屏 发展较快,本文讲述了基于AT89C51单片机16×16LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。 1 硬件电路组成及工作原理 本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵
[电源管理]
<font color='red'>单片机</font>LED汉字点阵显示的设计详解
MCU基本技术原理与发展历史
一.单片机与单片微计算机系统 计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化就是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,通常把这种单片计算机简称单片机。准确而言,单片机(单片微型计算机)实际上是一种将CPU(中央处理器)、存储器和输入输出接口集成在一个芯片中的微型计算机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的,所以单片机又称微控制器MCU(MicroController Unit),又由于用它可以很容易地将计算机嵌入到各种仪
[焦点新闻]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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