第9章 STC89C52单片机IO扩展与设计
第9章89C51扩展IO接口的设计
1 G 1A1 2Y4 1A2 2Y3 1A3 2Y2 1A4 2Y1 GND
1 2 3 4 5 6 7 8 9 10 74LS244
20 19 18 17 16 15 14 13 12 11
VCC
G 2 1Y1
2A4 1Y2 2A3 1Y3 2A3 1Y4 2A1
74LS273各引脚定义如下: D0~D7:输入线。 Q0~Q7:输出线。 CLR:清除控制端, 低电平有效。 CLK:时钟输入端, 上升沿有效。 VCC:工作电源, 接+5V电压。 GND:接地。
三、利用串行口扩展并行口
串行口的工作方式0为同步移位寄存器输入/输出方式, 常用于外接移位寄存器,以扩展并行I/O口。 波特率:fosc/12 发送、接收的数据是8位 不占用片外RAM地址,节省了硬件开销
用74LS165扩展并行输入口
74LS165:并行输入,串行输出移位寄存器
例 从16位扩展口读入5组数据(每组二个字节),并 把它们转存到内部RAM 20H开始的单元中。
练习:用8个开关分别控制8个LED(其中 开关信息通过串行口输入)
用74LS164扩展并行输出口. 74LS164:8位串入并出移位寄存器。
74LS164:串行输入,并行输出移位寄存器
例 编写将内部RAM单元30H、31H的内容经串行口 由74LS164并行输出子程序。
START: MOV R7,#02H ;设臵要发送的字节个数 MOV R0,#30H ;设臵地址指针 MOV SCON,#00H ;设臵串行口为方式0 SEND: MOV A,@R0 MOV SBUF,A ;启动串行口发送过程 WAIT: JNB TI,WAIT ;1帧数据未发完,循环等待 CLR TI INC R0 ;取下一个数 DJNZ R7,SEND ;未完,发完从子程序返回 RET
基于STC89C52单片机毕业设计(完整版)-附-原理图-pcb图-源程序-仿真图
基于STC89C52单片机的电子密码锁学生姓名: xx学生学号: xxxxx院(系):电气信息工程学院年级专业: 2010级电子信息工程2班指导教师:***二〇一三年六月摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事情屡见不鲜,电子密码锁具有安全性能高,成本低,功耗低,操作简单等优点使其作为防盗卫士的角色越来越重要。
从经济实用角度出发,采用51系列单片机,设计一款可更改密码,LCD1602显示,具有报警功能,该电子密码锁体积小,易于开发,成本较低,安全性高,能将其存储的现场历史数据及时上报给上位机系统,实现网络实时监控,方便管理人员及时分析和处理数据。
其性能和安全性已大大超过了机械锁,特点有保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;误码输入保护。
当输入密码多次错误时,报警系统自动启动;电子密码锁操作简单易行,受到广大用户的亲睐。
关键词单片机, 密码锁, 更改密码, LCD1602目录错误!未定义书签。
1 绪论1.1电子密码锁简介 (1)1.2 电子密码锁的发展趋势 (1)2 设计方案 (3)3 主要元器件 (4)3.1 主控芯片STC89C52 (4)3.2 晶体振荡器 (8)3.3 LCD显示密码模块的设计 (9)3.3.1 LCD1602简介 (9)3.3.2 LCD1602液晶显示模块与单片机连接电路 (11)4 硬件系统设计 (12)4.1 设计原理 (12)4.2 电源输入电路 (12)4.3 矩阵键盘 (13)4.4 复位电路 (14)4.5 晶振电路 (14)4.6 报警电路 (15)4.7 显示电路 (15)4.8 开锁电路 (16)4.9 电路总体构成 (16)5 软件程序设计 (18)5.1 主程序流程介绍 (18)5.2 键盘模块流程图 (19)5.3 显示模块流程图 (21)5.4 修改密码流程图 (22)5.5 开锁和报警模块流程图 (23)6 电子密码锁的系统调试及仿真 (25)6.1硬件电路调试及结果分析 (25)6.2软件调试及功能分析 (25)6.2.1调试过程 (25)6.2.2 仿真结果分 (26)7 结论 (29)参考文献 (30)附录: (31)1 绪论1.1电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
单片机课程设计I、O口的扩展
宝鸡文理学院单片机技术课程设计说明书I/O口的扩展与应用目录1. 概述.............................................................................................. 错误!未定义书签。
2. 分项说明...................................................................................... 错误!未定义书签。
2.1 XXXXXX.................................... 错误!未定义书签。
2.2 XXXXXX.................................... 错误!未定义书签。
3. 分项说明...................................................................................... 错误!未定义书签。
3.1 XXXXXX.................................... 错误!未定义书签。
3.2 XXXXXX.................................... 错误!未定义书签。
4. 结束语.......................................................................................... 错误!未定义书签。
参考文献........................................................................................... 错误!未定义书签。
附录........................................................................................... 错误!未定义书签。
第9章AT89C51单片机扩展IO接口的设计
第9章AT89C51单片机扩展IO接口的设计第9章 AT89C51单片机扩展I/O接口的设计1.判断下列说法是否正确,为什么?(1)由于81C55不具有地址锁存功能,因此在与AT89C51芯片的接口电路中必须加地址锁存器。
(2)在81C55芯片中,决定端口和RAM单元编址的信号是AD7~AD0和WR。
(3)82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上。
(4)82C55的PB口可以设置成方式2。
答:(1)错,81C55具有地址锁存功能。
(2)错,在81C55芯片中,引脚IO/M*、A2、A1、A0决定端口地址和RAM 单元编址。
(3)错,82C55不具有三态缓冲器。
(4)错,82C55的PB口只可以设置成方式0和方式1。
2.I/O接口和I/O端口有什么区别?I/O接口的功能是什么?答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。
I/O接口是指单片机与外设间的I/O接口芯片。
I/O接口的功能:(1)实现和不同外设的速度匹配;(2)输出数据缓存;(3)输入数据三态缓冲。
3.I/O数据传送由哪几种传送方式?分别在哪些场合下使用?答:(1)同步传送方式。
同步传送又称无条件传送。
当外设速度可与单片机速度相比拟时,常常采用这种方式。
最典型的同步传送就是单片机和外部数据存储器之间的数据传送。
(2)查询传送方式。
查询传送又称有条件传送,也称异步传送。
单片机通过查询得知外设准备好后,再进行数据传送。
异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。
为了提高单片机的工作效率,通常采用中断方式。
(3)中断传送方式。
中断传送方式是利用AT89C51本身的中断功能和I/O 接口的中断功能来实现I/O数据的传送。
单片机只有在外设准备好后,发出数据传送请求,才中断主程序,进入与外设进行数据传送的中断服务程序,进行数据的传送。
中断服务完成后又返回主程序继续执行。
因此,采用中断方式可以大大提高单片机的工作效率。
STC89C52单片机存储器扩展
8.1 系统扩展结构 8.2 地址锁存与地址空间分配 8.3 程序存储器的扩展 8.4 数据存储器的扩展 8.5 EPROM和RAM的综合扩展
8.1 系统扩展结构
为减少连接线,简化组成结构,可把具有共性的连线归并成 一组公共连线,即总线——传送信息的公共通道(BUS)。
STC89C52为减少引脚数量,采用了复用P0口方案,即P0口兼作数据 线和低8位地址线,为了将地址和数据信息区分开来,需要在P0口外 部增加地址锁存器,即将地址信息的低8位锁存后输出。
STC89C52RC的4个并行I/O口,由于系 统扩展的需要,能够真正作为数字I/O使用, 就剩下P1和P3的部分口线了。
STC89C52单片机发出的地址码用于选择某个存储器 单元,在这个过程中单片机必须进行两种选择:一是选 中该存储器芯片,称为“片选”,未被选中的芯片不能 被访问。二是在“片选”的基础上再根据单片机发出的 地址码来对“选中” 芯片的某一单元进行访问,即“单 元选择”。为实现片选,存储器芯片都有片选引脚。同 时也都有多条地址线引脚,以便进行单元选择。注意, “片选”和“单元选择”都是单片机通过地址线一次发 出的地址信号来完成选择的。
I/O口方式(非总线方式 )
例如:MOVX A, @DPTR
I/O口方式——采用片内RAM
(片外RAM 0~0FFFFH) 指令访问外设
例如:MOV A,P0
STC89C52单片机没有专用总线引脚,而是采用了I/O引脚兼
作总线引脚的方案。
STC89C52单片机的存储器扩展即包括程序存储 器扩展又包括数据存储器扩展。AT89S51单片 机采用程序存储器空间和数据存储器空间截然 分开的哈佛结构。扩展后,系统形成了两个并 行的外部存储器空间。
STC89C52RC单片机使用书
STC89C52RC单⽚机使⽤书STC89C52RC单⽚机介绍STC89C52RC单⽚机是宏晶科技推出的新⼀代⾼速/低功耗/超强抗⼲扰的单⽚机,指令代码完全兼容传统8051单⽚机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:1.增强型8051单⽚机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.2.⼯作电压:5.5V~3.3V(5V单⽚机)/3.8V~2.0V(3V单⽚机)3.⼯作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际⼯作频率可达48MHz4.⽤户应⽤程序空间为8K字节5.⽚上集成512字节RAM6.通⽤I/O⼝(32个),复位后为:P1/P2/P3/P4是准双向⼝/弱上拉,P0⼝是漏极开路输出,作为总线扩展⽤时,不⽤加上拉电阻,作为I/O⼝⽤时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应⽤可编程),⽆需专⽤编程器,⽆需专⽤仿真器,可通过串⼝(RxD/P3.0,TxD/P3.1)直接下载⽤户程序,数秒即可完成⼀⽚8.具有EEPROM功能9.具有看门狗功能10.共3个16位定时器/计数器。
即定时器T0、T1、T211.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断⽅式唤醒12.通⽤异步串⾏⼝(UART),还可⽤定时器软件实现多个UART13.⼯作温度范围:-40~+85℃(⼯业级)/0~75℃(商业级)14.PDIP封装STC89C52RC单⽚机的⼯作模式掉电模式:典型功耗<0.1µA,可由外部中断唤醒,中断返回后,继续执⾏原程序●空闲模式:典型功耗2mA●正常⼯作模式:典型功耗4Ma~7mA●掉电模式可由外部中断唤醒,适⽤于⽔表、⽓表等电池供电系统及便携设备STC89C52RC引脚图STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端⼝(P0.0~P0.7,39~32引脚):P0⼝是⼀个漏极开路的8位双向I/O ⼝。
第9章AT89C51扩展IO接口的设计
第9章AT89C51扩展IO接口的设计第9章 AT89C51扩展IO接口的设计为了满足AT89C51单片机扩展更多IO接口的需求,本章将介绍一种设计方案,旨在增加AT89C51单片机的可扩展性和灵活性。
设计目标:1. 增加AT89C51单片机的IO接口数量,使其能够连接更多的外设设备;2. 提高IO接口的可靠性和稳定性,以确保数据传输的准确性;3. 简化硬件设计,减少电路的复杂度;4. 方便用户使用和维护。
设计思路:本方案采用串行并行转换器(Serial-to-Parallel Converter)来扩展AT89C51单片机的IO接口。
通过串行并行转换器,可以将AT89C51单片机的串行数据信号转换成并行数据信号,从而实现与更多外设设备的连接。
硬件设计:1. 连接AT89C51单片机的TXD引脚和串行并行转换器的串行数据输入端;2. 连接串行并行转换器的并行数据输出端和外设设备的输入端;3. 连接AT89C51单片机的相应引脚和外设设备的控制引脚,用于控制数据的发送和接收。
软件设计:1. 初始化AT89C51单片机的串行通信模块,设置波特率和其他串口参数;2. 编写程序代码,实现与外设设备的数据交互。
例如,发送数据到外设设备或接收来自外设设备的数据;3. 根据具体需求,编写相应的中断服务程序,以处理外设设备的数据请求或其他事件。
实施与测试:1. 绘制电路板原理图,并按照设计要求进行布线;2. 制作电路板,焊接元件;3. 完成电路板的调试,检查连接是否正确,电路是否正常工作;4. 编写测试程序,通过串行通信模块发送和接收数据,验证扩展IO 接口的功能;5. 进行充分测试,确保扩展IO接口的稳定性和可靠性。
总结:通过本章所介绍的AT89C51扩展IO接口的设计方案,可以有效地扩展AT89C51单片机的IO接口,并且提高其可靠性和稳定性。
该设计方案简化了硬件电路的复杂度,方便用户使用和维护。
在实施与测试过程中,需要严格按照设计要求进行,以确保扩展IO接口的正常工作。
第9章 用LED数码管显示的秒表设计
图9-4 定时器中断程序
程序清单见课程设计指导书或配套仿真软件
5
9.4 仿真与实验结果
图9-5 按下Stop按键时的仿真结果
6
9.4 仿真与实验结果
图9-6 按下S 用LED数码管显示的秒表设计
9.1 项目任务 9.2 硬件设计 9.3 程序设计 9.4 仿真与实验结果
1
秒表是一个重要的计时工具,可用于比赛计时、实验研究以及生 活计时等。
2
9.1 项目任务
用STC89C52单片机与两位数码管设计并制作一个秒表,实现 电子秒表的基本功能,显示时间为00~59,每秒自动加1,至59 秒后再回到00,继续循环。运用“开始”、“暂停”、“复位” 按键实现对秒表计时控制。
3
9.2 硬件设计
图9-2 LED数码管显示的秒表设计电路原理图 4
9.3 程序设计
开始 定时器初始化 开中断、开始计时
1秒时间到? N
Y 1秒标志位清0,秒加1
秒=60? N
停止键按下? N
继续计时?
Y 秒计数器清零 Y
停止计时 结束
开始 定时器重新置初值 50ms中断次数加1
结束
显示秒
图9-3 主程序流程图
AT89S52单片机的IO扩展
MOV DPTR,#××××H MOV A,#95H MOVX @DPTR,A
;控制字寄存器端口地址××××H送DPTR ;方式控制字95H送A ;控制字95H送控制字寄存器
2.PC口按位置位/复位控制字
单片机控制82C55的另一个控制字为PC口按位置位/复位控
23
制字。即PC口8位中的任何一位,可用一个写入82C55控制口 的置位/复位控制字来对PC口按位置“1”或清“0”,这一功能 主要用于位控。PC口按位置位/复位控制字的格式如图9-4所示。
【例9-3】假设82C55的控制字寄存器端口地址为FF7FH,则 令PA口和PC口的高4位工作在方式0输出,PB口和PC口的 低4位工作于方式0输入,初始化程序如下:
27
MOV
DPTR,#0FF7FH ;控制寄存器端口地址0FF7F送DPTR
MOV MOVX
A,#83H @DPTR,A
; 方式控制字83H送A ; 控制字83H送控制寄存器
目前常用的外围I/O接口芯片有:
10
(1)82C55—可编程的通用并行接口电路(3个8位I/O口); (2)81C55—可编程的IO/RAM扩展接口电路(2个8位I/O口, 1个6位I/O口,256个RAM字节单元,1个14位的减法计数器)。
它们都可以和AT89S52单片机直接连接,且接口逻辑十分简 单。本章仅介绍AT89S52单片机扩展I/O接口芯片82C55的设计。
20
端口的3种工作方式由写入控制寄存器的方式控制字来决 定。方式控制字的格式如图9-3所示。最高位D7=1,为本方 式控制字的标志,以便与后面介绍的端口PC口置位/复位控 制字相区别(端口PC置位/复位控制字的最高位D7 = 0)。
3个端口中PC口被分为两个部分,上半部分随PA口称为A 组,下半部分随PB口称为B组。其中PA口可工作于方式0、 1和2,而PB口只能工作在方式0和1。
单片机IO口扩展设计
单片机I/O口扩展实验摘要:本设计随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中流水灯的应用就是一个典型的例子,特别在商业广告领域有重要的应用,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
关键词:单片机,控制,8X8 LED点阵,流水灯,AT89C52,动态显示1.引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的是单片机的一些简单的应用,最小系统的复位,INT0和INT1的一些应用来控制输出,达到控制彩灯(流水灯)。
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
本系统采用单片机AT89C52为中心器件,用8*8位LED显示元件XY1588ASR(24脚共阳管)来设计控制彩灯(流水灯),系统实用性强、操作简单、扩展性强。
也可以为我们更好地了解单片机的应用加深我们对单片机的认识,对我们以后的学习都带来很大的帮助。
2.总体设计方案2.1设计内容与设计思路及关键技术单片机采用用AT89C52芯片,控制彩灯(流水灯)。
8X8LED点阵流水灯设计将在8X8LED 点阵显示上移流水灯显示,然后循环显示。
P1口涉及下载线,而P3口的P3.2和P3.3作用于外部中断,所以就用P0和P2口来控制滚动显示文字,通过P0口接8*8位LED阳极,P2口接8*8位LED负极来不断扫描显示。
基于STC89C52单片机最小系统的设计
基于STC89C52单片机最小系统的设计在现代电子技术领域,单片机的应用无处不在,从家用电器到工业自动化,从智能仪器仪表到航空航天设备,都能看到单片机的身影。
STC89C52 单片机作为一款经典的 8 位单片机,以其高性能、低功耗、易于开发等优点,被广泛应用于各种电子系统中。
而要让 STC89C52 单片机正常工作,就需要设计一个可靠的最小系统。
一、STC89C52 单片机简介STC89C52 单片机是由宏晶科技生产的一款增强型 8051 单片机,它具有 8K 字节的 Flash 程序存储器、512 字节的 RAM、4 个 8 位并行I/O 口(P0、P1、P2、P3)、3 个 16 位定时器/计数器、1 个全双工串行通信口等资源。
其工作电压为 5V,工作频率可达 35MHz,能够满足大多数应用场景的需求。
二、最小系统的组成一个完整的 STC89C52 单片机最小系统通常包括以下几个部分:1、电源电路电源是整个系统的动力源泉,STC89C52 单片机的工作电压为 5V,因此需要一个稳定的 5V 电源为其供电。
可以使用线性稳压器(如7805)将输入的电压(如 9V 或 12V)转换为 5V 输出,也可以使用USB 接口直接提供 5V 电源。
2、复位电路复位电路的作用是在系统上电或出现异常时,将单片机的内部状态恢复到初始状态,使其能够正常工作。
常见的复位电路有上电复位和手动复位两种。
上电复位电路通过电容充电实现,手动复位电路则通过按键实现。
3、时钟电路时钟电路为单片机提供工作所需的时钟信号,决定了单片机的运行速度。
STC89C52 单片机可以使用内部时钟,也可以使用外部时钟。
内部时钟通过在单片机的 XTAL1 和 XTAL2 引脚之间连接一个晶振和两个电容来实现,晶振的频率通常为 110592MHz 或 12MHz。
4、下载电路为了将编写好的程序下载到单片机中,需要设计一个下载电路。
STC89C52 单片机支持通过串口下载程序,可以使用 MAX232 芯片将单片机的 TTL 电平转换为 RS232 电平,然后通过串口线与计算机连接进行程序下载。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
5. I/O接口电路种类 我们根据总线结构分并行接口和串行接口。 单片机的并行总线扩展,就是利用三总线AB(地址总 线)、DB(数据总线)、CB(控制总线)进行的系
统扩展,该扩展方法不再是单片机系统唯一的扩展结 构,除并行总线扩展技术之外,近年又出现串行总线 扩展技术。例如:我们介绍Philips公司的I2C串行总 线接口、DALLAS 公司的单总线(1-Wire)接口和 Motorola公司的SPI串行外设的串行接口。 返回本节
25
Hale Waihona Puke 2. 确定82C55端口地址 根据图9-6所示,82C55只有3条线与STC89C52地址 线相接,片选端、端口地址选择端A1、A0,分别接于 地址总线A7A1A0,其它地址线全悬空。显然只要保证 A7为低电平时,即可选中82C55;若A1A0再为“00”, 则选中82C55的PA口。同理A1A0为“01”、“10”、
1
9.1 I/O接口概述 9.2 TTL电路扩展并行接口 9.3 可编程接口芯片82C55扩展并行接口 9.4 串行扩展总线接口 9.4.1单总线串行扩展 9.4.2 SPI总线串行扩展 9.4.3 IIC总线串行扩展 9.5 小 结
2
9.1 I/O接口概述
I/O接口定义:单片机与外设传送数据桥梁。 分类:串行接口和并行接口 串行接口:采用逐位串行移位方式传输数据。 并行接口:采取多位数据同时传输数据。 设置接口的原因:大多数情况下,外设速度很 慢,无法跟上微秒级的单片机速度,为了保证 数据传输的安全,可靠,必须设计合适的单片 机与外设的I/O接口电路。
由B数据到A总线,该引脚为低电平,则P1.0=0
10
/*文件名: 9-1.C,使用C51运行库中预定义宏 */ #include<reg52.h> #define XBYTE ((unsigned char volatile xdata *) 0) #define EXPORT XBYTE[0x7ffF] //定义扩展端口地址 #define uchar unsigned char sbit P10=P1^0; //*定义74LS245方向控制端 /******** main 函数 *********/ void main (void) { uchar key; P10=0; /设74LS245方向控制端为0 while(1){ key=EXPORT; //读74LS245输入口按键值 EXPORT=key; //向74LS373 输出按键值 } Keil }
MOVX @DPTR,A
9.3.4 STC89C52单片机与82C55的接口设计
【例 9-4】设计 STC89C52 与 82C55 连接的接口电路,并 编写相应的驱动程序。 1. 硬件接口电路 如图 9-6 为STC89C52 单片机扩展一片 82C55 的电路。 单片机P0口输出经74LS373锁存器形成扩展后低 8位地 址总线 A7 ~ A0,地址总线 A1A0与 82C55 的 A1A0连接; 地址总线A7与82C55的片选端相连,其它地址线悬空; 单片机(P3.7)和(P3.6)端直接与82C55的控制线、相连; 单片机数据总线与 82C55 数据线连接。 82C55 的 PA 口 PA3~PA0与按键行线相连,PC口的PC6与按键列线相 连,PB口PB3~PB0与数码管4个引脚相连。
基本功能为: (1)具有两个8位端口(A、B)和两个4位端口(C的上半部 分和下半部分)。
(2)任一个端口都可以设定为输入或输出,各端口的输入、 输出可构成16种组合。
(3)数据输出锁存,输入不锁存。 例9-3 假设82C55的控制字寄存器地址为FF7FH,则令A口和 C口的高4位工作在方式0输出, B口和C口的低4位工 作于方式0输入,初始化程序: MOV MOV DPTR,#0FF7FH A,#83H ;控制字寄存器地址送DPTR ;方式控制字83H送A ;83H送控制字寄存器
MOV
MOV
DPTR,#××××H; 控制字寄存器端口地址送DPTR
A,#08H ; 方式控制字08H送A ;08H送控制字寄存器,PC4清0
MOVX @DPTR,A
9.2.3
1.方式0
82C55的三种工作方式
基本的输入/输出方式。 AT89C51可对82C55进行数据的无条件传送 例如:从口线读入一组开关状态,向端口输出数字量,控制 一组指示灯的亮、灭。不需要联络信号, 外设的I/O数据可在82C55的各端口得到锁存和缓冲
9.2.2
工作方式选择控制字及C口置位/复位控制字
1.工作方式选择控制字 82C55有三种工作方式: (1) 方式0:基本输入输出; (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。 三种工作方式由方式控制字来决定。 控制字格式如下。
图9-4
2. C口按位置位/复位控制字
“11”分别选中PB口、PC口及控制口。
若端口地址用16位表示,其他无用端全设为“1”(也 可把无用端全设为“0”),则82C55的A、B、C及控 制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。
3. 软件编程 在实际设计中,须根据外设的类型选择82C55 的操作方式,并在初始化程序中把相应控制字 写入控制口。 按照图9-6所示的STC89C52与82C55的连接图, A口为输入口,连接按键,B口为输出口,连接 数码管,PC6为列线,将4个按键的16种组态 值送数码管显示。 驱动程序有3个模块:主程序、A口的键盘扫描 程序、B口数码管显示程序。
12
9.3 可编程接口芯片82C55扩展并行接口
本节先介绍可编程并行I/O接口芯片82C55的应用特性 ,后介绍STC89C52与82C55的接口电路以及驱动程序 设计。 9.3.1 82C55芯片介绍 82C55芯片是Intel公司的可编程并行I/O接口芯片,3个 8位并行I/O口,3种工作方式,单片机与多种外设连接 时的中间接口电路。引脚及内部结构如图9-2和图9-3 所示
82C55A的引脚图
返回
82C55的结构框图
返回
⑵A组和B组控制电路 这是两组根据CPU写入的“命令字”控制8255A工 作方式的控制电路。 A组:控制PA口和PC口的上半部(PC7~PC4) B组:控制PB口和PC口的下半部(PC3~PC0) 可据“命令字”对端口的每一位实现按位“置位”或“ 复位”。
uVision4
11
驱动程序 该段程序,循环读取输入口按键组态值,将该 值输出到输出端口驱动对应发光二极管亮灭。 (1)汇编语言: ORG 0000H START: CLR P1.0 MOV DPTR,#7FFFH MOVX A,@DPTR MOVX @DPTR,A AJMP START END
Keil uVision4
8
9.2 TTL电路扩展并行接口
9.2.1 TTL电路扩展并行I/O口 采用总线式扩展TTL电路可以构成简单输入/输出口,如图9-1.电路 74LS373来扩展输出口,74LS245用来扩展输入口。 74LS245是8位三态收发器,无锁存功能,可以用做8位总线驱动
器,输入端连接了8个按键。
第9章 STC89C52单片机I/O扩展与设计
本章主要内容:介绍I/O接口基本概念,I/O口并行总线 扩展方法,并行接口以82C55可编程芯片应用为例。介 绍串行总线扩展的工作原理、特点以及工作时序,叙述 I/O口串行总线扩展方法,以I2C总线、单总线、SPI总线 等串行总线应用为例,介绍单片机软件模拟串行接口总 线时序以及单片机扩展串行总线接口具体应用实例。此 处,以数字温度传感器DS18B20和DS1621以及TLC2543 芯片为例的串行总线扩展接口电路设计、分析和编写的 驱动程序等实际应用。
5
3. I/O端口编址 单片机采用访问地址方式访问端口,所以,所有接口中的I/O端 口必须进行编址,以便CPU通过端口与外设交换信息。常用I/O端口 编址方式有独立编址和统一编址。 (1)独立编址方式 独立编址方式是将I/O端口地址空间与存储器地址空间严格分开 进行编址,地址空间互相独立,界限分明。 (2)统一编址方式 统一编址是将I/O端口地址空间与数据存储器单元同等对待, 每个I/O端口作为一个外部数据存储器地址单元统一编址。单片机访
写信号 WR相或取非信号确定,端口地址只需P2.7=0,即
A15=0,其余地址线任选,此处全选1,则74LS373端口地址 为7FFFH。扩展输入口74LS245端口为只读不写端口,其和 74LS373共用一个端口,所以74LS245端口地址也为7FFFH, 此时单片机的P1.0连接到74LS245方向控制端,作为输入口
3、组成部分: ⑴数据端口:A、B、C ①PA口:一个8位数据输出锁存器和缓冲器。 一个8位数据输入锁存器。 ②PB口:一个8位数据输出锁存器和缓冲器。 一个8位数据输入缓冲器。 ③PC口:一个8位数据输出锁存器。 一个8位数据输入缓冲器。 通常PA、PB口作为输入、输出口。PC口可作输入、输 出口,也可在软件控制下,分为两个4位的端口,作为端 口A、B选通方式操作时的状态控制信号。
可对C口8位中的任一位置“1”或清“0”。用于位控。
图9-5
【例9-2】 STC89C52向82C55的控制字寄存器写入按位置位/复位控制字
07H,则PC3置1;08H写入控制口,则PC4清0。程序段如下: MOV DPTR MOV A,#07H ;按位置位/复位控制字07H送A MOVX @DPTR,A; 控制字07H送控制寄存器,把PC3置1 ………… DPTR,#××××H ; 控制寄存器端口地址××××H送
74LS245引脚共20个引脚:20脚为电源,19脚( CE )为三态允许 端(低电平有效),18脚~11脚为B组总线,10脚为地,9脚~2