最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

单片机( 万年历)毕业设计论文

来源:动视网 责编:小OO 时间:2025-10-02 10:57:53
文档

单片机( 万年历)毕业设计论文

天津电子信息职业技术学院课程设计课题名称电子万年历的设计与制作姓名杨园园学号班级通信S11-1班专业通信技术所在系电子技术系指导教师曹金玲完成日期2013-01-04电子万年历的设计与制作摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历关键词:单片机;时钟电路;动态扫描;目录一、设
推荐度:
导读天津电子信息职业技术学院课程设计课题名称电子万年历的设计与制作姓名杨园园学号班级通信S11-1班专业通信技术所在系电子技术系指导教师曹金玲完成日期2013-01-04电子万年历的设计与制作摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历关键词:单片机;时钟电路;动态扫描;目录一、设
    

   天津电子信息职业技术学院

课 程 设 计

课题名称   电子万年历的设计与制作 

姓    名           杨园园         

学    号                          

班    级        通信S11-1班      

专    业          通信技术        

所 在 系         电子技术系       

指导教师           曹金玲         

完成日期          2013-01-04       

电子万年历的设计与制作

摘要

    单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历

关键词:单片机;时钟电路;动态扫描;

目录

一、设计要求与方案论证    6

1.设计要求:    6

2.系统基本方案选择:    7

(1)单片机芯片的选择方案和论证:    7

(2) 显示模块选择方案和论证:    7

(3) 显示器的结构    8

3.键盘模块的选择:    8

4.方案论证:    9

(1)技术可行性:    9

二、系统的硬件设计与实现    9

1. 电路设计框图:    9

2.系统硬件概述:    10

(1)控制模块    10

(2)结构    10

3.脚定义及功能    10

(1)源及时钟引脚    10

(2)控制引脚    10

(3)I/O口引脚    11

3.片外总线结构    11

4.要单元电路的设计:    11

(1)控制模块的设计:    11

(2)模块器件    12

(3)电路模块的设计    14

(4)电路原理及说明    15

(5)数据的输出与输入(I/O)    16

(6) DS1302的寄存器    16

5. 显示模块的设计    17

三、系统的软件设计    18

1. 程序流程框图:    18

2. 子程序的设计:    21

(1) 键盘子程序的实现:    21

(2).读写DS1302子程序    21

3.系统硬件电路设计:    23

4.系统硬件PROTEUS仿真原理图:    24

5.主要单元电路的设计:    24

(1)显示4.1 显示部分设计    24

(2)键盘接口:    25

(3)按键开关去抖动问题:    25

(4)查询式按键及其接口:    26

(5)矩阵式键盘及其接口    26

(6)键盘扫描控制方式:    26

四、测试结果分析与结果    27

1. 测试结果分析    27

(1)在测试中遇到LEDLCD16824不显示    27

(2)按键调整时,不是按单位递增和递减    28

五、系统评价    28

六、系统程序清单    28

七、谢辞    31

八、参考文献    31

绪论

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。

二十一世纪的今天,最具代表性的计时产品就是电子时钟,它是近代世界钟表业界的第三次。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次就是单片机数码计时技术的应用,使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期的显示功能,它更符合消费者的生活需求!因此,电子时钟的出现带来了钟表计时业界跨跃性的进步……  

本设计采用的是ATS52单片机,该单片机采用的MCU51内核,因此具有很好的兼容性,内部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序更加方便。

计时芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。

通过此次设计能够更加牢固的掌握单片机的应用技术,增强动手能力、硬件设计能力以及软件设计能力。

一、设计要求与方案论证

1.设计要求:

本电子时钟能动态显示分钟、秒。

2.系统基本方案选择:

(1)单片机芯片的选择方案和论证:

方案一: 

采用C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

方案二:

    采用ATS52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。

所以选择采用ATS52作为主控制系统.

方案三:

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。

(2) 显示模块选择方案和论证:

