单片机课程设计实验单片机间串行通信
串行通讯实验报告
一、实验目的1. 理解串行通讯的基本原理及通信方式。
2. 掌握串行通讯的硬件设备和软件实现方法。
3. 学会使用串行通讯进行数据传输。
4. 通过实验,加深对单片机串行口工作原理和程序设计的理解。
二、实验原理串行通讯是指将数据一位一位地按顺序传送的通信方式。
与并行通讯相比,串行通讯的通信线路简单,成本低,适用于远距离通信。
串行通讯主要有两种通信方式:异步通信和同步通信。
1. 异步通信异步通信中,每个字符之间没有固定的时钟同步,而是通过起始位和停止位来标识字符的开始和结束。
每个字符由起始位、数据位、奇偶校验位和停止位组成。
2. 同步通信同步通信中,数据传输过程中有固定的时钟同步信号,发送方和接收方通过同步时钟来保证数据传输的准确性。
三、实验设备1. 单片机最小系统教学实验模块2. 数码管显示模块3. 串行数据线4. 电脑四、实验内容1. 单片机串行口初始化首先,我们需要对单片机串行口进行初始化,包括设置波特率、通信方式、数据位、停止位等。
2. 数据发送在单片机程序中,编写数据发送函数,将数据通过串行口发送出去。
3. 数据接收编写数据接收函数,从串行口接收数据。
4. 数据显示将接收到的数据通过数码管显示出来。
5. 双机通信通过两套单片机实验模块,实现双机通信。
一台单片机作为发送方,另一台单片机作为接收方。
五、实验步骤1. 将单片机最小系统教学实验模块和数码管显示模块连接到电脑上。
2. 编写单片机程序,初始化串行口,并设置波特率、通信方式、数据位、停止位等。
3. 编写数据发送函数,将数据通过串行口发送出去。
4. 编写数据接收函数,从串行口接收数据。
5. 编写数据显示函数,将接收到的数据通过数码管显示出来。
6. 编写双机通信程序,实现两台单片机之间的通信。
7. 将程序下载到单片机中,进行实验。
六、实验结果与分析1. 通过实验,成功实现了单片机串行口的初始化、数据发送、数据接收和数据显示。
2. 成功实现了双机通信,两台单片机之间可以相互发送和接收数据。
单片机单片机课程设计-双机串行通信
单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
单片机串行通信实验报告(实验要求、原理、仿真图及例程)
《嵌入式系统原理与实验》实验指导实验三调度器设计基础一、实验目的和要求1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。
2.掌握Keil与Proteus的联调技巧。
3.掌握串行通信在单片机系统中的使用。
4.掌握调度器设计的基础知识:函数指针。
二、实验设备1.PC机一套2.Keil C51开发系统一套3.Proteus 仿真系统一套三、实验容1.甲机通过串口控制乙机LED闪烁(1)要求a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时闪烁,关闭所有的LED。
b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。
i.甲机发送“A”,控制乙机LED1闪烁。
ii.甲机发送“B”,控制乙机LED2闪烁。
iii.甲机发送“C”,控制乙机LED1,LED2闪烁。
iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。
c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。
两机的程序要分别编写。
d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下:i.设置串口模式(SCON)ii.设置定时器1的工作模式(TMOD)iii.计算定时器1的初值iv.启动定时器v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。
(2)电路原理图Figure 1 甲机通过串口控制乙机LED闪烁的原理图(3)程序设计提示a.模式1下波特率由定时器控制,波特率计算公式参考:b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。
2.单片机与PC串口通讯及函数指针的使用(1)要求:a.编写用单片机求取整数平方的函数。
b.单片机把计算结果向PC机发送字符串。
c.PC机接收计算结果并显示出来。
d.可以调用Keil C51 stdio.h 中的printf来实现字符串的发送。
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.中断服务程序:在双机串行通信中,使用中断可以提高通信的效率。
实验6 单片机与PC机间的串行通信
实验6 单片机与PC机间的串行通信一、实验目的1、掌握电平转换器件RS-232的使用方法;2、掌握Proteus VSM虚拟终端(VITUAL TERMINAL)的使用;3、掌握单片机与PC机间的串行通信软硬件设计方法。
二、实验内容实现利用虚拟终端仿真单片机与PC机间的串行通信。
PC机先发送从键盘输入的数据,单片机接收后回发给PC机。
单片机同时将收到的30~39H间的数据转换成0~9的数字显示,其他字符的数据直接显示为其ASCII码。
单片机和PC机进行通信时,要求使用的波特率、传送的位数等相同。
要能够进行数据传送也必须首先测试双方是否可以可靠通信。
可在PC机和单片机上各编制非常短小的程序,具体可分成PC机串行口发送接收程序、单片机串行口发送程序和单片机串行口发送接收程序。
这三个程序能运行通过,即可证明串行口工作正常。
PC机串行口发送接收程序设置串行口为波特率9600、8位数据、1位停止位、无奇偶校验的简单设置。
从键盘接收的字符可从串行口发送出去,从串行口接收的字符在屏幕上显示。
通过让串行口发送线和接收线短接可测试微机串行口,通过让串行口和单片机系统相接,使用此程序可进一步测试单片机的串行通信状况。
具体程序用BASIC编制,简单易懂。
直接输入即可运行。
程序RS232.三、实验电路原理图图7-1 单片机与PC机间电路原理图四、实验步骤1、在PROTEUS中画好电路原理图。
2、串口模型属性设置串口模型属性设置为:波特率―4800;数据位―8;奇偶校验―无;停止位-1,如图7-2所示。
图7-2 串口模型属性设置3、虚拟终端属性设置PCT代表计算机发送数据,PCR用来监视PC接收到的数据,它们的属性设置完全一样,如图7-3所示。
SCMT和SCMR分别是单片机的数据发送和接收终端,用来监视单片机发送和接收的数据,它们的属性设置也完全一样,如图7-4所示。
单片机和PC机双方的波特率、数据位、停止位和检验位等要确保和串口模型的设置一样,并且同单片机程序中串口的设置一致。
单片机串行通信实验结果描述
单片机串行通信实验结果描述一、引言单片机串行通信是嵌入式系统中常用的一种通信方式,通过串行通信可以实现单片机与其他外部设备的数据交换。
本文将详细描述单片机串行通信实验的结果。
二、实验目的本次实验的目的是通过单片机串行通信,实现与计算机之间的数据传输。
具体要求如下: 1. 使用串口通信模块与计算机进行数据交互; 2. 在计算机端编写相应的程序,实现数据的发送和接收; 3. 确保数据的准确传输和接收。
三、实验器材1.单片机开发板;2.串口通信模块;3.计算机。
四、实验步骤1. 连接硬件将单片机开发板与计算机通过串口通信模块连接,确保连接稳定。
2. 编写单片机程序在单片机开发板上编写程序,实现与计算机的串行通信。
具体步骤如下: 1. 初始化串口通信模块的相关参数,包括波特率、数据位、停止位等; 2. 设置串口通信模块为发送模式; 3. 通过串口发送数据。
3. 编写计算机程序在计算机上编写程序,实现与单片机的串行通信。
具体步骤如下: 1. 打开串口通信端口,并设置相关参数,与单片机的配置保持一致; 2. 接收串口发送的数据,并进行处理; 3. 将处理后的数据显示在计算机的界面上。
4. 运行实验将单片机程序烧录到开发板上,运行计算机程序。
观察数据的传输和接收情况,并记录实验结果。
五、实验结果与分析经过实验,我们得到了如下结果: 1. 数据传输稳定:通过串行通信,单片机与计算机之间的数据传输稳定可靠,没有出现丢失数据或传输错误的情况。
2. 传输速率较快:串行通信的传输速率较快,可以满足实际应用的需求。
3. 数据处理准确:计算机程序正确接收并处理了从单片机发送的数据,实现了数据的正确显示。
六、实验总结通过本次实验,我们掌握了单片机串行通信的基本原理和操作方法,实现了与计算机之间的数据传输。
实验结果表明,单片机串行通信是一种稳定可靠的通信方式,能够满足实际应用的需求。
在今后的实际工作中,我们可以利用串行通信实现更多功能,提高系统的性能和可靠性。
单片机双机串行实验报告
单片机双机串行实验报告实验目的:通过单片机实现双机串行通信功能,掌握串行通信的原理、方法和程序设计技巧。
实验原理:双机串行通信是指通过串行口将两台单片机连接起来,实现数据的传输和互动。
常用的串行通信方式有同步串行通信和异步串行通信。
异步串行通信是指通过发送和接收数据时的起始位、停止位和校验位进行数据的传输。
而同步串行通信是指通过外部时钟信号进行数据的同步传输。
实验器材:1.两台单片机开发板(MCU7516)2.两个串口线3.两台计算机实验步骤:1.将两台单片机开发板连接起来,通过串口线连接它们的串行口。
2.在两台计算机上分别打开串口调试助手软件,将波特率设置为相同的数值(例如9600)。
3.在编程软件中,编写两个程序分别用于发送数据和接收数据。
4.在发送数据的程序中,首先要设置串口的波特率、数据位、停止位和校验位,并将数据存储在缓冲区中。
然后利用串口发送数据的指令将数据发送出去。
5.在接收数据的程序中,同样要设置串口的参数。
然后使用串口接收数据的指令将接收到的数据存储在缓冲区中,并将其打印出来。
实验结果与分析:经过实验,我们成功地实现了单片机之间的双机串行通信。
发送数据的单片机将数据发送出去后,接收数据的单片机能够正确地接收到数据,并将其打印出来。
实验中需要注意的是,串口的波特率、数据位、停止位和校验位必须设置为相同的数值。
否则,发送数据的单片机和接收数据的单片机无法正常进行通信。
同时,在实验之前,需要了解单片机开发板支持的串口通信相关的指令和函数。
实验总结:通过本次实验,我们深入了解了单片机之间的双机串行通信原理和方法。
掌握了串口的设置和使用方法,以及相关的指令和函数。
在实验中,我们学会了如何通过串行口实现数据的传输和互动,为今后的单片机应用和开发打下了基础。
同时,我们还发现,双机串行通信在实际应用中有着广泛的用途。
例如,可以通过串行通信实现两台计算机之间的数据传输,或者实现单片机与计算机之间的数据收发。
单片机双机之间的串行通讯设计报告
单片机双机之间的串行通讯设计报告摘要:本文介绍了一种基于单片机的双机之间的串行通讯设计。
该设计使用两个单片机,通过串行通信协议进行数据传输。
通讯过程中,两台单片机之间通过数据线连接,并使用中断方式进行数据接收和发送。
同时,本文还介绍了串行口工作方式 0 的应用,以及如何使用移位寄存器进行串行口扩展。
通过该设计,可以实现两台单片机之间的高速数据传输,并且具有良好的稳定性和可靠性。
关键词:单片机,串行通讯,中断方式,移位寄存器,串行口扩展一、引言串行通讯是计算机系统中常用的一种数据传输方式,它可以实现不同设备之间的数据传输。
在单片机应用中,串行通讯也是一种常见的数据传输方式。
本文介绍了一种基于单片机的双机之间的串行通讯设计,该设计使用两个单片机通过串行通信协议进行数据传输。
本文还介绍了串行口工作方式 0 的应用,以及如何使用移位寄存器进行串行口扩展。
通过该设计,可以实现两台单片机之间的高速数据传输,并且具有良好的稳定性和可靠性。
二、设计原理该串行通讯设计使用两个单片机,分别为发送单片机和接收单片机。
发送单片机将数据通过串行口发送到接收单片机,接收单片机再将接收到的数据进行处理。
两台单片机之间通过数据线连接,并使用中断方式进行数据接收和发送。
在串行通讯中,数据是通过串行口进行传输的。
串行口工作方式0 是一种常见的串行口工作方式,它使用移位寄存器进行数据接收和发送。
在移位寄存器中,数据被移位到寄存器中进行传输,从而实现了数据的串行传输。
三、设计实现1. 硬件设计在该设计中,发送单片机和接收单片机分别使用一个串行口进行数据传输。
发送单片机将数据通过串行口发送到接收单片机,接收单片机再将接收到的数据进行处理。
两台单片机之间通过数据线连接,并使用中断方式进行数据接收和发送。
硬件设计主要包括两个单片机、串行口、数据线和中断控制器。
其中,两个单片机分别拥有自己的串行口,并且都能够接收和发送数据。
数据线将两台单片机连接在一起,中断控制器用于处理数据的接收和发送。
串行通信_实验报告
一、实验目的1. 理解串行通信的基本原理和概念;2. 掌握串行通信的常用接口和协议;3. 学会使用串行通信进行数据传输;4. 熟悉串行通信在嵌入式系统中的应用。
二、实验原理串行通信是一种数据传输方式,通过一根或多根数据线,将数据一位一位地按顺序传送。
与并行通信相比,串行通信在传输速度和成本上具有优势,广泛应用于嵌入式系统、工业控制、远程通信等领域。
串行通信的基本原理如下:1. 数据格式:串行通信中,数据以字节为单位进行传输,每个字节由起始位、数据位、校验位和停止位组成。
2. 通信方式:串行通信主要有同步通信和异步通信两种方式。
a. 同步通信:通信双方使用统一的时钟信号进行数据传输,数据在传输过程中保持同步。
b. 异步通信:通信双方使用不同的时钟信号进行数据传输,数据在传输过程中不保持同步。
3. 串行通信接口:常用的串行通信接口有RS-232、RS-485、USB等。
三、实验设备1. 单片机开发板:STC89C52;2. 串口通信模块:MAX232;3. 串口通信线;4. 电脑;5. 串口调试助手。
四、实验步骤1. 连接电路:将单片机开发板、串口通信模块和电脑通过串口通信线连接起来。
2. 初始化单片机串口:设置单片机串口的工作方式、波特率、校验位和停止位等参数。
3. 编写串口发送程序:在单片机上编写程序,实现数据的串行发送。
4. 编写串口接收程序:在单片机上编写程序,实现数据的串行接收。
5. 使用串口调试助手进行测试:在电脑上打开串口调试助手,设置相应的通信参数,发送和接收数据。
五、实验结果与分析1. 实验结果:通过串口调试助手,成功实现了单片机与电脑之间的数据传输。
2. 分析:a. 在初始化单片机串口时,设置了正确的波特率、校验位和停止位等参数,保证了数据的正确传输。
b. 在编写串口发送程序时,正确地实现了数据的串行发送。
c. 在编写串口接收程序时,正确地实现了数据的串行接收。
六、实验总结1. 通过本次实验,掌握了串行通信的基本原理和概念;2. 学会了使用串行通信进行数据传输;3. 熟悉了串行通信在嵌入式系统中的应用。
串行通信实验报告
串行通信实验报告班级姓名学号日期一、实验目的:1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。
2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
3、学习串口通讯的程序编写方法。
二、实验要求1.单机自发自收实验:实现自发自收。
编写相应程序,通过发光二极管观察收发状态。
2.利用单片机串行口,实现两个实验台之间的串行通讯。
其中一个实验台作为发送方,另一侧为接收方。
三、实验说明通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。
也可以将本机的TXD接到RXD上。
连线方法:在第一个实验中将一台实验箱的RXD和TXD相连,用P1.0连接发光二极管。
波特率定为600,SMOD=0。
在第二个实验中,将两台实验箱的RXD和TXD交叉相连。
编写收发程序,一台实验箱作为发送方,另一台作为接收方,编写程序,从内部数据存储器20H~3FH单元中共32个数据,采用方式1串行发送出去,波特率设为600。
通过运行程序观察存储单元内数值的变化。
四、程序甲方发送程序如下:ORG 0000HLJMP MAINORG 0023HLJMP COM_INTORG 1000HMAIN: MOV SP,#53HMOV 78H,#20HMOV 77H,00HMOV 76H,20HMOV 75H,40HACALL TRANS HERE: SJMP HERE TRANS: MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1MOV SCON,#40H MOV IE,#00HCLR F0MOV SBUF,78H WAIT1: JNB TI,WAIT1 CLR TIMOV SBUF,77H WAIT2: JNB TI,WAIT2 CLR TIMOV SBUF,76H WAIT3: JNB TI,WAIT3 CLR TIMOV SBUF,75H WAIT4: JNB TI,WAIT4CLR TIMOV IE,#90HMOV DPH,78HMOV DPL,77HMOVX A,@DPTRMOV SBUF,A WAIT: JNB F0,WAITRETCOM_INT: CLR TIINC DPTRMOV A,DPHCJNE A,76H,END1 MOV A,DPLCJNE A,75H,END1 SETB F0CLR ESCLR EARETEND1: MOVX A,@DPTRMOV SBUF,AEND乙方发送程序如下:ORG 0000HLJMP MAINORG 0023HLJMP COM_INTORG 1000H MAIN: MOV SP,#53HACALL RECEI HERE: SJMP HERE RECEI: MOV R0,#78H MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1MOV SCON,#50H MOV IE,#90H CLR F0CLR 7FH WAIT: JNB 7FH,WAITCOM_INT: PUSH DPLPUSH DPHPUSH AccCLR RIJB F0,R_DATAMOV A,SBUFMOV @R0,ADEC R0CJNE R0,#74H,RETN SETB F0RETN: POP AccPOP DPHPOP DPLRETIR_DATA: MOV DPH,78HMOV DPL,77HMOV A,SBUFMOVX @DPTR,AINC 77HMOV A,77HJNZ END2INC 78HEND2: MOV A,76HCJNE A,78H,RETNMOV A,75HCJNE A,77H,RETNCLR ESCLR EASETB 7FHSJMP RETNEND五、实验过程中遇到的主要问题OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口HasRcv equ 20h.0 ; 接收标志位LEDBuf equ 40h ; 显示缓冲RCVBuf equ 50H ; 接收缓冲ORG 0000HLJMP START; 串行口中断程序ORG 0023HJNB TI,S0_RCLR TINOPSJMP S0_RETS0_R: ; 接收数据CLR RIMOV RCVBUF,SBUF ; 保存数据SETB HasRcv ; 提示收到数据NOPS0_RET:RETILEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h Delay: ; 延时子程序mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDisplayLED:mov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 关所有八段管mov a, @r0mov dptr, #OUTSEGmovx @dptr,amov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管mov r6, #1call Delaymov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, LoopretTestKey:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 输出线置为0mov dptr, #INmovx a, @dptr ; 读入键状态cpl aanl a, #0fh ; 高四位不用retKeyTable: ; 键码定义db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07hGetKey:mov dptr, #OUTBITmov P2, dphmov r0, #Low(IN)mov r1, #00100000bmov r2, #6KLoop:mov a, r1 ; 找出键所在列cpl amovx @dptr, acpl arr amov r1, a ; 下一列movx a, @r0cpl aanl a, #0fhjnz Goon1 ; 该列有键入djnz r2, KLoopmov r2, #0ffh ; 没有键按下, 返回0ffhsjmp ExitGoon1:mov r1, a ; 键值= 列X 4 + 行mov a, r2dec arl arl amov r2, a ; r2 = (r2-1)*4mov a, r1 ; r1中为读入的行值mov r1, #4LoopC:rrc a ; 移位找出所在行jc Exitinc r2 ; r2 = r2+ 行值djnz r1, LoopCExit:mov a, r2 ; 取出键码mov dptr, #KeyTablemovc a, @a+dptrmov r2, aWaitRelease:mov dptr, #OUTBIT ; 等键释放clr amovx @dptr, amov r6, #10call Delaycall TestKeyjnz WaitReleasemov a, r2retSTART:MOV SP, #60HMOV IE, #0 ; DISABLE ALL INTERRUPTMOV TMOD,#020H ; 定时器1工作于方式2 (8位重装)MOV TH1, #0F3H ; 波特率?2400BPS @ 12MHzMOV TL1, #0F3HANL PCON,#07FH ; SMOD 位清零orl PCON,#80hMOV SCON,#050H ; 串行口工作方式设置MOV LEDBuf, #0ffh ; 显示8.8.8.8.mov LEDBuf+1, #0ffhmov LEDBuf+2, #0ffhmov LEDBuf+3, #0ffhmov LEDBuf+4, #0mov LEDBuf+5, #0SETB TR1SETB ESSETB EA;mov sbuf,a;jnb ti,$MLoop:jb HasRcv, RcvData ; 收到数据?call DisplayLED ; 显示call TestKey ; 有键入?jz MLoop ; 无键入, 继续显示call GetKey ; 读入键码anl a, #0fh ; 通讯口输出键码MOV SBUF,ALJMP MLoopRcvData:clr HasRcv ; 是mov a, RcvBuf ; 显示数据mov b,aanl a,#0fh ; 显示低位mov dptr, #LEDMapmovc a, @a+dptrmov LEDBuf+5, amov a,bswap a ; 显示高位anl a,#0fhmov dptr, #LEDMapmovc a, @a+dptrmov LEDBuf+4, aljmp MLoopEND六、实验后的心得体会。
单片机课程设计-- 单片机之间的双向通信演示
课程设计任务书课程单片机课程设计题目单片机之间的双向通信演示专业姓名学号一、任务以AT89C51单片机为控制核心,利用串行通信技术实现两个单片机之间的数据传输。
二、设计要求[1] 单片机甲机向单片机乙机发送控制命令符,甲机同时接收乙机发送的数字,并显示在数码管上[2] 基本电路包括:单片机最小系统,串口通信电路,LED显示电路等。
[3] 提交设计报告、电路图及程序源码。
三、参考资料[1] 万光毅.单片机实验与实践教程[M]. 北京:北京航空航天大学出版社.2005.1.[2] 张毅刚.单片机原理及应用[M]. 北京:高等教育出版社.2003:160-190.[3] 张小波, 徐航.基于MCS—51单片机的串行通信技术.[M].北京:北京航空航天大学出版社.2006[4] 胡汉才.单片机原理与其接口技术(第二版)[M].北京:清华大学出版社,2004.[5] 何文才,杜鹏.基于VB.NET的PC机和MCS-51单片机之间的串行通信 [J]. 北京电子科技学院学报. 2006.4期[6] 李秀忠.基于单片机的LED显示屏控制电路设计.[J].现代电子技术. 2010 .15期完成期限2012.6.29 至2012.7.8指导教师专业负责人2012年6月29 日目录第1章绪论 (1)1.1 单片机AT89C51概述......................... 错误!未定义书签。
1.2 LED显示屏控制技术状况 (2)1.3 MAX232概述 (2)1.4 本设计任务 (3)第2 章总体方案论证与设计......................... 错误!未定义书签。
2.1 LED驱动模块................................ 错误!未定义书签。
2.2 总体硬件组成框图........................... 错误!未定义书签。
第3章系统硬件设计.. (4)3.1 单片机最小系统硬件设计 (4)3.2 串行通信电路 (5)3.3 LED显示电路 (6)第4章系统的软件设计 (7)4.1 甲单片机程序设计 (7)4.2 乙单片机程序设计 (8)第5章系统调试与测试结果分析 (8)5.1 使用的仪器仪表 (9)5.2 系统调试 (9)5.3 测试结果 (9)结论 (9)参考文献 (11)附录1 程序 (12)附录2 仿真效果图 (17)第1章绪论随着科学技术的发展,单片机在各个领域的应用越来越广泛,计算机领域,航天领域,电子技术领域等,都离不开单片机的使用。
实验四 串行通信实验
实验四 串行通信实验一、实验目的1.了解51单片机串行口的结构、串行通讯的原理。
2.掌握51单片机与PC 机之间通讯的方法。
3. 学习系统应用程序的设计和调试二、实验设备PC 机一台 、 实验教学板一块。
三、实验原理51单片机的串行接口是全双工的,它能做异步接收器/发送器(UART ),也能做同步移位寄存器使用。
在做UART 使用时,相关的寄存器有SBUF 、SCON 、和PCON 中的波特率倍增位SMOD 。
SBUF 是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的,用读写操作来选择。
SCON 是串行口控制寄存器,用于设定串行口的工作方式;保存方式2和方式3的第9位数据;存放发送、接收的中断标志。
在串行通讯的方式1和方式3中,通信的波特率是可以设置的,满足下式:2/132SMOD=⨯波特率(定时器计数器的溢出率)PC 机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,可使用comdebug.exe 等提供了有关串行口的收、发操作窗口的软件实现通讯。
PC 机的串行通讯采用RS232电平,因此要求单片机的实验板也要配置RS232接口,解决逻辑电平的配接。
如果通讯距离较远,则要配接调制解调器。
四、实验内容1, 自发自收用一根短路线,将实验板中RS232插口的RXD 和TXD 两个插孔短路。
然后编程设定串行口为工作方式1,传送55H 和0AAH 两个数据。
实验要求:程序采用查询方式。
每传送、接收一个数据,做一次检查,看是否正确,若两次都正确,则在显示器上显示“GOOD”,若不正确,则不显示,并要重新传送。
2, 单片机与PC 机的通信先使用通讯电缆将单片机的RS232接口与PC 机的COM1口连接,PC 机起动并运行comdebug.exe 软件,窗口上设置波特率为1200,8位数据、一个停止位。
单片机端也采用工作方式1,波特率为1200,完成单片机与PC 机的通信。
单片机双机之间的串行通信设计
单片机双机之间的串行通信设计1.引言单片机双机之间的串行通信是指两个或多个单片机之间通过串口进行数据传输和通信的过程。
串行通信是一种逐位传输数据的方式,与并行通信相比,它占用的硬件资源更少,且传输距离较远。
本文将介绍单片机双机之间串行通信的设计过程,包括硬件设计和软件编程。
2.硬件设计串行通信需要使用到两个主要的硬件部件:串口芯片和通信线路。
串口芯片负责将要发送或接收的数据转换成串行数据流,并通过通信线路进行传输。
通信线路通常包括两根传输数据的线路(TX和RX)、地线和时钟线。
2.1串口芯片的选择常用的串口芯片有MAX232、MAX485、CH340等。
选择合适的芯片需要考虑通信距离、通信速率、系统的功耗等因素。
对于较短的通信距离和较低的通信速率,可以选择MAX232芯片;而对于长距离通信和较高的通信速率,可以选择MAX485芯片。
2.2通信线路设计通信线路的设计需要考虑信号的传输质量和抗干扰能力。
通常使用双绞线或者屏蔽线路来减小信号的串扰和干扰。
对于短距离通信,双绞线即可满足需求;而对于长距离通信,需要采用屏蔽线路来减小串扰和干扰。
3.软件设计串行通信的软件设计主要包括通信协议的制定和数据包的格式规定。
3.1通信协议的选择通信协议是指数据传输的一套规则和约定,它规定了数据的格式、传输顺序、误码校验等内容。
常用的通信协议有UART、RS232、SPI、I2C等。
UART是最常用的通信协议,它一般使用异步通信方式,并具有较高的通信速率和稳定性。
3.2数据包的格式规定数据包是一组有意义的数据的集合,它包括起始位、数据位、停止位和校验位等。
起始位用于标识一个数据包的开始,通常为逻辑低电平;数据位用于存储要传输的数据;停止位用于标识数据包的结束,通常为逻辑高电平;校验位用于检测数据传输过程中是否发生错误。
校验位可以是奇校验、偶校验、无校验等。
4.实验步骤4.1连接硬件根据硬件设计部分的要求,将串口芯片和通信线路连接到单片机上。
单片机双机之间的串行通信设计
单片机双机串行实验报告实验报告:单片机双机串行通信实验一、实验目的本实验旨在通过单片机实现双机间的串行通信,包括数据的发送和接收,并利用这种通信方式完成一定的任务。
二、实验原理1.串行通信:串行通信是将数据一个个位发送或接收的方式。
数据通过一个线路逐位发送或接收,可以减少通信所需的线路数目。
2. UART串口通信:UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的简称,是一种最常用的串口通信方式,通常用于单片机与计算机、单片机与单片机之间的通信。
3.串口模块:串口模块是负责将数据转变为串行传输的硬件模块,包括发送端和接收端。
通过设置波特率、数据位、校验位和停止位等参数,可以实现数据的可靠传输。
4.单片机串口通信:单片机内部集成了UART串口通信接口,只需要通过相应的寄存器配置,可以实现串口通信功能。
5.双机串行通信:双机串行通信是通过串口将两台单片机进行连接,一台单片机作为发送端,负责将数据发送出去;另一台单片机作为接收端,负责接收并处理发送的数据。
三、实验器材与软件1.实验器材:两台单片机、USB转TTL模块、杜邦线若干。
2. 实验软件:Keil C51集成开发环境。
四、实验内容与步骤1.配置发送端单片机(1)连接单片机和USB转TTL模块,将USB转TTL模块的TXD端连接到单片机的P3口,将GND端连接到单片机的地线。
(2)在Keil C51环境下创建新工程,编写发送端程序。
(3)配置串口通信的波特率、数据位、校验位和停止位,并打开串口发送中断。
(4)循环发送指定的数据。
2.配置接收端单片机(1)连接单片机和USB转TTL模块,将USB转TTL模块的RXD端连接到单片机的P3口,将GND端连接到单片机的地线。
(2)在Keil C51环境下创建新工程,编写接收端程序。
(3)配置串口通信的波特率、数据位、校验位和停止位,并打开串口接收中断。
单片机串行通信实验报告
{
uchari,dm,wx;
//m1:m000=标准; 01=推挽;10=输入;11=开漏输出
ﻩP1M1 = 0X00;
P1M0 =0Xff;
P2M1 = 0X00;
ﻩP2M0 =0Xff;//设定P1,P2推挽输出
while(1)
{
ﻩﻩfor(i=1;i<9;i++)
}
乙机(U2)代码:
#include<STC12C5A60s2.h>
#defineuchar unsigned char
#defineuintunsignedint
void init(void);
void delay(uchar t);
voidxianshi(void);
ucharcodedistable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
单片机串行通信实验报告
———————————————————————————————— 作者:
———————————————————————————————— 日期:
实验六串行通信
实验报告
班级:
学号:
姓名:
教师:
一、双机通信
由两套单片机试验装置(两个实验小组)共同完成该实验。我们U1为甲机,U2为乙机。甲机发送本机(学生本人)学号后8位给乙机,乙机接收该8位数据,并显示在8位数码管上。电路如图1所示。
void init(void)
{
ﻩSCON=0x40;//串口模式1ﻩ只发送不接收
TMOD=0x20;//T1工作模式2
TH1=0xf4;//波特率2400
单片机-实验三-串行口通信实验
实验三串行口通信实验一、实验目的1、掌握单片机串行口的工作原理及工作方式;2、掌握单片机串行口波特率的设置方法;3、掌握单片机串行口查询方式程序的设计方法。
二、实验内容及要求1、单片机的串行口经RS-232 电平变换后和PC 机相连;2、单片机系统的晶振频率选择11.0592MHz,串行口设置为9600bps、无校验位、8 位数据位、1 位停止位(简记为N81)模式;3、单片机采用查询方式收发数据,将PC 机送来的除回车/换行之外的数据加1 后送回。
三、实验设备硬件:PC 机,nKDE-51 单片机实验教学系统;软件:Keil C51 集成开发环境,FlashMagic 单片机程序烧写软件。
四、实验原理及步骤MCS-51 串行口的结构、原理及各种工作方式参阅教材相关内容。
本实验使用串行口工作方式1,通过定时器1(T1)产生波特率时钟,通过查询串行口收发中断标志RI 和TI 来判断单片机串行口数据收发的状态。
步骤如下:1、创建新项目:Project—New Project—命名、存储—CPU类型(philips P89C52X2)2、创建新程序:编译程序—完成后保存为“.c”格式3、添加程序:Target1—Source Group—add……(程序)4、检测程序:Project—Build Target5、选择烧录程序的方式(右键点target1--opption):output—Creat Execulate:Dubug Information Browse、Creat HexDebug 右侧选择use “Keil Monitor-51 Driver”6、选择程序执行点:在Debug程序烧路后,在开始执行的程序断点上鼠标右键—Set Program Counter7、Go执行五、实验过程1. 电路连接PC 机串行口为RS-232 标准的串行接口,用-15V~-5V 表示1,+5V~+15V 表示0,而单片机的串行口为TTL 电平,+5V 表示1,0V 表示0,因此单片机的串行口不能直接和PC 机的串行口相连,必须经过电平变换才能和PC 机通信。
单片机双机通信课程设计报告
课程设计说明书课程设计名称:单片机课程设计课程设计题目:单片机与单片机之间的串行通讯学院名称:信息工程学院专业:电子信息科学与技术班级: 090431班学号: xxx 姓名: xxx 评分:教师: xxx 2012年6月25日电子信息工程专业课程设计任务书20 10 -20 11学年第2 学期第17 周-20 周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档摘要串行通讯是单片机的一个重要应用。
本设计就是利用两块单片机来完成一个系统,实现单片机之间的串行通讯。
随着计算机的不断普及,在我们的周围可能会同时出现多台微型计算机,而且这些计算机的牌号,后型号不同,而且有的格式不兼容。
于是利用单片机串行口实现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。
从智能家用电器到工业上的控制系统都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分利用了微机分析处理能力强、速度快的特点及下位机(单片机)面向控制、使用灵活方便的优势。
由于AT09C52系列单片机具有性能稳定、工作可靠、价格低廉等可特点,因此其应用相当广泛。
AT09C52单片机中有异步通信串行接口,能方便的构成双机,多机通讯接口。
随着测量向自动化,智能化,网络化方向的发展。
利用多机通讯构成的分布式系统逐渐普及。
本实验就点对点的双机通信进行训练。
学习串口的工作方式,初始化编程,和单片机与单片机点对点通信的编程方法以及硬件电路的设计方法。
在此基础上可以进一步提高,实现多机通信以及单片机与PC机的通讯,手机通过蓝牙与单片机通讯,电脑通过蓝牙与单片机通讯等一系列功能扩展。
【关键字】双机串行通讯 AT89C52 异步通讯功能扩展目录前言 (1)第一章、系统功能 (2)1.1 设计要求和系统的组成及工作原理 (2)第二章、系统设计方案 (3)2.1硬件设计 (3)2.1.1 AT89C52和RS232说明 (3)2..12 双机通讯的方案选择 (7)2.1软件设计 (8)2.2.1 甲机程序的编写说明 (8)2.2.2 甲机程序的编写说明 (12)第三章、调试与操作 (19)3.1 开发板调试 (19)3.2 测试结果与分析 (20)第四章、结论 ........................ 错误!未定义书签。
单片机串口通信实验报告
信息工程学院实验报告课程名称:单片机原理及接口实验项目名称:串口通信实验实验时间:2017.5一、实验目的:1.了解什么是串口,串口的作用等。
2、了解串口通信的相关概念3、利用keil软件,熟悉并掌握中串口通信的使用4、通过实验,熟悉串口通信程序的格式,串口通信的应用等二、实验原理1、串口通信概念:单片机应用与数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。
如下图所示。
2、串口数据通信方式及特点★数据通信方式有两种:并行通信与串行通信★并行通信:所传送数据的各位同时发送或接收,数据有多少位就需要多少根数据线。
特点:速度快,成本高,适合近距离传输如计算机并口,打印机,8255 。
★串行通信:所传送数据的各位按顺序一位一位地发送或接收。
只需一根数据,一根地线,共2 根特点:成本低,硬件方便,适合远距离通信,传输速度低。
串行通信与并行通信示意图如下:成绩:指导老师(签名):3、串行通信基本格式①单工通信:数据只能单向传送。
②半双工通信:通信是双向的,但每一时刻,数据流通的方向是单向的。
③全双工通信:允许数据同时在两个方向流动,即通信双方的数据发送和接收是同时进行的。
4、异步串行通信/同步串行通信①异步串行通信:异步串行通信采用如下的帧结构:起始位+ 8位数据位+ 停止位或起始位+ 9位数据位+ 停止位其中:起始位为低电平,停止位为高电平。
优点:硬件结构简单缺点:传输速度慢②同步串行通信:在同步通信中,发送方在数据或字符开始处就用同步字符(常约定1~2个字节)指示一帧的开始,由时钟来实现发送端和接收端同步,接收方一旦检测到与规定的同步字符符合,下面就连续按顺序传送若干个数据,最后发校验字节。
见下图:5、串行通信过程与UART基本的计算机异步串行通信系统中,两台计算机之间通过三根信号线TxD、RxD和GND连接起来,TxD与GND构成发送线路,RxD与GND构成接收线路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 设计任务
单片机间串行通信,是工业自动化、智能终端、通信管理等领域传统且重要的通讯手段。
此次设计单片机串行通信,就是为了了解单片机的工作原理,从而学会制作数字钟。本次课程设计通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理与应用及C51程序设计》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。其基本结构如图1
图 1 AT89C51单片机的基本结构
AT89C51 是一个低电压,高性能CMOS 8 位单片机,片内含8kB 的可反复擦写的Flash 只读程序存储器和256B 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51 指令系统及8052 产品引脚兼容,片内置有通用8 位中央处理器(CPU)和Flash 存储单元。
《题目:单片机间串行通信原理
专业班级:2012级电子信息科学与技术
学生姓名:罗滨志
学号:120802010051
成绩:
2014年12月27日
4实验步骤14
4.1实验程序调试14
4.1.1发送端程序调试14
4.1.2接收端程序调试15
4.2实验仿真16
摘
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而AT89C51单片机是各单片机中最为典型和最有代表性的一种,本设计是基于MCS51系列单片机中AT89C51所设计的一种具有一个全双工的串行通信口,可以实现单片机与单片机之间点对点串行通信,主从通信以及上,下位机互相通信等。本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,由单片机与键盘控制数码管的显示,修改设置LED显示由按键开关控制,通过硬件电路制作以及软件程序的编制,设计制作一个简单的单片机间串行通信。
1
6MHZ晶振(CRYSTAL)
1
10uF电解电容(CAP-ELEC)
1
30pF普通电容(CAP)
2
74LS06六驱动器
2
200R电阻(RES)
2
10K电阻(RES)
1
5.1K电阻(RES)
4
按钮(BUTTON)
16
BUS
2
2.1
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FALSH PROGRAMMABLE AND ERASABLE READ ONLY MEORY)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机,单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,
整个串行通信的工作原理是:在正常的供电状态下,首先利用发送端单片机读入键盘输入的数据,在将读入的数据传送到接收端,由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键调整状态,进行按键调整。
2 系统硬件设计
2
2.1.1
元件名称
数量
AT89C51芯片
2
7SEG-MPX2-CA数码管
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口, 管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
1.1 功能要求
设计一个单片机与单片机之间点对点串行通信的应用电路,要求按下发送端单片机键盘上的按钮,该键的键号通过串行异步通信传送到接收端单片机中,并在LED上显示出来,其晶振频率为6MHZ。
1.2 总体方案及工作原理
本设计2个相同单片机之间通过串口进行通信,通过按键输入要发送的数据,该数据为数字,并可在数码管上显示出来,设置完后通过串口通信发送给另一个单片机,另一个单片机接收到后在数码管上显示出来,2个单片机可以互相发送数据,通过2个单片机系统的数码管显示的数字可以判断串口通信发送的数据的正确性。系统设计框图如图2-1所示。本设计主要由按键输入电路、单片机控制电路和数码管显示电路组成,2个单片机的电路图完全相同,实现的功能也相同,所以本文只介绍其中一块单片机电路的设计方法和串口通信的原理。
图2 AT 89C51单片机的引脚
VCC/GND:供电电源。
P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:标准输入输出I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。在FLASH编程和校验时,P1口作为第八位地址接收。