基于AT89C51单片机的电子万年历设计 下载本文

黑龙江东方学院本科生毕业论文(设计)

24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。

(2)AT89C51引脚功能

AT89C51单片机为40引脚芯片如图3-1所示,在本设计中,主要用到P0口、P2口、P1.0口及P3.0、P3.1、P3.2口。

图3-1 AT89C51引脚图

AT89S51具有PDIP,TQFP和PLCC三种封装形式。上图就是PDIP封装的引脚排列,有40个引脚,32个外部双向输入/输出(I/O)端口;具有两个16位可编程定时器;中断系统是具有6个中断源、5个中断矢量、2级中断优先级的中断结构;震荡器频率0到33MHZ,因此我们在此选用12MHZ的晶振是比较合理的;具有片内看门狗定时器;具有断电标志POF等等。

P0口可作为通用I/O口,但须外接上拉电阻;作为输出口,每各引脚可吸收8各TTL的灌电流。作为输入时,首先应将引脚置1。P0也可用做访问外部程序存储器和数据存储器时的低8位地址/数据总线的复用线。在该模式下,P0口含有内部上拉电阻。在FLASH编程时,P0口接收代码字节数据;在编程效验时,P0口输出代码字节数据(需要外接上拉电阻)。

P1口:8位、双向I/0口,内部含有上拉电阻。

P1口可作普通I/O口。输出缓冲器可驱动四个TTL负载;用作输入时,先将引脚

5

黑龙江东方学院本科生毕业论文(设计)

置1,由片内上拉电阻将其抬到高电平。P1口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。

在FLASH并行编程和校验时,P1口可输入低字节地址。在串行编程和效验时,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。 P2口:具有内部上拉电阻的8位双向I/O口。

P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部CPU访问外部16位地址的存储器时,P2口提供高8位地址。当CPU用8位地址寻在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。

P3口用做输出口时,输出缓冲器可吸收4各TTL的灌电流;用做输入口时,首先将上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。 址外部存储时,P2口为P2特殊功能寄存器的内容。 P3口:具有内部上拉电阻的8位双向口。

引脚置1,由内部上拉电阻抬位高电平。若外部的负载是低电平,则通过内部上拉电阻向输出电流。

在与FLASH并行编程和校验时,P3口可输入某些控制信号。P3口除了通用I/O口功能外,还有替代功能如表3-1所示。

表3-1 P3口的第二功能 端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 各个功能 RXD(串行口输入端) TXD(串行口输出端) INT0(外部中断0请求输入端,低电平有效) INT1(外部中断1请求输入端,低电平有效) T0(定时/计数器0计数脉冲输入端) T1(定时/计数器1计数脉冲输入端) WR(外部数据存储器写选通信号输出端,低电平有效) RD(外部数据存储器读选通信号输出端,低电平有效)

6

黑龙江东方学院本科生毕业论文(设计)

3.2 时钟功能的实现

方案一:采用实时时钟芯片。

实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。计算机可通过中断或查询方式读取计时数据进行显示,因此计时功能的实现无需占用CPU的时间,程序简单。此外,实时时钟芯片多数带有锂电池做后备电源,具备永不停止的计时功能;具有可编程方波输出功能,可用做实时测控系统的采样信号等;有的实时时钟芯片内部还带有非易失性RAM,可用来存放需长期保存但有时也需变更的数据。由于功能完善,精度高,软件程序设计相对简单,且计时不占用CPU时间,因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。

方案二:软件控制。

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

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

7

黑龙江东方学院本科生毕业论文(设计)

3.3 复位电路

目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积

分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。我列举了2种方案进行比较:

方案一:采用手动复位,该方法线路简单。在系统运行过程中,有时可能需要对系统进行复位,以避免对硬件经常加电或断电而造成的伤害,我们可以采用手动复位的方式。如图3-2所示。

+5V

C1+ 22uFR2

200

R1

1K

GND

MCS-51VccRST/VPDVss图 3-2 手动上电复位电路

8