(PPT)单片机应用技术.课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《(PPT)单片机应用技术.课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PPT 单片机 应用技术 课件
- 资源描述:
-
1、单片机应用技术项目项目2 2 数码管显示系统设计数码管显示系统设计泸州职业技术学院机电工程系泸州职业技术学院机电工程系单片机应用技术单片机应用技术精品课程组精品课程组本讲主要内容本讲主要内容4 相关知识1 教学目标2 工作任务3 项目实践5 能力拓展6 项目考核1、终极目标、终极目标: 制作一个数码管循环显示数字09的单片机控制系统。2、促成目标:、促成目标:(1) 掌握单片机查表程序的设计方法;(2) 掌握单片机的LED显示接口电路工作原理及其应用;(3) 掌单片机LED显示接口的程序设计方法;(4) 初步掌握单片机应用系统分析和软硬件设计的基本方法,建立单片机系统设计的基本概念;【教学目标
2、】 在数码管上循环显示数字09,时间间隔为0.2秒。【工作任务】【活动一】总体设计【活动一】总体设计1.系统组成系统组成 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。 本系统的硬件采用模块化设计,以AT89S52单片机为核心,与数码管接口电路组成控制系统。该系统硬件主要包括以下几个模块:AT89S52主控模块、数码管显示模块等。其中AT89S52主要完成外围硬件的控制以及一些运算功能, 数码管显示模块完成字符、数字的显示功能。系统组成方框图如图2.1所示。【项目实践】 单 片 机数码管显示电路复位电路时钟电路电源电路 图2.1 数码管
3、显示系统组成方框图【项目实践】 应用软件采用模块化设计方法。该系统软件主要由主程序、延时子程序等模块组成,系统软件结构框图如图2.2所示。延时子程序主程序 图2.2 系统软件结构框图【项目实践】2.系统工作原理系统工作原理 数码管由8个发光二极管构成,可以用来显示数字、字符等,它在家电及工业控制中有着很广泛的应用,例如用来显示温度、数量、重量、日期、时间等,具有显示醒目、直观的有点,如图2.3所示。 图2.3 数码管实物图【项目实践】 数码管实际上是由7个发光管组成“8”字形构成的,加上小数点就是8个。这些段分别由字母a、b、c、d、e、f、g、dp来表示。当数码管特定的段加上电压后,这些特定
4、的段就会发亮,以形成我们眼睛看到的字样。例如:显示一个“3”字,那么应当是a亮、b亮、c亮、d亮、e不亮、f不亮、g亮、dp不亮。数码管的内部结构如图2.4所示,其中COM引脚为公共端,用来控制数码管显示的打开或关闭,即起到“使能”作用。 根据公共端接法的不同,数码管又分为共阴极和共阳极两种结构,分别如图2.4(b)和图 2.4(c)所示。 共阳极就是将8个LED的阳极连接到一起组成公共端COM,接正极,当相应字段为低电平“0”时,可以点亮该字段;当相应字段为高电平“1”时,该字段不亮。 共阴极就是将8个LED的阴极连接到一起组成公共端COM,接负极,当相应字段为高电平“1”时,可以点亮该字段
5、;当相应字段为低电平“0”时,该字段不亮。【项目实践】图2.4 数码管内部结构图【项目实践】【活动二】硬件设计【活动二】硬件设计1.主控模块设计 本项目采用ATMEL公司生产的AT89S52单片机,主控模块的具体设计参见项目1。2.数码管显示模块设计 本项目中选用8段共阳极数码管,数码管的a、b、c、d、e、f、g、dp段分别与单片机P0口的P0.5、P0.3、P0.1、P0.0、P0.4、P0.6、P0.7、P0.2相连,用来控制显示数字的形状。数码管的公共使能端COM连接三极管C8550的集电极,三极管C8550主要用于信号的放大,以驱动数码管工作。三极管8550的基极通过限流电阻接到单片
6、机P2口的P2.0,通过控制三极管C8550基极电平来打开或关闭数码管的显示,起到“使能作用”。三极管C8550的集电极接+5V电源。数码管显示模块与单片机的接口电路如图2.5所示。【项目实践】图2.5 数码管显示模块与单片机的接口电路原理图【项目实践】1.算法设计 对于数码管而言,要想显示数字或字母,首先应该选中该数码管,然后相应字段被点亮。例如:显示一个“3”字,那么应当是a亮、b亮、c亮、d亮、e不亮、f不亮、g亮、dp不亮。对于共阳极数码管,对应到单片机的P0口,P0.7为低电平“0”,P0.6为高电平“1”,P0.5为低电平“0”,P0.4为高电平“1”,P0.3为低电平“0”,P0
7、.2为高电平“1”,P0.1为低电平“0”,P0.0为低电平“0”,即当把01010100(54H)送给P0口时,可以显示“3”字。其他数字的显示依此类推,那么可以列出数码管显示数字的段码表如表2.1所示。【项目实践】【项目实践】【活动三】软件设计【活动三】软件设计 表2.1 数码管显示数字的段码表段名称GFAEBDPCD对应段码对应引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0数字01000010084H数字111110101F5H数字20100011046H数字30101010054H数字40010010135H数字5000111001CH数字6000011000CH
8、数字711010101D5H数字80000010004H数字90001010014H【项目实践】 如表2.1所示,由于数码管显示的数字“09”的字型码“84H、0F5H、46H、54H、35H、1CH、0CH、0D5H、04H、14H”没有规律可循,只能采用查表的方式来完成我们所需的要求。在程序设计中可以设计一个变量,每隔一定时间在“09”之间变化,然后按照这个数据去查找段码表,把查到的数据送到P0口。 所谓表格是指在程序中定义的一串有序的常数,如平方表、字形码表、键码表等。因为程序一般都是固化在程序存储器(通常是只读存储器ROM类型)中,因此可以说表格是预先定义在程序的数据区中,然后和程序一
9、起固化在ROM中的一串常数。 在程序设计中,有时需要预先把非线性数据以表格的形式存放在存储器中,然后使用程序读出,这种能读出数据表格的程序就称为查表程序。 查表程序的关键是表格的定义和如何实现查表。 表格的定义可以用伪指令DB来实现,查表的实现可以用指令MOVC A,A+PC或者MOVC A,A+DPTR来实现。【项目实践】 按照数字09的顺序,把每个数字的字型编码按顺序排列好,再用伪指令DB建立表格,最后利用指令MOVC A,A+PC或者MOVC A,A+DPTR来实现查表。 建立的表格的程序代码如下所示:TABLE:DB 84H,0F5H,46H,54H,35H,1CH,0CH,0D5H,
10、04H,14H2.数据结构设计 单片机的P0口用于控制数码管所要显示的字形; P2口P2.0用于控制三极管8550是否导通,从而实现对数码管的片选; 工作寄存器R1为数码管数据表索引寄存器; 数据指针DPTR为数码管字型码的基址寄存器; 工作寄存器R5、R6、R7为延时子程序的循环变量。【项目实践】 3.程序设计 (1) 主程序设计 主程序主要完成硬件初始化、子程序调用等功能。 初始化设置数码管使能信号有效,即P2.0=0;将数码管数据表索引寄存器R1赋初值00H。 字符显示 在查表时首先用MOV A,R1指令将存放在R1中的索引值送给累加器A,将数据表的表首地址TABLE送给数据指针DPTR
11、,然后用查表指令MOVC A, A+DPTR取出数码管显示数据,DPTR的值加上A的值即为所取数据的地址,将该地址中的数据送给A;接着把A的值送给用于控制数码管显示字形的P0口,即可在数码管上显示相应的数字。调用延时子程序是使数码管能够稳定显示相应的数字。最后数码管数据表索引寄存器R1加1,为下一个数字的显示做准备。【项目实践】 查表结束判断 对数码管数据表索引寄存器R1的值进行判断是否为结束码0AH,应用比较转移指令CJNE R1,#10,NEXT来判断数字09是否显示完。若未显示完则程序转移至标号NEXT的指令处执行,将存放在R1中的索引值送给累加器A,将数据表的表首地址TABLE送给数据
12、指针DPTR,然后用查表指令MOVC A,A+DPTR取出数码管显示数据,为下一个数字的显示做准备;若显示完则顺序执行,将跳转至主程序开始,重新将数码管数据表索引寄存器R1赋初值00H。从而实现数字09的循环显示。 主程序设计流程图如图2.6所示。【项目实践】 设置数码管字型码变址寄存器初值R1=0开始调用延时子程序Y R1=10?N根据R1的值查表查表获得的数据送P0R1+1R1数码管使能信号有效,P2.0=0 图2.6 主程序设计流程图【项目实践】 (2) 延时子程序模块设计 延时子程序模块设计请参考项目1。 4.汇编语言源程序汇编语言源程序 ;* ;功能:主程序 ;* ORG 0000H
13、 MOV P2, #0FEH ;P2.0用于控制数码管的片选 START: MOV R1, #00H ;R1为数码管字型码的变址寄存器 NEXT: MOV A, R1 ;把字型码的变址地址送给累加器A MOV DPTR, #TABLE ;取得表首地址 MOVC A, A+DPTR ;查表,取得显示的字型码 MOV P0, A ;P0用于数码管的字位口控制 LCALL DELAY200ms ;调用延时子程序 INC R1 ;下一个字型码的变址寄存器 CJNE R1, #10, NEXT ;判断09是否显示完毕 LJMP START ;循环显示【项目实践】;*;功能:延时子程序;*DELAY200
14、ms: MOV R5, #20 LOOP1: MOV R6, #20 LOOP2: MOV R7, #230 DJNZ R7, $ DJNZ R6, LOOP2 DJNZ R5, LOOP1 RET【项目实践】;*;功能:;LED字段码表;*;8字LED的连接方法;P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0;G, F A E B H C DTABLE:DB 84H,0F5H,46H,54H,35H,1CH,0CH,0D5H,04H,14HEND【项目实践】5.C语言源程序语言源程序#include unsigned char code table=0 x3f
展开阅读全文