当前位置:
文档之家› 第7章--80C51单片机常用接口电路设计
第7章--80C51单片机常用接口电路设计
uchar code uc7leds[]={0xfc,0x60,0xda,0xf2, 0x66,0xb6,0xbe,0xe0, 0xfe}; //定义0-8段码 uchar display_7leds[8]={1,2,3,4,5,6,7,8};
20
2019/1/20
//功能:向595发送一个字节的数据(先发低位) void wr595(uchar ucdat) { uchar i; clk=1; st=1; for(i=8;i>0;i--) //循环八次,写一个字节 { io=ucdat&0x01; //发送BIT0 位 clk=0; clk=1; //时钟上升沿 ucdat=ucdat>>1;/ /要发送的数据右移,准备发送下一位 } st=0; st=1; //锁存数据
//循环八次,写一个字节 //发送BIT0 位 //时钟上升沿 //要发送的数据右移,准备发送下一位 //锁存数据
2019/1/20
17
Void main() { while(1) { uchar k=0xb6; wr595(k); P0=0XFEH; } }
2019/1/20 18
//5的段码
实验2 让8位数码管显示1、2、3、4、5、6、7、8
}
2019/1/20
21
延迟程序 delay(uint dat) { while(dat--) {; } }
2019/1/20
22
//显示display_7leds[]中的数据
void wr7leds(void) { uchar i,ch; ch=0x01; //位选信号初始化 for(i=0;i<8;i++) //循环8次写8个数据 { wr595(uc7leds[display_7leds[i]]); //显示数据 SLED_BIT=~ch; //送位选信号 ch<<=1;//位选信号右移,准备在下一个数码管显示下一个数字 delay(300); //延时 } }
2019/1/20
8
多位LED显示问题的解决
(1)问题的提出 实际使用时,往往用几个显示管实现多位显示, 如果每一个LED占用一个独立的输出端口,则 占用的输出端口就很多。
一个端口
一个端口
一个端口
一个端口
一个端口
2019/1/20
9
(2)问题的解决方法 硬件:采用公用的驱动电路 软件:采用扫描方法
2019/1/20
19
#include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define SLED_BIT P0 //LED位选信号输入管脚
sbit clk=P2^7; sbit st =P2^6; sbit io =P2^5; //595时钟信号输入管脚 //595锁存信号输入管脚 //595数据信号输入管脚
2019/1/20
5
数字到段码的译码方法 将一个4位二进制数据转换为LED的7位 显示代码(段码)的方法有: (1)专用芯片译码 (2) 软件译码
2019/1/20
6
用专用芯片完成段译码的示意(共阳极)
2019/1/20
7
软件译码法 ①将0~F(或0~9)对应的段码组成一个表,存 在存储器中; ②查表得段码
2019/1/20
16
//名称:wr595()向595发送一个字节的数据 //功能:向595发送一个字节的数据(先发低位)
void wr595(uchar ucdat) { uchar i; clk=1; st=1; for(i=8;i>0;i--) { io=ucdat&0x01; clk=0; clk=1; ucdat=ucdat>>1; } st=0; st=1; }
2019/1/20
13
七段LED数码管实验 硬件连接情况 在实验学习板中,有8个共阴极的LED,位选信 号通过P0口,再通过74HC573驱动LED。段 码通过74HC595(串行输入,并行输出,节约 并口)输出至LED. 实际上为了节约并口资源,P0口连接两个 74HC573,另一片驱动点阵及交通灯电路。两 个驱动芯片的转换通过一个波段开关控制。当开 关拨到上边时,点阵驱动电路起作用,相反当拨 到下边时,数码管驱动电路起作用。Leabharlann 2019/1/204
共阴极LED显示器的发光二极管的阴极连在一起, 通常此公共阴极接地。当某个发光二极管的阳极 为高电平时,发光二极管点亮,相应的段被显示。 共阳极LED显示器的发光二极管的阳极连在一起, 通常此公共阳极接正电压,当某个发光二极管的 阴极接低电平时,发光二极管被点亮,相应的段 被显示 。
LED的工作原理 多位LED显示问题的解决
2019/1/20
2
LED的工作原理
七段式LED显示部件 (a)典型的七段式LED器件 (b) 共阳极LED (c) 共阴极LED
2019/1/20 3
LED的主要部分是七段发光管,分别为a、b、c、 d、e、f、g。有的产品还附带有小数点DP。通 过发光段的不同组合,可以显示0~9和A~F共 16个字母数字。 LED可分为: (1)共阳级结构 (2)共阴极结构
7.1
显示器接口原理及应用
在单片机应用系统中,显示器是最常用的输出设 备。常用的显示器有: 发光二极管(LED) 液晶显示器(LCD) 。 发光二极管(LED)又分为七段LED显示器(数
码管)和LED点阵显示屏。
液晶显示器(LCD)又分为字符液晶与图形液晶。
2019/1/20
1
7.1.1
七段LED显示器(数码管)
2019/1/20
10
2019/1/20
11
一个数据通道作为位控制,该端口输出的选择信 号使某一位为高电平(共阳极)时,该位对应的 LED便显示数据。
另一个数据通道输出段码,尽管所有的LED均收 到了段码,但只有被位选择信号选中的那个LED 才显示数据,其他并不发光。
2019/1/20
12
在程序中,软件按一定频率循环输出位选择信 号和对应的显示数据,利用眼睛的视觉惯性, 从LED显示器上便可见到相当稳定的数字显示。
2019/1/20 14
实验1 在左边第一个LED上显示数字5 步骤: (1)通过74HC595送5的段码 (2)通过P0口送位选信号
2019/1/20
15
include <reg51.h> #define uchar unsigned char sbit clk=P2^7; //595时钟信号输入管脚 sbit st =P2^6; //595锁存信号输入管脚 sbit io =P2^5; //595数据信号输入管脚