方案一:

    采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.

方案二:

     采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.

方案三:

采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。

  LED显示数码管

常见的LED显示具有清晰明亮的特点。是显示接口也是绝大多数单片机应用系统必备的部件之一。

发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。

所以采用了LED数码管作为显示。

(3) 显示器的结构

常用的7段显示器的结构如图所示,发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。1位显示器由8个发光二极管组成,其中7个发光二极管a~g控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗,这种笔画的七段显示器能显示的字符较少,字符的形状有些失真,但失控简单,使用方便。

3.键盘模块的选择:

在对日期和时间进行切换,对日期和时间进行调节校准过程中,系统需要产生激励电流,因此需要用按键。

     方案一:使用式键盘。式键盘是指直接用I/O口线构成的单个按键电路。式按键电路配置灵活,软件结构简单。

     方案二:使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适合按键数量较多的场合。

     根据以上的论述,因本系统需要的按键不多,日期加1键,月数加1键,年数加1键,分数加1键,时数加1键,时间/日期切换键,要求简单。所以采用方案一式键盘。

4.方案论证:

 (1)技术可行性:

随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行I/O口、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元、PWM控制输出单元、PWM输出时的死区可编程控制功能等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业流水线控制系统、作为家用电器的主控制器、分布式控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。

 ①单片机的出现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:

 ②单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。

 ③系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。

 ④由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。有优异的性能、价格比。

综上各方案所述,对此次作品的方案选定: 采用C52作为主控制系统; LED数码管动态扫描作为显示。

二、系统的硬件设计与实现

1. 电路设计框图:

ATC52

主控制模 块

 

2.系统硬件概述:

(1)控制模块

ATS52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能地作输出或输入。如图所示。

(2)结构

按功能分为8部分:CUP,程序存储器,数据存储器,时钟电路,串行口,并行I/O口,中断系统,定时/计数器。

3.脚定义及功能

(1)源及时钟引脚

Vcc:接+5V 电源

Vss:接地

XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

(2)控制引脚

RST/Vpq:RST是复位信号输入端,Vpd是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。

当主电源Vcc发生故障而突然下降到一定低电压或断电时,第2功能Vpd将为片内RAM提供电源以保护片内RAM中的信息不丢失。

ALE/PROG:地址锁存允许信号输入端。在存取外存储器时,用于锁存低8位地址信号。当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固外程序时,作为编程脉冲输入端。

PSEN:程序存储器允许输出端。当片外程序存储器的读选通信号,低电平有效。CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。

EA/Vpp:程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令;当EA为低电平时,CPU只执行片外程序存储器指令。

(3)I/O口引脚

P0.0~P0.7:P0口8位双向I/O口;

P1.0~P1.7:P1口8位准双向I/O口;

P2.0~P2.7:P2口8位准双向I/O口;

P3.0~P3.7:P3口8位准双向I/O口。

3.片外总线结构

分为三部分:数据总线 Data Bus(DB),地址总线 Address Bus (AB),控制总线 Control Bus(CB).

本电路是由ATC52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由4个数码管,74ls138、74ls47译码器构成。使用动态扫描显示方式对数字的显示。

4. 单元电路的设计:

(1)控制模块的设计:

① 单片机原理

单片机就是简化的微型计算机。CPU中本身自带存储器ROM和RAM。CPU片内也有总线。IC(集成电路)技术是将电路通过特殊工艺做在一块硅基片上封装成芯片,比如CPU,片外存储器等等。 

将单片机CPU(比如51系列),晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等通过PCB工艺(比如SMT贴片,或者插装)做在环氧树脂板上。这样才是一个完整的单片(做在一块PCB板上)的微型计算机。 

    ATS52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能地作输出或输入。

单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.  如图-1 所示

图-1 主控制系统

(1)一个8位的微处理器(CPU)

(2)片内数据存储器RAM(128B/256B)

