单片机系统设计与及应用实验报告
单片机综合应用实训报告
一、实训背景与目的随着科技的不断发展,单片机作为嵌入式系统中的核心部件,其在各个领域的应用日益广泛。
为了提高学生的实践能力,培养其动手操作和问题解决能力,本次实训以单片机为平台,通过综合应用实训,使学生深入了解单片机的工作原理,掌握单片机的编程技巧,并能将其应用于实际项目中。
二、实训内容与步骤本次实训内容主要包括以下几个方面:1. 单片机基础原理- 了解单片机的结构、工作原理及常用接口。
- 学习51单片机的指令系统、寄存器及中断系统。
2. 单片机编程- 掌握Keil uVision软件的使用,进行C51语言编程。
- 学习编写简单的单片机程序,如LED流水灯、按键控制等。
3. 单片机硬件电路- 学习绘制电路原理图,了解电路元器件的选用和焊接工艺。
- 实践搭建单片机最小系统,并进行调试。
4. 单片机综合应用- 设计并实现一个基于单片机的交通灯控制系统。
- 设计并实现一个基于单片机的数字时钟显示系统。
三、实训过程与结果1. 单片机基础原理学习- 通过阅读教材、查阅资料,了解单片机的基本知识。
- 在实验室进行实验,验证单片机的基本功能。
2. 单片机编程实践- 使用Keil uVision软件,编写LED流水灯程序,实现LED灯的闪烁效果。
- 编写按键控制程序,实现按键的读取和响应。
3. 单片机硬件电路搭建- 使用Protel软件绘制电路原理图,确定元器件型号和数量。
- 搭建单片机最小系统,包括电源电路、晶振电路、复位电路等。
- 使用焊接工具进行元器件焊接,并进行调试。
4. 单片机综合应用实现- 设计并实现交通灯控制系统,实现红黄绿灯的定时切换和倒计时功能。
- 设计并实现数字时钟显示系统,实现时分秒的显示和调整。
四、实训总结与收获通过本次实训,我收获颇丰:1. 加深了对单片机原理的理解- 通过理论学习、实验操作和项目实践,我对单片机的结构、工作原理和编程方法有了更深入的了解。
2. 提高了编程能力- 通过编写LED流水灯、按键控制等程序,我掌握了C51语言编程技巧,提高了编程能力。
单片机原理与应用实验报告
单片机原理与应用实验报告单片机是一种集成电路,可以在内部集成处理器、内存、输入/输出接口和时钟等多种功能,同时也可以通过编程实现各种应用。
单片机已经广泛应用于工业控制、家电控制、汽车电子、医疗设备等领域。
本实验旨在深入探究单片机的原理和应用,通过实验来加深对单片机的理解和认识。
实验原理单片机由CPU、存储器、I/O接口和时钟四个部分组成。
其中,CPU是单片机最核心的部分,它负责处理各种指令。
存储器包括ROM和RAM,ROM用于存储程序和常量数据,而RAM用于存储变量数据。
I/O接口用于连接外部设备,如传感器、执行器等,时钟用于提供CPU的时钟信号。
实验器材本实验采用的单片机为AT89S52,其主要特点包括:1. 8位CPU,运行频率为12MHz;2. 8KB Flash存储器,可存储程序和常量数据;3. 256字节RAM存储器,用于存储变量数据;4. 32个I/O口,可连接外部设备;5. 两个定时器/计数器,可用于计时和计数;6. 串口通信接口,可用于与PC机通信。
实验内容本实验共包括四个部分,分别是LED闪烁、数码管显示、按键输入和串口通信。
下面分别介绍每个部分的实验内容。
1. LED闪烁LED闪烁是单片机应用中最基本的实验之一。
本实验采用的是P0口控制LED的亮灭。
具体步骤如下:(1)设置P0口为输出口;(2)每隔一定时间,将P0口的值翻转一次,即可实现LED的闪烁。
2. 数码管显示数码管显示是单片机应用中比较常见的实验之一。
本实验采用的是P2口控制数码管的显示。
具体步骤如下:(1)设置P2口为输出口;(2)编写程序将要显示的数值转换成相应的数码管编码;(3)将编码输出到P2口,即可实现数码管的显示。
3. 按键输入按键输入是单片机应用中比较常见的实验之一。
本实验采用的是P3口控制按键输入。
具体步骤如下:(1)设置P3口为输入口;(2)编写程序检测P3口的状态,判断是否有按键按下;(3)如果有按键按下,则执行相应的操作。
单片机系统实验实训报告
一、实验目的1. 熟悉单片机的基本结构和原理。
2. 掌握单片机的编程方法和调试技巧。
3. 培养单片机应用系统的设计能力。
4. 提高实际操作能力和团队协作精神。
二、实验内容本次实验实训主要围绕单片机应用系统展开,包括以下内容:1. 单片机最小系统搭建- 熟悉单片机的最小系统组成,包括复位电路、晶振电路、VCC、GND等。
- 掌握电路板焊接和调试方法。
2. LED流水灯实验- 学习使用51单片机进行简单的单片机应用系统硬件设计。
- 掌握单片机GPIO端口的使用方法。
- 通过编程实现LED灯的流水效果。
3. 按键控制LED灯实验- 学习使用按键输入控制LED灯的亮灭。
- 掌握按键去抖动技术。
4. LCD1602显示屏控制实验- 学习使用LCD1602显示屏显示文字和数字。
- 掌握LCD1602的初始化和显示控制方法。
5. 串口通信实验- 学习使用单片机串口进行通信。
- 掌握串口初始化和通信协议。
6. 温湿度传感器实验- 学习使用温湿度传感器获取环境温度和湿度信息。
- 掌握传感器数据读取和温度湿度计算方法。
7. 多功能密码锁实验- 学习使用单片机实现密码锁功能。
- 掌握按键输入、密码存储和匹配方法。
三、实验步骤1. 实验一:单片机最小系统搭建- 根据实验指导书,准备好实验器材,包括51单片机、电路板、焊接工具等。
- 按照电路图焊接电路,确保电路连接正确。
- 上电测试,观察LED灯是否亮起,确认电路工作正常。
2. 实验二:LED流水灯实验- 编写LED流水灯程序,使用51单片机GPIO端口控制LED灯的亮灭。
- 烧录程序到单片机,观察LED灯的流水效果。
3. 实验三:按键控制LED灯实验- 编写按键控制LED灯的程序,使用按键输入控制LED灯的亮灭。
- 烧录程序到单片机,测试按键控制功能。
4. 实验四:LCD1602显示屏控制实验- 编写LCD1602显示屏显示文字和数字的程序。
- 烧录程序到单片机,观察LCD1602显示屏的显示效果。
单片机原理及应用实验二报告
单片机原理及应用实验二报告实验二:单片机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的亮灭。
单片机原理及应用的实验报告
单片机原理及应用的实验报告1. 引言在现代电子领域中,单片机技术的应用越来越广泛。
单片机(Microcontroller)是一种集成电路芯片,具有完整的处理器系统和外围设备。
它拥有小巧、灵活和强大的特点,适用于各种嵌入式系统的设计和应用。
本实验报告旨在介绍单片机的原理及其在实际项目中的应用。
2. 单片机的原理单片机是一种嵌入式微处理器,通常由中央处理器(CPU)、存储器、输入输出接口(I/O)、定时器、串行通信接口等部分组成。
其原理如下:•中央处理器(CPU):单片机的核心部件,负责执行各种指令和算术逻辑运算。
•存储器:包括随机存储器(RAM)和只读存储器(ROM),用于存储程序和数据。
•输入输出接口(I/O):用于与外部设备进行数据交互,如控制LED 灯、读取传感器数据等。
•定时器:用于产生精确的时间延时和定时触发操作。
•串行通信接口:用于和其他设备进行串行数据通信。
3. 单片机的应用单片机具有广泛的应用领域,下面列举了几个常见的应用实例:1.家电控制系统:使用单片机可以实现对家电设备的智能控制,如空调温度控制、灯光调节等。
2.汽车电子系统:单片机在汽车电子控制单元(ECU)中,用于控制发动机、变速器、制动系统等。
3.工业自动化:单片机可以应用于工业自动控制系统,如生产线上的自动化控制、温度监控等。
4.电子游戏机:单片机在电子游戏机中用于处理游戏逻辑和玩家输入。
5.智能穿戴设备:使用单片机可以实现智能手表、智能眼镜等穿戴设备的功能。
4. 单片机实验为了更好地理解单片机的原理和应用,我们进行了以下实验:4.1 LED闪烁实验这个实验旨在通过编程控制单片机,使LED灯以一定的频率闪烁。
实验步骤: 1. 连接单片机和LED灯,将LED的正极连接到单片机的IO口,负极连接到接地。
2. 编写程序,配置IO口为输出模式,并设置IO口的高低电平来控制LED的亮灭。
3. 将程序下载到单片机,运行程序。
4. 观察LED是否按照预期频率闪烁。
单片机原理及应用实验报告2
单片机原理及应用实验报告2单片机原理及应用实验报告2实验报告:单片机原理及应用实验一、实验目的1、了解单片机的基本工作原理;2、掌握单片机的编程方法和编写汇编语言程序的能力;3、学习单片机的应用实验。
二、实验原理单片机是一种集成电路,内部包含了中央处理器、存储器和各种输入输出端口。
单片机的工作原理是通过对输入信号的处理和对输出信号的控制来实现各种功能。
单片机的编程方法一般采用汇编语言编写程序。
汇编语言是一种低级语言,可以直接对单片机进行操作。
通过编写汇编语言程序,可以实现各种功能,如控制LED灯的亮灭、控制电机的转动等。
本次实验主要通过控制LED灯的亮灭来演示单片机的应用。
在实验中,我们将使用汇编语言编写程序,通过编程来控制LED灯的亮灭。
三、实验步骤2、编写汇编语言程序:打开编程软件,进入编程界面,编写程序代码;3、编译程序:将编写好的程序进行编译,生成机器码;4、烧录程序:用编程工具将编译好的机器码烧录到单片机中;5、连接电路:使用面包板将单片机与LED灯连接起来;6、测试程序:将单片机的电源接通,观察LED灯的亮灭情况。
四、实验结果与分析经过以上步骤,我们成功地编写了汇编语言程序,并将程序烧录到了单片机中。
在实验中,我们观察到LED灯根据程序的控制产生了相应的亮灭效果。
实验结果表明,通过编程可以实现对单片机的控制,从而实现各种功能。
单片机在嵌入式系统、自动控制系统、家电等方面有着广泛的应用。
五、应用实例1、家居智能化控制:通过编程控制单片机,可以实现对家电的智能化控制。
例如,可以根据日出日落时间控制窗帘的开闭,根据室内温度控制空调的开关等。
2、工业自动化:在工业生产中,单片机可以用来控制各种设备和机械,实现生产线的自动化控制。
例如,可以根据产品的规格和数量,自动调整机械的工作速度和工作时间。
3、智能交通系统:在交通领域,单片机可以用来控制信号灯、道闸等设备,实现交通流量的控制。
例如,可以根据道路的拥堵程度和车辆的行驶速度,调整信号灯的红绿灯时间,从而达到交通畅通的目的。
单片机原理及应用实验报告
单片机原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,内部集成了微处理器、存储器、输入输出接口和定时器等功能模块,广泛应用于各种电子设备和控制系统中。
本实验报告将介绍单片机的基本原理以及其在实际应用中的实验。
二、单片机的基本原理单片机的核心是微处理器,它负责执行程序指令。
单片机的存储器包括程序存储器(Program Memory)和数据存储器(Data Memory)。
程序存储器用于存储程序指令,数据存储器用于存储数据和中间结果。
单片机通过输入输出接口与外部设备进行通信,通过定时器来控制程序的执行时间。
三、单片机的应用实验1. LED闪烁实验LED闪烁实验是单片机入门实验的经典案例。
通过控制单片机的输出口,周期性地改变LED的状态,从而实现LED的闪烁效果。
这个实验可以帮助初学者了解单片机编程的基本概念和操作。
2. 温度测量实验温度测量实验可以通过连接温度传感器和单片机的输入口,实时地获取环境温度,并通过数码管或LCD显示器来显示温度数值。
这个实验可以帮助学生掌握单片机输入输出口的使用方法,以及模拟信号的处理和显示。
3. 蜂鸣器控制实验蜂鸣器控制实验可以通过连接蜂鸣器和单片机的输出口,实现对蜂鸣器的控制。
通过编写程序,可以使蜂鸣器发出不同的声音,如单调的蜂鸣声、警报声等。
这个实验可以帮助学生学习单片机的数字输出和PWM(脉冲宽度调制)技术。
4. 电机控制实验电机控制实验可以通过连接电机和单片机的输出口,实现对电机的控制。
通过编写程序,可以控制电机的转动方向和速度。
这个实验可以帮助学生理解单片机输出口的电流和电压特性,以及电机的控制原理。
5. 红外遥控实验红外遥控实验可以通过连接红外接收器和单片机的输入口,实现对红外遥控信号的解码和处理。
通过编写程序,可以实现对各种红外遥控器的解码和按键处理。
这个实验可以帮助学生学习单片机输入口的中断处理和红外通信原理。
单片机原理及应用实验报告
单⽚机原理及应⽤实验报告单⽚机原理及应⽤实验报告⼀、选题意义 (2)⼆、单⽚机AT89C52结构介绍 (2)三、实验内容 (3)四、实验步骤 (3)五、在uvision环境下软件程序设计 (4)六、Proteus仿真 (6)七、实验器件 (9)⼋、焊接电路实物图 (10)九、实验⼼得 (10)⼀、选题意义1.熟悉使⽤AT89C52单⽚机进⾏系统设计;2.通过对单⽚机⼯作原理的深⼊理解,运⽤所学知识解决实际问题;3.通过实际系统的设计,加深对单⽚机的微计算机系统设计的理解和掌握。
⼆、单⽚机AT89C52结构介绍AT89C52是⼀个低功耗,⾼性能CMOS 8位单⽚机,⽚内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采⽤ATMEL公司的⾼密度、⾮易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,256×8bit内部RAM,低功耗空闲和省电模式,32个双向I/O⼝,3个16位可编程定时/计数器,全双⼯UART串⾏中断⼝线,2个外部中断源。
图2-2是AT89C52引脚图。
图2-2 A T89C52引脚图三、实验内容本实验利⽤单⽚机的计数器原理,通过采⽤protuas仿真软件来模拟实现。
利⽤AT89C52单⽚机芯⽚实现计数功能(0~10)并显⽰当前计数值,还能够实现秒表的启动/暂停,复位功能。
四、实验步骤1、先确定好设计的内容,⽤protuas设计电路图。
2、编写代码,编译并调试正确。
将⽣成的.hex⽂件加载到单⽚机中,运⾏电路并调试使电路功能正确。
3、设计完成后,制作计数器实物,并使得运⾏正确。
五、在uvision环境下软件程序设计#include#define uchar unsigned char#define uint unsigned intsbit K1 = P3^7;uchar i, Second_Counts, Key_Flag_Idx;bit Key_State;char DSY_CODE[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // delayvoid DelayMS(uint time){while(time--){uchar t;for(t=0;t<120;t++);}}// handle button events ,处理按键事件void Key_Event_Handle(){if(Key_State == 0) //Trigger key function when key pressed{Key_Flag_Idx = (Key_Flag_Idx + 1) % 3;switch(Key_Flag_Idx){case 1: EA = 1;ET0 = 1; TR0 = 1; break;case 2: EA = 0;ET0 = 0; TR0 = 0; break;case 0: P0 = 0x3f; P2 = 0x3f;i = 0;Second_Counts = 0;}}}// main ,主程序void main(){P0 = 0x3f; //initial state of LED 显⽰00P2 = 0x3f;i = 0;Second_Counts = 0;Key_Flag_Idx = 0; //times of the press (Firstr, second, third respectively stand for different meanings)按键次数Key_State = 1; // 按键状态TMOD = 0x01; //T0 work in mode 1 定时器0⽅式1TH0 = (65536 - 50000) / 256; //Set 50ms timer 定时器0:50msTL0 = (65536 - 50000) % 256;while(1){if(Key_State != K1) //Key is pressed or released{DelayMS(10);Key_State = K1; //update key stateKey_Event_Handle();}}}// T0 interrupt functionvoid DSY_Refresh() interrupt 1{TH0 = (65536 - 50000) / 256; //恢复定时器0初值TL0 = (65536 - 50000) % 256; if(++i == 2) //100ms //50ms*2=0.1s转换状态{i = 0;Second_Counts++;P0 = DSY_CODE[Second_Counts / 10];P2 = DSY_CODE[Second_Counts % 10];if(Second_Counts == 100)Second_Counts = 0; //满100(10s)后显⽰00 }}六、Proteus仿真1、初始值2、按下第⼀次按钮,记时截图3、按下第⼆次按钮,计数器停⽌4、按下第三次按钮,数值清零初始七、实验器件⼋、焊接电路实物图九、实验⼼得通过这次试验,让我对单⽚机有了新的认识。
单片机课程设计实验报告
单片机课程设计实验报告单片机课程设计实验报告引言单片机是嵌入式系统中常见的一种计算机芯片,具有体积小、功耗低、成本低等优势。
本次实验旨在通过单片机的应用设计,加深对单片机原理和应用的理解,并提升解决问题的能力。
实验目的本次实验的目的是设计一个简单的温度监测系统,通过单片机采集温度传感器的数据,并将数据显示在液晶显示屏上。
通过这个实验,我们可以掌握单片机的基本编程和电路连接方法,同时加深对温度传感器的原理和应用的理解。
实验原理1. 单片机基本原理单片机是一种集成电路,内部包含了CPU、内存、输入输出端口等功能模块。
通过编程,可以控制这些功能模块的工作,实现各种应用。
2. 温度传感器原理温度传感器是一种能够感知环境温度变化的器件,常见的有热敏电阻、热电偶等。
本次实验使用的是热敏电阻,其电阻值随温度的变化而变化。
实验材料1. 单片机开发板2. 温度传感器3. 液晶显示屏4. 连接线等实验步骤1. 连接电路将单片机开发板与温度传感器、液晶显示屏连接起来,确保电路连接正确无误。
2. 编写程序使用C语言编写单片机的程序,实现温度传感器数据的采集和液晶显示屏的显示。
程序的基本思路是通过单片机的模拟输入端口读取温度传感器的电阻值,然后将电阻值转换为温度值,并将温度值显示在液晶显示屏上。
3. 烧录程序将编写好的程序烧录到单片机开发板上,确保程序能够正常运行。
4. 实验测试将温度传感器放置在不同的环境中,观察液晶显示屏上的温度数值是否能够准确显示,并记录实验结果。
实验结果与分析经过实验测试,我们发现温度传感器能够准确地采集环境温度,并将温度数值显示在液晶显示屏上。
通过对比实际温度和显示温度的差异,我们可以评估温度传感器的准确性和精度。
实验总结通过本次实验,我们深入了解了单片机的基本原理和应用,掌握了单片机的编程方法和电路连接方法。
同时,我们也加深了对温度传感器的原理和应用的理解。
这些知识和技能对于今后的学习和工作都具有重要意义。
单片机实习报告3篇
单片机实习报告单片机实习报告3篇随着人们自身素质提升,报告有着举足轻重的地位,报告具有成文事后性的特点。
相信很多朋友都对写报告感到非常苦恼吧,下面是小编帮大家整理的单片机实习报告3篇,希望对大家有所帮助。
单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。
5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。
二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。
在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。
达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。
三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。
流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。
1单片机实验报告系统认识实验和程序设计实验.doc
一、实验目的:1、掌握实验系统的使用方法。
2、掌握集成调试软件的操作与程序调试方法。
3、熟悉51系列单片机的指令系统,掌握在单片机开发系统上调试和执行程序的过程。
4、熟悉51系列单片机软件的编程方法;5、通过使用汇编语言和C语言编写同一个程序,了解这二种方式的编程特点。
二、实验原理Lab6000通用微控制器实验系统由板上仿真器、实验单元、开关电源等构成。
接上EX51B 仿真板,可进行51单片机的实验。
实验系统通过串行通讯电缆将实验系统上的“仿真器串口”与计算机的串行通讯端口联接,在计算机上运行W AVE 集成调试软件,即可完成实验程序的编写、编译、装载、调试。
W A VE 集成调试软件具有与一般办公和工程软件相似的编辑功能和命令菜单。
可在软件上完成程序的输入、编辑、编译、调试等工作,实现对实验系统的控制。
并可通过相关窗口观察程序运行过程中,单片机各个数据存储单元的变化情况。
三、实验使用仪器。
1、Lab6000通用微控制器实验系统。
2、计算机,W A VE 集成调试软件。
四、实验内容。
1、熟悉51系列单片机开发环境。
2、运行一个简单的汇编语言程序。
3、运行一个简单的C语言程序。
4、了解本学期综合性、设计性实验的概况。
五、实验步骤1、按要求进行实验系统的联接与启动。
2、执行W A VE 集成调试软件。
进入开发环境界面,然后在“仿真器”下拉菜单,选择“仿真器设置”项。
在弹出的“仿真器设置”窗口中,应作设置如下:在“语言”标签窗口下,“编译器路径”为“C:\COMP51\”;“ASM命令行”勾选“使用伟福预定义符号”项;“编译器选择”点选“伟福汇编器”项;“缺省显示格式”点选“混合十、十六进制”项。
在“目标文件”标签窗口下,勾选:“缺省地址(由编译结果确定)”;“生成HEX文件”;“置未用程序存储器为00H”。
在“仿真器”标签窗口:选择仿真器:Lab6000 通用微控制器实验系统;选择仿真头:MCS51 实验;选择CPU:8031/32;去掉“使用伟福软件模拟器”选项。
单片机实验报告范文
单片机实验报告范文单片机(Microcontroller)是指一种封装了微处理器(Microprocessor)、存储器和各种输入输出接口电路功能的集成电路。
单片机在电子设计与开发中有广泛应用,可以用于控制和监测各种系统和设备。
本实验报告将介绍在实验中使用单片机所进行的实验步骤和实验结果。
实验目的:1.理解单片机的基本工作原理和功能。
2.掌握单片机的编程和调试方法。
3.应用单片机实现简单的控制功能。
实验仪器和材料:1.单片机开发板2.计算机B数据线4.电源适配器5.LED灯6.麦克风模块7.温度传感器实验步骤:1.准备工作:将单片机开发板与计算机连接,接通电源适配器。
2.熟悉开发工具:安装单片机开发软件,并了解软件的基本功能。
3.学习编程语言:了解单片机的编程语言,例如C语言或汇编语言,并编写简单的程序。
4.硬件连接:将LED灯、麦克风模块和温度传感器连接至开发板的相应引脚。
5.编程实现:根据实验要求,编写相应的程序,控制LED灯、获取麦克风模块的声音信号或获取温度传感器的温度值。
7.实验结果:根据实验要求,记录LED灯的亮灭状态、麦克风模块的声音信号强度或温度传感器的温度数值。
实验结果:通过实验,我们成功地控制了LED灯的亮灭状态,获取了麦克风模块的声音信号强度和温度传感器的温度数值。
在编程实现过程中,我们学会了使用单片机编程语言,了解了一些常用的语法和函数。
在调试测试中,我们可以通过相关的输出或显示结果来判断程序的正确性,及时发现和修复错误。
实验总结:本实验通过单片机开发板和相应的硬件以及编程实现了简单的控制和监测功能。
通过实验,我们深入了解了单片机的基本工作原理和功能,并掌握了一些基本的编程和调试方法。
实验结果表明,我们成功实现了实验要求,并对单片机的应用有了更加深入的理解。
通过这次实验,我们不仅提高了动手实践能力,也增加了对科技发展的看法。
单片机原理及应用实验报告
ET0=1;
TR0=1;
while (1)
{
ScanKey0( );
keyscan( ); //按键扫描
time_pro( ); //时间处理
display( ); //显示时间
}
}
实验结果:
数码管可以显示时钟的时分秒,按下按键1,可以在时钟的时分秒为切换,按下按键2,可以在选择的任意位+1,从而实现时间的修改。
实验接线图:
实验程序:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dispcode[ ]={0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xf8,0x80,0x90};
loop:
Dsplay();
goto loop;
}
void Dsplay() //动态扫描显示
{uchar i;
for(i=0,P1=0x01;i<6;i++)
{ P0=cDsCode[mDS[i]];//输出段
Delayms(2);
P1=P1<<1; //选通下一位
}
P1=0x00; //关闭位选通
实验五:存储器系统设计
实验目的:掌握存储器工作原理及特点。通过该实验让学生掌握单片机存储器系统的硬件设计,存储器在系统中的地址分配,地址总线、数据总线与控制总线的连接。
实验内容:1.在实验板上将一片6264RAM芯片设计成8K的外部数据存储器,地址为0000H—1FFFH。
《单片机原理及应用》实验报告
《单片机原理及应用》实验报告一、实验目的本次实验旨在深入理解单片机的工作原理,掌握其基本的编程和应用方法,通过实际操作提高我们对单片机系统的设计和调试能力。
二、实验设备1、计算机一台2、单片机开发板一套3、下载线一根4、相关软件,如 Keil C51 等三、实验原理单片机是一种集成在一个芯片上的微型计算机,它包含了中央处理器(CPU)、存储器(ROM、RAM)、输入输出接口(I/O 口)等基本组件。
通过编写程序,可以控制单片机的各个引脚输出高低电平,实现对外部设备的控制和数据采集。
单片机的工作原理是基于时钟信号,按照程序指令的顺序依次执行操作。
程序通常使用 C 语言或汇编语言编写,经过编译后下载到单片机的存储器中,由单片机的 CPU 读取并执行。
四、实验内容1、点亮单个 LED 灯首先,我们将单片机的一个 I/O 口与一个 LED 灯相连。
通过编写程序,设置该 I/O 口输出高电平,使 LED 灯点亮;输出低电平,使 LED 灯熄灭。
程序代码如下:```cinclude <reg51h> //包含 51 单片机的头文件void main(){P1_0 = 1; //设置 P10 口为高电平,点亮 LED 灯while(1);//无限循环,保持 LED 灯常亮}```2、流水灯实验在这个实验中,我们使用多个 LED 灯,通过依次控制每个 LED 灯的点亮和熄灭,实现流水灯的效果。
程序代码如下:```cinclude <reg51h>void delay(unsigned int i) //延时函数{unsigned int j, k;for (j = 0; j < i; j++)for (k = 0; k < 125; k++);}void main(){unsigned char led ={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};//定义 LED 灯的控制码unsigned char i;while (1){for (i = 0; i < 8; i++){P1 = ledi; //依次输出控制码,点亮相应的 LED 灯delay(500);//延时一段时间}}}```3、按键控制 LED 灯我们将一个按键连接到单片机的一个I/O 口,通过检测按键的状态,控制 LED 灯的亮灭。
《单片机应用》实验报告
√
一、实验目的
熟练掌握动态扫描、数码管段码、位码等概念。
二、实验原理
三、数码管动态扫描概念:××××××××××××××××××××××××××××××××××××××××××。
四、使用设备、仪器及材料
1 安装Windows XP操作系统的微型计算机1台
2单片机集成开发环境keil
3 软硬件开发平台proteus
{
P2=seg[num1%10000/1000];L1=0;delay();L1=1; //千位
P2=seg[num1%1000/100]; L2=0;delay();L2=1; //百位
P2=seg[num1%100/10]; L3=0;delay();L3=1; //十位
P2=seg[num1%10]; L4=0;delay();L4=1; //个位
}
}
六、实验结果及分析
1.启动仿真,数码管显示0
2.按下一次按键,数码管显示1。
3.再次按下,数码管显示2。
4、经过测试,功能正常,能够响应中断,每次加1,符合设计要求。
教师签名:李建波
2011年月日
单片机应用 实验报告2
学生姓名:班级:
实验项目
LED数码管显示器
成绩
实验项目类型
验证
演示
综合
设计
sbit L1=P0^0;sbit L2=P0^1;sbit L3=P0^2;sbit L4=P0^3;
sbit L5=P0^4;sbit L6=P0^5;sbit L7=P0^6;sbit L8=P0^7;
unsigned int num1=0;
unsigned char num2=0;
unsigned charseg[]={0x3f,0x06,0x5b,0x4f,0x66,
单片机实验报告(完整版)
单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。
二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。
3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。
五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。
单片机原理与应用实验报告
单片机原理与应用实验报告摘要:本实验报告主要介绍了单片机的原理及其在实际应用中的一些常用实验。
首先简要介绍了单片机的基本原理和工作方式,然后详细说明了几个单片机应用实验,包括LED灯控制、数码管显示和温度测量等。
通过这些实验的学习和实践,我们更好地理解了单片机的原理和应用。
1.引言单片机是一种完整系统集成在一个芯片上的微型计算机,具有存储器、时钟、输入输出接口以及运算器等功能。
随着科技的不断发展,单片机在各个领域得到了广泛的应用,例如家电控制、通信、仪器设备等。
本实验主要通过一系列实验来深入理解单片机的原理和应用。
2.单片机基本原理单片机是由微处理器、存储器、I/O接口和时钟电路组成的,其工作原理如下:首先,根据程序存储器中的指令,将指令送到控制器中进行译码和执行;然后,通过数据总线将数据从存储器中读取到寄存器中进行运算;最后,将结果通过I/O接口送出。
3.实验一:LED灯控制实验目的:通过控制单片机的I/O接口,控制LED灯的亮灭。
实验原理:单片机的I/O接口是与外部设备进行数据交流和控制的重要通道。
通过控制I/O接口的高低电平,可以实现对外部设备的控制。
本实验中,我们通过控制I/O接口的高低电平,实现了对LED灯的亮灭控制。
实验步骤:1)连接电路:将LED灯的一端连接到单片机的I/O口,另一端接地。
2)编写程序:使用C语言编写程序,设置相应的I/O口为输出并控制其高低电平。
4)调试程序:通过观察LED灯的亮灭情况,调试程序,确保LED灯的控制正确。
4.实验二:数码管显示实验目的:通过控制单片机的I/O接口,实现对数码管的数字显示。
实验原理:数码管由多个LED灯组成,通过控制不同的LED灯亮灭,可以实现对数字的显示。
本实验中,我们通过控制单片机的I/O接口,将相应的LED灯控制为亮或灭,从而实现数字的显示。
实验步骤:1)连接电路:将数码管的共阴极连接到单片机的I/O口,并用电源提供共阳极的电源。
单片机原理及应用实验报告1
单片机原理及应用实验报告1单片机原理及应用实验报告1摘要:本实验通过对单片机的原理及应用进行探究,掌握单片机的工作原理和基本应用。
实验中使用Keil C编译器和STC89C52单片机开发板进行编程和实验。
实验结果表明,单片机具有功能强大、用途广泛的特点,能够应用于各种实际场景中。
一、引言单片机是一种集成电路芯片,其内部包含了存储器、时钟、输入输出端口以及中央处理器等功能模块,具有自主控制能力。
单片机被广泛应用于各种电子设备和系统中,例如家电控制、工业自动化、智能交通等领域。
本实验旨在通过对单片机原理及应用的学习与实验,深入了解单片机的工作原理和基本应用,并利用所学知识完成一系列实际操作和程序设计。
二、实验目的1.了解单片机的基本原理和架构;2.掌握单片机的基本编程方法和语法规则;3.实践掌握单片机的IO端口操作、模拟量输入输出等基本应用。
三、实验内容1.学习单片机的工作原理和基本构成;2.熟悉Keil C编译器的使用方法和环境配置;3.利用Keil C编写简单的程序,实现单片机的IO端口操作;4.学习模拟量输入输出的基本概念和实现方法;5.设计并实现一个简单的单片机应用程序。
四、实验仪器和设备1.STC89C52单片机开发板;2.计算机;3.Keil C编译器。
五、实验原理单片机是由CPU、存储器、输入输出接口以及系统总线等构成的嵌入式微处理器系统。
在本实验中,我们使用的是STC89C52单片机,其主要特点如下:1.CPU部分:采用8051内核,具有5个通用寄存器、2个堆栈指针、1个程序计数器等;2.存储器部分:具有8KBROM和256B的RAM;3.输入输出部分:具有32个IO口、3个定时器、1个串口等;4.中断部分:具有6个中断源和2个中断请求端。
六、实验步骤1.学习Keil C编译器的使用方法和环境配置;2.熟悉STC89C52单片机开发板的引脚分布和接口规范;3.编写一个简单的程序,实现单片机的IO端口初始化和输入输出操作;4.验证程序功能的正确性,观察LED灯的亮灭情况;5.学习模拟量输入输出的基本概念和实现方法;6.设计并实现一个简单的单片机应用程序,例如温度检测、灯光控制等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机系统设计与及应用实验报告
第次实验
实验名称:单片机串行口与PC机通讯实验
专业:
姓名:学号:
同组人员:学号:
实验地点:
实验时间:
评定成绩:审阅教师:
目录
实验目的 (1)
实验内容及要求 (4)
实验原理及程序设计流程图 (5)
调试过程及相关记录 (6)
正确源代码 (6)
实验心得 (7)
(1)掌握串行口工作方式的程序设计,掌握单片机通讯的编制;
(2)了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议;
(3)了解PC机通讯的基本要求。
二.实验内容及要求
利用8051单片机串行口,实现与PC机通讯。
本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC机显示器上,再将PC机所接收的字符发送回单片机,并在实验板的LED上显示出来。
三.实验原理
89C51内部有一个可编程全双工串行通信接口。
该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
本实验LED显示是在方式0下,串行口作为同步移位寄存器使用。
此时SM2、RB8、TB8均应设置为0。
发送数据:TI=0时,执行“MOV SBUF,A”启动发送,8位数据由低位到高位从RXD引脚送出,TXD发送同步脉冲。
发送完后,由硬件置位TI。
方式0的波特率为fosc/12,即一个机器周期发送或接收一位数据。
与PC通讯是方式1:一帧10位的异步串行通信方式,包括1个起始位,8个数据位和一个停止位。
当TI=0时,执行“MOV SBUF,A”指令后开始发送。
发送时的定时信号由定时器T1送来的溢出信号经过16分频或32分频得到的。
在接收到第9位数据(即停止位)时,必须同时满足以下两个条件:RI=0和SM2=0或接收到的停止位为“1”,才把接收到的数据存入SBUF中,停止位送RB8,同时置位RI。
在方式1下,SM2应设定为0。
波特率=
2SSSS∗S SSS 32∗12∗(S−S
初
四.调试过程及相关数据记录
(1)编写单片机发送和接收程序,并进行汇编调试。
运行PC机通讯软件“commtest.exe”,将单片机和PC机的波特率均设定为1200。
(2)运行单片机发送程序,按下不同按键(每个按键都定义成不同的字符),检查PC机所接收的字符是否与发送的字符相同。
(3)最初,显示的不是数字而是符号,这是通讯软件的设置,HEX显示,没有勾选。
只能实现一次数据传输,原因是串口的工作方式改为0显示led后没有改回方式1。
(4)将PC机所接收的字符发送给单片机,与此同时运行单片机接受程序,检查实验板LED数码管所显示的字符是否与PC机发送的字符相同。
调试之前,显示为乱码,修改相关代码后显示正常。
六.源代码
LED0 EQU 30H ;预设数值缓存存储位置
ORG 0000H
AJMP START
ORG 0023H
AJMP INT_1
ORG 0040H
START:
MOV SP,#30H
MOV TMOD,#20H;设置定时器工作模式2 MOV TL1,#0E6H;设置波特率
MOV TH1,#0E6H
MOV SCON,#50H;设置串口工作模式MOV PCON,#00H
MOV LED0,#0BBH;初始化led
MOV R5,#03H
SETB EA
SETB ES
SETB TR1
KEYBORD:;键盘检测按键
MOV P1, #0FFH
MOV A, P1
CPL A
JZ KEYBORD ;是否全为0
LCALL LOOP
MOV A, P1
CPL A JZ KEYBORD PUSH A
THEN:
MOV A, P1 CPL A
ANL A, #0FFH JNZ THEN LCALL LOOP POP A
JZ KEYBORD JB ACC.0, CH0 JB ACC.1, CH1 JB ACC.2, CH2 JB ACC.3, CH3 JB ACC.4, CH4 JB ACC.5, CH5 JB ACC.6, CH6 JB ACC.7, CH7
CH0:
MOV A,#00H SJMP MAIN CH1:
MOV A,#01H SJMP MAIN CH2:
MOV A,#02H SJMP MAIN
CH3:
MOV A,#03H
SJMP MAIN
CH4:
MOV A,#04H
SJMP MAIN
CH5:
MOV A,#05H
SJMP MAIN
CH6:
MOV A,#06H
SJMP MAIN
CH7:
MOV A,#07H
MAIN:
CLR ACC.7
MOV SBUF,A
SJMP KEYBORD
INT_1:;中断判断是发送还是接收
JNB RI,SEND
SJMP CEV
SEND:
CLR TI ;发送子程序
MOV SCON, #00H
MOV LED0,#00H
LCALL SHOW
MOV SCON, #50H
SJMP BACK
CEV:
CLR RI ;接收子程序
MOV A, SBUF ;接收数据
MOV R3,A
MOV SCON, #00H;改变串口工作模式0 LCALL FIND
LCALL SHOW
MOV SCON, #50H;换回串口工作模式1 BACK:
RETI
SHOW: ;LED送显
MOV A,LED0
MOV SBUF,A
JNB TI, $
CLR TI
L:
MOV A,#00H
MOV SBUF,A
JNB TI, $
CLR TI
DJNZ R5, L
MOV R5,#03H
RET
FIND: ;查找对应断码
MOV DPTR, #TABLE1
MOV A, R3
MOVC A, @A+DPTR
MOV LED0, A
RET
LOOP:
MOV R2, #9FH
MOV R7, #0FFH
MOV R6, #0FFH
LOOP1:
DJNZ R6, $
LOOP2:
DJNZ R7, LOOP2
DJNZ R2, LOOP1
RET
TABLE1:
DB 0BBH, 09H,0EAH, 6BH,59H,73H, DB 0F3H, 0BH,0FBH,7BH,
0DBH,0F1H,0B2H,0E9H,0F2H,0D2H
七.运行结果
实验结果如上图,可以看出,分别按键S1-S7对应00-07八个数值。
当PC发送数据给单片机时,可以在LED上显示对应数值。
上图分别为0F和09。
八.实验心得
本次实验实现的是单片机和PC的通讯,而单片机与单片机之间的通讯原理和本次实验也是类同的,我们可以举一反三掌握其通讯方法。