华科串行接口AD转换实验报告

华科串行接口AD转换实验报告
华科串行接口AD转换实验报告

微机原理●实验●测试串行接口AD转换实验

专业:电子信息工程

姓名:

班级: 201401 班

学号: U8

日期:年月日

专业电子信息与通信学院班级电信1401班日期2016/05/12 第 4次试验姓名组别 15 指导老师成绩

实验课题串行接口AD转换实验

一.实验目的

1.理解RS232串行通信协议以及接口设计

2.理解SPI串行通信协议

3.掌握RS232串行接口设计

4.掌握SPI串行接口设计

5.掌握串行AD/DA接口设计

二.实验任务

?SPI接口AD转换三个电平数据,打印结果到console,要求采用中断方式。三.实验原理

DAC121S101中断控制方式接口电路

四.实验步骤

1.硬件平台建立

1)参照11章使用XPS创建一个基于AXI总线的最小计算机系统。

2)添加AXI Interrupt Controller IP核:

a.在IP Catalog标签中,双击下面图标创建INTC IP核:

b.将microblaze_0实例的INTERRUPT引脚选择axi_intc_0_INTERRUPT,

如图:

3)加入AXI SPI接口控制器:

a.如图所示,选择AXI SPI。

b.配置SPI接口参数如图所示。这是由于该SPI接口仅需要输出数据,

而且一次传输需要16位数据,一个从设备,且D/A转换芯片要求SCLK

最高速率30MHz,由于AXI总线频率为100MHz,一次分频比为8,此

时SCLK的频率仅为。

c.设置端口连接配置,如图:

4)为AXI INTC添加中断源,如图:

5)配置UCF文件:

在UCF文件中修改如图所示配置,此时是通过PMOD JA上排插针进行连接:

NET "CLK" TNM_NET = sys_clk_pin;

TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz;

NET "CLK" LOC = "E3" | IOSTANDARD = "LVCMOS33";

NET "RESET" LOC = "E16" | IOSTANDARD = "LVCMOS33";

NET "RsRx" LOC = "C4" | IOSTANDARD = "LVCMOS33";

NET "RsTx" LOC = "D4" | IOSTANDARD = "LVCMOS33";

NET "axi_spi_0_SS_pin" LOC = "B13" | IOSTANDARD = "LVCMOS33";

NET "axi_spi_0_MOSI_pin" LOC = "F14" | IOSTANDARD = "LVCMOS33";

NET "axi_spi_0_MISO_pin" LOC = "D17" | IOSTANDARD = "LVCMOS33";

NET "axi_spi_0_SCK_pin" LOC = "E17" | IOSTANDARD = "LVCMOS33";

6)创建工程过程完成后,

a.在主界面下选择Hardware->Generate Netlist;

b.在主界面下选择Hardware->Generate Bitstream;

c.单击Graphical Design View,可以看到系统的连接图,如下:

2.软件平台建立

(1)SDK提供的外设驱动以及应用程序

1.点击project->Expert Hardware Design to SDK…,点击

Export&Launch SDK:

2.在SDK中,建一个空的c文件,输入源代码

(2)源代码:

#include""

#include""

#include""

#include""

#define BUFFER_SIZE 2

void SpiIntrandler(void *CallBackRef,u32 Statusevent,u32 Bytecount);

static XIntc IntcInstance;

static XSpi SpiInstance;

volatile int TransferInProgress;

int Error;

u8 ReadBuffer[BUFFER_SIZE];

u8 WriteBuffer[BUFFER_SIZE];

int main(void)

{

int Status;

Status=XSpi_Initialize(&SpiInstance,XPAR_SPI_0_DEVICE_ID);

Status=XIntc_Initialize(&IntcInstance,XPAR_INTC_0_DEVICE_ID);

Status=XIntc_Connect(&IntcInstance,XPAR_INTC_0_SPI_0_VEC_ID,(XInterruptHandler) XSpi_InterruptHandler,(void *)&SpiInstance);

Status=XIntc_Start(&IntcInstance,XIN_REAL_MODE);

XIntc_Enable(&IntcInstance,XPAR_INTC_0_SPI_0_VEC_ID);

microblaze_register_handler((XInterruptHandler)XIntc_InterruptHandler,&IntcInstance );

microblaze_enable_interrupts();

XSpi_SetStatusHandler(&SpiInstance,&SpiInstance,(XSpi_StatusHandler)SpiIntrandler); Status = XSpi_SetOptions(&SpiInstance,XSP_MASTER_OPTION |XSP_CLK_PHASE_1_OPTION); Status = XSpi_SetSlaveSelect(&SpiInstance,1);

XSpi_Start(&SpiInstance);

while(1){

TransferInProgress = TRUE;

XSpi_Transfer(&SpiInstance,WriteBuffer,ReadBuffer,2);

while(TransferInProgress);

u16 temp;

temp = ReadBuffer[1] << 8;

temp += ReadBuffer[0];

xil_printf("adc = %d\n\r", temp);

int i;

for(i = 0; i < 5000000; i++);

}

return XST_SUCCESS;

}

