1、学生姓名: 学生学号:院 名:专 业:任课教师:摘 要 II第一章 课设总述 11.1 单片机概述 1 1.3课题研究的目的和意义 11.4 课题的主要研究工作 1第二章 系统硬件介绍及设计 22.1 AT89C51简介 21.2 数码管7SEG-COM-AN -BLUE介绍(7段数码管) 3 2.2硬件电路图 42.3元件清单 4第三章 系统软件设计 53.1程序描述 63.2程序流程图 6第四章 系统调试 74.1 在PROTEUS中仿真 7参考文献 7摘 要1.内容:利用动态扫描让八位数码管稳定的显示1、2、3、4、5、6、7、82.目标:(1)掌握单片机控制八位数码管的动态扫描技术,包
2、括程序设计和电路设计,本任务的效果是让八位数码管稳定的显示12345678。(2)用PROTEUS进行电路设计和实时仿真3.知识点链接(1)数码管动态扫描 (动态扫描的定义以及与静态显示的区别)动态显示的特点是将所有位数码管的段选线s一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。 (2)总线的应用元器件与总线的连线P0口的接线采用总线方式,详细如电路图1所示。1选择总线按钮2绘制总线:与普通电线的绘制方法一样,选择合适的起点、终点单击。如果终点在空白处,左键双击结束
3、连线。画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可。在画斜线时,需要关闭线路自动路径功能才好绘制。Proteus的线路自动路径功能简称WAR,当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。3给与总线连接的导线贴标签PART LABELS与P0口相连的线标签名依次为P00P06,本电路中的P0口的上拉电阻通过总线与P0口相连,数码管也是通过总线与P0口相连,这些都需要标注,以表明正确的电气连接。单击绘
4、图工具栏中的导线标签按钮,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“”号,表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图-所示。在“string”栏中,输入标签名称(如p00),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图516所示。注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。第一章 课设概述1.1单片机概述 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I
5、/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。1.2 课题研究的目的和意义利用AT89C51单片机自带资源,设计一款能流动显示12345678的设备。1.3 课题的主要研究工作本课题设计的主要工作如下:设计出用一个能够动态显示12345678的设备。 第二章 系统硬件介绍及设计2.1 AT89C51简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMF
6、alsh 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
7、三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.2 数码管7SEG-COM-AN -BLUE介绍(7段数码管)2.2.1 七段数码管概述 七段数码管是数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个发光二极管单元,其基本单元是发光二极管。2.2.2 七段数码管应用数码管是一类价格便宜 使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。 在电器特别是家电领域应用极为
8、广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。2.2.3七段数码管驱动方式 直流驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。 动态显示驱动是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字
9、形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。2.3硬件电路图图2-4 硬件连接图2.3元件清单1.单片机:AT89C512.八位共阴极数码管:7SEG-MPX8-CA-BLUE3.NPN型三极管8个4.普通电容2个(22PF),电解电容1个(10UF)5.晶振1个(12MHZ)6.排阻1个2207.电阻1个(220)8.电源1个(5V)第三章 系统软件设计3.1程序描述#include /52系列单片机头文件 intrins.h#define uchar unsigned
10、 char#define uint unsigned int /定义uchar code DSY_CODE= 0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /显示12345678void DelayMS(uint x) /延时子程序 uchar i; while(x-) for(i=200;i0;i-); void main() uchar i,k=0x80; while(1) /循环 for(i=8;i-) P2=0xff; k=_crol_(k,1); P0=DSY_CODE8-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.接口应用实践 程利民、姜新桥、朱晓玲主编。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1