51单片机串口控制继电器
单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机中继电器的工作原理及作用

单片机中继电器的工作原理及作用
单片机中继电器是一种常用的电子元器件,它可以在电路中起到信号转发、电压放大、电流输出等作用。
其主要工作原理是通过控制单片机的IO口,使其输出高低电平控制继电器的开关状态,从而实
现对电路信号的控制和放大。
在电路中,中继电器起到信号转发的作用,可以将微弱的信号转换成强大的信号,从而达到信号放大的效果。
同时,中继电器还可以进行电路隔离,保护电路中的其他元器件免受高电压或高电流的影响。
中继电器的作用不仅限于信号放大和隔离,它还可以用于电路的控制。
例如,可以通过中继电器控制电路的开关,实现对电路的远程控制。
中继电器还可以用于电路的保护,在电路出现故障时,中继电器会自动切断电路,避免电路进一步损坏。
总之,单片机中继电器是现代电子技术中不可或缺的元器件之一,其具有信号放大、电路隔离、电路控制、故障保护等多种作用,为电路的正常工作提供了重要的支持。
- 1 -。
51单片机最小系统及元件

51单片机最小系统及元件1. 前言51单片机是一款非常常见的单片机,广泛应用于嵌入式系统和智能控制领域。
在这个领域,最小系统是最基本的硬件。
本文将介绍51单片机最小系统以及必要的元件。
2. 51单片机最小系统51单片机最小系统是由单片机、晶振、电源和复位电路组成的。
其中,单片机是控制中心,晶振为单片机提供时钟信号,电源为完成单片机运算提供电能,而复位电路则保证单片机正常工作。
2.1 单片机51单片机一般使用的是AT89C51型号,别名为P89V51RD2。
它由8位CPU、ROM、RAM、I/O端口、计时器/计数器、串口和中断控制器等功能模块组成。
具体的,AT89C51单片机主要参数如下:参数描述CPU 8051指令集兼容的8位CPU,占据纯CPU面积的75%ROM 可重写/擦除1K~64K字节RAM 128~256字节I/O端口4个8位I/O端口,可映射到外部I/O空间计时器/计数器两个16位计时器,一个8位计时器/计数器串口一个全双工/半双工可编程串口中断控制器5个中断源,2个优先级2.2 晶振晶振是单片机最小系统中的另一个关键元件。
它为单片机提供时钟信号,控制单片机的运行。
在51单片机最小系统中,一般使用的是12MHz的晶振。
2.3 电源为单片机提供电能,一般使用的是7805型稳压电源。
在电路中配合一个电容,电容的充放电作用可以过滤电源噪声,提高电源稳定性。
2.4 复位电路复位电路起到保持单片机在一个已知状态的作用,保证程序的正常运行。
在51单片机最小系统中,均采用外部复位电路。
3. 元件使用51单片机最小系统还要添加其他必要元件,以满足特定的功能要求。
这里我们列出一些可能会用到的常用元件。
3.1 LEDLED为发光二极管,它是电子元器件的一种。
当施加电压时,LED会发出光信号。
通过选择不同颜色的LED来指示系统状态。
3.2 按钮开关按钮开关一般被用来实现系统的输入。
我们可以通过按下按钮来改变系统状态,使单片机进入不同的工作模式。
51单片机_片内外设汇总

锁存器
写锁存器
读引脚 返回
片内外设
1.3 P2口
特点: “通用数据I/O端口”和“高八位地址总线”端 口
读锁存器
地址/数据 1/0
控制
Vcc
内部上拉电阻
内部总线
D CL
Q /Q MUX
(地址/数据=0)
锁存器 写锁存器
P2.x 引脚
读引脚
返回上一次
片内外设
与P0口一样,P2口在系统使用外部存储器时,做高八位的 地址总线。 应当注意的是:仅使用外部数据存储器时,P2口分两种情 况: 1)仅仅使用256B的外部RAM时,即使用movx a,@r0指令 访问外部RAM,此时用8位的寄存器R0或R1作间址寄存器, 这时P2口无用,所以在这种情况下,P2口仍然可以做通用 I/O端口。 2)如果访问外部ROM或使用大于256BRAM时,P2口必须 作为外存储器的高八位地址总线。 如:movx a,@dptr ;访问外部数据存储器 movc a,@a+dptr ;访问外部程序存储器 这里使用了16位的寄存器DPTR
片内外设
1. 5 并行端口在使用时应注意的几个问题
“拉电流”还是“灌电流”----与大电流负载的连 接 (我们以美国ATMEL公司生产的AT89C51为例) 1, 使用灌电流的方式与电流较大的负载直接 连接时, 端口可以吸收约20mA的电流而保证端 口电平不高于0.45V(见右上图)。
2,采用拉电流方式连接负载时,AT89C51所 能提供“拉电流”仅仅为80μA,否则输出的 高电平会急剧下降.如果我们采用右下图的方式, 向端口输出一个高电平去点亮LED,会发现,端 口输出的电平不是“1”而是“0”! 当然,不是所有的单片机都是这样,PIC单 片机就可以提供30mA的拉电流和灌电流。单对 于大多数IC电路,最好还是使用“灌电流”去 推动负载。
51单片机双机串行通信设计

