基于Proteus的51单片机动态数码管课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总评成绩
-2-
目录
课程设计(论文)
一、概述 ......................................................... 1
1. 单片机简介.......................................................1 2. Proteus 简介 .....................................................2 3. 设计任务与要求...................................................3
二、硬件设计......................................................3
1. 单片机最小系统设计...............................................1 2. 数码管显示部分...................................................4 3. 数码管驱动部分...................................................5
学 号: 201200558
单片机课程设计
题目 学院 专业班级 姓名 组员 指导教师
动态数码管显示 机电工程学院 电子信息工程 12-1 班
杨宝山
张少蔚、王淑娇老师
2015 年 5 月 30 日
课程设计(论文)
课程设计量化评分标准
指标 最高分
评分要素
评分
方案选择合理,分析、设计正确,原理清楚, 方案设计 35 电路、程序流程图清晰,结构合理,程序简
在学习单片机的过程中 Proteus 软件可以很好地代替开发板进行仿真实 验,可以使学生比较灵活多样化的学习单片机。
-2-
3 . 动态数码管设计任务与要求
课程设计(论文)
课程设计功能: 单片机采用定时器中断方法,制作一个简易时钟,要求用定时器实现精确
定时,使用数码管动态显示,完成时钟的秒走时显示。 课程设计内容:
-4-
ຫໍສະໝຸດ Baidu
课程设计(论文)
所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有 选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个 数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点 亮时间为 1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际 上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组 稳定的显示据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节 省大量的 I/O 端口,而且功耗更低。
元器件编号
元器件名称
元器件参数
说明
U1
AT89C52
\
U2
74HC573
\
AT89C52 单片机 三态锁存器
RP1 DSP C1/C2/C3
排阻 共阴极 电容
10K \ 30pF,30pF,10uF
上拉排阻 共阴极红色显示 负载等
R1
电阻
10K
接地
-6-
S
按钮
\
3 . 仿 真结果
如图 3.3
课程设计(论文) 复位电路用
四、心得体会 ................................... ......11
五、参考文献................................................... .12
-3-
一、概述
1. 单片机简介
如图 1.1 和图 1.2 分别为 PDIP 封装的 AT89C52 引脚图和实物图
void display();
void delay(uint z) //延时函数
{
uint i,j;
for(i=z;i>0;i--)
for(j=50;j>0;j--);
}
void main() {
num=60; TMOD=0x01; TH0=(65536-50000)/256;//定时器赋初值 TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1) {
三、软件设计......................................................6
1. 仿真原理图.......................................................6 2. 仿真参数设置.....................................................6 3. 仿真结果.........................................................7 4. 程序流程图.......................................................8 5. 程序代码.........................................................9
3 . 数码管驱动部分
这里使用 74HC573 来控制数码管的显示,如图 2.3 所示
74HC573 是拥有八路输出的 透明锁存器, 输出为三态门,是一种高性能硅栅 CMOS 器件。 当锁存使能端 LE 为高时,这些器件的锁存对于数 据是透明的(也就是说输出同步)。当锁存使能变 低时,符合建立时间和保持时间的数据会被锁存。
图 3.3 经过多次试验,调试后现象正常,实现功能为:数码管从 60 秒开始-,减 到 0 后,重新开始从 60 循环-1.
4 . 程 序流程 图
-7-
开始
初始化定时器 T0 中断
进入中断
N 1s 时间到? Y Num--
课程设计(论文)
分离 num 十位,个位,数 码管动态扫描显示
N Num==-1?
它是数码管显示时通常是采用段选、片选共用同一组并口的驱动方式。驱 动数码管需要两个信号,一个是段选信号,一个是片选信号。段选信号是固定 的 8 个(对于普通 7 段数码管),而片选信号数量是与数码管位数相同的。对于 8 位数码管的动态扫描来说,片选信号要 8 根线,这样仅仅驱动数码管就占用 了 2 组共 16 个 IO 口,非常浪费使用 573 锁存器后,只占用 8+2=10 个 IO 口, 其中 2 个用于控制锁存器使能,另外 8 个输出信号。先关闭控制片选信号的 573 芯片的锁存功能,然后单片机输出片选信号,随后开启锁存,此时无论 573 的 输入端如何变化,输出端都是不变的,也就是原来输入的信号被锁住了。然后, 再关闭控制段选的 573 的锁存功能,输出段选信号,再锁存,这样就巧妙的实 现了数据线的复用,让一组 IO 口既输出段选又输出片选
图 1.1 引脚图
图 1.2 实物图
AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可
反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM),
器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令
2 . 数码管显示部分
如图 2.2 所示
图 2.2 数码管有共阴极数码管和共阳极数码管两种(这里选用两位共阴极数码 管),如图 2.2(b)所示,根据数码管的驱动方式的不同,可以分为静态式和 动态式两类,这里只介绍动态方式。 动态显示:将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一 起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立 的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码, 但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,
课程设计(论文)
图 1.3 Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件(该 软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它 EDA 工具软件 的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外 围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片 机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试 到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产 品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型 仿 真 软 件 三 合 一 的 设 计 平 台 , 其 处 理 器 模 型 支 持 8051 、 HC11 、 PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年又增 加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面, 它也支持 IAR、Keil 和 MATLAB 等多种编译器。
和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低
开发成本。
AT89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,以适应不同产品的
需求。本课程设计中使用的是 PDIP 封装的 AT89C52 单片机。
1
2.Proteus 简介
如图 1.3 为 Proteus7.0 的工作界面图
Y Num=59
-8-
5 . 程 序代码
课程设计(论文)
#include<AT89X51.H>
#define uint unsigned int
#define uchar unsigned char
sbit LE=P2^0;
//定义使能端
uchar num,shi,ge,t0;
bit flag;
uchar code table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
-3-
课程设计(论文)
是保证单片正常启动、开始工作的必须电路,缺一不可。单片机最小系统一般 由单片机、程序存储器、时钟电路和复位电路组成,它是单片机开发板中的核 心部分。 时钟电路:其核心部分是晶振,晶振的作用是为系统提供基本的时钟信号。简 单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码, 单片机就无法工作。这里选用 12MHZ 晶振,便于产生精确的 uS 级时歇,方便定 时操作。 复位电路:当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下 复位按钮内部的程序自动从头开始执行(这里不加也可以)。
洁、正确。
调试
过程清晰,调试方案设计合理,测试点选择 15 适当,程序编写正确,调试步骤清楚。
结果
20 电路及程序运行结果正确,达到预期效果。
报告结构严谨,逻辑严密,论述层次清晰, 设计报告 20 语言流畅,表达准确,重点突出,报告完全
符合规范化要求,用计算机打印成文。
工作态度 10 工作态度认真,按时完成设计任务。
-5-
三、软件设计 1 . 仿 真原理 图
如图 3.1 所示
课程设计(论文)
图 3.1 由 51 单片机 P0 口接上拉电阻通过锁存器 74HC573 控制共阴极数码管段选, P1 口控制数码管位选,P2^1 控制 74HC573 使能端。
2 . 仿 真参数 设置
如下列表格 3.2 所示
表 3.2 两位共阴极数码管动态扫描显示实验电路元器件及参数值
if(flag==1) {
-9-
系统,片内置通用 8 位中央处理器和 Flash 存储单元,AT89C52 单片机在电子
行业中有着广泛的应用。
AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个
外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线,
AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器
1. 掌握数码管的接口方法; 2. 掌握数码管动态显示的原理; 3. 掌握数码管动态显示的方法; 4. 掌握单片机内部定时器的使用方法; 5. 数码管动态显示的原理可参阅课本。
二、硬件设计
1 . 单片机最小系统设计
如图 2.1 所示
图 2.1 单片机的最小系统是指使单片机能运行程序、正常工作的最简单电路系统,