单片机实验七

合集下载

实验七 中断方式的串口通信实验

实验七  中断方式的串口通信实验

实验七中断方式的串口通信实验一实验目的:进一步掌握8051单片机串行口工作原理和方式,以及单片机中断原理和方法。

将单片机串口通信与中断综合运用。

二实验原理:8051单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。

但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出。

这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。

如果在串行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。

在上一个实验中,在单片机与微机进行数据传输时,我们使用查询方式,等待发送/接收中断信号,使CPU工作效率较低。

因此,我们可以用中断的方式进行单片机与微机的串口通信,当发送/接收完毕后产生中断。

这样,在数据传输过程中,CPU可以用于其他任务,大大提高了CPU的工作效率。

在外中断实验中已经提及串行口的中断向量为0023H,中断号为4,另外中断允许位为ES。

三实验内容:单片机与微机相连,使用中断方法实现8051单片机与微机的串口通信。

微机键入一个字符后发送至单片机,单片机收到后又将此字符发送回微机,在微机屏幕上回显。

要求在11.0592MHZ下,串行口的波特率为9600,方式1。

四实验电路图:与实验六的实验图一致。

五实验方法:1. 根据电路图连接好实验电路。

1.按照实验要求编写实验程序,建立新工程,保存为INTCOM。

2.软件调试程序,并在串口观察窗中调试,方法同上一个实验。

3.将Keil C51产生的intcom.hex文件通过在线下载ISP或商用编程器。

六参考程序:1.汇编源程序ORG 0000HLJMP MAINORG 0023H ;中断服务入口地址LJMP COM_INT_SRVMAIN: LCALL INIT_TMR1LCALL INIT_SCIAGAIN: SJMP AGAINCOM_INT_SRV: JBC RI,HERE_SRV ;中断服务子程序SJMP TEST_AGAINHERE_SRV: MOV R7,SBUFMOV SBUF,R7TEST_AGAIN: RETIINIT_SCI: MOV SCON,#0x50SETB ESSETB EA ;开中断RETINIT_TMR1: MOV TMOD,#0x20 ;初始化定时器MOV TH1,#0xFDMOV TL1,#0xFDSETB TR1RETEND2.C语言源程序/*************************************************** 文件名: intcom.c*描述:使用中断方法,微机发送数据到单片机,单片机接收后又发还至微机,并在微机屏幕上显示。

单片机原理图设计

单片机原理图设计

实验报告
学生姓名:李雨麒
学号:5801212078
专业班级:测仪122班
实验七、8051单片机电路原理图设计
一、实验目的
1、熟悉原理图编辑器
2、熟练掌握原理图的实体放置与编辑
3、熟练8031单片机存储器扩展小系统电路原理图设计
二、实验内容
图编辑界面。

2、添加元件库。

Protel Dos Schematic Library
3、设置图纸。

将图号设置为A4即可。

4、放置元件。

根据双路直流稳压电源放大电路的组成情况,在屏幕左方的元件管理器
中取相应元件,并放置于屏幕编辑区。

在元件放置后,对元件的标号及名称(型号规格)修改和设置。

表5给出了该电路每个元件样本、元件标号、所在元件库数据。

5、设置元件属性。

根据原理图每个元件设置相关属性。

6、调整元件位置。

7、连线。

根据电路草图在元件引脚之间连线。

8、放置节点。

连线完成后,在需要的地方放置节点。

一般情况下,“T”字连接处的节点是在我们连线时由系统自动放置的(相关设置应有效),而所有“十”字连接处的节点必需由我们手动放置。

1、放置输入输出点。

10、放置注释文字。

11、电路的修饰及整理。

12、保存文件。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。

二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。

2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。

通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。

三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,点亮LED灯。

2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将按键和LED灯与单片机相连。

(3)编写程序,实现按下按键控制LED灯亮灭。

3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)将数码管与单片机相连。

(3)编写程序,将数字输出到数码管上显示。

4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。

(2)编写程序,实现定时器功能。

四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。

2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。

按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。

3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。

通过程序设计,可以实现数码管显示不同的数字。

4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。

通过调节定时器的参数,可以实现不同的定时功能。

五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。

通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。

这些技能对于日常生活和工程设计都具有很大的实用性。

在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。

单片机实验报告

单片机实验报告

单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。

它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。

本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。

2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。

3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。

4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。

具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。

接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。

4.2 编程使用XXX软件对单片机进行编程。

根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。

验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。

4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。

在实验过程中需记录实验结果,并进行分析。

5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。

掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。

实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。

当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。

在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。

6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。

)。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

单片机实验报告

单片机实验报告

