ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:316.97KB ,
资源ID:15282756      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15282756.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机控制继电器实现开关状态显示讲解Word格式文档下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机控制继电器实现开关状态显示讲解Word格式文档下载.docx

1、1、掌握单片机扩展外部数据存储器的方法。2、掌握可编程的并行接口芯片8255A与单片机的硬件接口电路、8255A内部结构及其编程方法。3、掌握单片机的最小系统的设计。4、掌握电路板的设计与制作。5、了解程序编写与调试的方法和技巧。6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开发。四、系统硬件电路图系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外部扩展芯片8255A部分、外电路接通显示部分、及电源显示部分。设计硬件电路图时,其基本思想:先通过万能板搭建试验平台,将编好的程序下载到51中,等可以达到预期要求后,最后在PROTEL中设计原理图与

2、PCB,做出电路板。图1 系统硬件图五、程序流程图与源程序5.1流程图 5.2源程序5.2.1程序设计思想单片机通入电源后,一直让单片机对8255的A口进行采集,将8255的A口的开关信号送入8255的B口,原因是8255的B口要时时显示开关的通与段的状态。5.2.2源程序清单 #includeabsacc.h #define uchar unsigned char #define uint unsigned int #define COM8255 XBYTE0x0300 /*命令口地址*/ #define PA8255 XBYTE0x0000 /*口A*/ #define PB8255 XB

3、YTE0x0100 /*口B*/ void delay200ms(void) /*延时函数*/ unsigned char i,j,k; for(i=5;i0;i-) for(j=132;jj-) for(k=150;kk-); void delay1s(void) for(i=10; void main(void) /*主函数*/ uchar m; delay200ms(); COM8255=0x90; /*确定A,B口工作方式,A口输入,B口输出*/ while(1) delay200ms(); m=PA8255; /*单片机读入8255 A口开关信号*/ P1=m; /*中间信号,便于调

4、试*/ PB8255=m; /*将读入信号显示到8255 B口的LED上*/ 六、系统功能分析与说明6.1系统主要组成部分6.1.1 单片机最小系统部分(1)单片机的最小系统部分包括晶振电路、复位电路、主电源引脚Vss和Vcc、控制引脚/EA。(2)晶振电路为单片机正常工作时提供的时钟信号,由两个30pf的无极性电容和晶体压电瓷片组成外部振荡电路,把单片机的XTAL1(19)和XTAL2(18)分别接到外晶体的两端,使电容的另外一端接地就完成了单片机的晶振电路部分的设计,硬件图见图2晶振电路所示。(3)复位电路,当振荡器正常工作时,在单片机的复位引脚(9)连续保持出现两个机器周期以上的高电平时

5、,就会使单片机复位。AT89S51单片机复位电路主要有上电复手动复位和自动复位两种,在本次试验中我采用手动复位。按键手动复位的工作原理是:当按下按键时,电源对外接电容进行充电,使RST端为高电平,复位键松开后,电容通过内部下拉电阻放电,逐渐使RST端恢复低电平。具体电路见图2复位电路。图2 手动复位电路主电源引脚Vss(20)接地,Vcc(40)正常操作时接+5V电源。控制引脚/EA(31),当/EA保持高电平时,访问内部程序存储器(4KB),当PC值超过0FFFH时,将自动转向执行外部程序存储器中的程序。当/EA接低电平时,则只访问外部程序存储器(从0000H开始),不管单片机内部是否有程序

6、存储器。本系统采用第一种接法,直接将/EA端接高电平。6.1.2 可编程的并行接口芯片8255A(此部分见5.2可编程的并行接口8255A接口电路部分)6.1.3 输入输出部分 本系统采用P0口作为和8255A的数据总线接口;用P2.0和P2.0口分别和8255A的地址选通信号端A1和A0口相连,作为地址总线,直接将单片机的/WR(16)和/RD(17)及RST(9)与8255A的/WR(36)和/RD(5)及REST(35)相连作为控制总线。 单片机的P0口是8位的双向三态输入/输出接口。它既可以作为地址/数据总线使用,又可以作为通用的I/O口使用。当连接外部存储器时,P0口一方面作为8位数

7、据输入/输出口,另一方面用来输出外部存储器的低8位地址,作为输出口时,输出漏极开路,驱动NMOS电路时应该接上拉电阻;作为输入口之前,应先向锁存器中写“1”,使输出的两个场效应管均关闭,引脚处于浮空状态,这样高阻输入,以保证读取引脚信号而不是读锁存器状态。当P0口作为地址/数据总线时,就不能再把它作为通用的I/O口使用了。由于本系统正是采用P0口作为数据总线使用,所以就不能把P0口作为通用的I/O口了。6.2 可编程的并行接口8255A接口电路部分 6.2.1 8255A的引脚图3 8255引脚图8255A具有40个引脚,采用双列直插封装形式,其引脚图如图3所示,各引脚的功能如下:D7D0:三

8、态双向数据引脚,与单片机的数据总线相连,用于CPU与各I/O之间的数据传输;PA7PA0:A口输入/输出引脚;PB7PB0:B口输入/输出引脚;PC7PC0:C口输入/输出引脚;/CS:片选信号线,低电平有效,表示芯片被选中;/RD:读信号线,低电平有效,控制数据读出;/WR:写信号线,低电平有效,控制书局写入;RESET:复位信号线,高电平有效;A1、A0:地址线,输入三个端口和控制寄存器的地址。6.2.2 8255A的内部结构8255A由3个数据输入/输出端口、二个工作方式控制电路、一个读/写控制逻辑电路和一个总线数据缓冲器组成,其内部结构如图4所示。图4 8255内部结构(1)端口A、B

9、、CA口:具有8位数据输出锁存/缓冲器和一个8位数据输入锁存器;B口:具有一个8位数据输入/输出锁存/缓冲器和一个8位数据输入缓冲器;C口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存);三个端口中A口和B口总是作为数据输入/输出端口,C口有时控制信号和状态信号的输入/输出端口。(2)工作方式控制电路工作方式控制电路由两个,即A组控制电路和B组控制电路,分别控制A口和C口上半部、B口和C口下半部。工作方式控制电路根据控制字寄存器的内容控制A组和B组的工作方式,也可根据控制字寄存器的内容对C口按位进行操作。(3)总线数据缓冲器总线数据缓冲器是一个三态双向8位缓冲器。它的一端作

