单片机原理报告作业
- 格式:doc
- 大小:370.94 KB
- 文档页数:67
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备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 引脚。
单片机原理课程2017-2018年度第一学期作业第一篇:单片机原理课程2017-2018年度第一学期作业2017-2018学年第一学期作业一、判断题(在题后的括号内打√或×):1.单片机根据数据总线宽度的不同,可以分为4位机、8位机、16位机、32位机。
(√)2.MCS-51系列单片机分为三大字系列:51子系列、52子系列和53子系列。
(×)3.一般在计算机中,对于正数,最高位规定为“0”;对于负数,最高位规定为“1”。
(√)4.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(×)5.P2口既可以作为I/O使用,又可以作地址/数据复用口使用。
(√)6.按指令执行时间分,可分为1周期、2周期、3周期指令。
(×)7.定时/计数器共有5种工作方式,由TMOD中M1M0的状态决定。
(×)8.异步通信的数据或字符是分为一帧一帧地传送,用一个起始位表示字符的开始,用停止位表示字符的结束。
(√)判断以下各条指令是否正确: 9.MOV 20H , R1(√)10.SUB A,R2(×)二、单选题(请选择正确答案填写在括号中)1.所谓CPU是指(A)。
(A)运算器和控制器(C)输入输出设备(B)运算器和存储器(D)控制器和存储器2.10101.101B转换成十进制数是(D)。
(A)46.625(B)23.625(C)23.62(D)21.625 3.能够用紫外光擦除ROM中程序的只读存储器称为(C)。
(A)掩膜ROM(B)PROM(C)EPROM(D)EEPROM 4.若某存储器芯片地址线为12根,那么它的存储容量为(C)。
(A)1KB(B)2KB(C)4KB(D)8KB 5.PC中存放的是(A)。
(A)下一条指令的地址(B)当前正在执行的指令(C)当前正在执行指令的地址(D)下一条要执行的指令6.8031单片机的(D)口的引脚,还具有外中断、串行通信等第二功能。
单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理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灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
单片机原理及应用实验二报告实验二:单片机IO口的输入输出实验一、实验目的:1.理解并掌握单片机IO口的输入输出原理;2.掌握基础的输入输出编程技巧;3.熟悉单片机实验的基本流程和实验报告格式。
二、实验器材:1.STM32F103C8T6开发板2.LED灯3.电阻(220Ω)4.面包板、杜邦线等。
三、实验原理:单片机的IO口是实现与外部器件进行通信的重要接口,通过编程,我们可以控制IO口的状态(低电平或高电平)来实现对外部器件的控制或检测。
IO口的输入输出原理主要有两种:1.三态输出方式:通过设置IO口的DDR寄存器来将IO口设置为输出模式(推挽输出),并通过设置IO口的ODR寄存器来控制IO口的输出状态为低电平或高电平;2.上拉输入方式:通过设置IO口的DDR寄存器来将IO口设置为输入模式,同时设置IO口的CR寄存器的PUPD位为上拉使能,通过读取IO口的IDR寄存器可以获取IO口的输入状态。
四、实验步骤:1.连接电路:将STM32F103C8T6开发板的VDD和VSS(即5V和GND)分别连接到面包板的3V3和GND,将LED的阳极(长脚)连接到STM32F103C8T6开发板的PA0引脚,将LED的阴极(短脚)通过一个220Ω的电阻连接到GND。
2. 打开Keil uVision5软件,创建一个新的工程,并选择适合的芯片型号(STM32F103C8T6)。
3.编写代码实现将PA0引脚设置为输出模式,并控制LED的亮灭。
五、实验代码:```c#include "stm32f10x.h"void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);int main(void)GPIO_Configuration(;while (1)GPIO_SetBits(GPIOA, GPIO_Pin_0); // 点亮LEDGPIO_ResetBits(GPIOA, GPIO_Pin_0); // 关闭LED}```六、实验结果与分析:七、实验心得:本次实验主要学习了单片机IO口的输入输出原理,了解了三态输出方式和上拉输入方式,并通过实际编写代码的方式,在STM32F103C8T6开发板上实现了控制LED的亮灭。
单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。
二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。
单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。
单片机的编程方法一般采用汇编语言编写程序。
汇编语言是一种低级语言,可以直接对单片机进行操作。
通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。
本次实验主要通过控制LED灯的亮灭来演示单片机的应用。
在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。
三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。
四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。
在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。
实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。
单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。
五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。
例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。
2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。
例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。
3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。
例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。
单片机原理及接口技术实验报告一、引言单片机(Microcontroller)是一种集成为了处理器、存储器和各种接口电路的微型计算机系统。
它具有体积小、功耗低、成本低等优点,广泛应用于嵌入式系统、自动化控制、电子设备等领域。
本实验旨在深入了解单片机的原理和接口技术,并通过实验验证相关理论。
二、实验目的1. 理解单片机的基本原理和结构。
2. 掌握单片机与外部器件的接口技术。
3. 进一步培养实际操作能力和解决问题的能力。
三、实验仪器与材料1. 单片机开辟板2. 电脑3. 串口线4. LED灯5. 蜂鸣器6. 数码管7. 按键开关8. 电阻、电容等元件四、实验内容与步骤1. 单片机原理实验1.1 单片机的基本结构单片机由中央处理器(CPU)、存储器(RAM、ROM)、输入输出接口(I/O)、定时器/计数器、串行通信接口等组成。
通过学习单片机的基本结构,我们可以了解各个部份的功能和作用。
1.2 单片机的工作原理单片机的工作原理是指单片机在不同工作模式下的内部状态和运行规律。
通过学习单片机的工作原理,我们可以更好地理解单片机的工作过程,为后续的实验操作提供基础。
2. 单片机接口技术实验2.1 LED灯接口实验将LED灯与单片机相连,通过控制单片机的输出口电平,控制LED灯的亮灭。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.2 蜂鸣器接口实验将蜂鸣器与单片机相连,通过控制单片机的输出口电平和频率,控制蜂鸣器的声音。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.3 数码管接口实验将数码管与单片机相连,通过控制单片机的输出口电平和数据,显示不同的数字。
通过实验,我们可以学习到单片机的输出接口和数码管的使用方法。
2.4 按键开关接口实验将按键开关与单片机相连,通过检测单片机的输入口电平,实现按键的功能。
通过实验,我们可以学习到单片机的输入接口的使用方法。
五、实验结果与分析1. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。
单片机原理及应用课程大作业一、引言单片机(Microcontroller)是一种集成了微处理器核心、存储器和各种输入输出设备的微型计算机系统。
它具有体积小、功耗低、成本低等特点,广泛应用于各个领域,如家电、汽车电子、工业自动化等。
本文将详细介绍单片机的工作原理、应用场景以及一个实际的大作业案例。
二、单片机的工作原理单片机的工作原理主要包括以下几个方面:1. 微处理器核心:单片机内部集成了一个微处理器核心,通常采用的是RISC (Reduced Instruction Set Computer)架构,具有高效的指令执行能力。
2. 存储器:单片机内部包含了存储器单元,用于存储程序代码和数据。
通常包括闪存(Flash)用于存储程序代码,以及静态随机存取存储器(SRAM)用于存储数据。
3. 输入输出设备:单片机通常具有多种输入输出接口,用于与外部设备进行数据交互。
常见的输入输出设备包括GPIO(General Purpose Input Output)、串口、SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)等。
4. 时钟系统:单片机需要一个稳定的时钟信号来同步各个部件的工作。
通常采用晶体振荡器或者外部时钟源来提供时钟信号。
5. 中断系统:单片机具有中断系统,可以在特定的条件下中断当前的执行流程,转而处理其他紧急任务。
中断可以提高系统的实时性和响应能力。
三、单片机的应用场景单片机广泛应用于各个领域,下面列举几个常见的应用场景:1. 家电控制:单片机可以用于家电产品的控制,如空调、洗衣机、电视等。
通过单片机的控制,可以实现各种功能,提高产品的智能化水平。
2. 汽车电子:单片机在汽车电子领域也有广泛的应用,如车载音响、车身控制、发动机控制等。
单片机可以实现对汽车各个系统的精确控制,提高汽车的性能和安全性。
3. 工业自动化:单片机在工业自动化领域起到了至关重要的作用。
单片机的原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是集成了微处理器核心、存储器、输入输出接口及其他外围设备的一种特殊集成电路芯片。
它具有存储能力、运算能力和控制能力,广泛应用于各种电子设备和系统中。
本实验旨在探究单片机的工作原理,并通过实际应用实验来进一步理解其使用技术与方法。
二、实验目的1.了解单片机的基本结构和工作原理;2.学习如何使用单片机进行控制和数据处理;3.掌握单片机的简单编程技巧;4.探索和实现基本的单片机应用。
三、实验仪器和材料•单片机开发板•USB数据线•LED灯•电阻、电容等基本电子元件四、实验步骤1.硬件连接步骤:–将单片机开发板连接到电脑上,通过USB数据线进行供电和通信。
–将LED灯接入单片机的IO引脚。
–连接其他所需的电子元件,如电阻、电容等。
2.单片机编程步骤:–打开开发环境,使用C语言编写所需的程序。
–确定需要使用的IO引脚和控制方式。
–编译并下载程序到单片机开发板上。
3.实验运行步骤:–按照程序设计的要求,进行相应的操作和观察。
–通过观察LED灯的亮灭、闪烁等情况,验证单片机的控制和运算能力。
五、实验结果与分析在实验过程中,我们成功地编程控制了单片机开发板上的LED灯。
通过修改程序代码中的控制参数,我们可以实现LED灯的不同状态,例如常亮、闪烁、呼吸灯等效果。
这验证了单片机的控制和运算能力。
六、实验总结通过本实验,我们对单片机的原理和应用有了初步的了解。
单片机作为一种功能强大的集成电路芯片,在各种电子设备和系统中都有广泛的应用。
掌握单片机的编程技巧和使用方法对于电子领域的学习和研究都是至关重要的。
七、参考文献无以上是本次实验的实验报告,通过本次实验,我们深入理解了单片机的原理和应用,并成功完成了LED灯的控制实验。
希望通过这次实验的学习,能够对单片机的应用有更深入的认识,并为未来的学习和研究打下基础。
单片机原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,内部集成了微处理器、存储器、输入输出接口和定时器等功能模块,广泛应用于各种电子设备和控制系统中。
本实验报告将介绍单片机的基本原理以及其在实际应用中的实验。
二、单片机的基本原理单片机的核心是微处理器,它负责执行程序指令。
单片机的存储器包括程序存储器(Program Memory)和数据存储器(Data Memory)。
程序存储器用于存储程序指令,数据存储器用于存储数据和中间结果。
单片机通过输入输出接口与外部设备进行通信,通过定时器来控制程序的执行时间。
三、单片机的应用实验1. LED闪烁实验LED闪烁实验是单片机入门实验的经典案例。
通过控制单片机的输出口,周期性地改变LED的状态,从而实现LED的闪烁效果。
这个实验可以帮助初学者了解单片机编程的基本概念和操作。
2. 温度测量实验温度测量实验可以通过连接温度传感器和单片机的输入口,实时地获取环境温度,并通过数码管或LCD显示器来显示温度数值。
这个实验可以帮助学生掌握单片机输入输出口的使用方法,以及模拟信号的处理和显示。
3. 蜂鸣器控制实验蜂鸣器控制实验可以通过连接蜂鸣器和单片机的输出口,实现对蜂鸣器的控制。
通过编写程序,可以使蜂鸣器发出不同的声音,如单调的蜂鸣声、警报声等。
这个实验可以帮助学生学习单片机的数字输出和PWM(脉冲宽度调制)技术。
4. 电机控制实验电机控制实验可以通过连接电机和单片机的输出口,实现对电机的控制。
通过编写程序,可以控制电机的转动方向和速度。
这个实验可以帮助学生理解单片机输出口的电流和电压特性,以及电机的控制原理。
5. 红外遥控实验红外遥控实验可以通过连接红外接收器和单片机的输入口,实现对红外遥控信号的解码和处理。
通过编写程序,可以实现对各种红外遥控器的解码和按键处理。
这个实验可以帮助学生学习单片机输入口的中断处理和红外通信原理。
单片机原理实验报告班级:姓名:学号:实验日期:成绩:实验一基本操作实验目的:熟悉伟福仿真机软件的基本操作,熟悉MCS-51指令。
实验内容A:数据传送程序实验程序:实验步骤:(1)从起始地址开始全速运行程序Ⅰ,检查运行结果, 外部数据窗口中7000H~700FH单元的内容皆为00H;(2)按要求修改程序如Ⅱ,用单步/跟踪运行程序, 查看寄存器和外部数据窗口;(3)在PLUS处设置断点,从起始地址开始全速运行程序,查看寄存器和外部数据窗口;(4)清除断点,用运行到当前行方式将程序运行到PLUS的下一条指令,查看运行结果是否正确。
实验内容B: 1 , 当X>0时求符号函数Y= 0 , 当X=0时-1 , 当X<0时实验程序:实验步骤:(1)准备好三个有代表性的数据,分三次用单步/跟踪方式运行程序,注意PC指针的变化;当(40H)= _____(X>0) 时,ACC.7= 0 , 运行后(41H)= _01H_____(Y= 1),当(40H)= _00H____(X=0) 时,ACC.7= 0 , 运行后(41H)= __00H____(Y= 0),当(40H)= _____(X<0) 时,ACC.7= 1 , 运行后(41H)= FFH (Y=﹣1)(2)思考:能否用“JC POSI ”指令替代“JB ACC.7, POSI ”指令, 修改运行程序,验证结果。
注意“CJNE A, #00H, NZEAR”执行后CY位为0/1 ?单片机原理实验报告班级:姓名:学号:实验日期:成绩:实验二输入/输出控制实验实验目的:掌握单片机I/O口输入输出的控制方法,学会编写数码管的显示程序。
实验内容A:P1 口做输出口,接8只发光二极管L1~L8(高电平时发光二极管点亮),编写程序,使L1~L8流水闪烁。
ORG 0000HSTART: MOV A,#01HMOV R2,#08HLOOP:MOV P1,ALCALL DELAYRL ADJNZ R2,LOOPAJMP STARTDELAY:MOV R5,#40 ;延时1秒D1:MOV R6,#50D2:MOV R7,#248D3:DJNZ R7,D3DJNZ R6,D2DJNZ R5,D1RETEND实验内容B:P1 口做输入口,接拨动开关K1~K8。
《单片机原理》实验指导书计算机科学与技术系2012年8月说明《单片机原理及应用》课程是计算机专业的一门重要专业课程,也是一门理论性、实践性和实用性都很强的课程。
本课程的主要教学任务是通过理论教学与实验环节,使学生掌握单片机系统的基础知识,认识单片机系统的结构,掌握单片机系统的设计思路和流程,能够设计简单的单片机系统。
本实验指导是为单片机原理及应用方面的课程需要而编写的,完成本实验指导中的实验,可使学生基本掌握MCS-5l单片机的结构原理、接口技术、程序设计技巧。
书中详细叙述了各实验的目的、内容,列出了接线图、程序结构框图和清单。
免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约了宝贵的时间。
一、采用联机调试实验程序时,需双击桌面上“DICE-51仿真开发系统”银环图标,打开仿真调试软件,设置仿真模式。
具体步骤如下:点击菜单栏的“设置(S)”项,在弹出下拉菜单中选择“仿真模式(M)...”,此时此时将弹出“仿真模式”对话框,在此进行相关设置==>CPU:8031/8032;RAM:用户RAM;ROM:系统ROM。
二、实验接线图上的粗实线表示用户在实验时要用导线连接起来。
三、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据学院的教学要求选择相应实验。
由于编者水平有限,本书中必然存在着不少缺点,在此恳请大家给予批评和指正,我们将尽力纠正。
在此特对关心支持编写本书的院系领导表示感谢。
目录第一部分单片机仿真实验 (1)实验一:流水灯实验 (1)实验二:中断实验 (5)实验三:定时器中断实验 (9)实验四:串行口实验 (13)实验五:矩阵式键盘输入识别 (18)实验六:LCD循环显示设计 (27)第二部分单片机硬件实验 ............................. 错误!未定义书签。
第一章试验箱系统概述 ..................................... 错误!未定义书签。
一、系统地址分配 .............................................. 错误!未定义书签。
二、系统接口定义 .............................................. 错误!未定义书签。
三、通用电路简介 .............................................. 错误!未定义书签。
第二章实验指导 ................................................. 错误!未定义书签。
实验六P1口亮灯和P1口加法器实验 ............ 错误!未定义书签。
实验七简单I/O口扩展(选作) ................... 错误!未定义书签。
实验八8255控制交通灯 .................................. 错误!未定义书签。
实验九128*64LCD液晶显示 ............................ 错误!未定义书签。
第一部分单片机仿真实验实验一:流水灯实验一、实验目的:通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图实验参考电路图如下:三、参考实验程序//流水灯实验#include<reg51.h> //包含单片机寄存器的头文件sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); //利用循环等待若干机器周期,从而延时一段时间 }/*****************************************函数功能:主函数******************************************/void main(void){while(1){x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数}}四、实验思考题:修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED 灯亮的顺序倒过来既:45灯亮——36灯亮——27灯亮——18灯亮,连续运行。
调试后的程序代码:#include<reg51.h>sfr x=0x90;void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}void main(void){while(1){x=0x7E;delay();x=0xBD;delay();x=0xDB;delay();x=0xE7;delay();x=0xE7;delay();x=0xDB;delay();x=0xBD;delay();x=0x7E;delay();}}实验二:中断实验一、实验目的:通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。
二、实验原理图实验参考电路图如下:三、参考实验程序/用外中断0的中断方式进行数据采集和处理#include<reg51.h> //包含51单片机寄存器定义的头文件sbit S=P3^2; //将S位定义为P3.2,/*******************************************函数功能:主函数******************************************/void main(void){EA=1; //开放总中断EX0=1; //允许使用外中断IT0=1; //选择负跳变来触发外中断P1=0xff;while(1); //无限循环,防止程序跑飞}/**************************************************************函数功能:外中断T0的中断服务程序**************************************************************/void int0(void) interrupt 0 using 0 //外中断0的中断编号为0{P1=~P1; //每产生一次中断请求,P1取反一次。
}四、实验思考题:根据指导书中提供的原理图,自行设计一个外部中断实验,要求:1.两个外部中断全部用上;2.实验能体现不同中断优先级的中断源的相应情况;3.不同中断处理程序能输出不同的响应效果#include<reg51.h> //包含51单片机寄存器定义的头文件Void Delay(unsigned int i){ unsigned int j;for (;i>0;i--)For(j=0;j<125;j++){;}}void main(){ unsigned char play[9]={0xff,0xfe,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned int a;for(;;){ EA=1; //开放总中断EX0=1;EX1=1; //允许使用外中断IT0=1;IT1=1; //选择负跳变来触发外中断IP=0;for(a=0;a<9;a++){ Delay(500);P1=play[a];}EA=1; //开放总中断EX0=1;EX1=1; //允许使用外中断IT0=1;IT1=1; //选择负跳变来触发外中断IP=0;}}void int0 isr(void) interrupt 0 using 0 //外中断0的中断编号为0 { for(;;){ P1=0x0f;Delay(500);P1=0xf0;Delay(500);}}void int0 isr(void) interrupt 2 using 1//外中断2的中断编号为1 { for(;;){ P1=0xff;Delay(500);P1=0;Delay(500);}}实验三:定时器中断实验一、实验目的:通过使用定时器T0的中断来控制P2.0引脚的的LED的灯闪烁,要求闪烁时间2S,既亮1 S,灭1 S。
二、实验原理图实验参考电路图如下(注释,下图只有D1等闪烁,既亮1 S,灭1 S):三、参考实验程序//用定时器T0的中断实现长时间定时,单片机晶体振荡器周期为12MHZ,机器//周期为1us#include<reg51.h> // 包含51单片机寄存器定义的头文件sbit D1=P2^0; //将D1位定义为P2.0引脚unsigned char Countor; //设置全局变量,储存定时器T0中断次数/**************************************************************函数功能:主函数**************************************************************/void main(void){EA=1; //开总中断ET0=1; //定时器T0中断允许TMOD=0x01; //使用定时器T0的模式2TH0=(65536-15536)/256; //定时器T0的高8位赋初值TL0=(65536-15536)%256; //定时器T0的高8位赋初值TR0=1; //启动定时器T0Countor=0; //从0开始累计中断次数while(1)//无限循环等待中断;}/**************************************************************函数功能:定时器T0的中断服务程序**************************************************************/void Time0(void) interrupt 1 using 0 //“interrupt”声明函数为中断服务函数//其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器{Countor++; //中断次数自加1if(Countor==20) //若累计满20次,即计时满1s{D1=~D1; //按位取反操作,将P2.0引脚输出电平取反Countor=0; //将Countor清0,重新从0开始计数}TH0=(65536-15536)/256; //定时器T0的高8位重新赋初值TL0=(65536-15536)%256; //定时器T0的高8位重新赋初值}}四、实验思考题:修改程序使用定时器T1的中断方式来控制P2.0 、P2.1引脚的LED灯分别以200mshe 800ms的周期闪烁调试后的程序代码:#include<reg51.h>sbit D1=P1^4;sbit D2=P1^7;unsigned char Countor1;unsigned char Countor2;void main(void){EA=1;ET1=1;TMOD=0x10;TH1=(65536-15536)/256;TL1=(65536-15536)%256;TR1=1;Countor1=0;Countor2=0;while(1) ;}void Time0(void) interrupt 3 using 0{Countor1++;Countor2++;if(Countor1==4){D1=~D1;Countor1=0;}if(Countor2==16){D2=~D2;Countor2=0;}TH1=(65536-15536)/256;TL1=(65536-15536)%256; }}实验四:串行口实验一、实验目的:本实验要求单片机U1通过其串行口TXD向计算机发送一个数据“oxab”。