(3)片内程序存储器ROM/EPROM(4kB/8kB)

(4)4个8位并行I/O拉口P0-P3,每个口既可以作输入也可以作输出

(5)2个16位定时器/计数器

(6)5个中断源的中断控制系统

(7)1个全双工的串行I/O接口

(8)片内时钟振荡器

(2)模块器件

 ①74LS1

它是个串入并出的8位移位寄存器,它常用于单片机系统中,下面结束一下这个元件的基本知识:

74LS1引脚图

74LS1_内部功能图

74LS1_逻辑符合表

串行输入带锁存 

时钟输入,串行输入带缓冲 

异步清除 

最高时钟频率可高达36Mhz 

功耗:10mW/bit 

74系列工作温度: 0°C to 70°C 

Vcc最高电压:7V 

输入最高电压:7V 

高电平:-0.4mA 

低电平:8mA

(3)电路模块的设计

图-2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。

                图-2 DS1302的引脚图

(4)电路原理及说明

①时钟芯片DS1302的工作原理:

DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”

是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。

② DS1302的控制字节:

DS1302的控制字如表-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

(5)数据的输出与输入(I/O)

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图-4所示

图-4  DS1302读/写时序图

(6) DS1302的寄存器:

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表-1。

表-1 DS1302的日历、时间寄存器

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 

5. 显示模块的设计

如图-5所示,采用动态扫描显示,由21个数码管,3-8译码器74LS138接1K限流电阻,再接8550三极管接到共阳数码管的CoM端作为选通位码,每位选择相应的列。74ls47接240Ω限流电阻,再接共行的LED数码管的断码。

图-5 LED动态扫描显示

三、系统的软件设计

1. 程序流程框图:

图-A 主程序流程图

图-B计算阳历程序流程图

图-C 时间调整程序流程图

2. 子程序的设计:

(1) 键盘子程序的实现:

键盘示意图如图所示

                           

图21 按键示意图

主要函数模块(C语言):

函 数 名: void key_count()

功能描述:设置状态转换函数,根据变量count的不同值,对应不同的设置状态按下设置键,自动切换设置位

函 数 名: void key_out()

功能描述:跳出设置模式

函 数 名: uchar key_up(int temp,int max,int min)

功能描述: 按键加函数,在最大值与最小值之间变化

函 数 名: uchar key_down(int temp,int max,int min)

功能描述: 按键减函数,在最大值与最小值之间变化

函 数 名:void set_year();  void set_month(); void set_day(); void set_hour();

void set_minute(); 

(2).读写DS1302子程序

  CLR SCLK

  NOP

  SETB RST

  NOP

  MOV A,32H

  MOV R4,#8

WRITE1:

  RRC A   ;送地址给1302

  NOP

  NOP

  CLR SCLK

  NOP

  NOP

  NOP

  MOV IO,C

  NOP

  NOP

  NOP

  SETB SCLK

  NOP

  NOP

  DJNZ R4,WRITE1

  CLR SCLK

  NOP

  MOV A,31H

  MOV R4,#8

WRITE2:

  RRC A

  NOP     ;送数据给1302

  CLR SCLK

  NOP

  NOP

  MOV IO,C

  NOP

  NOP

  NOP

  SETB SCLK

  NOP

  NOP

  DJNZ R4,WRITE2

  CLR RST

  RET

;读1302程序

READ:

  CLR SCLK

  NOP

  NOP

  SETB RST

  NOP

  MOV A,32H

  MOV R4,#8

READ1:

  RRC A   ;送地址给1302

  NOP

  MOV IO,C

  NOP

  NOP

  NOP

  SETB SCLK

  NOP

  NOP

  NOP

  CLR SCLK

  NOP

  NOP

  DJNZ R4,READ1

  MOV R4,#8

