工程技术学院
课程设计
题
专
年
学
姓
目:用单片机 AT89C51 设计一个 2 位的 LED 数码显示作为“秒表”
业: 电气工程及其自动化
级: 2009 级
号:
20091447 20091414 20091444
名: 付忠林
梁宗林
李 座
指导教师: 杨 彦 鑫
日
期: 2012 年 12 月 12 日
云南农业大学工程技术学院
单片机课程设计
目 录
一、设计题目和要求:..................................................................................................................2
二、设计目的: ............................................................................................................................ 3
三、设计内容:..............................................................................................................................4
四、课程设计心得体会................................................................................................................21
五、参考文献................................................................................................................................22
六、课程设计指导教师评审标准及成绩评定............................................................................23
附件 1:秒表原理图(实际接线图).........................................................................................24
附件 2:仿真图 1............................................................................................................................25
附件 3:仿真图 2..........................................................................................................................26
1
单片机课程设计
一、设计题目和要求:
题目三:秒表
应用 AT89C51 的定时器设计一个 2 位的 LED 数码显示作为“秒表”:显示时间为 00~
99s,每秒自动加 1,设计一个“开始”键,按下“开始”键秒表开始计时。设计一个
“复位”键,按下“复位” 键后,秒表从 0 开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林
负责程序和仿真。
2
单片机课程设计
二、设计目的:
1.进一步掌握 AT89C51 单片机的结构和工作原理;
2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;
3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;
4.掌握 PROTEUS 仿真软件的使用方法;
5.掌握 LED 数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有
正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
3
单片机课程设计
三、设计内容:
了解 8051 芯片的的工作原理和工作方式 ,使用该芯片对 LED 数码管进行显示控制,
实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功
能,精确到 1 秒。
AT89C51 单片机的主要工作特性:
·内含 4KB 的 FLASH 存储器,擦写次数 1000 次;
·内含 28 字节的 RAM;
·具有 32 根可编程 I/O 线;
·具有 2 个 16 位可编程定时器;
·具有 6 个中断源、5 个中断矢量、2 级优先权的中断结构;
·具有 1 个全双工的可编程串行通信接口;
·具有一个数据指针 DPTR;
·两种低功耗工作模式,即空闲模式和掉电模式;
·具有可编程的 3 级程序锁定定位;
AT89C51 的工作电源电压为 5(1±0.2)V 且典型值为 5V,最高工作频率为 24MHz.
AT89C51 各部分的组成及功能:
4
单片机课程设计
振荡器和时
钟电路
程序存储器
14KB
数据存储器
128 字节
两个 16 位定时器
计数器
CPU
中断
控制
内
部
总
线
总线扩展控
制器
并行可编程
I/O 口
可编程
串行口
外部中断
扩展控制
P0 P1 P2 P3
RXD
TXD
1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和
控制器两部分。
片内 ROM
地址寄存器
暂存器 1
B 寄 存
器
AC
CC
暂存器 2
(1) 运算器
PSW
ALU
PC 增量器
程 序 计 数
器
PC
指
令
译
码
器
指
令
寄
存
器
定
时
及
控
制
PSEN
ALE
EA
RST
运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元 ALU、
逻
振 荡
器
XTAL1
XTAL2
5
单片机课程设计
2.累加器 ACC、B 寄存器、程序状态字 PSW 和两个暂存器等。
(1) ALU 是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运
算包括加、减、乘、除、增量、减量、BCD 码运算;逻辑运算包括“与”、“或”、“异或”、
左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。
暂存器 1 和暂存器 2 是 ALU 的两个输入,用于暂存参与运算的数据。ALU 的输出也是两
个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序
状态字 PSW,用于存储运算和操作结果的状态。
累加器是 CPU 使用最频繁的一个寄存器。ACC 既是 ALU 处理数据的来源,又是 ALU 运算
结果的存放单元。单片机与片外 RAM 或 I/O 扩展口进行数据交换必须通过 ACC 来进行。
B 寄存器在乘法和除法指令中作为 ALU 的输入之一,另一个输入来自 ACC。运算结果存
于 AB 寄存器中。
(2)控制器
控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包
括程序计数器 PC、PC 增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能
是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51 单片
机中,PC 是一个 16 位的计数器,可对 64KB 程序存储器进行寻址。复位时 PC 的内容是 0000H.
(3)存储器
单片机内部的存储器分为程序存储器和数据存储器。AT89C51 单片机的程序存储器采
用 4KB 的快速擦写存储器 Flash Memory,编程和擦除完全是电器实现。
(4)外围接口电路
AT89C51 单片机的外围接口电路主要包括:4 个可编程并行 I/O 口,1 个可编程串行口,
2 个 16 位的可编程定时器以及中断系统等。
AT89C51 的工作原理:
3.引脚排列及功能
AT89C51 的封装形式有 PDIP,TQFP,PLCC 等,现以 PDIP 为例。
6
单片机课程设计
(1)I/O 口线
·P0 口 8 位、漏极开路的双向 I/O 口。
当使用片外存储器及外扩 I/O 口时,P0 口作为低字节地址/数据复用线。在编程时,
P0 口可用于接收指令代码字节;程序校验时,可输出指令字节。P0 口也可做通用 I/O 口使
用,但需加上拉电阻。作为普通输入时,应输出锁存器配置 1。P0 口可驱动 8 个 TTL 负载。
·P1 口 8 位、准双向 I/O 口,具有内部上拉电阻。
P1 口是为用户准备的 I/O 双向口。在编程和校验时,可用作输入低 8 位地址。用作
输入时,应先将输出锁存器置 1。P1 口可驱动 4 个 TTL 负载。
·P2
8 位、准双向 I/O 口,具有内部上拉电阻。
当使用外存储器或外扩 I/O 口时,P2 口输出高 8 位地址。在编程和校验时,P2 口接
收高字节地址和某些控制信号。
·P3
8 位、准双向 I/O 口,具有内部上拉电阻。
P3 口可作为普通 I/O 口。用作输入时,应先将输出锁存器置 1。在编程/校验时,P3
口接收某些控制信号。它可驱动 4 个 TTL 负载。
(2)控制信号线
·RST 复位输入信号,高电平有效。在振荡器稳定工作时,在 RST 脚施加两个机器周
期以上的高电平,将器件复位。
·EA/VPP
外部程序存储器访问允许信号 EA.
当 EA 信号接地时,对 ROM 的读操作限定在外部程序存储器,地址为 0000H-FFFFH;当 EA 接
VCC 时,对 ROM 的读操作从内部程序存储器开始,并可延续至外部程序存储器。在编程时,
该引脚可接编程电压 5V 或 12V。在编程校验时,该引脚可接 VCC。
·PSEN 片外程序存储器读选通信号 PSEN,低电平有效。在片外程序存储器取指期间,
当 PSEN 有效时,程序存储器的内容被送至 P0 口;在访问外部 RAM 时,PSEN 无效。
·ALE/PROG
低字节锁存信号 ALE.在系统扩展时,ALE 的下降沿将 P0 口输出的低 8
位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。此外,ALE 端
连续输出正脉冲,频率为晶振频率的 1/6,可做外部定时脉冲使用。
(3)外部晶振引线
·XTAL1 片内振荡器反向放大器和时钟发生线路的输入端。使用片内振荡器时,连
7