中国石油大学(北京)本科生实验报告学生姓名:学号:班级:过程时间:2010-12-26课程名称:单片机原理及应用总学时:48 教师:成绩:实验名称:实验七——直流数字电压表设计一、电路原理图二、源程序#include<reg51.h>sbit _st=P2^5; //定义AD启动位,_stsbit _eoc=P2^6; //定义AD结束位,_eocsbit _oe=P2^7; //定义AD使能位,_oesbit led0=P2^3; //定义数码管最低位,led0sbit led1=P2^2; //定义数码管第二位,led1sbit led2=P2^1; //定义数码管第三位,led2unsigned char ad_result=0;//定义AD转换结果变量,ad_resultunsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义十进制显示字模数组,table[] void delay(unsigned int time){ //延时函数unsigned int j = 0;for(;time>0;time--)for(j=0;j<125;j++);}void disp(void){ //动态显示函数led2=0; //第三位数码清0P0=table[ad_result/100];//输出第三位的字模delay(10);//延时10msled2=1;//第三位位码置1led1=0;//第二位位码清0P0=table[(ad_result/10)%10];//输出第二位的字模delay(10);//延时10 msled1=1;//第二位位码置1led0=0;//最低位位码清0P0=table[ad_result%10];//输出最低位的字模delay(10);//延时10msled0=1;//最低位位码置1}void main(void){while(1){_st=0;//模拟启动时序,发出启动AD转换脉冲_st=1;_st=0;while(!_eoc==0);//查询EOC标志,若EOC=0,原地等待_oe=1;//若EOC=1,使能OE置1ad_result=P1;//读取AD转换结果_oe=0;//使能OE置0disp();//动态显示函数调用}}三、运行效果图四、软件延时长短对动态显示效果的影响当延时较短时,利用人的视觉暂留原理,可以同时看到三个数字同时显示,如上图1显示的133;当延时较长时,超出了人的视觉暂留范围,就只能看到一个数字,如上图2显示的9五、通用IO口接口方式与采用总线接口方式的差别。

单片机实验报告

单片机实验报告

单片机实验报告学院:电控学院专业:自动化(交通信息与控制)姓名:刘甜甜学号:201232010107目录一、实验一 (1)二、实验二 (4)三、实验三 (5)四、实验四 (12)五、实验七 (15)六、实验十一 (18)七、总结 (23)一、实验一使用μVision集成开发工具设计、调试汇编语言程序1.实验目的1)熟悉使用μVision集成开发工具编写、编译、调试单片机汇编语言程序的方法。

2)掌握A51汇编语言的编程方法。

3)领会汇编语言程序设计的思想和方法。

2.实验设备1)计算机2) μVision集成开发环境3.实验内容1)学习μVision集成开发环境的使用及A51编程范例。

结合第1 1章μVision集成开发环境的使用介绍,上机练习μVision的常用功能,具体功能说明请参阅第1 1章的有关部分和μVision自带的联机帮助。

打开μVision安装目录下路径为“C51\EXAMPLES\ASM\”中的汇编语言范例工程文件“ASAMPLE. Uv2”,如图1-1所示。

通过仔细阅读范例程序,了解μVision 中项目文件的构成、汇编语言程序的编写规范、模块间的函数调用方法等知识。

将打开的范例工程文件编译后,单击图标进入调试模式调试程序,如图1-2所示,熟悉μVision调试模式下常用功能的使用方法。

掌握汇编语言程序调试的一般过程。

2)编写程序,完成二进制数向BCD码的转换。

参照11.3节中介绍的内容,使用μVision 集成开发环境建立项目,编写程序实现将R0中的二进制数转换成非压缩式BCD码,存储于内部数据存储器30H~32H中。

编译程序,根据提示改正错误,直至编译无误。

参照1 1.4节中介绍的相关内容,进入μVision调试模式。

在寄存器窗口中设置寄存器R0的初值,在程序最后设置断点,全速运行至断点处,在存储器观察窗口中观察内部数据存储器中的内容是否与程序设计运行结果一致。

如果有问题,需要进一步通过单步调试,查看程序的每条语句执行结束后的状态,检查程序设计中的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验课程名称单片机实验
实验项目名称显示接口实验
学院理学院
专业班级电科081 学生姓名魏正武
学号 080712110079
实验时间2011年6月8 日
实验七显示接口实验
(设计性实验)
一、实验目的:
⑴掌握单片机LCD数码显示器的接口方法
⑵掌握动态扫描显示程序的编程方法和调试方法
二、实验内容
编制动态显示扫描程序,显示位数为6位。

显示字符0~9,每一字符从左到右的流水并循环显示。

三、实验硬件电路:
四、预习要求:
按照实验内容的要求编写程序。

五、实验步骤:
1、在Proteus中画出电路图;
2、进入Keil C51组合软件的操作环境编辑、编译源程序;
3、运行、调试程序和结果检查
①采用单步,设置断点等方法, 态观察程序走向是否正确及硬件连
接是否正确:
断点情况如下图所示:
运行至第一个断点处,查看断点处P0口情况:
由图及分析程序可知,该程序运行至第一次给P0口赋值时,都是正确的。

运行至第二个断点处,查看断点处P0口和P3口情况:
由程序分析知,此时P3.0口赋1,即P3口选中数码管第一位,此时P0口
赋值为0xc0,对应十进制数0,此时会点亮第一个数码管,并显示0。

第二次运行至第二个断点处,查看断点处P0口和P3口情况:
由程序分析知,此时P3.1口赋1,即P3口选中数码管第二位,此时P0口赋值为0xc0,对应十进制数0,此时会点亮第二个数码管,并显示0,此时实现了流水显示。

第九次运行至第二个断点处,查看断点处P0口和P3口情况:
由程序分析知,此时P3.0口赋1,即P3口选中数码管第一位,此时P0口赋值为0xf9,对应十进制数1,此时会点亮第一个数码管,并显示1,此时实现了二次流水显示。

②连续运行程序,观察LED的输出,以下仅选其中几个截图:
六、思考题:
1、0~9的字型码应怎样编制。

要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。

字型码各位定义为:数据线D0与a 字段对应,D1与b 字段对应……,依此
类推。

如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。

如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。

依此类推,可求得数码管字形编
区域中,构成显示字型码表。

当要显示某字符时,通过查表指令获取该字符所对应的字型码。

2、字符的动态显示怎样进行。

动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

选亮数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。

七、实验报告:
1、将动态显示程序加上注释语句,并说出其功能。

2、回答思考题。

相关文档
最新文档