READ2:

  CLR SCLK

  NOP ;从1302中读出数据

  NOP

  NOP

  MOV C,IO

  NOP

  NOP

  NOP

  NOP

  NOP

  RRC A

  NOP

  NOP

  NOP

  NOP

  SETB SCLK

  NOP

  DJNZ R4,READ2

  MOV 31H,A

  CLR RST

  RET

3.系统硬件电路设计:

本设计硬件电路图如下

4.系统硬件PROTEUS仿真原理图:

5.主要单元电路的设计:

(1)显示4.1 显示部分设计

基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒 ,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间, 其他位均以此为基准往上累加。 同时时钟达到最大值的时候天数也增加一位,知道显示了7后再变为1,同时阴历和阳历的天数也加1,根据不同的月份显示的天数阳历有28,29,30,31天,阴历就要经过计算得到,到了12个月后,年数自动增加1,以此类推,显示万年历的现实。

另外,连接方式总电路图上可以看到,这里就不做说明了,下图为显示部分的电路图。

显示部分电路图电路:

显示部分采用普通的共阳数码管显示,采用动态扫描,以减少硬件电路。采用动态扫描,显示时采用串行口输出段码。

(2)键盘接口:

键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段

(3)按键开关去抖动问题:

按键开关在电路中的连接如图所示。按键未按下时,A点电位为高电平5V;按键按下时,A点电位为低电平。A点电位就用于向CPU传递按键的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图2-11b所示,键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。

图2.3 键操作和键抖动

为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。根据抖动特性,在第一次检测到按键按下后,执行一段延时5~10ms让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给5~10ms的延时,待后延抖动消失后才转入该键处理程序。

(4)查询式按键及其接口:

盘与CPU的连接方式可以分为查询按键和矩阵式键盘。查询式按键是各按键相互,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上按键的工作状态。查询式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大,且电路结构显得繁杂。故这种形式适用于按键数量较少的场合。

(5)矩阵式键盘及其接口

矩阵式键盘又称行列式键盘,有n个行线和m个列线,经限流电阻接+5V电源上,按键跨接在行线和列线上,n×m行列结构可构成mn个按键,组成一个键盘。与式按键相比,mn个按键只占用m+n根I/O口线,因此适用于按键较多的场合。

当无键闭合时,相应的I/O之间开路。当有键闭合时,与闭合键相连接的两条I/O口线之间短路。判断有无键按下的方法是:第一步,置列线相关I/O口为输入态,从行线相对应的I/O口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,置行线相关I/O口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等待近按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。

(6)键盘扫描控制方式:

在单片机应用系统中,对键盘的处理工作仅是CPU工作内容的一部分,CPU还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用CPU太多时间,又需要CPU对键盘操作及时作出响应。CPU对键盘处理控制的工作方式有以下几种:

 ①程序控制扫描方式

程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求。

 ② 定时控制扫描方式

定时控制扫描方式是利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。

 ③中断控制扫描方式

中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下时,CPU执行正常工作程序。当有按键按下时,CPU立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。图即工作于中断方式的矩阵式键盘接口电路。在初始化时P1.4~P1.7置输出0,P1.0~P1.3置为输入态,P1.0~P1.3分别接至与门各输入端。当有键闭合时=0,CPU中断后,在中断服务子程序中,再完成键识别和键功能处理。

图5.2.3工作于中断方式的矩阵式键盘接口电路

四、测试结果分析与结果

1. 测试结果分析

(1)在测试中遇到LEDLCD16824不显示

分析:首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏。再接着研究程序的时序图是否正确。最后发现程序时序方面出了点小错。修改后就把问题解决了。

(2)按键调整时,不是按单位递增和递减

分析:在键盘程序中,按键一次,向芯片写入一个新的数字,在写入数字后必须有一定延时才再写入另一个数字。

五、系统评价

