当前位置:文档之家› 单片机原理及应用C语言程序设计与实现 第7章51单片机人机交互

单片机原理及应用C语言程序设计与实现 第7章51单片机人机交互


第7章 51单片机人机交互
五、LED控制的单片机程序设计 1. 图7-4 LED静态显示电路的应用汇编语言编程如下:
ORG 0000H LJMP MAIN ORG 0010H ;-------------第一片74LS74工作------------MAIN: SETB P1.4 CLR P1.5 ;第二、三片74LS74锁存数据 CLR P1.6 NOP CLR P1.0 ;第一位显示0 CLR P1.1 CLR P1.2 CLR P1.3来自第7章 51单片机人机交互
二、1602的管脚和指令介绍 1602字符型液晶显示模块是专门用于显示字母、 数字、符号等的点阵型液晶显示模块,如图7-8 所示。该显示模块为5×7点阵、16字×2行,具 有简单而功能较强的指令集,可实现字符的移动、 闪烁等显示功能。
第7章 51单片机人机交互
;-------------第二片74LS74工作------------CLR P1.4 SETB P1.5 ;第一、三片74LS74锁存数据 CLR P1.6 NOP SETB P1.0 ;第一位显示1 CLR P1.1 CLR P1.2 CLR P1.3 ;-------------第三片74LS74工作------------CLR P1.4 CLR P1.5 ;第一、二片74LS74锁存数据 SETB P1.6 NOP CLR P1.0 ;第一位显示2 SETB P1.1 CLR P1.2 CLR P1.3 END
第7章 51单片机人机交互
//--------------LED所显示的数字--------------------uchar code table[18]={ 0X3F,0X06,0X5B,0X4F, 0X66,0X6D,0X7D,0X07, 0X7F,0X6F,0X77,0X7C, 0X39,0X5E,0X79,0X71, 0X00}; //--------------------主函数---------------------void main() { while(1) { //-----------------第一个LED显示0---------LED1=0; LED2=1; LED3=1; P0=table[0]; delay(10);
显示字符
A B C D
共阳极字符
88H 83H C6H A1H
共阴极字符
77H 7CH 39H 5EH
4
5 6 7 8 9
99H
92H 82H F8H 80H 90H
66H
6DH 7DH 07H 7FH 6FH
E
F P H L “灭”
86H
8EH 8CH 89H C7H FFH
79H
71H 73H 76H 38H 00H
第7章 51单片机人机交互
2. LED 典型应用电路设计 ① LED静态显示电路设计
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 a A b B c C d D e LT BI/RBO f g RBI 74LS47 a A b B c C d D e LT BI/RBO f g RBI 74LS47 VCC a A b B c C d D e LT BI/RBO f g RBI 74LS47
第7章 51单片机人机交互
二、LED的驱动接口
LED 工作时需要一定的工作电流,才能正常发光。单个 LED实际上是一个压降为 1.5~2.5V的发光二极管,流过LED 的电流大小决定了它的发光强度。图7-2 为单个LED的驱动接 口电路。LED最高电流计算公式为(7-1)所示:
(7-1) V V V c c F c s IF R 式中: VF-- LED的正向压降;VCS-- LED驱动器的压降; R--- LED的限流电阻;VCC-- 电源电压;
第7章 51单片机人机交互
第7章 51单片机人机交互
在一个单片机应用系统中人机交互功能是必不可少的,键盘 和显示器件是一个系统中不可缺少的输入输出设备。 在系统工作的过程中,用户需要对系统相应控制操作,键盘 是重要的输入控制信息的设备,对系统各种状态进行控制。 通过显示设备显示系统各种状态信息和控制指令的执行结果, 显示采集信号的值、A/D转换结果和向用户显示报警信息等功能。 可以实时的了解系统运行状态,以便做出及时的处理。 一些单片机应用系统中还需要打印各种状态信息或定时生成 一些数据报表,特别是在各种便携式设备中,通过单片机控制的 微型打印机得到了更多的应用。
第7章 51单片机人机交互
2. 动态显示方式
动态显示方式是指一位一位地轮流点亮每位显示器,即 每个数码管的位选被轮流选中,多个数码管公用一组段 选。 显示时,段选控制相应字符段选码,位选控制该显示 位的电平。并保持延时一段时间,以造成视觉暂留效果。 刷新周期一般约为50ms。 显示的亮度同驱动电流大小、点亮时间和关断时间有 关,调整它们可控制LED显示亮度并实现稳定显示。 动态显示器因硬件成本低,多位数显示时常采用。 软件复杂,并要占用单片机较多的时间去定时刷新, 因此多用在功能简单的系统中。
BI/RBO a
图 7-3 74LS47的引脚图
第7章 51单片机人机交互
表7-2 74LS47 BCD-7段译码器输入/输出端信号对照表
输入端电平 LT RBI RBO 1 1 1 1 1 1 1 1 1 1 1 × × × × × × × × × 1 1 1 1 1 1 1 1 1 1 D C B A 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 输出端电平 a 0 1 0 0 0 0 1 0 0 0 b 0 0 0 0 0 1 1 0 0 0 c 0 0 1 0 1 0 0 0 0 0 d 0 1 0 0 1 0 0 1 0 1 e 0 1 0 1 0 1 0 1 0 1 f 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 g 1 1 0 0 显 示 字 型 0 1 2 3 4 5 6 7 8 9
对于公共端加电压的操作称为位选,对各段加电压 操作称为段选。所有段的段选组合在一起称为字形码, 可以用一个字节数字位D0—D7作为段选信号S0—S7 来控制段a—f和dp。
表7-1 十六进制数七段LED字形码
显示字符
0 1 2 3
共阳极字符
C0H F9H A4H B0H
共阴极字符
3FH 06H 5BH 4FH
第7章 51单片机人机交互
//-----------------第二个LED显示1---------LED1=1; LED2=0; LED3=1; P0=table[1]; delay(10); //-----------------第三个LED显示2---------LED1=1; LED2=1; LED3=0; P0=table[2]; delay(10); };
分别用a~g及dp表示。如图7-1 (a) 所示。
10 9 G 8 7 6
a b c d e
+5V
a b c d e f g dp
F G A B N a D g b c dp C DP 4 5
f e
d G N E D D 1 2 3
f g dp
(a)
(b)
(c)
图7-1 七段LED数码管显示器
第7章 51单片机人机交互
}
第7章 51单片机人机交互
7.1.2 16x2字符型液晶显示器编程 一、LCD概述 液晶显示模块具有体积小、功耗低、显示内容 丰富等特点,现在字符型液晶显示模块已经是单 片机应用设计中最常用的信息显示器件了。 1602系列在国内应用比较广泛,该系列的液晶 显示器是高性价比的LCD段式液晶显示器。本书 以1602为例进行LCD模块应用的介绍。
第7章 51单片机人机交互
1. 静态显示方式
静态显示方式是指显示器显示某一个字符时,发光 二极管的位选始终被选中。 静态显示主要的优点是显示稳定,在发光二极管的 导通电流一定情况下,显示器的亮度大。 该显示方式下,每一个LED数码管显示器都需要一 个8位的输出口进行控制,占用硬件较多,一般仅用 于显示器位数较少的场合。 由于单片机本身提供的I/O口有限,实际使用中,通过 扩展相应锁存器和译码器来解决输出口数量不足的 问题。
图7-2 单个LED的驱动接口电路
限流电阻计算如公式(7-2)所示
V V V cc F cs R IF
(7-2)
第7章 51单片机人机交互
三、LED数码管的工作方式
LED数码管显示器常用的工作方式又可分为: 静态方式显示和动态方式显示两种。 在设计过程中可以根据系统总体资源分配情况, 选择合适的方式。
300Ω*7 a b c d e f g dp 300Ω*7 a b c d e f g dp 300Ω*7 a b c d e f g dp LED LED LED
VCC
51单片机
VCC
第7章 51单片机人机交互
LED静态显示流程图
开始
选通第一片74LS74 送数字0
选通第二片74LS74 送数字1
选通第三片74LS74 送数字2 结束
第7章 51单片机人机交互
② LED动态显示电路设计
1 2 3 4 5 6 7 8 a b c d e f g dp 1 2 3 4 5 6 7 8 a b c d e f g dp 1 2 3 4 5 6 7 8
0.51K*7
.
.
a b c d e f g dp
IF-- LED的工作电流。
第7章 51单片机人机交互
图7-2 中的7406是一个集电极开路的反相器,用于驱 动 LED 。当单片机的 I/O 端口 PXX 为高电平时,反相器 输出低电平, LED 发光;当单片机的 I/O 端口为低电平 时,反相器输出高电平,没有电流流过LED,LED熄灭。
相关主题