51单片机双机串行通信设计51单片机是一款广泛应用于嵌入式系统中的微控制器,具有高性能和低功耗的特点。
在一些场景中,需要使用51单片机之间进行双机串行通信,以实现数据传输和协同工作。
本文将介绍51单片机双机串行通信的设计,包括硬件连接和软件编程。
一、硬件连接1.串行通信口选择:51单片机具有多个串行通信口,如UART、SPI 和I2C等。
在双机串行通信中,可以选择其中一个串行通信口作为数据传输的接口。
一般来说,UART是最常用的串行通信口之一,因为它的硬件接口简单且易于使用。
2.引脚连接:选定UART口作为串行通信口后,需要将两个单片机之间的TX(发送)和RX(接收)引脚相连。
具体的引脚连接方式取决于所使用的单片机和外设,但一般原则上是将两个单片机的TX和RX引脚交叉连接。
二、软件编程1.串行通信初始化:首先需要通过软件编程来初始化串行通信口。
在51单片机中,可以通过设置相应的寄存器来配置波特率和其他参数。
具体的初始化代码可以使用C语言编写,并根据所使用的开发工具进行相应的配置。
2.发送数据:发送数据时,可以通过写入相应的寄存器来传输数据。
在51单片机中,通过将数据写入UART的发送寄存器,即可将数据发送出去。
发送数据的代码通常包括以下几个步骤:(1)设置发送寄存器;(2)等待数据发送完成;(3)清除数据发送完成标志位。
3.接收数据:接收数据时,需要通过读取相应的寄存器来获取接收到的数据。
在51单片机中,可以通过读取UART的接收寄存器,即可获取到接收到的数据。
接收数据的代码通常包括以下几个步骤:(1)等待数据接收完成;(2)读取接收寄存器中的数据;(3)清除数据接收完成标志位。
4.数据处理:接收到数据后,可以进行相应的数据处理。
根据具体的应用场景,可以对接收到的数据进行解析、计算或其他操作。
数据处理的代码可以根据具体的需求进行编写。
5.中断服务程序:在双机串行通信中,使用中断可以提高通信的效率。
51单片机各引脚

51单片机各引脚51单片机是一种广泛应用于嵌入式系统中的微控制器。
它具有多种功能引脚,这些引脚在不同的电路和项目中起着不同的作用。
本文将对51单片机的各引脚进行介绍和解释。
引脚P0: P0口是51单片机最常用的I/O口之一。
P0口具有8个引脚,可以通过设置它们的电平来进行数据输入/输出。
它通常用于连接外部设备,如LED灯、按键、数码管等。
P0口可以配置为输入端口或输出端口,可以通过程序对其进行控制和操作。
引脚P1: P1口也是51单片机的一个I/O口。
P1口同样具有8个引脚,与P0口相比,P1口的输入输出能力更强。
它通常用于连接外部设备,如LCD液晶显示屏、继电器、蜂鸣器等。
P1口同样可以配置为输入端口或输出端口,通过程序可以对其进行高低电平的控制。
引脚P2: P2口是51单片机的另一个I/O口。
P2口也具有8个引脚,它通常用于连接外部设备,如ADC(模数转换器)、数码管、EEPROM(电可擦程存储器)等。
P2口同样可以配置为输入端口或输出端口,并能通过程序进行控制。
引脚P3: P3口是51单片机最后一个I/O口。
P3口也具有8个引脚,它通常用于连接外部设备,如定时器、串口通信、中断控制等。
与其他I/O口不同的是,P3口的引脚具有特殊功能,比如RXD(接收数据)、TXD(发送数据)等。
P3口同样可以配置为输入端口或输出端口,并能通过程序进行相应的操作。
除了I/O口之外,51单片机还具有一些其他的引脚,如电源引脚、晶振引脚、复位引脚等。
这些引脚对于单片机的正常工作至关重要。
电源引脚: 51单片机通常需要接受电源供电才能工作,因此具有供电引脚。
根据具体型号的不同,51单片机的电源引脚可以是VCC (正电源)、GND(地线)、AVCC(模拟电源)等。
晶振引脚: 51单片机需要外部晶振来提供时钟信号,以保证其正常工作。
因此,51单片机具有晶振引脚,一般为两个引脚:XTAL1(晶体振荡器输入端,接入外部晶振的输入端)和XTAL2(晶体振荡器输出端,接入外部晶振的输出端)。
51单片机串口通讯与串口中断常见问题解决方案