该设计利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时,该方案节省硬件成本,且能使设计者对单片机的指令系统能有更深入的了解,从而掌握单片机应用技术MCS-52 c语言程序设计方法,因此,本系统设计采用此种软件控制方法来实现时,而由于ATMEL公司的ATC52单片机是低功耗的具有4KB在线可编程FLASH存储器的单片机。它与通用80C52系列单片机的指令第和引脚兼容。片内的FLASH集成在一个芯片上,形成了功能强大、使用灵活和具有较高性能价格比的微控制器。它的功能强大,而且也较容易购买。

总结:所要实现的功能通过单片机编程就可以达到,不需要额外的时钟芯片来增加成本,并使外围电路更加简单明了。

六、系统程序清单

/*

1、按键可以调整当时时间

2、按键可以调节定时时间

3、定时时间到继电器吸合

*8位数码管显示 时间格式格式 12-30-30 表示:12点30分30秒

S1 用于小时 加1操作  

S2 用于小时减1操作

S3 用于分钟 加1操作

S4 用于分钟减1操作

;********************************

  ;*        万年历程序         *

;********************************

61H(分)60H(秒)

    

              SCLK  EQU  P3.2

                  IO    EQU  P3.3

                  RST   EQU  P3.4

                  YEAR  DATA 66H

                  MONTH DATA 65H

                  WEEK  DATA H

                  DAY   DATA 63H    

                  HOUR  DATA 62H

                  MINTUE DATA 61H

                  SECOND  DATA 60H

                  DS1302_ADDR DATA 32H

                  DS1302_DATA DATA 31H

                  ORG  0000H

                  AJMP START

                  ORG  0003H

                  RETI

                  ORG  000BH

                  RETI

                  ORG  0013H

                  RETI

                  ORG  001BH

                  LJMP INTT1

                  ORG  0023H

                  RETI

                  ORG  002BH

                  RET

START:   SETB EA

          MOV SCON,#00H    ;串行输出,方式0

          MOV TMOD,#10H    ;计数器1,方式1

          MOV TL1,#00H

          MOV TH1,#00H

MOV 74H,R1

         MOV 44H,R1

 MOV 75H,R2

         MOV 45H,R2

         MOV R0,MINTUE   ;分分离,送显示缓存

         LCALL DIVIDE

         MOV 72H,R1

 MOV 42H,R1

 MOV 73H,R2

         MOV 43H,R2

         MOV R0,SECOND   ;秒分离,送显示缓存

 LCALL DIVIDE

 MOV 70H,R1

MOV 40H,R1

 MOV 71H,R2

         MOV 41H,R2

         LCALL DIS

    七、谢辞

在整个设计过程中,发挥团队精神,分工合作,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识,完成了对万年历的设计,达到了预期的目的。在最初的设计中,相互学习、相互讨论、研究,完成了最初的设想。相互学习、相互讨论、研究,完成了最初的设想。

在实训的日子里,通过亲自动手实践,巩固了以前的知识,发现了自己的不足然后加以改进。

在做论文设计的日子里得到了指导教师的悉心指导,在此向我们的指导教师致以诚挚的谢意。感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的作品完成有了信心和动力,也给了我们很多无私的帮助和支持,我们在此深表谢意。

八、参考文献

[1] ATMEL公司ATS52单片机中文PDF资料;

[2] 天津锐志单片机开发网;

[3] http://wenku.baidu.com/view/397252290066f5335a8121b5.html;

[4] 祝诗平. Proteus和Keil软件在单片机教学中的应用[J] .西南农业大学学报(社会科学版),2011(2);

[5] 王庆利.单片机设计案例实践教程[M].北京邮电大学出版社,2008;

[6]刘松,曹金玲.《单片机技术与应用》.机械工业出版社.2000。

文档

单片机( 万年历)毕业设计论文

天津电子信息职业技术学院课程设计课题名称电子万年历的设计与制作姓名杨园园学号班级通信S11-1班专业通信技术所在系电子技术系指导教师曹金玲完成日期2013-01-04电子万年历的设计与制作摘要单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历关键词:单片机;时钟电路;动态扫描;目录一、设
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top