void SpiIntrandler(void *CallBackRef, u32 StatusEvent, u32 ByteCount)

{

TransferInProgress = FALSE;

if (StatusEvent != XSP_SR_RX_EMPTY_MASK){

Error++;

}

}

五.实验结果和调试过程

1、连接好硬件模块,并分别将A/D模块的J2插针1号引脚分别连接到GND

和VCC,在调试环境下,设置断点如下图1所示,每次执行RESUME之后,展开RENDBUFFER可以得到如下图2和图3所示结果。

图1、调试断点设置

2、实验结果

(1)Vin连接到3V3时,可以看到控制台稳定输出4095

(2)Vin连接到GND时,可以看到控制台稳定输出0

(3)当Vin悬空时,可以看到控制台输出一串随机数,处于不稳定状态

六.实验心得

数电实验报告册

湖北理工学院电气与电子信息工程学院 实验报告 课程名称:电子技术实验(数电部分) 专业名称: 班级: 学号: 姓名: 1

湖北理工学院电气与电子信息工程学院实验报告规范实验报告是检验学生对实验的掌握程度,以及评价学生实验课成绩的重要依据,同时也是实验教学的重要文件,撰写实验报告必须在科学实验的基础上进行。真实的记载实验过程,有利于不断积累研究资料、总结研究实验结果,可以提高学生的观察能力、实践能力、创新能力以及分析问题和解决问题的综合能力,培养学生理论联系实际的学风和实事求是的科学态度。 为加强实验教学中学生实验报告的管理,特指定湖北理工学院电气与电子信息工程学院实验报告规范。 一、每门实验课程中的每一个实验项目均须提交一份实验报告。 二、实验报告内容一般应包含以下几项内容: 1、实验项目名称:用最简练的语言反映实验内容,要求与实验课程安排表中一致; 2、实验目的和要求:明确实验的内容和具体任务; 3、实验内容和原理:简要说明本实验项目所涉及原理、公式及其应用条件; 4、操作方法与实验步骤:写出实验操作的总体思路、操作规范和操作主要注意事项,准确无误地记录原始数据; 5、实验结果与分析:明确地写出最后结果,并对实验得出的结果进行具体、定量的结果分析,说明其可靠性; 6、问题与建议(或实验小结):提出需要解决问题,提出改进办法与建议,避免抽象地罗列、笼统地讨论。(或对本次实验项目进行总结阐述。) 三、实验报告总体上要求字迹工整,文字简练,数据齐全,图标规范,计算正确,分析充分、具体、定量。 四、指导教师及时批改实验报告,并将批改后的报告返还学生学习改进。 五、实验室每学期收回学生的实验报告,并按照学校规章保存相应时间。 2

最新单片微机原理及应用 徐春辉第10章 习题答案51系列单片机的串行通信习题与思考题答案

练习与思考题10 1.串行数据传送的主要优点和作用是什么? 答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。主要用于微机之间或微机与外设之间的数据通信。 2.单工、半双工、全双工通信有什么异同? 答:相同之处在于都是串行通信; 单工方式:数据仅按一个固定方向传送。 半双工方式:数据可实现双向传送,但不能同时进行。 全双工方式:允许通信双方同时进行数据双向传送。。 3.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位, 请画出传送字符“F”的帧格式。 起始位0 1 1 0 0 0 1 0 校验位0 停止位 4.若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少? 答:已知每分钟传送3600个字符,方式3每个字符11位,则: 波特率=(11b/字符)×(3600字符/60s)=660b/s 5.AT89S51单片机的串行口由哪些功能部件组成?各有什么作用? 答:AT89S51单片机的串行接口由发送缓冲器SBUF,接收缓冲器SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。 由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。定时器T1产生串行通信所需的波特率。 6.AT89S51单片机串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何 确定? 答:串行口有4种工作方式:方式0、方式1、方式2、方式3; 有3种帧格式,方式2和3具有相同的帧格式; 方式0的发送和接收都以fosc/12为固定波特率, 方式1的波特率=2SMOD/32×定时器T1的溢出率 方式2的波特率=2SMOD/64×fosc 方式3的波特率=2SMOD/32×定时器T1的溢出率 7.为什么MCS-51串行口的方式0帧格式没有起始位(0)和停止位(1)? 解答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信。该方式以fosc/12的固定波特率从低为位到高位发送或接受数据。 8.AT89S51中SCON的SM2,TB8,RB8有何作用? 答:A T89S51中SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。 TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需要由软件置位

