数码管流动显示12345678

发布时间:2024-10-12

学 号

天津城建大学

设计说明书

数码管流动显示12345678

起止日期: 2015 年 11月 15日 至 2015 年 11月 27 日

学班成

生姓名 级 绩

指导教师(签字)

计算机与信息工程学院

2015年 11 月 27 日

课程设计报告书

题 目: 数码管流动显示12345678

学生姓名: 学生学号: 院 名: 专 业: 任课教师:

目 录

摘 要 ................................................................................................................................. II 第一章 课设总述 ................................................................................................................ 1 1.1 单片机概述 .................................................................................................................. 1

1.3

课题研究的目的和意义 ............................................................................................... 1

1.4 课题的主要研究工作 .................................................................................................. 1 第二章 系统硬件介绍及设计 ..............................................................................................................2 2.1 AT89C51简介 ................................................................................................................ 2 1.2 数码管7SEG-COM-AN -BLUE介绍(7段数码管) .................................................. 3

2.2

硬件电路图 ................................................................................................................... 4

2.3元件清单 ...................................................................................................................... 4 第三章 系统软件设计 .......................................................................................................... 5 3.1程序描述 ...................................................................................................................... 6 3.2程序流程图 .................................................................................................................. 6 第四章 系统调试 .................................................................................................................. 7 4.1 在PROTEUS中仿真 ................................................................................................... 7 参考文献 ................................................................................................................................ 7

摘 要

1.内容:利用动态扫描让八位数码管稳定的显示1、2、3、4、5、6、7、8 2.目标:

(1)掌握单片机控制八位数码管的动态扫描技术,包括程序设计和电 路设计,本任务的效果是让八位数码管稳定的显示12345678。 (2)用PROTEUS进行电路设计和实时仿真 3.知识点链接

(1)数码管动态扫描 (动态扫描的定义以及与静态显示的区别)

动态显示的特点是将所有位数码管的段选线s一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。 (2)总线的应用

元器件与总线的连线

P0口的接线采用总线方式,详细如电路图1所示。 ① 选择总线按钮

② 绘制总线:与普通电线的绘制方法一样,选择合适的起点、终点单击。 如果终点在空白处,左键双击结束连线。

画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。此时我们需要自己决定走线路径,只需在想要拐

点处单击鼠标左键即可。在画斜线时,需要关闭线路自动路径功能才好绘制。

Proteus的线路自动路径功能简称WAR,当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮找到这个图标。

③ 给与总线连接的导线贴标签PART LABELS

与P0口相连的线标签名依次为P00—P06,本电路中的P0口的上拉电阻通过总线与P0口相连,数码管也是通过总线与P0口相连,这些都需要标注,以表明正确的电气连接。单击绘图工具栏中的

导线标签按钮

,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标

来关闭或打开,也可以在菜单栏的“Tools”下

的指针就会出现一个“×”号,表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图---所示。

在“string”栏中,输入标签名称(如p00),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图5-16所示。

注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。

第一章 课设概述

1.1单片机概述

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

1.2 课题研究的目的和意义

利用AT89C51单片机自带资源,设计一款能流动显示12345678的设备。

1.3 课题的主要研究工作

本课题设计的主要工作如下:

设计出用一个能够动态显示12345678的设备。

第二章 系统硬件介绍及设计

2.1 AT89C51简介

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh

Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案

图2-1 三种单片机外形 图2-2 AT89C51的引脚排列

图2-3 P89L

主要特性:

与MCS-51 兼容

4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线

两个16位定时器/计数器 5个中断源

可编程串行通道

低功耗的闲置和掉电模式 片内振荡器和时钟电路

2.2 数码管7SEG-COM-AN -BLUE介绍(7段数码管)

2.2.1 七段数码管概述

七段数码管是数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个发光二极管单元,其基本单元是发光二极管。 2.2.2 七段数码管应用

数码管是一类价格便宜 使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。 在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。 2.2.3七段数码管驱动方式

直流驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。

动态显示驱动是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

2.3硬件电路图

图2-4 硬件连接图

2.3元件清单

1.单片机:AT89C51

2.八位共阴极数码管:7SEG-MPX8-CA-BLUE 3.NPN型三极管8个

4.普通电容2个(22PF),电解电容1个(10UF) 5.晶振1个(12MHZ) 6.排阻1个220 7.电阻1个(220)

8.电源1个(5V)

第三章 系统软件设计

3.1程序描述

#include <reg52.h> //52系列单片机头文件

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int //定义

uchar code DSY_CODE[]= {

0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; //显示12345678

void DelayMS(uint x) //延时子程序 {

uchar i; }

void main() {

uchar i,k=0x80;

while(x--) { }

for(i=200;i>0;i--);

while(1) //循环 {

for(i=8;i>0;i--)

P2=0xff; k=_crol_(k,1); P0=DSY_CODE[8-i];

{

P2=k;

DelayMS(200); //延时

}

}

3.2程序流程图

主程序

第四章 系统调试

4.1 在PROTEUS中仿真

4.1.1. 在Keil中编译程序:

4.1.2 在Proteus中绘制硬件图:

图4-1 硬件连接图

4.1.3 将在Keil中编译好的HEX文件加载到Proteus中:

图4-2 加载截图

4.1.4 点运行键观察运行结果

:

图4-3 结果截图

参考文献:

1.《单片机入门实践》 程利民、宋胜利主编。..湖北科学技术出版社

2.《C语言综合实践》程利民、姜新桥、朱晓玲主编。内部试用

3.《接口应用实践》 程利民、姜新桥、朱晓玲主编。内部试用

数码管流动显示12345678.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219