10、为8255A与单片机的数据总线的接口,另一端与A口、B口、C口和控制字寄存器相连,作为单片机与I/O口和控制字寄存器之间的数据缓冲器。读/写控制逻辑电路读/写控制逻辑电路输入的控制信号由/RD、/WR、RESET和A1、A0。它根据这些信号控制I/O口及控制寄存器的读/写操作。其中地址线A1、A0用来选择I/O口和控制寄存器,与读/写控制信号/RD和/WR构成各种工作状态,如表1-1所示。表1 8255端口读/写操作表A1 A0/RD /WR /CS工作状态1 01 12 00 1 0A口数据数据总线B口数据数据总线C口数据数据总线1 0 0总线数据A口总线数据B口总线数据C口总线数据控制字寄

11、存器 11 1 0数据总线三态非法状态6.2.3 8255A的工作方式8255A有3种工作方式,即工作方式0、工作方式1和工作方式2.。(1)工作方式0工作方式0为基本输入/输出方式,其功能概括如下:具有二个8位端口(A口、B口)和二个4位端口(C口的上、下半部分);任意一个端口都可以设定为输入或输出,各端口的输入/输出状态可构成16种 组合;数据输出全部锁存,输入不锁存。在工作方式0状态下,A口、B口、和C口都作为I/O端口,没有设置控制/状态信号时,单片机可以通过访问外部数据存储器指令,对任一端进行读/写操作。本系统要求CPU读取外部输入的开关信号,判断是哪一位的按键信号,然后,通过825

12、5A的PB0、PB1端口输出,直接采用方式1无条件输入输出方式。(2)工作方式1:选通输入输出方式端口A和端口B可以设置为这种工作方式,可以是选通的输入方式,或者是选通的输出方式。当A口或B口设置为方式1时,由端口C的某些位固定地为端口A或端口B提供联络信号或者状态信号,其中包括专门用于中断请求的信号,以便于8255A和外设之间,或者是8255A和CPU之间传送状态信息以及中断请求信号。这种联络信号是由8255A内部规定的,不是由使用者指定的。 方式1可以使用在查询方式的数据传送和中断方式的数据传送中。(3)工作方式2:双向方式只有端口A可以选择这种方式,这时,端口A既可以输入也可以作为输出。

13、当然,这种双向的数据传送也不是同时进行,但可以是在这个时刻输入操作,在下一个时刻进行输出操作,而不需要对传送的方向重新设置。端口A工作方式2时,仍然默认为时选通的输入/输出方式,即在C口种规定了输入和输出的状态信息,这些状态信息的位置和A口 工作在方式1时基本相同。如果这时端口A要按无条件传送方式来使用,C口的这些位仍然是保留作为状态位。但是这时的端口A并没有全部占用端口C的状态联络线,端口B在方式1时所需要的状态联络线仍然可以被B口所使用,所以,端口B此时可以设置为方式1,也可以设置为方式0。端口C可在选择方式1或方式2工作的情况下作为联络信号使用,其联络信号分布情况见表2,其中空白的位置表示这些位此时没有用于联络线,仍然还可以用于一般的输入/输出操作。各种联络信号的含义如下:表2 8255A方式1和方式2时C口的联络信号C口的位方式1方式2输入输出PC7/OBFAPC6/ACKAPC5IBFAPC4/STBAPC3INTRAPC

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1