单片机技术实验教程
- 格式:doc
- 大小:97.50 KB
- 文档页数:14
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。
- 通过适配器给单片机开发板供电。
- 检查驱动程序是否正确安装。
2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。
- 选择适当的单片机型号和编程语言。
- 编写程序代码,实现所需功能。
- 编译程序并下载到单片机开发板。
3. 实验操作:- 根据实验要求连接相应的电路元件。
- 调试程序,确保程序能正确运行。
- 运行实验并观察结果。
四、实验注意事项1. 请确保您具备基本的电路和编程知识。
2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。
3. 如果遇到问题,请及时咨询实验指导人员或相关专家。
五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。
程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
51单片机实验手册一、概述51单片机是一种经典的8位微控制器,具有广泛的应用领域。
本实验手册旨在提供详细的实验指导,帮助初学者快速入门,并为进一步的学习提供基础。
二、实验准备在进行51单片机实验之前,我们需要准备以下材料:1. 一块51单片机开发板2. USB数据线或者串口线3. 电脑及编程软件4. 面包板及对应的连接线5. 红、绿、蓝LED以及相应的电阻三、实验一:LED闪烁LED闪烁是最基础的实验之一,通过控制51单片机的I/O口状态,使LED灯交替亮灭。
1. 连接电路将51单片机的VCC引脚连接到正极,GND引脚连接到负极,将LED的长脚连接到P1.0引脚,短脚连接到GND引脚。
2. 编写程序使用C语言编写如下程序:```c#include <reg52.h>void main() {while(1) {P1 = 0x00; // P1置低电平,LED灯熄灭Delay(1000); // 延时1秒P1 = 0xFF; // P1置高电平,LED灯点亮Delay(1000); // 延时1秒}}void Delay(unsigned int t) {while (t--);}```3. 烧录程序将编写好的程序通过编程软件下载到51单片机中。
4. 运行实验将USB数据线或串口线连接到51单片机开发板和电脑,将开发板上的开关打开,观察LED灯的闪烁情况。
四、实验二:数码管显示通过控制51单片机的I/O口状态,驱动数码管显示数字。
1. 连接电路将51单片机的VCC引脚连接到正极,GND引脚连接到负极,将数码管的A、B、C、D、E、F、G引脚分别连接到P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6引脚。
2. 编写程序使用C语言编写如下程序:```c#include <reg52.h>unsigned char code segment[] = { // 数码管段码表0x3F, // 数字00x06, // 数字10x5B, // 数字20x4F, // 数字30x66, // 数字40x6D, // 数字50x7D, // 数字60x07, // 数字70x7F, // 数字80x6F // 数字9};void main() {unsigned int i;while(1) {for(i = 0; i < 10; i++) {P1 = segment[i]; // 依次在数码管上显示数字0-9 Delay(1000); // 延时1秒}}}void Delay(unsigned int t) {while (t--);}```3. 烧录程序将编写好的程序通过编程软件下载到51单片机中。
单片机实验教案一、实验目的本实验旨在通过学习单片机的基本原理和实际操作,掌握单片机的编程与应用技巧,并能够独立完成一些简单的单片机实验。
二、实验器材与环境要求1. 单片机开发板:推荐使用51系列开发板,如STC89C52等。
2. 计算机:用于编写和下载单片机程序。
3. USB转串口模块:用于将计算机与单片机开发板相连,进行程序下载。
4. LED灯、蜂鸣器、按键等外部器件:用于实验验证。
三、实验内容本实验将分为以下几个部分,每个部分都包含一些具体的实验任务。
实验一:LED闪烁实验1. 连接开发板与计算机,并安装相应的驱动程序和开发环境。
2. 打开开发环境(如Keil),新建一个工程。
3. 编写程序,使开发板上的LED灯交替闪烁。
4. 将程序下载到单片机中,观察LED灯是否按预期闪烁。
实验二:蜂鸣器控制实验1. 在实验一的基础上,接入一个蜂鸣器。
2. 编写程序,使蜂鸣器发出不同频率的声音。
3. 将程序下载到单片机中,观察蜂鸣器是否按预期发声。
实验三:外部按键检测实验1. 在实验二的基础上,接入一个外部按键。
2. 编写程序,使按键按下时,LED灯闪烁一次。
3. 将程序下载到单片机中,观察按键与LED灯的互动是否正确。
实验四:数码管显示实验1. 在实验三的基础上,接入一个数码管。
2. 编写程序,使数码管可以显示0-9的数字。
3. 将程序下载到单片机中,观察数码管是否按预期显示数字。
实验五:蓝牙通信实验1. 在实验四的基础上,接入一个蓝牙模块。
2. 编写程序,使单片机能够与蓝牙模块进行通信,并将接收到的信息在数码管上显示。
3. 将程序下载到单片机中,通过蓝牙终端发送信息,观察数码管是否正确显示接收到的信息。
四、实验要点与注意事项1. 在进行实验之前,务必查阅相关资料,了解单片机的基本原理和编程知识。
2. 在编写程序时,要注意语法的正确性和逻辑的严谨性。
3. 在下载程序之前,先检查硬件连线是否正确,以免造成损坏。
文库宝 百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
单片机实验步骤一、 实验箱准备工作检查实验箱配件是否齐全?电源线1根,串口线1根,数据线若干,实验手册1本。
1、接上实验箱电源线。
2、串口线一头接在计算机串口上,另一头接在实验箱的“仿真串口”端(注意:不能误接到“实验串口”端)。
3、根据本次实验要求,按实验手册连接数据线。
4、按下实验箱右上方的两个黄色圆形按钮,观察按钮旁的两个红色显示灯是否点亮。
二、 Keil C51集成软件使用步骤1、在D :盘根目录下新建一个空文件夹,文件夹名为学生学号,例如:D:\200811510012、打开Keil C51 集成软件,可以双击桌面上的图标3、建立工程点击菜单Project → 选择New Project … → 弹出以下对话框4、然后弹出以下对话框——选择单片机芯片型号(1)选择D 盘下的空文件夹路径(1)选择“Atmel ”公司 (2)选择“89C51”芯片型号(3)点击“确定”文库宝 百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
5、把本次实验的汇编源程序复制到刚才在D :盘建立的空文件夹里,例如本次实验为“实验十 广告灯实验”,翻开实验手册第28页,可以看到本次实验的源文件名为“ZY ADV .ASM ”,该文件在“C:\Keil\单片机实验程序”路径下。
6、将汇编源文件添加到当前工程项目中7、进入源代码编辑界面(1)点击“加号”(2)双击“ZY ADV .ASM ”编辑界面由三个窗口构成:左侧为工程窗口;右侧为编辑窗口;下方为输出窗口。
如果在源程序中存在语法错误,输出窗口中会出现错误提示信息。
如果源程序语法完全正确后,点击Debug → Start/Stop Debug Session进入软件模拟的仿真窗口,如下图所示:8、编译连接后进行硬件仿真在进行硬件仿真之前,还需对工程属性进行某些设置。
选择“Project → Options for Target ‘Targetl’”,(2)选择“Creat HEX”(4)硬件仿真选项文库宝百度文库原版文档免费下载站,免登陆,免财富值,一键下载。
单片机原理及应用实验教程课程设计一、概述单片机是指集成了中央处理器(CPU)、存储器(ROM/FLASH、RAM)、输入输出接口及时钟电路等功能于一体的微型计算机系统,被广泛应用于各个领域。
本教程旨在通过实验教学的方式,让学生深入了解单片机原理及应用,并掌握相应的技术。
二、实验内容及步骤1、基础实验:单片机开发环境的搭建实验目的让学生了解单片机的开发环境搭建过程,并熟悉用于单片机编程的集成开发环境(IDE)。
实验设备与材料•电脑•USB线•STC89C52单片机开发板•电源实验步骤1.将STC89C52单片机开发板通过USB线与电脑相连;2.下载并安装Keil集成开发环境,并在Keil中新建一个工程;3.在工程中编写简单的程序,例如让板载LED闪烁等;4.将程序下载到单片机开发板并测试;2、实验:单片机的输入/输出控制实验目的让学生学会单片机的输入/输出控制,掌握相应的编程显示和输入技术。
实验设备与材料•STC89C52单片机开发板•LED•杜邦线实验步骤1.将LED通过杜邦线连接到单片机开发板的GPIO口;2.编写控制GPIO口的程序,通过控制单片机开发板的GPIO口驱动LED的亮灭;3.调试程序并测试。
3、实验:单片机的定时器/计数器应用实验目的让学生学会单片机的定时器/计数器应用,掌握相应的编程技术。
实验设备与材料•STC89C52单片机开发板•数码管•7段数码管驱动芯片•杜邦线实验步骤1.将数码管驱动芯片和数码管通过杜邦线连接到单片机开发板;2.编写控制定时器/计数器的程序,通过控制定时器/计数器实现数码管的亮灭;3.调试程序并测试。
4、综合实验:单片机的应用实验目的让学生学会将单片机应用到实际项目中,并掌握相应的编程技术。
实验设备与材料•STC89C52单片机开发板•人体红外传感器•LED•蜂鸣器•电阻•电容•杜邦线实验步骤1.将人体红外传感器、LED、蜂鸣器、电阻、电容通过杜邦线连接到单片机开发板;2.编写控制程序,通过单片机的输入/输出、计时等功能,实现红外感应、LED控制、蜂鸣器控制等功能;3.完成实际项目的设计与制作,并测试。
实验一单片机开发系统的使用一、实验目的1、掌握DVCC仿真系统使用方法;2、掌握P1口的输入/输出使用方法;3、编程的初步知识。
二、实验设备DVCC仿真系统一套、计算机一台。
三、实验内容1、掌握DVCC仿真系统的的基本使用方法。
2、了解程序编辑、汇编、修改、连接和运行的过程。
四、实验步骤1、DVCC仿真系统的的部分硬件的实物与作用了解。
2、在教师的指导下编辑、保存下列程序。
ORG 0000H ;伪指令ORG,说明机器码存储的首地址LOOP: MOV P1,#0FH ;数据传送指令,将0FH这个数传送到P1中,定义P1.0-P1.3为输入状态。
MOV A, P1 ;将P1.0-P1.3引脚的状态和P1.4-P1.7锁存器的数传送到A中。
ANL A,#0FH ;逻辑运算指令,寄存器A中的数与0FH进行“与”运算。
JZ OVER ;条件转移指令,若(A)=00H,程序转移到标号OVER处执行SWAP A ;高低字节交换指令,ACC.0-ACC.3与ACC.4-ACC.7交换。
MOV P1,A ;将寄存器A中的数传送到P1,并由P1.4-P1.7输出到LED。
SJMP LOOP ;无条件转移指令,程序转移到标号LOOP处执行。
OVER:SJMP $ ;无条件转移指令,程序转移到标号OVER处执行,即原地等待。
END ;伪指令END,表示程序结束。
3、编译、修改、连接上述程序,记录编译过程中提示的错误和修改的方法。
常见的错误有:①数字…0‟与字母…O‟混淆。
MOV P1, #0FH写成MOV P1, #OFH②掉了逗号。
如MOV A,P1写成MOV A P1③助记符写错。
如ANL A,#0FH 写成AML A,#0FH④标号后面的冒号掉了。
如OVER:SJMP $写成OVER SJMP $⑤标号不一致。
如SJMP LOOP写成SJMP LOP⑥END后面有空行。
此时提示“”,修改方法是将光标放在END后面,不断地按“Delete”键。
一.单片机I/O端口原理与应用试验80C5l单片机有4个双向的8位I/O口P0~P3,在无片外存储器系统中,这4个I/O 口的每一位都可以作为准双向通用I/O口使用;在具有片外存储器的系统中,P2口作为地址的高8位,P0口作为地址的低8位和双向数据总线。
1 P0口结构及工作原理P0口的位内部结构如图2-6所示。
它由一个锁存器、两个三态输入缓冲器以及控制电路和驱动电路组成。
P0口实际上是一个真正的双向口,当P0口输出地址/数据信息时,控制信号为“l”,使模拟开关MUX把地址/数据信息经反相器和T2接通,同时打开与门,输出的地址/数据信息即可通过与门去驱动T1,又通过反相器去驱动T2,使两个FET构成推拉输出电路。
若地址/数据信息为“0”,则该信号使T1截止、T2导通,因而引脚上输出相应的“0”信号。
若地址/数据信息为“l”,则T1导通,T2截止,引脚上输出“1”信号。
若由P0口输入数据,则输入信号从引脚通过输入缓冲器进入内部总路线。
当P0口作为通用I/O口使用时,CPU内部发出控制信号“0”封锁与门,使T1截止,同时使模拟开关MUX把锁存器的Q——端与T2的栅极接通。
在P0作输出时,因为Q——端和T2的倒相作用,内部总线上的信号与到达P0口上的信息是同相位的,只要写脉冲加到锁存器的CL端,内部总路线上的信息就送到P0的引脚上。
由于此时T2为漏极开路输出,因而需外接上拉电阻。
当P0口作输入时,由于该信号既加到T2,又加到下面一个三态缓冲器上,如果此前该口曾输出过锁存数据“0”,则T2是导通的,这样,引脚上的电位就被T2钳在“0”电平上,使输入的“1”无法读入,故作为通用I/O口使用时,P0口也是一个准双向口,即输入数据前,应先向口锁存器写“1”,使T2截止。
但在访问外部存储器期间,CPU会自动向P0的锁存器写入“1”,所以面对用户而言,P0口作为地址/数据总线时,则是一个真正的双向口。
前述为数据由引脚输入的情况,称之为“读引脚”。
MCS-51单片机应用实验教程课程设计1. 简介MCS-51单片机是一种高性能、低功耗单片机,广泛应用于各个领域。
本文主要介绍MCS-51单片机应用实验教程课程设计内容,以帮助初学者了解MCS-51单片机的应用。
2. 实验环境•Keil C51编译器•STC89C52RC单片机•电路板和外围器件•PC3. 实验内容3.1 实验1:LED流水灯LED流水灯是MCS-51单片机入门实验,可以让学生熟悉MCS-51单片机基本指令和寄存器的使用,以及加深对位运算的理解。
实现方法:通过MCS-51单片机的IO口和位运算实现8个LED灯的流水效果。
3.2 实验2:数码管显示数码管是一种常见的数字显示器件,通过数码管的显示,可以实现对数字的显示和闪烁等效果。
该实验可以让学生了解MCS-51单片机的定时器和中断服务程序的使用,以及对数码管的控制。
实现方法:通过MCS-51单片机的定时器,按照一定的时间间隔对数码管进行显示和闪烁。
3.3 实验3:按键控制LED灯按键开关是电子产品常用的一种输入方式,通过按键的不同状态可以控制LED等输出设备的开关。
该实验可以让学生了解MCS-51单片机的IO口的输入状态读取和控制。
实现方法:通过MCS-51单片机的IO口读取按键输入状态,通过位运算控制LED灯的开关。
3.4 实验4:外部中断实现按钮控制LED灯外部中断是MCS-51单片机的一种重要功能,通过外部中断可以实现对按钮的响应,进而实现对LED等设备的控制。
该实验可以让学生进一步了解MCS-51单片机的外部中断服务程序的使用和IO口管理。
实现方法:通过MCS-51单片机的外部中断输入,响应按键状态,并通过位运算控制LED灯的开关。
3.5 实验5:定时器PWM控制LED灯亮度通过调节LED灯的亮度,可以达到调节电子产品亮度的效果。
该实验可以让学生了解MCS-51单片机的定时器的PWM输出功能,以及通过PWM实现对LED等设备的亮度调节。
目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
一、实验目的1. 掌握单片机的基本工作原理和硬件结构。
2. 熟悉单片机的编程方法,提高编程能力。
3. 学习单片机的调试技巧,提高调试效率。
4. 通过实际操作,培养动手能力和团队合作精神。
二、实验仪器与设备1. 单片机实验开发板2. 编译器(如Keil、IAR等)3. 仿真软件(如Proteus、Multisim等)4. 连接线、电源、示波器等辅助设备三、实验步骤1. 熟悉单片机实验开发板(1)观察开发板的硬件结构,了解各个模块的功能和连接方式。
(2)熟悉开发板上的按键、LED、串口、I2C、SPI等接口。
2. 编写程序(1)根据实验要求,设计程序功能。
(2)选择合适的编程语言(如C语言、汇编语言等)。
(3)使用编译器编写程序代码,并进行语法检查。
3. 程序调试(1)使用仿真软件(如Proteus)对程序进行仿真调试。
(2)观察程序运行结果,检查程序是否存在错误。
(3)根据仿真结果,修改程序代码,直至程序正常运行。
4. 硬件连接(1)根据程序功能,连接开发板上的相关硬件模块。
(2)确保连接正确,避免短路或接触不良。
5. 实验运行(1)打开电源,启动单片机。
(2)观察程序运行情况,验证程序功能是否实现。
(3)根据实验要求,调整程序参数或硬件配置,优化程序性能。
6. 数据采集与记录(1)使用示波器等设备,采集实验过程中的数据。
(2)记录实验数据,为后续分析提供依据。
7. 结果分析(1)对实验数据进行整理和分析,评估程序性能。
(2)总结实验过程中的经验教训,提出改进措施。
8. 实验报告撰写(1)整理实验过程,包括实验步骤、实验数据、实验结果等。
(2)分析实验结果,总结实验经验教训。
(3)撰写实验报告,要求格式规范、内容完整。
四、实验注意事项1. 确保实验环境安全,避免触电、短路等事故。
2. 严格遵守实验操作规程,避免损坏实验设备。
3. 注意程序调试过程中的细节,提高调试效率。
4. 实验过程中,积极思考,勇于创新,提高动手能力。
单片机整套实验及程序引言单片机作为嵌入式系统开发的核心技术之一,广泛应用于各个领域,在教育、科研和工业生产中占有重要地位。
本文将介绍单片机整套实验及程序设计的相关内容,通过实际操作和编程实践,帮助读者更好地理解和掌握单片机的基本原理和应用。
实验一:LED闪烁实验LED闪烁实验是单片机入门实验的重要一环。
通过这个实验,我们可以了解到单片机引脚的输入输出特性、编程语言的基本结构以及简单的电路连接方法。
实验目的•掌握单片机引脚的输入输出特性;•了解单片机编程语言的基本结构;•学会使用电路连接方法。
实验材料•单片机开发板;•电阻、LED灯、杜邦线等电子元件。
实验步骤1.连接电路:将单片机的一个GPIO引脚连接到一个电阻,再将电阻的另一端连接到LED的正极,LED的负极连接到地线。
2.编写程序:使用C语言或汇编语言编写LED闪烁的程序。
程序的核心是通过控制GPIO引脚的高低电平来控制LED的亮灭。
3.烧录程序:将编写好的程序烧录到单片机中。
4.调试程序:通过观察LED的亮灭情况,判断程序是否运行正常。
程序示例(C语言)下面是一个使用C语言编写的LED闪烁程序示例:#include <reg51.h>void delay(unsigned int time) {while(time--);}void mn() {while(1) {P1 = 0xFF; // 将P1口设置为高电平delay(10000);P1 = 0x00; // 将P1口设置为低电平delay(10000);}}实验结论通过LED闪烁实验,我们成功地掌握了单片机引脚的输入输出特性、编程语言的基本结构以及简单的电路连接方法。
这为之后的实验和项目开发奠定了重要的基础。
实验二:数码管显示实验数码管是一种常见的数字显示设备,它广泛应用于计时器、计数器、温度显示等场景。
通过数码管显示实验,我们可以学习如何控制数码管的显示和编程。
实验目的•学会使用单片机输出控制信号控制数码管的显示;•理解数码管的工作原理;•掌握数码管编程的方法。
单片机原理实验一、实验目的本实验旨在帮助学生深入了解单片机原理,并通过实践掌握单片机的基本工作原理和应用。
二、实验设备本实验所需设备及材料如下:1. 单片机开发板2. USB数据线3. 电脑(已安装单片机开发软件)4. 电路连线板5. LED灯若干6. 电阻若干7. 杜邦线若干三、实验步骤1. 将单片机开发板和电脑通过USB数据线连接起来,确保开发板的供电和通信正常。
2. 准备一个简单的电路连线板,将LED灯和电阻连接起来,组成一个简单的电路。
3. 打开电脑上的单片机开发软件,在软件中选择合适的开发环境和单片机型号。
4. 根据实验要求,编写相应的程序代码,控制LED灯的亮灭。
5. 将编写好的程序下载到单片机开发板中,启动程序,观察LED灯的变化。
四、实验结果分析通过以上实验步骤,我们可以通过编写简单的程序代码控制单片机的输出,从而控制实验用的LED灯的亮灭。
实验结果如预期一样,我们可以通过改变代码中的逻辑关系和时序控制实现不同的效果。
五、实验应用掌握了单片机的原理和编程技巧后,我们可以将单片机应用于各种电子设备的控制。
比如智能家居系统、电子产品的自动控制、传感器系统的数据采集和处理等。
单片机的应用范围非常广泛,我们只需要根据实际需求进行相应的硬件连接和程序编写即可实现我们想要的功能。
六、实验总结通过本次实验,我们对单片机的原理有了更深入的了解,并通过实践掌握了单片机的基本工作原理和应用方法。
通过编写简单的程序代码,我们成功地控制了LED灯的亮灭,并了解了单片机的应用潜力和扩展性。
实验过程中需要注意安全,确保实验设备的正常运行。
同时,需要更多的实践和学习,才能在单片机的应用领域中取得更多的成果。
七、参考资料1.《单片机原理与应用》2.《嵌入式C语言程序设计》以上是本次单片机原理实验的实验过程和结果分析,通过实践加深对单片机原理的理解,并实现基本的控制功能。
希望本实验能够帮助读者更好地掌握单片机的原理和应用,为日后进一步的学习和实践奠定基础。
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
2014年EDA 实验第一次实验:实验1:QII 软件及实验板的使用;用图形输入法和语言输入法完成点灯实验(用两个按键控制两个灯的亮灭:灯的状态随按键状态改变而改变)。
完成软件仿真。
实验2:联控点灯实验:用两个按键独立控制同一个灯亮灭,第三个按键同时控制该灯和另一个灯亮灭。
实验3:流水灯实验:完成一个8路流水灯控制实验,要求有以下3种花型:1)8路灯同时亮灭;2)从左至右再从右至左逐个亮(每次只有1路亮);3)8路灯每次4路灯亮,4路灯灭,且亮灭相间,交替亮灭。
用3个按键控制3种花型。
按下花型按键就一直显示相应花型,再按该键可暂停。
可设置1个复位键关闭显示。
(亮灭时间自定。
)第二次实验:实验4:数据分配器实验:用2个按键代表输入数据in (2位),用2个按键代表选择控制数据位s1s0,用四组发光管(每组2位)代表四路数据输出out0-out3。
当输入数据或控制数据改变时,要求输出数据进行相应变化(原理和真值表如下)。
实验5:七段译码器实验:用一个按键代表数据输入,每按一次数据加一,从0开始到F ,再到0,依次循环,相应数字在数码管上显示。
第三次实验:实验6:数控分频器实验:用24MHz 时钟分频,通过不同按键控制输出不同的频率信号,输出信号用LED 指示。
1)1Hz 频率信号;2)10Hz 频率信号;3)0.5Hz 频率信号。
实验7:加法计数器实验在时钟信号(选择1Hz)作用下,通过使能端和复位信号完成加法计数器的计数。
用2个按键分别表示使能和复位,用4个发光管表示计数的二进制结果。
第四次实验:实验8:动态扫描实验:用4个按键分别代表加、减、暂停、复位,四位数码管代表四位十进制数,从0000开始到9999循环,自动计数,数据显示时间不大于1秒。
第五次实验:实验9:序列检测实验:用一个按键代表时钟,一个按键代表输入数据,(时钟和数据要用LED显示其电平或数值,)当检测到1101序列时,蜂鸣器响动,指示灯点亮。
实验一、输入输出接口编程一、实验目的1、掌握Keil软件的基本使用。
2、掌握单片机汇编语言基本编程。
二、实验内容1、学习用Keil软件进行51单片机的软件开发;学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。
(见参考程序一)2、霓虹灯控制程序设计用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。
将生成的HEX文件下载到实验板上验证。
(见参考程序二)三、实验原理1、Keil软件使用练习设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。
(见参考程序一)2、霓虹灯控制程序设计电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED图中用单片机的P1口作输出口接8个LED ,8个LED 按共阳极连接,端口逻辑值为0点亮LED ;P3口作输入口接2个SW-SPST 开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。
本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。
本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。
输出表格确定发光模式,实验中定义表格如下:TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H (SW3,SW4为:00) TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H (SW3,SW4为:01) TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H (SW3,SW4为:10) TAB4: DB 用户自己定义(SW3,SW4为:11)输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。
单片机实验教材实验一:清零程序一:实验目的:掌握汇编语言调试和设计方法,熟悉键盘操作。
二:实验内容:把7000H~70ffH的内容清零三:实验程序框图四:试验步骤:1.当DVCC单片机仿真实验系统独立工作时。
(1)仿真实验系统显示闪动“P”时,根据表一所示,通过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍后,按RESET键推出运行;如果以单步运行程序,则输入0030h后,按SETP键,按一次执行一条语句,直到执行到003CH为止,按MOND键退出运行;如果以断点运行程序,则先输入003CH时自动停下来,此时按MON键退出。
(2)用存储器读写方法检查7000H-70FFH中的内容应全是00H。
2.当DVCC仿真实验系统联PC机时(1)在闪动“P.”状态,按PCDBG(2)在PC机处于DBUG子菜单状态,选择Load功能(3)根据屏幕提示输入目标文件名(Clear.hex)后Enter(4)待传送正常结束后按回车键(5)用F3命令将PC值(默认为0000H)修改为0030H(6)用单步(F8)或断点(先用F2命令输入断点地址,后用F9命令)方法运行实验程序(7)单步.断点运行完后,在存储器窗口内检查7000H-70FFH中的内容是否为全0 五.思考:假设要把7000H-70FFH中的内容改成FF,如何编制程序实验二:拆字程序一.实验目的:掌握汇编语言设计和调试方法二.实验内容:把7000H的内容拆开,高位送7001H低位,低位送7002H低位,7001H.7002H 高位清零,一般本程序用于把数据送显示缓冲区时用三:实验程序框图四:实验步骤:1.先用存储器读写方法将7000H单元置成34H2.用单步.断点或连续执行程序的方法从起始地址0050H开始运行程序(输入0050H后按SETP为单步,按EXEC为连续)3.按MON键或RESET键退出4.检查7001H和7002H单元中的内容为03H和04H五.思考:如何用断点的方法调试本程序实验三:拼字程序一. 实验目的:进一步掌握汇编语言设计和调试方法二. 实验内容:把7000H.7001H的低位相拼后送入7002H中,一般本程序用于把显示缓冲区的数据取出拼装成一个字节三. 实验程序框图:四:实验步骤:1:将7000H单元中内容置03H,7001H单元中内容置为04H2:用单步或断点方式从0070H开始运行程序(输入0070后按STEP键为单步运行)。
实验一:单片机调试软件安装和ISP下载软件的安装与下载实验内容与要求:1、学会USB取电线和串行口USB-232 ISP线的物理连接。
2、USB转232串口(H340驱动)USB设备驱动程序安装,STC串口下载软件STC-ISP V38A的安装。
3、学会利用STC-ISP V38A下载软件将事先准备好的HEX文件烧写入STC89C52RC单片机芯片,观察实验结果。
4、撰写实验报告,并说明观察到的实验结果实验讲义:一、学会USB取电线和串行口USB-232 ISP线的物理连接1、将USB方口取电方口一头连接入实验班方口母座,另一头接电脑USB,见下图蓝方框USB转232串口线,9芯一头接实验班RS232母座,另一头接电脑USB,见下图红色方框二、USB转232串口(H340驱动)USB设备驱动程序安装连接好以后。
会出现,下图安装提示选择从列表或指定位置安装,选择下一步会出现如下图提示选择,在搜索中包括这个位置,点击浏览,会出现浏览文件窗口,如下图点击右侧树形结构,将“+”展开,选择USB转串口线驱动文件夹下面的R340文件夹,点击确定。
下面将返回“找到新硬件向导”窗口如下图。
选择下一步。
USB转RS232驱动程序安装完成。
方口USB不需要安装驱动。
下面在桌面右键单击我的电脑,在弹出的菜单中,选择”管理”,如下图在出现的计算机管理界面中,展开左侧的目录,选择,“系统工具”下面的“设备管理器”,在右侧窗口中,展开“端口”,出现USB-SERIAL (COM5),(注意COM5只是随机的,会根据你插入USB设备的情况而改变,也有可能是COM1 COM3)双击USB-SERIAL (COM5),出现下面“USB-SERIAL (COM5)属性”窗口选侧“端口设置”,看到每秒位数为9600(注USB-SERIAL (COM5)属性只做查看用,它提供了两个信息,通信口为COM5,每秒位数为9600,这在后面下载程序的时候需要用到)三、学会利用STC-ISP V38A下载软件将事先准备好的HEX文件烧写入STC89C52RC单片机芯片在文件夹中找到,并打开“非安装版”文件夹找到STC-ISP V38A,双击鼠标左键运行它。
单片机技术实验教程
单片机技术实验教程
《单片机技术》原理与应用是机电一体化、应用电子技术、自动控制及数控技术应用等专业的一门实用技术骨干课程,它对培养学生的工程思维能力和解决问题的能力具有重要作用。
通过本课程的学习 , 可以使学生较系统地掌握汇编语言的编程方法,掌握单片机的基本原理、接口和应用技术。
熟悉单片机技术在工业控制中的应用 , 可以培养和锻炼学生动手操作和技术创新的能力,使得学生能紧跟计算机技术的发展脚步,为将来从事工业领域相关工作,尤其是自动控制以及应用电子产品的检测和维修奠定坚实的基础,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础,是理工信息类大学生一门重要的技术课程。
课程重点是:单片机体系结构、存储器体系结构、指令系统、汇编语言程序设计、中断系统及其应用、定时器及其应用、外围设备与单片机的接口
技术。
实验一循环结构程序设计
实验目的
1、掌握汇编语言设计和调试方法;
2、熟悉键盘操作;
3、熟悉8051指令系统,掌握循环结构程序设计方法。
实验器材
DAILS 80985B+、微机开发系统、PC机
实验原理
利用R0寄存器做为循环次数计数器,利用DPTR寄存器做为外部RAM的地址指针,通过循环赋值实现外部RAM 2000H-20FFH 单元内容的清零。
程序设计的参考流程如下:
图1-1 清零程序流程图
实验内容与步骤
1、把单片机片外数据存储器的2000H-20FFH的内容清零。
2、把单片机片内数据存储器的40H-60H单元的内容依次送到片外数据存储器以2000H 作为首地址的数据块中。
实验注意事项
1、认真预习外部RAM读写操作和循环类指令。
2、认真预习外部RAM读写操作、逻辑与操作和交换类指令。
3、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,
观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
1、如果将内部RAM 20H~3FH单元的内容清零,应该如何做?
2、如果将外部RAM 2000H~20FFH单元的内容赋值为该单元地址值的低8位值,应该如何实现?
3、编写并调试一个排序程序,其功能为用冒泡法将内容RAM中00H—1FH这连续的32个单元字节无符号的正整数,按从小到大的次序重新排列。
图1-2 排序程序流程图
实验二选择结构程序设计
实验目的
1、掌握汇编语言的编程;
2、熟悉8051指令系统,掌握选择结构程序设计方法。
实验器材
DAILS 80985B+ 微机开发系统、PC机
实验原理
利用R0寄存器做为循环次数计数器,利用DPTR寄存器做为外部RAM的地址指针,在单片机的片外数据存储器的2000-200FH地址中查出有几个字节是零,并把个数放在单片机的片外数据存储器的2100H中。
程序设计的参考流程如下:
图3-1选择程序流程图
实验内容与步骤
1、在单片机的片外数据存储器的2000H-200FH地址中查出有几个字节是零,并把个数放在单片机的片外数据存储器的2100H中。
2、在单片机的片外数据存储器以2000H作为首地址的数据块送到片内以00H作为首地址的数据区域中,已知片外数据块以出现的第一个0值作为结束标记。
假设数据块长度不超过127个字节。
实验注意事项
1、认真预习外部RAM读写操作和循环类指令。
2、认真预习外部RAM读写操作、逻辑与操作和交换类指令。
3、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
1、如果查找其他数值,程序该如何修改?
2、该程序在数据采集过程中如何应用?
3、利用单片机系统,将R2和(R6R7)中所存储的双字节无符号整数相乘,积送R3R4R5中。
实验三单片机最小系统设计与制作
实验目的
1、掌握单片机的结构及工作方式;
2、掌握单片机外围接口相应扩展方法与技巧。
实验器材
DAILS 80985B+ 微机开发系统、PC机
实验原理
见单片机最小系统设计
实验内容与步骤
设计一个单片机最小系统,该系统可向用户提供4KB程序存储器、2K以上数据存储器、4个并行口、一个串行口、2个定时/计数器、两个外部中断输入,并且实现输入缓冲、输出锁存。
完成课题的实验报告,并写出查询相应端口值的程序段。
实验注意事项
1、注意人身安全。
通电前,注意电路连接情况。
2、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
单片机最小系统的用途,以及设计技巧
实验四信号灯控制
实验目的
1、了解P1口的使用;
2、学习汇编语言的编程方法与调试技巧。
实验原理
实验内容及步骤
1、P1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
电路自行设计。
2、P1.0开关接5V,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0、P1.1开关同时接5V或接地时,转弯灯不闪亮。
实验五脉冲计数实验
实验目的
1、熟悉汇编语言编程;
2、掌握初始化编程显示方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验原理
将单脉冲发生器的输出接到T0的输入端(即P3.4口),P3.3~P3.0、P1.7~P1.0接L12~L1共12个LED灯。
利用T0的计数功能实现对外部脉冲的计数,用软件循环读取计数值将TH0和TL0的内容并送到12个LED灯上显示出来即可,程序设计的参考流程如下:
图5-1程序流程图
实验内容与步骤
1、把定时器0外部输入的脉冲进行技术,并送显示器显示。
2、观察数码管上计数脉冲的速度及个数。
实验注意事项
1、由于实验系统在进行单步调试时需要使用T0、RD和WR,故软件设计中要避免修改P3.4~P3.7的值,以免程序运行出现错误。
2、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,观察程序执行前后相关寄存器和存储单元内容的变化,并在实验总结中加以分析。
实验与思考
如果将脉冲计数值用LED数码管以十进制数显示出来,硬件设计上还应该增加什
么器件?软件上应如何改变?
实验六动态数码显示
实验目的
1、熟悉汇编语言编程;
2、掌握初始化编程显示方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
利用P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“123456”字样;当开关接低电平时,显示“HELLO”字样。
实验原理
动态扫描方法:动态接口采用各数码管循环显示的方法,当循环显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一个接口完成数码管的轮流点亮。
对于显示的字形码数据可用查表来完成。
实验七秒表
实验目的
1、熟悉汇编语言编程;
2、掌握延时的方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
在单片机的P0和P2端口分别接两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。
在设计过程中用一个存储单位作为秒计数单元,当一秒钟到来时,就在秒计数单元加一,当秒计数达到60时,就自动返回0,重新秒计数。
对于秒计数单元中的数据采用对10整除和对10取余。
在数码管上显示,采用查表的方式完成。
一秒时间的产生,用软件延时的方法完成。
实验八D/A波形发生器
实验目的
1、熟悉汇编语言编程;
2、掌握D/A转换与单片机的接口方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
利用0832输出一个从0V开始逐渐升至5V,再将至0V的三角波输出;利用相同的原理产生锯齿波及方波。
实验九数字电压表
实验目的
1、熟悉汇编语言编程;
2、掌握A/D转换与单片机的接口方法。
3、掌握数码显示的方法。
实验器材
DAILS80985B+ 微机开发系统、PC机
实验内容
从单片机最小应用系统基本要求出发,拟定一个智能化数字电压表设计方案,合理选择各种器件。
根据所采用的A/D转换器,分析计算数字电压表的测量精度。
根据所采用的显示器件,设计合理的A/D采样和数字显示程序,要求显示误差满足设计精度,最终实现智能化数字电压表功能。