单片机实验报告3
- 格式:doc
- 大小:328.00 KB
- 文档页数:22
单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
单片机外部中断实验报告实验三外部中断实验报告班级:学号:姓名:教师:一、实验LI的1、掌握单片机外部中断的原理及过程。
2、掌握单片机外部中断程序的设计方法。
3、掌握单片机外部中断时中断方式的选择方法。
二、实验内容如下图所示,P3.2设为输入,P2设为输出位,连有8个发光二极管DPD8O每当发生外部中断时,发光二极管以向下流水灯的方式点亮。
分别选择边沿触发外部中断放是和电平触发外部中断方式两种。
三、编程提示1、P3 口是8位准双向口,具有双重功能:第一功能和P1 口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下:P3. 0RXD串行输入口P3. 1TXD串行输出口P3. 2INTO外部中断0请求输入线P3. 3INT1外部中断1请求输入线P3.4TO定时器/计数器TO外部计数器脉冲输入线P3. 5T1定时器/计数器T1外部计数器脉冲输入线P3. 6WR外部数据存贮器写脉冲输出线P3. 7RD外部数据存贮器读脉冲输出线2、各中断服务程序入口地址:外部中断003H定时器/计数器T1溢出中断OBH外部中断113H定时器/计数器1BH串行口中断23H3、外部中断的产生条件中断允许寄存器IE:EAESET1EX1ET0EX0(1)外部中断源允许中断(中断0: EX0=l;中断1: EXl=l)o(2)CPU 开中断(EA二1)。
(3)外部中断方式CPU发出中断申请。
4、外部中断方式的选择控制TCOX:TF1TR1TF0TR0IE1IT1IE0IT0IT0是选择文字则外部中断0请求(INTO)边沿触发方式或电平触发方式的控制位。
前一方式IT0二1,后一方式IT0二0。
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。
前一方式IT1=1,后一方式ITl=0o当8031复位后,TCON被清0。
5、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备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灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
一、实验背景与目的随着科技的发展,单片机作为嵌入式系统的重要组成部分,广泛应用于各个领域。
为了提高学生的实践能力和创新精神,我们选择了单片机项目实训作为实验课程。
本次实训旨在让学生掌握单片机的基本原理,熟悉其硬件和软件设计,并通过实际项目实践,提高学生的动手能力和解决问题的能力。
二、实验内容与步骤本次实训项目为设计一款基于ATmega16单片机的简易计算器。
该计算器能够实现基本的四则运算,并通过矩阵键盘和LCD1602显示屏进行人机交互。
1. 实验内容(1)设计计算器的硬件电路,包括ATmega16单片机、矩阵键盘、LCD1602显示屏等。
(2)编写计算器的软件程序,实现四则运算功能。
(3)测试计算器的功能,确保其正常运行。
2. 实验步骤(1)硬件设计根据实验要求,设计计算器的硬件电路。
主要包括以下步骤:1)选择合适的ATmega16单片机开发板。
2)设计矩阵键盘电路,包括按键布局和连接方式。
3)设计LCD1602显示屏电路,包括数据线和控制线。
4)将以上电路连接到ATmega16单片机开发板上。
(2)软件设计编写计算器的软件程序,实现以下功能:1)初始化ATmega16单片机,设置时钟频率。
2)初始化LCD1602显示屏,显示“0”作为初始值。
3)编写矩阵键盘扫描程序,检测按键状态。
4)根据按键输入,执行相应的四则运算。
5)将运算结果显示在LCD1602显示屏上。
6)实现清零、退格等功能。
(3)测试与调试1)将编写好的程序烧录到ATmega16单片机中。
2)连接计算器硬件电路,进行功能测试。
3)针对测试过程中发现的问题,进行调试和修改。
4)确保计算器能够正常运行,实现预期功能。
三、实验结果与分析经过实际操作和调试,我们成功设计并实现了一款基于ATmega16单片机的简易计算器。
该计算器能够实现基本的四则运算,并通过矩阵键盘和LCD1602显示屏进行人机交互。
以下是实验结果分析:1. 硬件设计方面,我们选择了合适的ATmega16单片机开发板,并设计了简洁的矩阵键盘和LCD1602显示屏电路。
实验报告二、实验地点:图书馆816-2三、实验目的:了解MCS-51单片机定时器的结构及使用方法。
四、实验内容1.内容及要求:(1)用定时器1的方式1定时,P1.0接发光二极管,使发光二极管每秒钟闪烁1次。
程序如下:ORG 0000HLJMP STARTORG 001BHLJMP TIME1ORG 0100HSTART:MOV TMOD,#10HMOV TH1,#3CHMOV TL1,#0B0HSETB TR1SETB ET1SETB EAMOV P1,#00HMOV R2,#0AHSJMP $TIME1:MOV TH1,#3CHMOV TL1,#0B0HDJNZ R2,LOOPCPL P1.0MOV R2,#0AHLOOP:RETIEND(2)用定时器1的方式2计数,T1引脚接单脉冲,用P1口接二极管显示计数。
程序如下:ORG 0000HLJMP STARTORG 001BHLJMP TIME1ORG 0100HSTART:MOV TMOD,#60HMOV P1,#00HMOV TR1,#00HMOV TL1,#00HSETB EASETB ET1SETB TR1LOOP:MOV P1,TL1LJMP LOOPTIME1:RETIEND2.流程图:(1)图1 实验(1)流程图(2)图2 实验(2)流程图3.实验步骤(1)连接P1.0和与之对应的发光二极管。
(2)编写定时器计时的程序,打开实验箱,进行编译。
运行程序并观测实验箱。
若实验箱中发光二极管随着程序的运算每一秒闪烁一次,则实验成功。
(3)按照P1.0至P1.7连对应的八个发光二极管,P3.5接单脉冲。
(4)若实验箱上的发光二极管,随着按下单脉冲的次数,进行累加,则表示实验成功。
五、实验中遇到的问题及解决方法问题:进行定时实验时,老师要求将一秒闪烁五次改为一秒闪烁一次。
解决:利用公式(2^16-X)*2*10^(-6)=0.1,重新计算数值,每间隔100ms中断一次,计数初值算得15536,之后进入中断,重新装载初值,做11次中断之后对输出信号进行翻转就能得到一秒闪烁一次的结果。
51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
单片机实验报告总结单片机实验报告总结引言:单片机是一种集成电路,具有微处理器核心、存储器、输入输出接口等功能。
在现代电子技术领域中,单片机被广泛应用于各种电子设备中,如家电、汽车、通信设备等。
本文将对我在单片机实验中的学习和实践进行总结,分享我在实验中的收获和心得体会。
实验一:LED灯闪烁实验在这个实验中,我们学习了如何使用单片机控制LED灯的闪烁。
通过编写简单的程序,我们成功地实现了LED灯的闪烁功能。
这个实验让我深刻体会到了单片机的强大和灵活性。
通过控制单片机的GPIO口,我们可以实现各种各样的功能,这让我对单片机的应用前景充满了信心。
实验二:数码管显示实验在这个实验中,我们学习了如何使用单片机控制数码管进行数字的显示。
通过编写程序,我们成功地将数字从0到9依次显示在数码管上。
这个实验让我了解了数码管的工作原理和控制方式。
在实验过程中,我遇到了一些问题,如数字显示不清晰、显示不准确等,但通过不断的调试和优化,最终解决了这些问题。
这个实验让我明白了实践中的问题和挑战,并培养了我解决问题的能力。
实验三:按键控制实验在这个实验中,我们学习了如何使用单片机实现按键控制。
通过编写程序,我们成功地实现了按下按键时LED灯亮起,松开按键时LED灯熄灭的功能。
这个实验让我了解了按键的原理和使用方法。
在实验过程中,我遇到了一些问题,如按键抖动、按键误触等,但通过添加软件消抖和优化程序,最终解决了这些问题。
这个实验让我明白了软件的重要性和优化的必要性。
实验四:PWM调光实验在这个实验中,我们学习了如何使用单片机实现PWM(脉宽调制)调光功能。
通过编写程序,我们成功地实现了LED灯的亮度可调节。
这个实验让我了解了PWM的原理和应用。
在实验过程中,我遇到了一些问题,如PWM频率调节不准确、亮度不连续等,但通过调整参数和优化程序,最终解决了这些问题。
这个实验让我明白了硬件和软件的协同工作的重要性。
实验五:温度检测实验在这个实验中,我们学习了如何使用单片机实现温度检测功能。
单片机原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,内部集成了微处理器、存储器、输入输出接口和定时器等功能模块,广泛应用于各种电子设备和控制系统中。
本实验报告将介绍单片机的基本原理以及其在实际应用中的实验。
二、单片机的基本原理单片机的核心是微处理器,它负责执行程序指令。
单片机的存储器包括程序存储器(Program Memory)和数据存储器(Data Memory)。
程序存储器用于存储程序指令,数据存储器用于存储数据和中间结果。
单片机通过输入输出接口与外部设备进行通信,通过定时器来控制程序的执行时间。
三、单片机的应用实验1. LED闪烁实验LED闪烁实验是单片机入门实验的经典案例。
通过控制单片机的输出口,周期性地改变LED的状态,从而实现LED的闪烁效果。
这个实验可以帮助初学者了解单片机编程的基本概念和操作。
2. 温度测量实验温度测量实验可以通过连接温度传感器和单片机的输入口,实时地获取环境温度,并通过数码管或LCD显示器来显示温度数值。
这个实验可以帮助学生掌握单片机输入输出口的使用方法,以及模拟信号的处理和显示。
3. 蜂鸣器控制实验蜂鸣器控制实验可以通过连接蜂鸣器和单片机的输出口,实现对蜂鸣器的控制。
通过编写程序,可以使蜂鸣器发出不同的声音,如单调的蜂鸣声、警报声等。
这个实验可以帮助学生学习单片机的数字输出和PWM(脉冲宽度调制)技术。
4. 电机控制实验电机控制实验可以通过连接电机和单片机的输出口,实现对电机的控制。
通过编写程序,可以控制电机的转动方向和速度。
这个实验可以帮助学生理解单片机输出口的电流和电压特性,以及电机的控制原理。
5. 红外遥控实验红外遥控实验可以通过连接红外接收器和单片机的输入口,实现对红外遥控信号的解码和处理。
通过编写程序,可以实现对各种红外遥控器的解码和按键处理。
这个实验可以帮助学生学习单片机输入口的中断处理和红外通信原理。
一、实验目的1. 掌握单片机的基本工作原理和编程方法。
2. 熟悉常用单片机的硬件结构和接口。
3. 学习使用单片机进行简单的电子系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。
- 实验步骤:1. 将单片机插入实验板。
2. 连接电源、按键、LED灯等元件。
3. 使用示波器检测单片机的时钟信号。
- 实验结果:成功搭建单片机最小系统,时钟信号正常。
2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。
- 实验步骤:1. 编写程序实现按键的读取。
2. 根据按键读取结果控制LED灯的亮灭。
- 实验结果:按键按下时LED灯亮,松开时LED灯灭。
3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。
- 实验步骤:1. 编写程序设置定时器中断。
2. 在中断服务程序中控制LED灯闪烁。
- 实验结果:LED灯按照设定的频率闪烁。
4. 串口通信实验- 目的:学习串口通信的原理和应用。
- 实验步骤:1. 编写程序实现串口发送和接收。
2. 使用串口调试助手进行数据传输。
- 实验结果:成功实现串口通信,发送和接收数据。
5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。
- 实验步骤:1. 连接温度传感器。
2. 编写程序读取温度传感器数据。
3. 将温度数据显示在LCD显示屏上。
- 实验结果:成功读取温度数据,并在LCD显示屏上显示。
四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。
2. 常用单片机的硬件结构和接口。
3. 使用单片机进行简单的电子系统设计。
4. 串口通信、定时器中断、温度检测等应用。
在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。
实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。
二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。
三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。
(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。
这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。
(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。
器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。
此时选择 SST 公司的 SST89E554RC。
(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。
(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。
Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。
此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。
c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。
本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。
实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。
实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。
实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。
实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。
实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。
实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。
通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。
C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。
希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。
课程名称:单片机实验题目:实验三定时实验学生姓名:专业:电子信息科学与技术班级:学号:指导教师:张涛实验三 定时器实验一、实验目的1、掌握单片机系统定时器断的原理及使用方法。
二、实验原理 (一)、单片机定时器/计数器的结构 1.定时器/计数器组成框图8051单片机内部有两个16位的可编程定时器/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。
此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定,其逻辑结构如图所示。
_____INT1(P3.3)_____INT0(P3.2)T1(P3.5)T0(P3.4)图 8051定时器/计数器逻辑结构图由图可知,8051定时器/计数器由定时器 T0、定时器T1、定时器方式寄存器TMOD 和定时器控制寄存器TCON 组成。
2.定时/计数器的方式寄存器和控制寄存器定时/计数器的初始化通过定时/计数器的方式寄存器TMOD 和控制寄存器TCON 完成。
1)定时/计数器方式寄存器TMODTMOD 为T1、T2的工作方式寄存器,其格式如下:TMOD D7 D6 D5 D4 D3 D2 D1 D0(89H) TMOD 的低 (1(2)T /C :功能选择位。
0/C =时,设置为定时器工作方式;1/C =时,设置为计数器工作方式。
(3)GATE :门控位。
当GA TE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须0INT (P3.2)或1INT (P3.3)为高电平方可启动定时器,即允许外中断0INT 、1INT 启动定时器。
TMOD 不能位寻址,只能用字节指令设置定时器工作方式,高4位定义T1,低4位定义T0。
复位时,TMOD 所有位均置0。
2)定时器/计数器控制寄存器TCONTCON 的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。
定时器控制字TCON 的格式如下:TCON (88H ) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H(1) TCON.7 TF1:定时器1溢出标志位。
单片机实验报告《单片机系统实验》实验报告院系:学号:姓名:2017年12月一、实验目的1.了解32位单片机(STM32系列)原理及其应用,熟悉单片机的资源,掌握单片机的最小系统设计及扩展技术,掌握单片机的编程语言。
2.通过本实验了解LCD液晶工作原理,能通过编程操作液晶的显示。
二、实验设备STM32实验系统一套,PC机一台。
三、实验原理(1)I/O口及定时器实验:STM32的GPIO口控制4个发光二极管,了解其硬件连接方式,学会使用STM32的一个定时器,掌握对定时器计时方式的编程。
编写程序循环点亮4个发光二极管,控制点亮时间为1秒钟闪烁。
(2)外部中断实验:掌握STM32单片机外部中断的用法,学会设置中断优先级,在实验(1)的基础上完成,如果有外部中断发生改变发光二极管的发光规律。
(如,仅其中2个灯亮,再次触发外部中断后,发光二极管重新变成4个灯循环点亮。
)(3)串行口通信实验:掌握STM32单片机与计算机之间的硬件连接方式,了解二者之间的传输协议,进行数据传输。
(4)LCD实验:掌握STM32单片机与液晶之间的硬件连接方式,单片机如何驱动液晶进行显示。
四、内容与步骤1.学会使用IAR或KEIL的编译链接调试环境,熟悉有关STM32使用到的库,并能顺利建立包含各种库文件的工程。
(2学时)2.I/O口实验:在建立工程的基础上能点亮发光二极管。
(2学时)3.定时器实验:循环定时(用定时器做)点亮4个灯,即每1秒闪烁点亮一个灯,循环往复(或叫跑马灯实验)。
(2学时)4.外部中断实验:按键作为触发外部中断的条件,中断发生时,改变发光二极管的点亮规律。
(2学时)5.串行口通信实验:编写串行口通信实验程序,能在计算机与STM32系统间进行ASCII码的传输。
(2学时)6.LCD实验:通过自行编写库文件和了解液晶显示字库,能在液晶上显示“北京航空航天大学机械工程及自动化学院”字样。
(6学时)五、关键代码1.I/O口及定时器实验/*通过定时器3中断函数实现跑马灯,现象为每个LED灯依次点亮1秒后熄灭*/void TIM3_IRQHandler(void){extern uint8_t LED_Status[5];if(TIM3->SR&0X0001)//溢出中断{if(LED_Status[1]==0){LED1_ON;LED2_OFF;LED3_OFF;LED4_OFF;LED_Status[1]=1;}else if(LED_Status[1]==1){LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED_Status[1]=2;}else if(LED_Status[1]==2){LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED_Status[1]=3;}else if(LED_Status[1]==3){LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED_Status[1]=0;}}TIM3->SR&=~(1<<0);//清除中断标志位}2.外部中断实验/*LED灯的发光规律有两种:一种是每个LED灯依次点亮1秒后熄灭,另一种是每次2个LED灯同时点亮,持续1秒后向前移动1个LED灯的位置。
单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。
二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。
四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
时间间隔简单的用了一个延时的语句。
因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。
四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
《单片机应用系统设计》实验报告姓名:院系:仪器科学与工程学院专业:测控技术与仪器实验室:机械楼5楼同组人员:评定成绩:审阅教师:硬件实验五串行口实验Ⅰ、串行数据转换并行数据实验一、实验目的1、掌握MCS-51串行口,掌握MCS-51串行口方式0工作方式及编程方法;2、掌握利用串行口扩展I/O口通道的方法。
二、实验内容利用单片机的串行口和I/O端口串行输出,利用板上的74HC164串转并电路,移位转换成并行数据,接在LED灯上显示。
三、实验步骤1、硬件连接连线连接孔1 连接孔21 L0 164-Q02 L1 164-Q13 L2 164-Q24 L3 164-Q35 L4 164-Q46 L5 164-Q57 L6 164-Q68 L7 164-Q79 RXD(P3.0) 164-AB11 TXD(P3.1) 164-CLK2、实验说明串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为Fosc/12。
3、分析并执行程序,观察记录结果。
四、提高要求将串行数据转换成并行数据,驱动并行八段LED显示器,即利用串行口扩展LED显示器,画出线路图并说明工作过程。
五、程序框图六、实验程序MOV SCON,#0 ;串口方式0MOV A,#0AAHMOV SBUF,A ;输出55HJNB T1,$CLR T1LJMP $END七、实验结果LED灯的L0,L2,L4,L6亮,L1,L3,L5,L7灭。
八、实验提高将串行数据转换成并行数据,驱动八段LED显示器,即利用串行口扩展LED显示器,画出线路图并说明工作过程。
将接线改为:连线连接孔1 连接孔21 A 164-Q02 B 164-Q13 C 164-Q24 D 164-Q35 E 164-Q46 F 164-Q57 G 164-Q68 H 164-Q7九、实验思考串口工作方式0是同步串口通讯。
其特点是:在有效数据信息开始传输前需用同步字符来指示有效数据信息传输的开始,其接收/发送的数据信息必须由时钟信号来进行严格的同步。
Ⅱ、并行数据转换串行数据实验一、实验目的掌握并行数据转换为串行数据的方法。
二、实验内容利用板上的74HC165并转串电路,读入外部的并行数据,移位转换成串行数据,再利用单片机串行口读入。
三、实验步骤1、硬件连接连线连接孔1 连接孔21 K0 165-P02 K1 165-P13 K2 165-P24 K3 165-P35 K4 165-P46 K5 165-P57 K6 165-P68 K7 165-P79 P1.1 165-Q710 P1.2 165-CLK11 P1.0 165-LOAD2、实验说明串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率Fosc/12。
可利用P1.0控制74HC165护具输入/锁存。
3、分析并执行程序,观察记录结果。
四、实验流程图五、实验程序LD EQU P1.0CLR LDSETB LDMOV SCON,#00010000BWAIT: JNB RI,WAITMOV A,SBUFCLR RILJMP $END六、实验结果通过改变开关的开闭情况使累加器输出此时的开关值。
当使开关的输入为10011001B 时,累加器A的值为1。
七、实验思考74HC165是8位并行输入串行输出移位寄存器,只要把Q7输出绑定到下一级的DS 输入,即可实现并转串扩展。
Ⅲ 、串行口通讯实验一、实验目的1、掌握单片机串行口工作方式的程序设计方法;2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。
二、实验内容利用单片机串行口,实现两个实验台之间的串行通讯。
其中一个实验台作为发送方,另一侧为接收方。
发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示。
三、实验步骤1、硬件连接连线连接孔1 连接孔21 甲方TXD 乙方RXD2 甲方RXD 乙方TXD3 甲方GND 乙方GND4 KEY/LED_CS CS02、实验说明1、MCS51的RXD、TXD接线柱在POD51/96仿真板上。
2、通讯双方的RXD、TXD信号本应经过电平转换后再行交叉连接,本实验中为减少连线可将电平转换电路略去,而将双方的RXD、TXD直接交叉连接。
也可以将本机的TXD接到RXD上,这样按下的键,就会在本机LED上显示出来。
3、若想与标准的RS232设备通信,就要做电平转换,输出时要将TTL电平换成RS232电平,输入时要将RS232电平换成TTL电平。
可以将仿真板上的RXD、TXD信号接到实验板上的“用户串口接线”的相应RXD和TXD 端,经过电平转换,通过“用户串口”接到外部的RS232设备。
可以用实验仪上的逻辑分析仪采样串口通信的波形3、分析并执行程序,观察记录结果。
四、高级要求1、先实现单机通讯,再实现双机通讯。
2、查询资料,了解RS-485串口功能及使用方法。
五、实验程序OUTBIT EQU 08002H OUTSEG EQU 08004H IN EQU 08001HHASRCV EQU 20H.0 LEDBUF EQU 40H RCVBUF EQU 50HORG 0000H LJMP STARTORG 0023HJNB TI,SO_RCLR TINOPSJMP SO_RETSO_R:CLR RIMOV RCVBUF,SBUFSETB HASRCVNOPSO_RET:RETILEDMAP:DB甲方乙方3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY:MOV R7,#0 DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6,DELAYLOOPRETDISPLAYLED:MOV R0,#LEDBUFMOV R1,#6MOV R2,#00100000B LOOP:MOV DPTR,#OUTBITMOV A,#0MOVX @DPTR,AMOV A,@R0MOV DPTR,#OUTSEGMOVX @DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX @DPTR,AMOV R6,#1CALL DELAYMOV A,R2RR AMOV R2,AINC R0DJNZ R1,LOOPRETTESTKEY:MOV DPTR,#OUTBITMOV A,#0MOVX @DPTR,AMOV DPTR,#INMOVX A,@DPTRCPL AANL A,#0FHRET KEYTABLE: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,#6 KLOOP:MOV A,R1CPL AMOVX @DPTR,ACPL ARR AMOV R1,AMOVX A,@R0CPL AANL A,#0FHJNZ GOON1DJNZ R2,KLOOPMOV R2,#0FFHSJMP EXITGOON1:MOV R1,AMOV A,R2DEC ARL ARL AMOV R2,AMOV A,R1MOV R1,#4 LOOPC:RRC AJC EXITINC R2DJNZ R1,LOOPC EXIT:MOV A,R2MOV DPTR,#KEYTABLEMOVC A,@A+DPTRMOV R2,AWAITRELEASE:MOV DPTR,#OUTBITCLR AMOVX @DPTR,AMOV R6,#10CALL DELAYCALL TESTKEYJNZ WAITRELEASEMOV A,R2RETSTART:MOV SP, #60HMOV IE, #0MOV TMOD,#020HMOV TH1, #0F3HMOV TL1, #0F3HANL PCON,#07FHORL PCON,#80HMOV SCON,#050HMOV LEDBUF, #0FFHMOV 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,RCVDATACALL DISPLAYLEDCALL TESTKEYJZ MLOOPCALL GETKEYANL A,#0FHMOV SBUF,ALJMP MLOOP RCVDATA:CLR HASRCVMOV A,RCVBUFMOV B,AANL A,#0FHMOV DPTR,#LEDMAPMOVC A,@A+DPTRMOV LEDBUF+5,AMOV A,BSWAP AANL A,#0FHMOV DPTR,#LEDMAPMOVC A,@A+DPTRMOV LEDBUF+4,ALJMP MLOOPEND六、实验结果甲方按下键盘,乙方的数码管上将显示出键盘的值,反之同样如此。
七、实验提高1、先实现单机通讯,再实现双机通讯。
2、查询资料,了解RS-485串口功能及使用方法。
答:RS-485为半双工,采用一对平衡差分信号线。
对于多站互连是十分方便的。
允许最多并联32台驱动器和32台接收器。
RS-485的信号传输采用两线间的电压来表示逻辑“1”和逻辑“0”,由于收发方需要两根传输线。
数据采用差分传输,所以干扰抑制性好。
又因无接地问题,所以传输距离可达1200米,传输速率可达10Mbit/s。
硬件实验六计数器/定时器实验Ⅰ、计数器实验一、实验目的学习单片机内部定时/计数器使用方法。
二、实验内容利用MCS-51内部定时/计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。
将其数值按二进制数在P1口驱动LED灯上显示出来。
三、实验步骤1、硬件连接连线连接孔1 连接孔21 P1.0 L02 P1.1 L13 P1.2 L24 P1.3 L35 单脉冲输出P3.4(T0)2、实验说明本实验中内部计数器起计数器的作用。
外部事件计数脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。
这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。