1、单片机原理及系统课程设计单片机原理及系统课程设计 专专 业:业:电气工程及其自动化 班班 级:级: 电气 1001 班 姓姓 名:名: 学学 号:号: 指导教师:指导教师: 2013 2013 年年 3 3 月月 7 7 日日 评语: 考勤(10) 守纪(10) 过程(40) 设计报告(30) 答辩(10) 总成绩(100) 摘要摘要 此设计以 AT89C51 单片机为核心控制元件,与数码管和蜂鸣器和按键结合, 在应用C 语言来实现电子时钟的显示和调制功能。 本次设计运用了KEIL和Protues 仿真软件来进行调试,并给出了完整的设计电路和 KEIL 程序代码,并画出了编程 的逻辑流程图。通
2、过调试和运行,最终完成了一个完整的电路仿真,其功能是实 现时间和日历的现实并且都能进行相应的调整,同时还能进行闹铃的设置并在达 到预定的时间时闹铃。 一、电子时钟功能概述一、电子时钟功能概述 本次电子时钟作品分由单片机部分、数码管显示部分、按键部分和蜂鸣器电 路相互连接组成。这样硬件部分就组成了一个电子时钟的基本完整的电路。电子 时钟的工作过程是:接通电源时时钟开始工作,时钟分为三个状态:正常计时、 显示日历、显示闹铃,分别按下闹铃按键和日历按键就可以显示当前的日历和设 置的闹铃时间。在这三个状态下按下设置键就可以对相应的状态进行设置,同时 对应的数码管位开始闪烁,当按下调时键时就可以对相应的
3、位进行调整,当再次 切换相应的功能时数码管就停止闪烁,同时设置完成。当时间到达闹铃设置时间 视蜂鸣器就会响起并响一分钟结束。 二、硬件电路和资料二、硬件电路和资料 1、AT89C51 单片机单片机 本设计采用 Atmel公司生产的单片机 AT89C51 实现主要功能, AT89C51 的引 脚图如 2-1 所示: 图 2-1 单片机的引脚 各引脚功能情况为: Vcc:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O
4、口,P2 口缓冲器可接收,输 出 4TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的 缘故。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器 进行读写时,P2 口输出其特殊功能寄存器的内容。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口功能引脚简介: P3.0:
5、RXD(串行口输入) P3.1:TXD(串行口输出) P3.2:INT0(外部中断 0) P3.3:INT1(外部中断 1) P3.4:T0(定时器 0 外部脉冲输入) P3.5:T1(定时器 1 外部脉冲输入) P3.6:WR(外部数据存储器写选通) 2、LED 数码管数码管 为了节省 I/O 口的使用,本设计采用的是动态显示,其工作原理为:采用各数 码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看 不出闪烁显示现象。将所有 LED 的段选线并联在一起,由一个八位 IO 口控制, 而位选线分别由相应的 IO 口线控制。其中一个控制段选码,另一个控制位选。 动态显示器电路
6、如图 2-2 所示。 图 2-2 八位 LED 动态显示电路 3、独立键盘、独立键盘 利用 4 个自复式常开按钮开关作为功能键,KEY0KEY3 分别为设置、调时、 闹铃、日历三、硬件电路设计图。 三、总体电路设计三、总体电路设计 图 3-1 总体电路图 四、程序流程图四、程序流程图 根据以上硬件电路和单片机控制原理,搭建编程思路,程序流程图如图 4-1 所 示: 图 4-1 程序流程图 五、仿真及其结果五、仿真及其结果 仿真方法是: (1)在 Keil C51 仿真软件下创建项目,并把上述源程序添加到项目中,通过编 译产生一个“.hex“为后缀的文件,此文件就是用于烧写到 Proteus 软件中 AT89C51 芯片的文件,参考文献2。 (2)把生成的“.hex“为后缀的文件添加到Proteus软件中绘制的 AT89C51芯片中 作为控制程序。 (3)在 Proteus 软件仿真电路图中点击左下角的运行按钮,电子时钟就会开始计 时,并显示如图所示: 图 5-1