《单片机C程序设计》PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a
g f com a b
b
b
c
c
10 9 8 7 6 a
d
d
e
e
f
f
fg b
e
c
d dp
g
g
12345
dp
dp
e d com c dp
com
com
(a)
(b)
(c )
精选PPT
1
8.1.1.LED静态显示
LED静态显示时,其公共端直接接地(共阴极)或接电源(共阳 极),各段选线分别与I/O口线相连。要显示字符,直接在I/O线送相应 的字段码。相应段的发光二极管处恒定的导通或截止,直到需要显示另一 个字符为止.
I/O(1) a b c d e f g dp
I/O(2) a b c d e f g dp
精选PPT
2
8.1.1.LED静态显示
这种工作方式下LED的亮度高,软件编程也比较容易;但是它占用比 较多I/O口的资源,常用于显示位数不多的情况.
LED静态显示方式的接口有多种不同形式,使用74HC595芯片可
例8.2 动态数码管显示程序.要求:使用定时中断实现显示的程序, 第1~5位各位始终显示0,第6位在0~9之间循环显示.
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
uchar code BitTab[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB};
以方便地组成静态显示接口.
74HC595是具有锁存功能的移位寄存器,其
SER 14 SRCLK 11 SRCLK 10
8位移位寄存器
RCLK 12
存储寄存器
内部结构框图如图8-3所示.
控制过程:当时钟端SRLCK(11脚)有时钟脉冲
9 Q7
时,移位寄存储器串行输入端SER(14脚)
的数据转换为并行输出,在串行数据开始
Dat=0; else
Dat=1; _nop_(); Clk=0; _nop_(); Clk=1; SendDat=SendDat<<1; } }
Void Disp() { uchar c;
uchar I; RCK=0; for(I=0;I<6;I++) { c=DispBuf[I];
SendData(DispTab[c]); } RCK=1; } Void main() { for(;;) { Disp(); } } 本程序的说明:参见P167
移位寄存器的内容不发生变 化
移位寄存器中的数据送入存 储寄存器
存储寄存器的输出不发生变 化
4
8.1.1.LED静态显示
图8-4 以74HC595组成的静态显示接口电路图,通过6片74HC595 作为6位LED显示器的静态显示接口.(参见P166图8-4的具体接法) 所有芯片的时钟端(SRCLK)并联接到单片机的任一个I/O端.RCLK 是锁存允许端,当RCLK引脚上有上升沿且其它条件符合时,移位寄存 器中的内容被送入存储寄存器.
输入之前将RCLK置0.移位寄存储器的输
出不会被送入存储寄存器,在8位数据全部
OE 13
三态输出控制
送完后,将RCLK引脚置1,才会将新的数据 送入存储寄存器中.存储寄存器经过三态控
制器缓冲后对外输出.这样,整个数据传输期
间,74HC595的输出端数据始终保持稳定不
变.8位移位寄存器的进位位单独引出,即第
15 1 2 3 4 5 6 7
九脚,可以方便地进行阶联,以便根据需要将
Q0
Q7
许多片74HC595串接起来使用.
图8-3 74HC595的内部结构框图 精选PPT
3
8.1.1.LED静态显示
74HC595的逻辑功能如表8-1所列.表中: H—高电平;L—低电平; --上升沿;X—无关紧要,高或低电平均不影响.
uchar code DispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,
0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
uchar DispBuf[6];
//6字节的显示缓冲区
void Timer0() interrupt 1
0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1, 0x86,0x8E,0xFF}; Void SendData(unsigned char SendDat) { unsigned char I;
for(I=0;i<8;i++) { if((SendDat&0x80)==0)
SER
X X X L
H X X X
输入引脚
功能
SRCLK
X X X ↑ ↑ ↓
X
X
SRCLR RCLK
OE
X
X
H
X
X
L
L
X
X
H
X
X
H
X
X
H
X
X
X
↑
X
X
来自百度文库
↓
X
表8-1 74HC精5选9P5PT逻辑功能表
禁止Q0~Q7输出
允许Q0~Q7输出
清除内部移位寄存器
移位寄存器的首位变低,其余 各位移次前移
移位寄存器的首位变高,其余 各位移次前移
图8-4 静态显示接口
精选PPT
5
8.1.1.LED静态显示
例8-1 使用74HC595制作的6位串行显示接口电路
#include<reg52.h> #include<intrins.h> #define uchar unsigned char sbit Dat=P3^2; Sbit Clk=P3^3; Sbit RCK=P3^4; unsigned char DispBuf[6]; Uchar code DispTab[]={0xC0,0xF9,
精选PPT
6
8.1.2 动态显示接口
图8-5 是实验板上LED数码管的动态显示接口电路部分.这里LED 数码管采用共阳方式,P0口作为段控制,P2.7~P2.2通过PNP型的 三极管分别接第1~6位COM端.例8.2是使用中断方式编写的动态 数码管驱动程序.
精选PPT
7
8.1.2 动态显示接口
8.1 51单片机与LED显示器接口
8. 1 LED数码管显示器的结构与原理
单片机控制系统中常用LED现示器来显示各种数字或符号.由于这种显示 器显示清晰,亮度高,接口方便,因此被广泛应用于各种控制系统中.
在单片机应用系统中通常使用的是8段式LED数码管显示器,它 有共阴极和共阳极两种,如图所示。
a
{ uchar tmp;
static uchar Count;