数码管流动显示123.docx
《数码管流动显示123.docx》由会员分享,可在线阅读,更多相关《数码管流动显示123.docx(9页珍藏版)》请在冰豆网上搜索。
数码管流动显示123
学号
XX城建大学
嵌入式系统及应用课程设计
设计说明书
数码管流动显示12345678
起止日期:
2015年11月15日至2015年11月27日
学生
班级
成绩
指导教师(签字)
计算机与信息工程学院
2015年11月27日
课程设计报告书
题目:
数码管流动显示12345678
学生:
学生学号:
院名:
专业:
任课教师:
摘要
1.容:
利用动态扫描让八位数码管稳定的显示1、2、3、4、5、6、7、8
2.目标:
〔1〕掌握单片机控制八位数码管的动态扫描技术,包括程序设计和电
路设计,本任务的效果是让八位数码管稳定的显示12345678。
〔2〕用PROTEUS进展电路设计和实时仿真
3.知识点
〔1〕数码管动态扫描〔动态扫描的定义以及与静态显示的区别〕
动态显示的特点是将所有位数码管的段选线s一位数码管有效。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好似各位数码管同时都在显示。
〔2〕总线的应用
元器件与总线的连线
P0口的接线采用总线方式,详细如电路图1所示。
1选择总线按钮
2绘制总线:
与普通电线的绘制方法一样,选择适宜的起点、终点单击。
如果终点在空白处,左键双击完毕连线。
画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。
此时我们需要自己决定走线路径,只需在想要拐
点处单击鼠标左键即可。
在画斜线时,需要关闭线路自动路径功能才好绘制。
Proteus的线路自动路径功能简称WAR,中选中两个连接点后,WAR将选择一个适宜的路径连线。
WAR可通过使用标准工具栏里的“WAR〞命令按钮来关闭或翻开,也可以在菜单栏的“Tools〞下找到这个图标。
3给与总线连接的导线贴标签PARTLABELS
与P0口相连的线标签名依次为P00—P06,本电路中的P0口的上拉电阻通过总线与P0口相连,数码管也是通过总线与P0口相连,这些都需要标注,以说明正确的电气连接。
单击绘图工具栏中的导线标签按钮,使之处于选中状态。
将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“×〞号,说明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图---所示。
在“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.1AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器〔FPEROM—FalshProgrammableandErasableReadOnlyMemory〕的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案
图2-1三种单片机外形图2-2AT89C51的引脚排列
图2-3P89L
主要特性:
•与MCS-51兼容
•4K字节可编程闪烁存储器
•寿命:
1000写/擦循环
•数据保存时间:
10年
•全静态工作:
0Hz-24Hz
•三级程序存储器锁定
•128*8位部RAM
•32可编程I/O线
•两个16位定时器/计数器
•5个中断源
•可编程串行通道
•低功耗的闲置和掉电模式
•片振荡器和时钟电路
2.2数码管7SEG--AN-BLUE介绍(7段数码管)
2.2.1七段数码管概述
七段数码管是数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个发光二极管单元,其根本单元是发光二极管。
2.2.2七段数码管应用
数码管是一类价格廉价使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数的器件。
在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。
绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。
2.2.3七段数码管驱动方式
直流驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进展驱动,或者使用如BCD码二-十进制译码器译码进展驱动。
优点是编程简单,显示亮度高,缺点是占用I/O端口多。
动态显示驱动是将所有数码管通过分时轮流控制各个数码管的的端,就使各个数码管轮流受控显示。
将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到一样的字形码,但终究是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。
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//52系列单片机头文件
#include
#defineucharunsignedchar
#defineuintunsignedint//定义
ucharcodeDSY_CODE[]=
{
0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};//显示12345678
voidDelayMS(uintx)//延时子程序
{
uchari;
while(x--)
{
for(i=200;i>0;i--);
}
}
voidmain()
{
uchari,k=0x80;
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.?
接口应用实践?
程利民、新桥、朱晓玲主编。
部试用