串行接口实验报告

课程实验报告实验名称:串行接口 专业班级: 学号: 姓名: 同组人员: 指导教师: 报告日期:

实验二 1. 实验目的 (3) 2. 实验内容 (3) 3. 实验原理 (3) 4. 程序代码 (6) 5. 实验体会 (13)

实验二 1.实验目的 1.熟悉串行接口芯片8251的工作原理 2.掌握串行通讯接收/发送程序的设计方法 2.实验内容 通过对8251芯片的编程,使得实验台上的串行通讯接口(RS232)以查询方式实现信息在双机上的。具体过程如下: 1. 从A电脑键盘上输入一个字符,将其通过A试验箱的8251数据口发送出去,然后通过B试验箱的8251接收该字符,最后在B电脑的屏幕上显示出来。 2.从A试验箱上输入步进电机控制信息(开关信息),通过A试验箱的8251数据口发送到B试验箱的8251数据口,在B试验箱上接收到该信息之后,再用这个信息控制B试验箱上的步进电机的启动停止、转速和旋转方向。 3.实验原理 1.8251控制字说明 在准备发送数据和接收数据之前必须由CPU把一组控制字装入8251。控制字分两种:方式指令和工作指令,先装入方式指令,后装入工作指令。 另外,在发送和接收数据时,要检查8251状态字,当状态字报告“发送准备好”/“接收准备好”时,才能进行数据的发送或接收。 2.8251方式指令(端口地址2B9H)

3.8251工作指令(端口地址2B9H) 4.8251状态字(端口地址2B9H) 5.8253控制字(283H) 6.8253计数初值(283H) 计数初值=时钟频率/(波特率×波特率因子)本实验:脉冲源=1MHz 波特率=1200 波特率因=16 计数初值= 1000000/1200*16=52

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

数电实验报告

选课时间段: 序号(座位号): 杭州电子科技大学 实验报告 课程名称: 数字原理与系统设计实验 实验名称: 组合电路时序分析与自动化设计 指导教师: 学生姓名 学生学号 学生班级 所学专业 实验日期

实验一、设计8位串行进位加法器电路设计: 一位全加器: 八位串行进位加法器:

仿真波形:

实验二、设计5人表决电路 代码: module BJDL45(A,B,C,D,E,YES,NO); input A,B,C,D,E; output YES,NO; reg YES,NO; always@ (A,B,C,D,E,YES,NO) case ({A,B,C,D,E}) 5'B00000:{YES,NO}<=2'B01; 5'B00001:{YES,NO}<=2'B01; 5'B00010:{YES,NO}<=2'B01; 5'B00011:{YES,NO}<=2'B01; 5'B00100:{YES,NO}<=2'B01; 5'B00101:{YES,NO}<=2'B01; 5'B00110:{YES,NO}<=2'B01; 5'B00111:{YES,NO}<=2'B10; 5'B01000:{YES,NO}<=2'B01; 5'B01001:{YES,NO}<=2'B01; 5'B01010:{YES,NO}<=2'B01; 5'B01011:{YES,NO}<=2'B10; 5'B01100:{YES,NO}<=2'B01; 5'B01101:{YES,NO}<=2'B10; 5'B01110:{YES,NO}<=2'B10; 5'B01111:{YES,NO}<=2'B10; 5'B10000:{YES,NO}<=2'B01; 5'B10001:{YES,NO}<=2'B01; 5'B10010:{YES,NO}<=2'B01; 5'B10011:{YES,NO}<=2'B10; 5'B10100:{YES,NO}<=2'B01; 5'B10101:{YES,NO}<=2'B10; 5'B10110:{YES,NO}<=2'B10; 5'B10111:{YES,NO}<=2'B10; 5'B11000:{YES,NO}<=2'B01; 5'B11001:{YES,NO}<=2'B10; 5'B11010:{YES,NO}<=2'B10; 5'B11011:{YES,NO}<=2'B10; 5'B11100:{YES,NO}<=2'B10; 5'B11101:{YES,NO}<=2'B10; 5'B11110:{YES,NO}<=2'B10; 5'B11111:{YES,NO}<=2'B10; default: {YES,NO}<=2'B10; endcase

微型计算机原理与接口技术第十章课后答案

