论文定稿Word文件下载.docx
《论文定稿Word文件下载.docx》由会员分享,可在线阅读,更多相关《论文定稿Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
第四章电子时钟的设计——————————————————————15
4.1可实现的功能—————————————————————————15
4.2硬件设计流程—————————————————————————16
4.3软件设计流程—————————————————————————16
4.4电子时钟设计的部分主要流程——————————————————17
第五章电子时钟的仿真——————————————————————29
5.1单片机调试仿真软件——————————————————————29
5.2电子时钟的仿真————————————————————————30
5.3整机的仿真及调试———————————————————————32
第6章电子时钟在实际电路板上进行运行调试————————————32
第7章结束语———————————————————————————35
致谢——————————————————————————————36
参考文献—————————————————————————————36
摘要
传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。
单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。
它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。
而51系列的单片机是各单片机中最为典型和最有代表性的一种。
本文设计的电子时钟是基于51单片机,同时使用c语言为程序设计语言,从而克服传统电子时钟的弊端。
本设计拟实现的基本功能为单片机计时显示功能。
能够体现单片机电子时钟的可扩展优越性,加入时间调整程序,使用按钮,调整年月日及时间;
加入阴历显示功能。
关键词:
单片机,电子时钟,c语言
ABSTRACT
Traditionaldigitalelectronicclockwithagreateramountofdiscretecomponents,notonlytakesupalotofspaceandutilizationthanlow,asthesystemdesigncomplexitycontinuestoimprove,theclocksystemdesignusingtraditionalmethodsaredifficulttomeetthedesignrequirements.
MicrocontrollerisaCPU,RAM,ROM,timer/counterandavarietyofinterfacesinoneofthemicro-controller.Itssmallsize,lowcost,powerful,widelyusedinsmartproductsandindustrialautomation.And51ofthemicrocontrollerMCUisthemosttypicalandmostrepresentativeone.Thisdesignisbasedon51single-chipelectronicclock,usingbothassemblylanguagefortheprogramminglanguage,toovercomethedrawbacksofconventionalelectronicclock.
Thedesignofthebasicfunctionstobeachievedforthemicrocontrollertimerdisplay.SCMcanreflectthescalabilityadvantagesofelectronicclock,addtimetoadjust,theuseofbuttons,adjustthedateandtimeofyear,month;
tojointhelunarcalendardisplay.
Keywords:
microcontroller,electronicclock,assemblylanguage
第1章绪论
1.1单片机的定义
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一个小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分单片机还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来,最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小、更容易集成于复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳[1]。
单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已经渗透到各种嵌入式系统中。
可以毫不夸张地说:
掌握单片机技术是电子信息类专业学生就业的一个重要条件。
同时单片机技术又是一门实践性很强的学科。
只有我们不断地通过实践研究才能学习好单片机课程。
1.2单片机分类
按照单片机的类型,单片机有:
(1)51系列单片机,为首推系列单片机。
其中首推Intel公司的单片机4K字节的一次性程序存储器(OTP)。
(2)具有ISP功能的单片机,ISP功能能够实现在系统可编程,可以省去通用的编程器,单片机在用户板上即可下载和烧录用户程序,而无需将单片机从生产好的产品上取下。
(3)PIC系列单片机,PIC单片机系列是美国微芯公司(Microship)的产品,CPU采用RISC结构,具有精简的指令集。
PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。
具有在线调试及编程(ISP)功能。
(4)AVR单片机:
AVR单片机是Atmel公司推出的较为新颖的单片机)其显著的特点为高性能、高速度、低功耗。
AVR型号的管脚,与对应的51系列兼容。
(5)AT89S52单片机:
AT89S52是一种低功耗、性能高具有8K在系统可编程Flash存储器,向下完全兼容51子系列。
1.3单片机的特点
单片机是以工业测控对象、环境、接口特点出发向着增强控制功能,提高工业环境下的可靠性方向发展。
主要特点如下:
·
种类多,型号全
提高性能,扩大容量,性能价格比高
增加控制功能,向真正意义上的“单片”机发展
低功耗
1.4单片机的应用领域
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域[2],大致可分如下几个范畴:
·
在智能仪器仪表上的应用
在工业控制中的应用
在家用电器中的应用
在计算机网络和通信领域中的应用
单片机在医用设备领域中的应用
在各种大型电器中的模块化应用
此外,单片机在金融,科研、教育航空航天等领域都有着十分广泛的用途。
采用以上方案具有以下优势:
从经济性、可移植性、可推广性角度讲,建立这样的课程设计平台是非常有意义的;
利用仿真系统,可以节约开发时间和开发成本,同时具有很大的灵活性和可扩展性。
为了更好地学习单片机,我们采用Proteus软件与Keil软件整合构建单片机虚拟实验平台。
首先我们要在PC上利用Proteus软件自己搭建硬件电路,并利用系统提供的功能完成电路分析、系统调试和输出显示的硬件设计部分;
同时在Keil软件中编制程序,进行相应的编译和仿真,完成系统的软件设计部分。
当系统的设计工作完成后,就可以在PC上看到最终的运行效果。
最后再通过proteus设计PCB,再完成真正硬件的调试。
1.5电子时钟的特点及应用领域
时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机的应用系统中,时钟有两方面的含义:
一方面是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢[3];
另一方面是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:
一是用软件实现,即用单片机内部的可编程定时/计数器来实现,一是用专门的时钟芯片实现。
数字钟能长期、连续、可靠、稳定地下作;
同时还具有体积小,功耗低等特点,便于携带,使用方便。
同时由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表.钟表的数字化给人们生产生话带来了极大的方便,而且大大地扩展了钟表原先的报时功能,数字钟是采用数字电路实现对‘时、分、秒”数字显示的计时装置。
使得电子时钟广泛应用于个人家庭、车站、码头、办公室等场所的各个角落,已成为人们口常生话中不可缺少的必需品。
第2章AT89C51单片机简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼
容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示。
现在AT89S51/52已经取代了AT89C51/52。
图一51系列单片机DIP封装图
C51单片机的封装:
图一
图一系列单片机DIP封装图给出了双列直插式封装(DIP.Dualln-linePackage),DIP封装与MCS一51系列单片机的引脚完全兼容,可互换使用。
CMOS工艺制造的低功耗芯片也采用塑封方型扁平式封装(PQFP,PlasticQuadFlatPackage)和塑封有引线芯片载体封簇(PLCC,PlasticLeadedChipCarrier)形式.这两种封装采用44个引脚,其中4个引脚不用,其引脚排列如图二51系列单片机PQFP和PLCC封装图。
2.1管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2.2单片机的存储器
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式。
2.2.1程序存储空间
程序存储空间可以被映射为内部程序存储器或者外部程序存储器。
AT89C51单片机内部具有的4KB程序存储器被映射到程序存储空间的0000H~0FFFH区间。
这部分程序存储空间也可以被映射为外部程序存储器,它具体被映射为哪一种程序存储器取决于引脚(引脚31)所接的电平。
当引脚为高电平,内部程序存储器被映射到这部分程序存储空间;
当引脚为低电平,外部程序存储器被映射到这部分程序存储空间。
高于0FFFH的程序存储空间只能被映射为外部程序存储器。
2.2.2数据存储空间
AT89C51的内部数据存储器有256字节,它们被分为两部分:
高128字节和低128字节。
低128字节的内部数据存储器是真正的RAM区,可以被用来写入或读出数据。
这一部分存储容量不是很大,但有很大的作用。
它可以进一步被分为3部分,如图2.4所示。
图2.4内部数据存储器低128字节
在内部数据存储器低128字节中,地址从00H~1FH的最低32个字节组成4组工作寄存器,每组有8个工作寄存器。
每组中的8个工作寄存器都被命名为从R0到R7。
在一个具体时刻,CPU只能使用其中的一组工作寄存器。
当前正在使用的工作寄存器组由位于高128字节的程序状态字寄存器(PSW)中第3位(RS0)和第4位(RS1)的数据决定。
程序状态字寄存器中的数据可以通过编程来改变,这种功能为保护工作寄存器的内容提供了很大的方便。
如果用户程序中不需要全部使用4组工作寄存器,那么剩下的工作寄存器所对应的内部数据存储器也可以作为通用数据存储器使用。
工作寄存器在内部数据存储器中的地址映射如表1.1所示。
表1.1工作寄存器地址映射表
0组(RS1=0,RS0=0)
1组(RS1=0,RS0=1)
2组(RS1=1,RS0=0)
3组(RS1=1,RS0=1)
地址
寄存器
00H
R0
08H
10H
18H
01H
R1
09H
11H
19H
02H
R2
0AH
12H
1AH
03H
R3
0BH
13H
1BH
04H
R4
0CH
14H
1CH
05H
R5
0DH
15H
1DH
06H
R6
0EH
16H
1EH
07H
R7
0FH
17H
1FH
在工作寄存器区上面,内部数据存储器的地址从20H~2FH的16个字节范围内,既可以通过字节寻址的方式进入,也可以通过位寻址的方式进入,位地址范围从00H到7FH[5]。
字节地址与位地址的对应关系。
内部数据存储器地址从30H~7FH部分仅可以用作通用数据存储器。
内部数据存储器的高128字节被称为特殊功能寄存器(SFR)区。
特殊功能寄存器被用作CPU和在片外围器件之间的接口,它们之间的联系方框图如图2.5所示。
图2.5殊功能寄存器(SFR)工作框图
CPU通过向相应的特殊功能存储器写入数据实现控制对应的在片外围器件的工作,从相应的特殊功能存储器读出数据实现读取对应的在片外围器件的工作结果。
在AT89C51单片机中,包括前面提到的程序状态字寄存器(PSW)的特殊功能存储器共有26个,它们离散地分布在80H~FFH的内部数据存储器地址空间范围内[7],对于没有定义的存储单元用户不能使用。
如果向这些存储单元写入数据将产生不确定的效果,从它们读取数据将得到一个随机数。
对于字节地址低位为8H或者FH的特殊功能存储器,既可以进行字节操作,也可以进行位操作。
例如前面提到的用来确定当前工作寄存器组的程序状态字寄存器(PSW),它的地址为00H,因此对它可以进行字节操作,也可以进行位操作。
采用位操作可以直接控制程序状态字寄存器中的第3位(RS0)或第4位(RS1)数据而不影响其他位的数据。
低位地址不为8H或FH的特殊功能存储器只可以进行字节操作,当需要修改这些特殊功能存储器中的某些位时,对其他的位应注意保护。
片外数据存储空间可以被映射为数据存储器、扩展的输入/输出接口、模拟/数字转换器和数字/模拟转换器等。
这些外围器件统一编址,所有外围器件的地址都占用数据存储空间的地址资源,因此CPU与片外外围器件进行数据交换时可以使用与访问外部数据存储器相同的指令。
CPU通过向相应的外部数据存储器地址单元写入数据实现控制对应的片外外围器件的工作,从相应的外部数据存储器地址单元读出数据实现读取对应的片外外围器件的工作结果。
电路原理图:
从原理图中可知用到的元器件只要有AT89C51单片机一块、按键若干、电源模块、电阻电容若干、数码管、扬声器一个。
第三章数码管的简介
3.1数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
七段数码管的结构:
八段数码管的结构:
3.1.1数码管驱动方式的分类
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
数码管的静态显示:
所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒定地寻能可截止。
这种显示方法为每一们都需要有一个8位输出口控制。
对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态显示器接口。
静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU才