用51单片机8255138373等实现数码管显示按键数值的程序DOC.docx
- 文档编号:1869661
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:20
- 大小:442.35KB
用51单片机8255138373等实现数码管显示按键数值的程序DOC.docx
《用51单片机8255138373等实现数码管显示按键数值的程序DOC.docx》由会员分享,可在线阅读,更多相关《用51单片机8255138373等实现数码管显示按键数值的程序DOC.docx(20页珍藏版)》请在冰豆网上搜索。
用51单片机8255138373等实现数码管显示按键数值的程序DOC
姓名
专业
学号
2013年10月28日
随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机了解计算机原理与结构的最佳选择。
现在,这种单片机的使用领域已十分广泛。
彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。
单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。
单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。
课题要求:
用51单片机、8255、138、373等实现数码管显示按键数值的程序
各芯片资料:
1.8255芯片资料如下
用8255A可编程器件扩展并行接口
8255:
有三个八位的并行口:
PA、PB、PC。
有三种工作方式:
方式0,方式1,方式2。
逻辑结构图:
包含四个部分:
●三个并行数据输入输出端口
●两个工作方式控制电路
●一个读写逻辑控制电路
●八位总线缓冲器
1.三个并行数据输入输出端口:
A口;B口;C口
一般,A口,B口作为数据输入输出端口,
C口作为控制/状态信息口,可以分为两个部分,分别与A口和B口配合使用,作为控制信息输出或状态信息输入。
2.工作方式控制电路
工作方式控制电路有两个:
A组控制和B组控制电路,
A组控制用来控制A口和C口的上半部分PC7——PC4;
B组控制用来控制B口和C口的下半部分PC3——PC0;
两组控制电路具有一个控制命令寄存器,用来接收来自
CPU的数据(控制字),以决定芯片的工作方式,或对
C口按位进行清“0”或者置“1”。
3.总线缓冲器
三态双向八位缓冲器,作为微处理器数据总线与8255之间的接口,用来传送命令、数据及状态信息。
4.读写逻辑控制电路
读写逻辑控制电路接受CPU来的控制信号:
读、写、地址及复位信息,根据控制信号的要求,将数据读出,送往CPU,或者将CPU来的信息写入端口。
引脚说明:
:
片选信号,低电平有效,表示芯片被选中;
:
读操作,低电平有效,控制数据读出;
:
写操作,低电平有效,控制数据写入;
A1,A0:
地址线,端口选择信号,用来选择8255内部端口:
A1A0操作
00010读A口到数据总线
01010读B口到数据总线
10010读C口到数据总线
00100写数据总线A口
01100写数据总线B口
10100写数据总线C口
11100写数据总线控制口
××××1数据总线为高阻态
11010非法操作
11110无效
RESET:
复位信号,高电平有效,各端口被置成输入;
D7—D0:
双向三态数据线;
PA7——PA0:
A口输入输出线;
PB7—PB0:
B口输入输出线;
PC7——PC0:
C口输入输出线;
3.工作方式选择——工作方式控制字
8255有三种工作方式:
方式0,方式1,方式2。
其中方式2只对A口。
8255的工作方式是由工作方式控制字决定,工作方式控制字是
由CPU写入。
8255方式控制字定义如下:
D7D6D5D4D3D2D1D0B组:
端口C(下半部)
1:
输入,0:
输出
端口B
1:
输入,0:
输出
方式选择
0:
方式0,1方式1
A组
C口上半部
1:
输入,0:
输出
端口A
1:
输入,0:
输出
方式选择
00:
方式0,
01:
方式1
1×:
方式2
D7=1:
命令控制字有效。
当D7=0,通过控制口对C口进行位操作。
C口具有位操作功能,通过工作方式控制字可以将PC7——PC0
中任意一位置1或清0
D7D6D5D4D3D2D1D0
D7=0对C口操作,D6D5D4无效,
D3D2D1:
位选择
000PC0
001PC1
010PC2
011PC3
100PC4
101PC5
110PC6
111PC7
D0=0:
清0;0=1:
置1
1.工作方式0:
基本输入输出方式
三个端口都可以设置成输入或输出方式:
●具有两个八位端口:
A口和B口
●具有两个四位端口:
PC0——PC3,PC4——PC7
●任一端口都可设置为输入或输出
●数据输出带锁存,输入时不锁存
此时,8255可以工作在无条件传送;
也可以查询式传送,C口作为联络信号
2.工作方式1:
选通式输入/输出方式
有固定的选通信号,选通信号与数据一齐传送,由选通信号表示数据传送的状态:
●三个端口分为两组:
A组和B组
●每组包括一个八位数据端口和一个四位的控制状态端口
●每个八位数据端口均可设置为输入或输出,输入输出均带锁存
●四位端口作为八位端口的控制/状态联络信号
2.51芯片资料
Vcc 40 电源端
GND 20 接地端
*工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。
2.外接晶体引脚
图2-2 外接晶体引脚
XTAL1 19
XTAL2 18
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
*型号同样为AT89C51的芯片,在其后面还有频率编号,有12,16,20,24MHz可选。
大家在购买和选用时要注意了。
如AT89C5124PC就是最高振荡频率为24MHz,40P6封装的普通商用芯片。
3.复位 RST 9
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
常用的复位电路如图2-3所示。
*复位操作不会对内部RAM有所影响。
图2-3 常用复位电路
4.输入输出引脚
(1)P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。
作为输出口时能驱动8个TTL。
对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。
在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。
(2)P1端口[P1.0-P1.7]P1是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收低8位地址信息。
(3)P2端口[P2.0-P2.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
(4)P3端口[P3.0-P3.7]P2是一个带有内部上拉电阻的8位双向I/0端口。
输出时可驱动4个TTL。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接控制信息。
除此之外P3端口还用于一些专门功能,具体请看表2-2.。
*P1-3端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。
P3引脚
兼用功能
P3.0
串行通讯输入(RXD)
P3.1
串行通讯输出(TXD)
P3.2
外部中断0(INT0)
P3.3
外部中断1(INT1)
P3.4
定时器0输入(T0)
P3.5
定时器1输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器写选通RD
表2-2 P3端口引脚兼用功能表
呼!
一口气说了那么多,停一下吧。
嗯,什么?
什么叫上拉电阻?
上拉电阻简单来说就是把电平拉高,通常用4.7-10K的电阻接到Vcc电源,下拉电阻则是把电平拉低,电阻接到GND地线上。
具体说明也不是这里要讨论的,接下来还是接着看其它的引脚功能吧。
5.其它的控制或复用引脚
(1)ALE/PROG30访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。
在访问外部数据存储器时,出现一个ALE脉冲。
对Flash存储器编程时,这个引脚用于输入编程脉冲PROG
(2)PSEN29该引是外部程序存储器的选通信号输出端。
当AT89C51由外部程序存储器取指令或常数时,每个机器周期输出2个脉冲即两次有效。
但访问外部数据存储器时,将不会有脉冲输出。
(3)EA/Vpp31外部访问允许端。
当该引脚访问外部程序存储器时,应输入低电平。
要使AT89C51只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平。
对Flash存储器编程时,用于施加Vpp编程电压。
Vpp电压有两种,类似芯片最大频率值要根据附加的编号或芯片内的特征字决定。
具体如表2-3所列。
Vpp=12V
Vpp=5V
印刷在芯片面上的型号
AT89C51xxxxYYWW
AT89LV51xxxxYYWW
AT89C51xxxx-5YYWW
AT89LV51xxxx-5YYWW
片内特征字
030H=1EH
030H=1EH
030H=1EH
030H=1EH
031H=51H
031H=61H
031H=51H
031H=61H
032H=FFH
032H=FFH
032H=05H
032H=05H
表2-3 Vpp与芯片型号和片内特征字的关系
看到这您对AT89C51引脚的功能应该有了一定的了解了,引脚在编程和校验时的时序我们在这里就不做详细的探讨,通常情况下我们也没有必要去撑握它,除非你想自己开发编程器。
下来的课程我们要开始以一些简单的实例来讲述C程序的语法和编写方法技巧,中间穿插相关的硬件知识如串口,中断的用法等等。
成HEX文件和最小化系统 在开始C语言的主要内容时,我们先来看看如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 8255138373 实现 数码管 显示 按键 数值 程序 DOC