第十章 1. 串行通信与并行通信的主要区别是什么?各有什么优缺点? 答:计算机与外部的信息交换称为通信,基本的通信方式有两种,并行通信和串行通信。 并行通信:数据各位同时传送,此方式传输数据的速度快,但使用的通信线多,若要并行传送8位数据,需要用8根数据线,另外还需一些控制信号线。随着传输距离的增加,通信线成本的增加将成为突出的问题,而且传输的可靠性随着距离的增加而下降。因此,并行通信适用于近距离传送数据的场合。 串行通信:将要传送的数据或信息按一定的格式编码,然后在单根线上按一位接一位的先后顺序进行传送。发送完一个字符后,再发送第二个。接收数据时,每次从单根线上一位接一位的接收信息,再把它们拼成一个字符,送给CPU作进一步处理。适用于远距离通信,需要的通信线少和传送距离远等优点。 2. 在串行通信中,什么叫单工、半双工、全双工工作方式? 答:串行通信时,数据在两个站A与B之间传送,按传送方向分成单工、半双工和全双工三种方式。 单工数据线仅能在一个方向上传输数据,两个站之间进行通信时,一边只能发送数据,另一边只能接收数据,也称为单向通信。 在半双工方式中,数据可在两个设备之间向任一个方向传输,但两个设备之间只有一根传输线,故同一时间内只能在一个方向上传输数据,不能同时收发。 全双工:对数据的两个传输方向采用不同的通路,可以同时发送和接收数据。 3. 什么叫同步工作方式?什么叫异步工作方式?哪种工作方式的效率更高?为什么? 答:串行通信有两种基本工作方式:异步方式和同步方式 异步方式:不发送数据时,数据信号线总是呈现高电平,称为MARK状态,也称空闲状态。当有数据要发送时,数据信号线变成低电平,并持续一位的时间,用于表示字符的开始,称为起始位。起始位后,在信号线上依次出现待发送的每一位字符数据,最低有效位D0最先送出,根据不同编码,有效数据位可由5位、6位、7位或8位构成,数据位后面有一个奇偶校验位,校验位后至少有一位高电平表示停止位,用于指示字符的结束。由此可见,异步方式发送一个7位的ASCII码时,实际需发送10位、10.5位或11位信息,故影响传输效率。 同步方式:没有数据传送时,传输线处于MARK状态,为了表示数据传输的开始,发送方式发送一个或两个特殊字符,称为同步字符。当发送法和接收方达到同步后,就可以一个字符接一个字符发送一大块数据,不再需要用起始位和停止位了,这样就可以明显的提高数据的传输速率。同步方式传送数据时,在发送过程中,收发双发还必须用同一个时钟进行协调,用于确定串行传输中每一位的位置。接收数据时,接受方可利用同步字符将内部时钟与发送方保持同步,然后将同步字符后面的数据逐位移入,并转换成并行格式,供CPU读取,直至收到结束符为止。 4. 用图表示异步串行通信数据的位格式,标出起始位,停止位和奇偶校验位,在数字位上标出数字各位发送的顺序。 答:

串口通信实验报告全版.doc

实验三双机通信实验 一、实验目的 UART 串行通信接口技术应用 二、实验实现的功能 用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。 三、系统硬件设计 (1)单片机的最小系统部分 (2)电源部分 (3)人机界面部分

数码管部分按键部分 (4)串口通信部分 四、系统软件设计 #include #define uchar unsigned char #define uint unsigned int void send(); uchar code0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9的数码管显示 sbit H1=P3^6; sbit H2=P3^7;

sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; uint m=0,i=0,j; uchar temp,prt; /***y延时函数***/ void delay(uint k) { uint i,j; //定义局部变量ij for(i=0;i

{ m=1; //KEY1键按下 return(m); } if(H2==0) { m=4; //KEY4键按下 return(m); } } } if(L2==0) { delay(5); if (L2==0) { L2=0;H1=1;H2=1; if(H1==0) { m=2; //KEY2键按下 return(m); } if(H2==0) { m=5; //KEY5键按下 return(m); } } } if(L3==0) { delay(5); if (L3==0) { L3=0;H1=1;H2=1; if(H1==0) { m=3; //KEY3键按下

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.360docs.net/doc/c5688418.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.360docs.net/doc/c5688418.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

数电实验报告1

实验一门电路逻辑功能及测试 一、实验目的 1、熟悉门电路逻辑功能。 2、熟悉数字电路学习机及示波器使用方法。 二、实验仪器及材料 1、双踪示波器 2、器件 74LS00 二输入端四与非门2片 74LS20 四输入端双与非门1片 74LS86 二输入端四异或门1片 74LS04 六反相器1片 三、预习要求 1、复习门电路工作原理相应逻辑表达示。 2、熟悉所有集成电路的引线位置及各引线用途。 3、了解双踪示波器使用方法。 四、实验内容 实验前按学习机使用说明先检查学习机是否正常,然后选择实验用的集成电路,按自己设计的实验接线图接好连线,特别注意Vcc及地线不能接错。线接好后经实验指导教师检查无误方可通电。试验中改动接线须先断开电源,接好线后在通电实验。 1、测试门电路逻辑功能。 (1)选用双输入与非门74LS20一只,插入面包板,按图 连接电路,输入端接S1~S4(电平开关输入插口),输 出端接电平显示发光二极管(D1~D8任意一个)。 (2)将电平开关按表1.1置位,分别测出电压及逻辑状态。(表1.1) 输入输出 1 2 3 4 Y 电压(V) H H H H 0 0.11 L H H H 1 4.23 L L H H 1 4.23 L L L H 1 4.23 L L L L 1 4.23

2、异或门逻辑功能测试 (1)选二输入四异或门电路74LS86,按图接线,输入端1﹑2﹑4﹑5接电平开关,输出端A ﹑B ﹑Y 接电平显示发光二极管。 (2)将电平开关按表1.2置位,将结果填入表中。 表 1.2 3、逻辑电路的逻辑关系 (1)选用四二输入与非门74LS00一只,插入面包板,实验电路自拟。将输入输出逻辑关系分别填入表1.3﹑表1.4。 输入 输出 A B Y Y 电压(V ) L L L L 0 0 0 0.16 H L L L 1 0 1 4.18 H H L L 0 0 0 0.17 H H H L 0 1 1 4.18 H H H H 0 0 0 0.17 L H L H 1 1 0.17 输入 输出 A B Y L L 0 L H 1 H L 1 H H 输入 输出 A B Y Z L L 0 0 L H 1 0 H L 1 0 H H 1

单片机串口通讯实验报告

实验十单片机串行口与PC机通讯实验报告 ㈠实验目的 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制; 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议; 3.了解PC机通讯的基本要求。 ㈡实验器材 1.G6W仿真器一台 2.MCS—51实验板一台 3.PC机一台 ㈢实验内容及要求 利用8051单片机串行口,实现与PC机通讯。 本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC 机显示器上,再将PC机所接收的字符发送回单片机,并在实验板的LED上显示出来。 ㈣实验步骤 1.编写单片机发送和接收程序,并进行汇编调试。 2.运行PC机通讯软件“commtest.exe”,将单片机和PC机的波特率均设定 为1200。 3.运行单片机发送程序,按下不同按键(每个按键都定义成不同的字符), 检查PC机所接收的字符是否与发送的字符相同。 4.将PC机所接收的字符发送给单片机,与此同时运行单片机接受程序,检 查实验板LED数码管所显示的字符是否与PC机发送的字符相同。

㈤ 实验框图

源程序代码: ORG 0000H AJMP START ORG 0023H AJMP SERVE ORG 0050H START: MOV 41H,#0H ;对几个存放地址进行初始化 MOV 42H,#0H MOV 43H,#0H MOV 44H,#0H MOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALL DISPLAY ;初始化显示 MOV TMOD,#20H ;设置为定时器0,模式选用2 MOV TL1, #0E6H ;设置1200的波特率 MOV TH1, #0E6H SETB TR1 ;开定时器 MOV SCON,#50H ;选用方式1,允许接收控制 SETB ES SETB EA ;开中断 LOOP: ACALL SOUT ;键盘扫描并发送,等待中断 SJMP LOOP SERVE JNB RI,SEND ;判断是发送中断还是接收中断,若为发送中 断则调用 ACALL S IN ;发送子程序,否则调用接收子程序 RETI SEND: CLR TI ;发送子程序 RETI SIN: CLR RI ;接受子程序 MOV SCON, #00H MOV A, SBUF ;接收数据 LCALL XS ;调用显示子程序 RETI 子程序: SOUT: CLR TI ;清发送中断标志位 LCALL KEY ;调用判断按键是否按下子程序 MOV A,R0 ;将按键对应的数字存入A MOV SBUF,A ;输出按键数字给锁存 RET KEY: MOV P1,#0FFH ;将P1设置为输入口 MOV A, P1 CPL A ;将A内值取反

串行口通信实验 单片机实验报告

实验六串行口通信实验 一、实验内容 实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。 二、实验目的 掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。 三、实验原理 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。 为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。 单片机串行接口有两个控制寄存器:SCON和PCON。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。 单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。如果用户要进行串行通信,可以调用WINDOWS的API 应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。 四、实验电路 [参考学习板说明书P27]

数字电子技术实验报告汇总

《数字电子技术》实验报告 实验序号:01 实验项目名称:门电路逻辑功能及测试 学号姓名专业、班级 实验地点物联网实验室指导教师时间2016.9.19 一、实验目的 1. 熟悉门电路的逻辑功能、逻辑表达式、逻辑符号、等效逻辑图。 2. 掌握数字电路实验箱及示波器的使用方法。 3、学会检测基本门电路的方法。 二、实验仪器及材料 1、仪器设备:双踪示波器、数字万用表、数字电路实验箱 2. 器件: 74LS00 二输入端四与非门2片 74LS20 四输入端双与非门1片 74LS86 二输入端四异或门1片 三、预习要求 1. 预习门电路相应的逻辑表达式。 2. 熟悉所用集成电路的引脚排列及用途。 四、实验内容及步骤 实验前按数字电路实验箱使用说明书先检查电源是否正常,然后选择实验用的集成块芯片插入实验箱中对应的IC座,按自己设计的实验接线图接好连线。注意集成块芯片不能插反。线接好后经实验指导教师检查无误方可通电实验。实验中

1.与非门电路逻辑功能的测试 (1)选用双四输入与非门74LS20一片,插入数字电路实验箱中对应的IC座,按图1.1接线、输入端1、2、4、5、分别接到K1~K4的逻辑开关输出插口,输出端接电平显 图 1.1 示发光二极管D1~D4任意一个。 (2)将逻辑开关按表1.1的状态,分别测输出电压及逻辑状态。 表1.1 输入输出 1(k1) 2(k2) 4(k3) 5(k4) Y 电压值(v) H H H H 0 0 L H H H 1 1 L L H H 1 1 L L L H 1 1 L L L L 1 1 2. 异或门逻辑功能的测试

图 1.2 (1)选二输入四异或门电路74LS86,按图1.2接线,输入端1、2、4、5接逻辑开关(K1~K4),输出端A、B、Y接电平显示发光二极管。 (2)将逻辑开关按表1.2的状态,将结果填入表中。 表1.2 输入输出 1(K1) 2(K2) 4(K35(K4) A B Y 电压(V) L H H H H L L L H H H H L L L H H L L L L L H H 1 1 1 1 1 1 1 1

单片机键盘显示实验报告

单片机得键盘与显示实验报告 ㈠实验目得 1.掌握单片机I/O得工作方式; 2.掌握单片机以串行口方式0工作得LED显示; 3.掌握键盘与LED显示得编程方法. ㈡实验器材 1.G6W仿真器?一台 2.MCS—51实验板?一台 3.PC机???一台 4.电源一台 ㈢实验内容及要求 实验硬件线路图见附图 从线路图可见,8051单片机得P1口作为8个按键得输入端,构成独立式键盘。四个LED显示器通过四个串/并移位寄存器74LS164接口至8051得串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示得段码数据,TXD则作为发送时钟来对显示数据进行移位操作。 编写一个计算器程序,当某一键按下时可执行相应得加、减、乘、除运算方式,在四个显示器上显示数学算式与最终计算结果。 注:①通过按键来选择加、减、乘、除四种运算方式。 ②输入两个数字均为一位十进制数,可预先放在内存中。 ㈣实验框图(见下页) ㈤思考题 1.当键盘采用中断方式时,硬件电路应怎样连接? P1、4~P1、7就是键输出线,P1、0~P1、3就是扫描输入线。输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至8051得外部中断输入端。 2、74LS164移位寄存器得移位速率就是多少? 实验中要求计算得式子与结果之间相差一秒,移位寄存器得移位速率应该就是每秒一位吧。其实这个问题确实不知道怎么回答。.。。。

?LED

实验代码: ORG0000H AJMPMAIN ORG 0030H MAIN:MOV 41H,#0BBH;对几个存放地址进行初始化MOV 42H,#0BBH MOV43H,#0BBH MOV44H,#0BBH MOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALLDISPLAY ;初始化显示 KEY:MOV R3,#08H;用来存放两个数据 MOV R4,#02H MOVP1,#0FFH ;初始化P1口 MOVA,P1 ;读取按键状态 CPL A ;取正逻辑,高电平表示有键按下 JZ KEY ;A=0时无键按下,重新扫描键盘 LCALL DELAY1 ;消抖 MOVA,P1;再次读取按键状态 CPL A JZ KEY;再次判别就是否有键按下 PUSH A KEY1:MOVA,P1 CPL A ANL A,#0FH ;判别按键释放 JNZKEY1;按键未释放,等待 LCALLDELAY1;释放,延时去抖动 POPA JB ACC、0,ADD1 ;K1按下转去ADD1 JBACC、1,SUB1 ;K1按下转去SUB1 JB ACC、2,MUL1 ;K1按下转去MUL1 JBACC、3,DIV1;K1按下转去DIV1 LJMP KEY ADD1:LCALL BUFFER ;显示加数与被加数MOV43H,#049H LCALL DISPLAY;显示加号 MOV A,R3 ADDA,R4 DA A MOV R3,A;相加结果放入R6

数电实验实验报告

数字电路实验报告

实验一 组合逻辑电路分析 一.试验用集成电路引脚图 74LS00集成电路 74LS20集成电路 四2输入与非门 双4输入与非门 二.实验内容 1.实验一 2.实验二 密码锁的开锁条件是:拨对密码,钥匙插入锁眼将电源接通,当两个条件同时满足时,开锁信号为“1”,将锁打开。否则,报警信号为“1”,则接通警铃。试分析密码锁的密码 X1 2.5 V A B C D 示灯:灯亮表示“1”,灯灭表示“0” ABCD 按逻辑开关,“1”表示高电平,“0”表示低电平

ABCD是什么?

ABCD 接逻辑电平开关。 最简表达式为:X1=AB’C’D 密码为: 1001 A B C D X1 X2 A B C D X1 X2 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 三.实验体会: 1.分析组合逻辑电路时,可以通过逻辑表达式,电路图和真值表之间的相互转换来到达实验所要求的目的。 2.这次试验比较简单,熟悉了一些简单的组合逻辑电路和芯片 ,和使用仿真软件来设计和构造逻辑电路来求解。 实验二 组合逻辑实验(一) 半加器和全加器 一.实验目的 1. 熟悉用门电路设计组合电路的原理和方法步骤 二.预习内容 1. 复习用门电路设计组合逻辑电路的原理和方法步骤。 2. 复习二进制数的运算。 3. 用“与非门”设计半加器的逻辑图。 4. 完成用“异或门”、“与或非”门、“与 非”门设计全加器的逻辑图。 5. 完成用“异或”门设计的3变量判奇 电路的原理图。 三.元 件参考 U1A 74LS00D U1B 74LS00D U1C 74LS00D U1D 74LS00D U2A 74LS00D U2B 74LS00D U2C 74LS00D U3A 74LS20D X1 2.5 V X2 2.5 V VCC 5V A B C D

单片机实验报告串行口

单片机实验报告 实验名称:串行通信实验 姓名:魏冶 学号:090402105 班级:光电一班 实验时间:2011-11-29 南京理工大学紫金学院电光系

一、实验目的 1、理解单片机串行口的工作原理; 2、学习使用单片机的TXD、RXD口; 3、了解MAX232芯片的使用。 二、实验原理 MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以发送、接收数据。它有两个相互独立的接收、发送缓冲器,这两个缓冲器同名(SBUF),共用一个地址号(99H),发送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写入。 要发送的字节数据直接写入发送缓冲器,SBUF=a;当UART接收到数据后,CPU从接收缓冲器中读取数据,a=SBUF;串行接口内部有两个移位寄存器,一个用于串行发送,一个用于串行接收。定时器T1作为波特率发生器,波特率发生器的溢出信号做接收或发送移位寄存器的移位时钟。TI和RI分别发送完数据和接收完数据的中断标志,用来向CPU发中断请求。 三、实验内容 1、学会DPFlash软件的操作与使用,以及内部内嵌的一个串口调试软件的使用。 2、用串口连接PC机和DP-51PROC单片机综合仿真实验仪。 3、编写一个程序,利用单片机的串行口发送0x55,波特率为9600。 程序设计流程图

4、程序下载运行后,可在PC机上的串口调试软件上(内嵌在DPFlash软件的串口调 试器,设置通信口为COM1口,波特率为9600,数据位8,停止位1)看到接收到“UUUUUU……”,出现这样的结果就基本达到要求。 (1)代码: #include void main() { long int i; SCON=0x40; PCON=0; TMOD=0x20; TH1=0xfd; TL1=0xfd; TI=1; TR1=1; star:for(i=0;i<5000;i++); SBUF=0x55; goto star; } (2)电路图; 5、在单片机接收到0x55时返回一个0x41,在PC机一端,以接收到0x41完成,波特率2400。

串行通信实验报告材料

串行通信实验报告 班级姓名学号日期 一、实验目的: 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 0000H LJMP MAIN ORG 0023H LJMP COM_INT ORG 1000H MAIN: MOV SP,#53H MOV 78H,#20H

MOV 77H,00H MOV 76H,20H MOV 75H,40H ACALL TRANS HERE: SJMP HERE TRANS: MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H MOV PCON,#80H SETB TR1 MOV SCON,#40H MOV IE,#00H CLR F0 MOV SBUF,78H WAIT1: JNB TI,WAIT1 CLR TI MOV SBUF,77H WAIT2: JNB TI,WAIT2 CLR TI MOV SBUF,76H WAIT3: JNB TI,WAIT3 CLR TI

数电实验报告

班级:姓名: 学号: 实验报告(一)TTL集成逻辑门的逻辑功能与参数测试1.测试TTL集成与非门74LS20的逻辑功能,测试结果记录如下表: 输入输出 An Bn Cn Dn Yn 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 2. 74LS20主要参数的测试 I CCL (mA) I CCH (mA) I il (mA) I OL (mA) N O= iL OL I I 3. 电压传输特性测试 V i(V) 0 0.4 0.7 0.9 1.0 1.1 1.2 1.3 1.4 2.0 3.0 4.0 … V O(V) 4.画出实测的电压传输特性曲线,并从中读出各有关参数值。

实验报告(二)CMOS 电路 1.用所给的集成电路(CD4007)实现F=ABC ,将实验结果填入真值表中,并测出高、低电平(真值表自拟,测试步骤自拟)。 2. 用所给的集成电路实现F=C B A ++(真值表自拟,测试步骤自拟)。 3. 用所给的集成电路,构成图2-2反相器。 (a )测最大灌电流I OL (V OL =0.1V ,接通图2-2中的虚线框①)。 (b )测最大拉电流I OH (V OH =4.9V,断开虚线框①,接通虚线框②。 4. 构成如图2-3所示的反相器,测最大灌电流I OL 。

实验报告(三)组合逻辑电路实验分析与设计(1) 写出由与非门组成的半加器电路的逻辑表达式 (2) 根据表达式列出真值表,并画出卡诺图判断能否简化 A B Z1 Z2 Z3 S C 0 0 0 1 1 0 1 1 实验: 1.测试由与非门组成的半加器电路的逻辑功能 A B S C 0 0 0 1 1 0 1 1 2.测试用异或门74LS86和与非门74LS00组成的半加器的逻辑功能 A B S C 0 0 0 1 1 0 1 1

单片机串口通信实验报告

信息工程学院实验报告 课程名称:单片机原理及接口 实验项目名称:串口通信实验实验时间: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构成接收线路。一台计算机得TxD、RxD线分别与另一台计算机得RxD、TxD线相连。 由于在串行通信过程中得并串转换、串并转换、线路检测、采样判决、组帧、 拆帧、发送与接收等操作需消耗CPU大量时间,以至CPU无法处理其它工 作,因而开发出专用于处理异步串行通信发送与接收工作得芯片UART(通用 异步串行通信接收发送器)。 CPU只需将要发送得一个字节数据交给UART,其它发送工作由UART自动完成,当UART将一帧数据发送完毕,会通知CPU 已发送完,可提交下一个字节。 UART自动监测线路状态并完成数据接收工作,当接收到一个字节数据后,UART会通知CPU来读取。采用UART 后,CPU得负担大大减轻了。

键盘接口实验实验报告及程序

实验六键盘接口实验 姓名专业通信工程学号成绩 一、实验目的 1.掌握Keil C51软件与Protues软件联合仿真调试的方法; 掌握单片机的键盘接口电路; 掌握单片机键盘扫描原理; 掌握键盘的去抖原理及处理方法。 实验仪器与设备 1.微机1台C51集成开发环境3。Proteus仿真软件 实验内容 用Proteus设计一矩阵键盘接口电路。要求利用P1口接一4*4矩阵键盘。串行口通过一74LS164接一共阴极数码管。参考电路见后面。 用线反转法编写矩阵键盘识别程序,要求采用中断方式(列线通过4输入与门74LS20接/INT0),无按键按下时,数码管循环画“8”;有按键按下时产生中断并将按键的键值0~F通过串行口输出,在数码管上显示3秒钟后返回;返回后,数码管继续循环画“8”。 将P1口矩阵键盘改为8个独立按键(用中断方式设计),键盘通过74LS30(8输入与非门)和74LS04(六反相器)与/INT0相连,重新编写识别和显示程序。实验原理 矩阵键盘识别一般应包括以下内容: 判别有无键按下。 键盘扫描取得闭合键的行、列号。 用计算法火或查表法得到键值。 判断闭合键是否释放,如果没释放则继续等待。 将闭合键的键值保存,同时转去执行该闭合键的功能。 实验步骤 用Proteus设计键盘接口电路; 在Keil C51中编写键盘识别程序,编译通过后,与Proteus联合调试; 按动任意键,观察键值是否能正确显示。 电路设计及调试、程序 程序设计:矩阵键盘 #include<> #define uchar unsigned char #define uint unsigned int uchar code table1[]={0x00,0x01,0x21,0x61,0x65,0x6d,0x7d,0x7f}; uchar code key_table[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0 xd7,0xb7,0x77};

相关文档
最新文档