单片机控制数码管显示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机应用技术
定义段码表
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]; // 查表取数 …
硬件电路
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
单片机应用技术
表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
单片机应用技术
思考:用单片机系统可控制 LED 可实现信 号灯的不同效果显示,那么能不能用单片 机系统控制LED来实现字符显示呢?
单片机应用技术
学习情境2
数码管显示系统设计
单片机应用技术
【教学目标】
1、终极目标:
制作在数码管上显示任意字符的单片机控制系统。
2、促成目标:
(1) 掌握单片机查表程序的设计方法; (2) 掌握单片机的LED显示接口电路工作原理及其应用; (3) 掌单片机LED显示接口的程序设计方法; (4) 初步掌握单片机应用系统分析和软硬件设计的基本方 法,建立单片机系统设计的基本概念;
单片机应用技术
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]; //显示个位数
特点
原理简单;显示亮度强,无闪烁;占用I/O资源较多。
单片机应用技术
动态显示方式
连接
所有LED的段选线共同连接在一起共用一个 8位I /O 口,而每个 LED 的位选分别由一根相应的 I/O 口线控 制。因此必须采用动态扫描显示方式,每一个时刻只 选通其中一个 LED ,同时在段选口送出该位 LED 的字型 码。
单片机应用技术
【项目实践】
电源电路
时钟电路
单 片 机
数码管显示电路
复位电路
图2.1 数码管显示系统组成方框图
单片机应用技术
应用软件采用模块化设计方法。该系统软件主 要由主程序、延时子程序等模块组成,系统软件结 构框图如图2.2所示。
延时子程序
主程序
图2.2 系统软件结构框图
单片机应用技术
2.系统工作原理
unsigned char k; while(1) { for(k=0;k<10;k++) { P2 = tab[k]; // 查表取数
单片机应用技术
4.LED数码管显示方式
根据LED显示的硬件设计方法的不同, LED显示驱动分为静态法和动态法两种方法。
单片机应用技术 静态显示方式
连接
所有 LED 的位选均共同连接到 +VCC 或 GND ,每个LED 的 8 根段选 线分别连接一个 8 位并行 I/O 口,从该 I/O 口送出相应的字型码显 示字型。
单片机应用技术
一维数组的查表功能
数组的一个非常有用的功能之一就是查表。表可以事 先计算后装入程序存储器中。 如: unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90}; //定义数组tab[],并初始化
R1
1k 29 30 31 PSEN ALE EA
C3
22uF 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 AT89C52
软件设计
单片机应用技术
1.算法设计 对于数码管而言,要想显示数字或字母,首先应 该选中该数码管,然后相应字段被点亮。例如:显示 一个“3”字,那么应当是a亮、b亮、c亮、d亮、e不 亮、f不亮、g亮、dp不亮。那么可以列出数码管显示 数字的段码表如表2.1所示。
74LS245 是 8 路同相三态双向 数据总线驱动芯片,具有双向 三态功能,既可以输出,也可 以输入数据。
/G为低电平有效; DIR=“1” ,信号由 A 向 B 传输。
引出端符号:
A B /G 总线端 总线端 三态允许端(低电平 有效) DIR 方向控制端
单片机应用技术
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
1
1 1
0
0 0
1
1 0
0
1 1
0
0 1
1
0 0
0
0 0
0
0 1
A4H
B0H 99H
数字5
数字6 数字7 数字8 数字9
1
1 1 1 1
0
0 1 0 0
0
0 1 0 0
1
0 1 0 1
0
0 1 0 0
0
0 0 0 0
1
1 0 0 0
0
0 0 0 0
92H
82H F8H 80H 90H
单片机应用技术 如表2.1所示,由于数码管显示的数字“0~9”的字型码 “0C0H、0F9H、0A4H、0B0H、99H、92H、82H、0F8H、 80H、90H”没有规律可循,只能采用查表的方式来完成我们所需 的要求。在程序设计中可以设计一个变量,每隔一定时间在 “0~9”之间变化,然后按照这个数据去查找段码表,把查到的 数据送到P2口。 所谓表格是指在程序中定义的一串有序的常数,如平方表、 字形码表、键码表等。因为程序一般都是固化在程序存储器(通 常是只读存储器ROM类型)中,因此可以说表格是预先定义在 程序的数据区中,然后和程序一起固化在ROM中的一串常数。 在程序设计中,有时需要预先把非线性数据以表格的形式存 放在存储器中,然后使用程序读出,这种能读出数据表格的程序 就称为查表程序。 查表程序的关键是表格的定义和如何实现查表。
单片机应用技术
数组:一种数据类型
C语言的数据类型
基本类型 整型 单精度型 实型 双精度 字符型 数组 结构 联合 枚举
数据类型
构造类型 指针类型 空类型

单片机应用技术
数组的概念
数组是构造数据类型,是一组有序数据的集合,数 组中的每个元素都属于同一种数据类型,不允许在同 一数组中出现不同类型的变量,数组元素的数据类型 分隔符 为分号 就是该数组的基本类型。例如,整型数据的有序集合 称为整型数组,字符型数据的有序集合称为字符型数 组。 数组分为一维、二维、三维和多维数组等,常用的 是一维、二维和字符数组。
一维数组的定义: 一般格式:类型标识符 数组名[常量表达式];
遵循标识符 命名规则
int array[10];
unsigned char num[7]; 说明:
数组名——见名知意;数组名中存放的是一个地址常量,它 代表整个数组的首地址。同一数组中的所有元素,按其下标 的顺序占用一段连续的存储单元。 方括弧而非圆括弧;
单片机应用技术
任务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
单片机应用技术
任务1:
数码管循环显示 0~9
单片机应用技术
【项目实践】 【活动一】总体设计
1.系统组成
本系统功能由硬件和软件两大部份协调完成,硬件部分 主要完成信息的显示;软件主要完成信号的处理及控制功能 等。 本系统的硬件采用模块化设计,以AT89S52单片机为核 心,与数码管接口电路组成控制系统。该系统硬件主要包括 以下几个模块:AT89S52主控模块、数码管显示模块等。 其中AT89S52主要完成外围硬件的控制以及一些运算功能, 数码管显示模块完成字符、数字的显示功能。系统组成方框 图如图2.1所示。
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口线较多,硬件电路复杂,成本高, 只适合显示位数较少的场合。
数码管由8个发光二极管构成,可以用来显示数字、 字符等,它在家电及工业控制中有着很广泛的应用,例如 用来显示温度、数量、重量、日期、时间等,具有显示醒 目、直观的有点,如图2.3所示。
图2.3 数码管实物图
【项目实践】
单片机应用技术
图2.4 数码管内部结构图
硬件设计
单片机应用技术 74LS245
单片机应用技术
ቤተ መጻሕፍቲ ባይዱ
数组的基本特点
构造类型数据:由基本类型数据按照一定规则组成。
数组:是有序数据的集合;数组中的每一个元素都属于 同一个数据类型,用一个统一的数组名和下标来唯一地 确定数组中的元素。 应用场合:需要处理的数据为数量已知的若干相同类型 的数据时。
注意:先定义,后使用。
单片机应用技术 一维数组的定义和引用
常量表达式:可以是常量或符号常量;表示数组元素的个数 (也称数组长度)。不允许对数组大小作动态定义。
单片机应用技术
一维数组的初始化
一般格式:
数据类型 数组名[常量表达式]={初值表} 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};
相关文档
最新文档