数码管流动显示12345678
发布时间:2024-10-12
发布时间: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.《接口应用实践》 程利民、姜新桥、朱晓玲主编。内部试用
上一篇:在家登录班班通备课系统操作流
下一篇:51单片机做计算器代码