51单片机串口通讯与串口中断常见问题解决方案
51单片机串口通讯与串口中断常见问题解决方案
一、深入了解字符串的问题
char str11[]="a";
P1=strlen(str11);
上面的一个是一个测试字符个数的实例,用仿真就可以看到结果。
结果是1。
也就是说字符’’是不会被计入的。
那么我们就可以通过此函数来分辩是否是字符和字符串。
当然如果字符串是一个字符的话,那么就是我们上面的那个情况了,会直接被当做一个数看待。
注:上位机发过来的数据全部是字符串格式的。
二、串口中断问题
先看下面的程序。
void UART_SendByte(unsigned char dat)
{
SBUF=dat;
while(!TI) ;//等待发送完毕
TI=0;
}
这个程序就是一个简单的串口发送字符的程序,为了能够实现自动发送和接收,我们分析一下它。
我们要同时实现接收,有接收那么就要有串口中断,通过串口中断达到接收数据的目的。
可是当ES=1,程序并不会像我们想的那样运行,当执行完SBUF=dat后,程序开始等待,大概是5个时钟周期后,程序并没有直接运行TI=0这句,而是,因为缓冲区中的字符而直接跳转到串口中断函数中,甚至出现死循环这样的情况。
为了避开这种情况,我们引入了下面的程序:
void UART_SendByte(unsigned char dat)
{
SBUF=dat;
ES=0; while(!TI) ; TI=0;。
单片机控制的继电器自动化调试系统

翳■单片机控制的继电器自动化调试系统罗吉才(贵州省遵义钛厂贵州遵义563000)应用科掌[摘要】探讨一种微机控制的继电器调试系统。
在M c s一51草片机的控制下,系统能够输出幅值,相位均可数控调整的i褶电压及屯流.并以这些信号作为继电器的调试信号。
通过对继电器跳闸信号的检测、可完成电流、电压继电器的起动值,方向继电器的起动角,阻抗继电器特性曲线的测定.以及继电器预定功能的检验和动作时间的测定等功能,调试系统也可对电力系统的故障状态进行模拟,同时自动打印所测试参数及特性曲线。
[关键词】单片机继电器系统中图分类号:TP2文献标识码:^文章编号:1871—7597(2008)∞10091一01一、胃育自从1955年西门子公司研制成第一台调试装置以来,调试装置已经经历了电磁型、固态集成电路型和微机控制智能型三个发展阶段。
而在国内,这方面的研究尚处于起步阶段。
在对国外目前几种有代表性的调试装置分析的基础上,根据我国继电保护现场调试的需要,本文对~种微机控制的继电器自动化调试系统进行了研究。
该系统充分利用了M cs一5l系列单片型微机的特点,具有体积小、结构简单,可靠性商、价格低廉等特点,能够产牛频率为50H z的幅值,相位可程控调整的标准正弦电压、电流信号、监视继电器的动作,记录各种参数并进行运算,打印和显示各种测试结果,并可模拟电力系统短路时的暂态过程。
本文研究的自动化调试系统对L z一21型方向阻抗继电器迸行了试验,分别对该种继电器的动作时间、起动值、整定阻抗值,返【订J系数、最大灵敏角,阻抗特性等参数进行了实际测试,并取得了较为满意的结果。
二、系统的构成覆工作原理调试系统丰要由控制器,调试信号发生器、功率放大器二部分组成。
(一)控制器控制器以M cS一51系列的8031单片机为核心,配以程序存贮器,数据存贮器,I/O扩展接口、键盘、显示器以及打印机,构成了一个小巧的微机化控制系统。
其主要作用是:(1)调试信号幅值、相位的自动调整:(2)控制调试系统自动进行各项调试过程:(3)实现人一机联系,(4)中间量的运算及测试结果的打印、显示:(5)控制系统的自校,自检。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机串口控制继电器
实验室有个项目,用到报警功能。
比如当温度或应力过高或者过低的时候启动报警器,通过给串口发送一个命令来控制继电器。
不巧去年被我正负极接反烧了,最近开始搞单片机,哥苦心经营,利用实验室单片机学习板给搞定了,程序如下:
#include;
#define uchar unsigned char
sbit JDQ=P3^7; //继电器接P3.7
sbit FMQ=P3^6;
sbit LED=P0^0;
sbit LEDra=P0^1;
sbit LEDar=P0^2;
uchar dat[4];
int i=0;
void Delay(unsigned int ii) //1mS
{
unsigned int jj;
for(;ii>;0;ii--)
for(jj=0;jj;=4)i=0;else;
}
EA=1;
}
main() //串口方式1发送时的定时信号,也就是移位脉冲,由定时器1产生。
不是定时器0。
{
init_serialcom();
Delay(10);
while(1);
}
第一次独立写的,程序粗糙了点,但是完美运行。
发送:E5A1 104E,继电器闭合
E5A1 114D,继电器断开
这里控制用到了四个字节,所以在中断程序里面我定义了一个数组,最后判断这四个字节是否都正确。
如果一个字节的话更简单。
下一步要用无线控制,等哥哥好消息吧。