单片机控制数码管显示
常量表达式:可以是常量或符号常量;表示数组元素的个数 (也称数组长度)。不允许对数组大小作动态定义。
单片机应用技术
一维数组的初始化
一般格式:
数据类型 数组名[常量表达式]={初值表} 1.定义时赋初值;int score[5]={1,2,3,4,5}; 2.给一部分元素赋值;int score[5]={1,2}; 3.不对数组全部元素赋值,则全部元素被赋值为0; int score[5]; 4.给全部数组元素赋初值时,可以不指定数组长度; int score[]={1,2,3,4,5};
单片机应用技术
一维数组的查表功能
数组的一个非常有用的功能之一就是查表。表可以事 先计算后装入程序存储器中。 如: unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90}; //定义数组tab[],并初始化
单片机应用技术
思考:用单片机系统可控制 LED 可实现信 号灯的不同效果显示,那么能不能用单片 机系统控制LED来实现字符显示呢?
单片机应用技术
学习情境2
数码管显示系统设计
单片机应用技术
【教学目标】
1、终极目标:
制作在数码管上显示任意字符的单片机控制系统。
2、促成目标:
(1) 掌握单片机查表程序的设计方法; (2) 掌握单片机的LED显示接口电路工作原理及其应用; (3) 掌单片机LED显示接口的程序设计方法; (4) 初步掌握单片机应用系统分析和软硬件设计的基本方 法,建立单片机系统设计的基本概念;
39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 2 3 4 5 6 7 8 9 19 1
U2
A0 A1 A2 A3 A4 A5 A6 A7 CE AB/BA 74HC245 B0 B1 B2 B3 B4 B5 B6 B7 18 17 16 15 14 13 12 11
一维数组的定义: 一般格式:类型标识符 数组名[常量表达式];
遵循标识符 命名规则
int array[10];
unsigned char num[7]; 说明:
数组名——见名知意;数组名中存放的是一个地址常量,它 代表整个数组的首地址。同一数组中的所有元素,按其下标 的顺序占用一段连续的存储单元。 方括弧而非圆括弧;
硬件电路
C1
19 20pF
U1
XTAL1
X1 C2
20pF CRYSTAL
18
XTAL2
9
RST
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
单片机应用技术
定义段码表
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90}; 查表语句
unsigned char k; while(1) { for(k=0;k<10;k++) { P2 = tab[k]; // 查表取数 …
单片机应用技术
【项目实践】
电源电路
时钟电路
单 片 机
数码管显示电路
复位电路
图2.1 数码管显示系统组成方框图
单片机应用技术
应用软件采用模块化设计方法。该系统软件主 要由主程序、延时子程序等模块组成,系统软件结 构框图如图2.2所示。
延时子程序
主程序
图2.2 系统软件结构框图
单片机应用技术
2.系统工作原理
单片机应用技术
任务2 0-99计数器
利用 AT89S52 单片机来制作一个 0 ~ 99 计时器, 并且通过两个共阴数码管显示计数结果,数码管 显示采用静态显示方式。
单片机应用技术
0-99计数器电路设计
RP1
4.7k-7
C1
1
30pF
U1 X1
19 XTAL1 CRYSTAL 18 XTAL2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 P20 P21 P22 P23 P24 P25 P26 P20 P21 P22 P23 P24 P25 P26
R1
10k
C2
30pF
9
RST
C3
10uF 29 30 31 PSEN ALE EA
R2
10k
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89S52
2 3 4 5 6 7 8
单片机应用技术 静态显示的概念 静态显示是指显示驱动电路具有输出锁存功能,待显 示的字符编码被CPU送出后,数码管会一直显示该字符不 变,CPU不需要再控制数码管,如果要显示新的字符,CP U只要再次送出即可。 采用静态显示方式,较小的电流就可以获得较高的亮 度,且占用CPU时间较少,编程简单,显示便于检测和控 制,但其占用的I/O口线较多,硬件电路复杂,成本高, 只适合显示位数较少的场合。
单片机应用技术
数组的基本特点
构造类型数据:由基本类型数据按照一定规则组成。
数组:是有序数据的集合;数组中的每一个元素都属于 同一个数据类型,用一个统一的数组名和下标来唯一地 确定数组中的元素。 应用场合:需要处理的数据为数量已知的若干相同类型 的数据时。
注意:先定义,后使用。
单片机应用技术 一维数组的定义和引用
特点
原理简单;显示亮度强,无闪烁;占用I/O资源较多。
单片机应用技术
动态显示方式
连接
所有LED的段选线共同连接在一起共用一个 8位I /O 口,而每个 LED 的位选分别由一根相应的 I/O 口线控 制。因此必须采用动态扫描显示方式,每一个时刻只 选通其中一个 LED ,同时在段选口送出该位 LED 的字型 码。
单片机应用技术
0-99计数显示c语言程序
#include <AT89X52.H> //包含AT89X52.H头文件 /*定义0~9十个数字的字型码表*/ unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char Count; //定义变量放置计数数值 void delay10ms(void) //定义10ms延时函数 { unsigned char i,j; for(i=20;i>0;i--) for(j=248;j>0;j--); }
单片机应用技术
0-99计时器显示c语言程序
void main(void) { Count=0; //计数变量初始为0 For(Count=0; Count<10; Count++) { P0=table[Count/10]; //显示十位数 P2=table[Count%10]; //显示个位数
单片机应用技术
表2.1 共阳数码管显示数字的段码表
段名称 对应引 脚 数字0 数字1 DP G F P2. 5 0 1 E D C P2. 2 0 0 B A 对应段 码
P2.7 P2.6 1 1 1 1
P2.4 P2.3 0 1 0 1
P2.1 P2.0 0 0 0 1 C0H F9H
数字2
数字3 数字4
单片机应用技术
数组:一种数据类型
C语言的数据类型
基本类型 整型 单精度型 实型 双精度 字符型 数组 结构 联合 枚举
数据类型
构造类型 指针类型 空类型
单片机应用技术
数组的概念
数组是构造数据类型,是一组有序数据的集合,数 组中的每个元素都属于同一种数据类型,不允许在同 一数组中出现不同类型的变量,数组元素的数据类型 分隔符 为分号 就是该数组的基本类型。例如,整型数据的有序集合 称为整型数组,字符型数据的有序集合称为字符型数 组。 数组分为一维、二维、三维和多维数组等,常用的 是一维、二维和字符数组。
74LS245 是 8 路同相三态双向 数据总线驱动芯片,具有双向 三态功能,既可以输出,也可 以输入数据。
/G为低电平有效; DIR=“1” ,信号由 A 向 B 传输。
引出端符号:
A B /G 总线端 总线端 三态允许端(低电平 有效) DIR 方向控制端
单片机应用技术
unsigned char k; while(1) { for(k=0;k<10;k++) { P2 = tab[k]; // 查表取数
单片机应用技术
4.LED数码管显示方式
根据LED显示的硬件设计方法的不同, LED显示驱动分为静态法和动态法两种方法。