修改新编单片机实验指导书
- 格式:doc
- 大小:1.31 MB
- 文档页数:32
实训项目一让单片机动起来1、实训目的及要求:1)掌握单片机开发板的使用方法(驱动识别,程序下载)2)掌握单片机程序开发软件KEIL的使用3)掌握单片机程序烧录软件STC-ISP下载软件的使用2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序一:#include "reg52.h"sbit LED=P1^0;void main(){LED=0;while(1);}实训程序二:#include "reg52.h"#define LED P1;void main(){LED=0xaa;while(1);}3)实训步骤①打开KEIL软件编写LED控制程序。
②程序调试无误后,使用KEIL生产HEX文件。
③将生产的HEX文件烧录到单片机芯片中,并观察实验现象。
3)实验现象记录实训程序一:。
实训程序二:。
4)实训报告要求①将实训程序中的注释补充完整,了解每条语句作用。
实训项目二LED的闪烁1、实训目的及要求:1)掌握单片机控制LED点亮和熄灭的方法。
2)了解单片机延时程序的原理及设计。
3)了解单片机中常用的变量类型及其定义方法。
2、实训内容1)根据实训报告内容编写单片机程序2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中3)观察实验现象并记录4)完成实训报告内容3、实训准备硬件:单片机开发板、电脑、杜邦线软件:keil uvision4 、STC-ISP4、实训过程1)流程图2)实训程序:#include "reg52.h"#define uchar unsigned char //定义uchar为定义字符型变量,范围#define uint unsigned int //定义uint为定义整型变量,范围sbit LED=P1^0;uint i;//定义整型变量ivoid main(){while(1){LED=0;for(i=0;i<20000;i++);LED=1;for(i=0;i<20000;i++);}}3)实训步骤①打开KEIL软件编写LED闪烁控制程序。
单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种使用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
单片机原理及应用实验指导书殷爱华南京理工大学实验一62256 SRAM自检一、实验目的:1.熟悉仿真器的使用。
2.了解教学实验系统的结构和地址译码方式。
3.通过62256自检程序实验,掌握数据存储器检测方法。
二、实验要求1.实验内容与方法编写自检程序,要求通过循环程序逐个单元检测62256芯片。
分别由低地址单元到高地址单元写入55H和AAH,并读出后进行比较,以判断存储器单元是否工作正常,如果检测结果正常,则点亮一个发光二极管,若检测结果不正常,则使该二极管以闪烁的方式进行指示。
62256RAM的寻址范围为0000H ~7FFFH 。
2.要求①按实验内容自编程序,并输入计算机进行仿真调试。
②完成I/O口某一位的输出与发光二极管电路的连接。
③注意实验设备、电源的使用安全。
④调试完毕观察发光二极管的工作情况是否满足设计要求。
⑤提交试验报告。
三、注意事项1. 不带电操作。
2. 不要随便用手触摸电路板及元器件。
3. 接插电路时务必注意元件正负方向,以防止元件被击穿。
四、实验器材与设备:1. PC计算机一台2. 单片机教学实验开发系统一套3. 实验器材若干五、实验原理:六、实验步骤:七、程序功能要求:八、程序流程图:九、实验源程序并附简单说明:十、实验感想及建议实验二8255可编程并行口输入/输出一、实验目的:1.熟悉仿真器的使用。
2.了解教学实验系统的结构和地址译码方式。
3.掌握8255可编程并行I/O扩展口编程。
二、实验要求1.实验内容与方法编写8255并行输入输出程序,编写8255按位置位/复位程序。
要求8255工作于基本输入/输出方式,PA口和PC口的高4位为输出口,PB口和PC口的低4位为输入口。
用发光二极管显示工作是否正常。
8255的PA口地址—F228H,PB口地址—F229H,PC口地址—F22AH,控制寄存器地址—F22BH。
2.要求①按实验内容自编程序,并输入计算机进行仿真调试。
②完成8255并行输出口与输入口的对应电路连接。
单片机实验指导书近年来,单片机技术的发展十分迅速。
越来越多的工程师和科技爱好者开始接触和学习单片机技术,这促使单片机实验指导书的需求越来越大。
然而,这方面的书籍并不是很多,而且很多都只是简略介绍了一些基础的知识,很难满足读者的需求。
因此,我们有必要撰写一本全面、详实的单片机实验指导书,以供广大读者参考。
一、实验前的准备工作在进行单片机实验之前,需要进行一些准备工作。
首先,应确保实验所需要的单片机、电路板、电路图和元件都准备齐全;其次,应找到合适的实验环境,比如一间安静、干净、通风的实验室;最后,需要特别注意使用电器设备时的安全问题,确保自己和他人的安全。
二、实验的流程和步骤在开始实验之前,需要认真研读实验指导书中的介绍和分析,了解实验的目的、原理和步骤。
然后,按照指导书中的步骤依次进行实验。
实验完成后,应按照要求记录实验数据,并进行分析和归纳总结。
如果有问题需要解决,可以查阅相关的资料和文献,或向老师和同学请教。
三、实验中的注意事项在进行单片机实验时,一定要注意以下几点:首先,要认真选择合适的元件和器材,确保其质量和性能符合要求;其次,要遵守电器设备的使用规范,比如正确连接电源和地线、避免引起短路等;最后,要防止过度使用单片机,以免出现电磁干扰、损坏设备等问题。
四、实验课堂作业单片机实验课堂作业的目的是让学生加深对单片机知识的理解和掌握。
作业内容应与实验内容相密切相关,包括设计实验电路、编写程序、测试运行结果等。
同时,作业应具有一定难度和挑战性,以激发学生的兴趣和创造力。
总之,单片机实验指导书是单片机科技研究和应用的基础。
只有通过认真研读和实践,才能真正掌握单片机技术,应用到实际生产和工程中。
希望我们的实验指导书能够对广大读者有所帮助。
单片机实验指导书实验一拆字程序实验一、实验目的:掌握汇编语言程序设计方法。
二、实验内容:把8000H地址的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清0。
本程序通常把数据送显示缓冲区时使用。
三、实验器材:计算机1台。
四、实验步骤:1、按流程图编写程序,以下是通过计算机交叉汇编得到的LST文件清单,供参考。
2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。
3、设置观察窗口:(1)用鼠标点击[视图/存储器窗口],在地址栏中输入:[x:0x8000];(2)在8000H写入任意数据:在地址栏内选定任意数据,[如:0x008000:00 00 00 00……](注:初始数据均为“00”)。
右键点击一初始数据“00”,在出现的对话框中点击“修改位于X:0x008000的内存”,在新弹出的对话框:[输入字节于X:0x008000]内输入任意数据,确定即完成数据的写入。
(3)单步执行观察寄存器8000H-8002H的变化。
六、实验程序:(51ASM\A8051.asm);把指定字节的高低位拆开分别存放,多用于显示字程序ORG 0000HMOV DPTR,#8000H ;指定的字节MOVX A,@DPTRMOV B,A ;暂存SW AP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH ;指定字节的内容屏蔽高位MOVX @DPTR,ALOOP: SJMP LOOPEND ;结束汇编实验二拼字程序实验一、实验目的:1、进一步掌握汇编语言设计。
2、熟悉软件调试方法。
二、实验内容:把8000H、8001H两个字节的低位分别送入8002H的高位和低位。
本程序一般用于把显示缓冲区数据取出拼装成一个字节。
实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。
(2)、培养程序编制及调试的方法。
(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。
二、实验要求:(1)、给出程序设计流程图。
(2)、设计数制转换实验程序。
(3)、记录单片机实验板晶体振荡器的波形图。
(4)、记录单片机实验板上电复位电路的波形图。
三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。
(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。
在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。
(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。
也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。
实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。
此时,如果系统工作正常,会在显示器上显示“HB--51”。
如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。
3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。
设置工程的名称和保存位置,确定后点击“保存”。
3.3 编写程序在Keil C51开发环境中,编写单片机程序。
首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。
3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。
编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。
3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。
第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。
4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。
4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
实验一清零程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。
二、实验内容把c000H~c0FFH的内容清零。
三、程序框图清零四、实验步骤用连续或单步方式运行程序,检查C000~C0FF中执行程序前后的内容变化。
五、思考(1)对于清零程序,假使把C000H~C0FFH中的内容改成FF,如何修改本程序?(2)如何用断点方式调试程序?实验二拆字程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。
二、实验内容把C000H的内容拆开,高位送C001H低位,低位送C002H低位,C001H、C002H 高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图拆字四、实验步骤程序一:用连续或单步方式运行程序,检查C000~C002H中内容变化情况。
程序二:单步或用断点方式运行程序,检查C002H内容变化情况。
五、思考编写程序:把C000H、C001H的低位分别送入C002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
实验三数据区传送程序(综合性)一、实验目的(1)掌握RAM中的数据操作;(2)熟悉8031(8051)指令系统,掌握程序设计方法。
二、实验内容把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
三、程序框图数据区传送四、实验步骤在R2、R3中输入源首址(例如c000H),R4、R5中输入目的地址(例如D000H),R6、R7中输入字节数(例如0FFFH),运行程序,检查C000~CFFFH中内容是否和D000~DFFFH 中内容完全一致。
一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。
二、实验预备知识本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。
对于延时程序DELAY: MOV R6,#00HDELAY1:MOV R7,#80HDJNZ R7,﹩DJNZ R6,DELAY1MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。
一般性实验实验一普通I/O口操作实验实验目的:1、熟悉SDIDE开发环境,熟悉GP32基本程序结构2、理解Freescale MCU的编程框架3、熟悉编程调试环境,编译、调试、下载运行第一个程序4、掌握I/O的基本编程方法范例程序:① A01_简单IO及程序框架\ FrmMain.ASM② C01_简单IO及程序框架\纯C\prgframe.prj③ C01_简单IO及程序框架\C&ASM混编\prgframe.prj实验要求:1、参看教材6.4节,熟悉实验板结构2、运行并读懂教材第7章的关于I/O口操作的LED灯控制程序3、按下列要求新建一程序:根据PB口低2位(PTB1和PTB0)的状态输出四种不同的LED显示效果,要求用最简洁的语句实现以下各效果。
(1)PTB1=0,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。
(效果1)(2)PTB1=0,PTB0=1时,效果为:8个LED中只有两个连在一起的灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约4秒。
(效果2)(3)PTB1=1,PTB0=0时,效果为:8个LED中只有一个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约8秒。
(效果3)(4)PTB1=1,PTB0=1时,效果自定。
(效果4)实验二串行通信实验实验目的:1、理解串行通信基本原理,掌握MCU串行通信基本编程方法2、理解串行通信的查询方式和中断方式原理及其编程范例程序:1、C02_1串行通信查询方式\ H08SCI_1.prj2、C02_2串行通信中断方式\ H08SCI_2.prj3、A02_1串行通信查询方式\ SCIMain1.asm4、A02_2串行通信中断方式\ SCIMain2.asm5、以上四目录都有VB_SCI目录,该目录是对应Visual Basic6.0程序,运行在PC方,用来接收和发送数据。
单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。
通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。
二、实训设备1、计算机:用于编写和调试单片机程序。
2、单片机开发板:包含单片机芯片、外围电路和接口,如STC89C52 开发板。
3、编程器:用于将编写好的程序下载到单片机中。
4、示波器:用于观察电路中的信号波形。
5、万用表:用于测量电路中的电压、电流等参数。
三、实训要求1、学生应提前预习相关的理论知识,熟悉单片机的基本结构和编程方法。
2、实训过程中,要严格遵守实验室的规章制度,注意安全,爱护实验设备。
3、认真完成每个实训项目,按时提交实训报告。
4、培养团队合作精神,积极参与小组讨论和项目开发。
四、实训内容(一)单片机基础知识1、了解单片机的发展历程、应用领域和特点。
2、熟悉单片机的内部结构,包括中央处理器(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)、定时器/计数器、中断系统等。
3、掌握单片机的指令系统和编程方法,能够使用汇编语言或 C 语言进行简单的程序编写。
(二)单片机开发环境搭建1、安装单片机编程软件,如 Keil C51。
2、学习编程软件的使用方法,包括创建工程、编写代码、编译调试等。
3、安装并使用下载软件,将编写好的程序下载到单片机开发板中。
(三)单片机 I/O 口控制实验1、学习单片机 I/O 口的工作原理和控制方法。
2、编写程序实现对单个 I/O 口的输出控制,如点亮 LED 灯。
3、实现对多个 I/O 口的组合控制,如流水灯效果。
(四)定时器/计数器实验1、了解单片机定时器/计数器的工作原理和计数模式。
2、利用定时器/计数器实现定时功能,如控制LED 灯闪烁的频率。
3、实现计数器功能,如对外部脉冲进行计数。
《单片机应用技术》实验指导书主编:储忠合肥学院电子信息与电气工程系2013年2月单片机应用技术课程为一门理论与实践相结合的课程,本课程安排的实验旨在培养学生软硬件开发能力,用编程语言及硬件设备实现串、并行通讯、计数/定时、A/D、D/A等硬件接口的功能,进一步加深对常用硬件芯片的了解和应用,以及学习用单片机解决实际问题。
实验要求学生利用编程语言及硬件设备实现单片机的方案设计、程序编写、硬件连接、调试,从中体会具体硬件接口的应用技巧,进一步理解硬件接口芯片,逐步掌握单片机系统的开发和应用方法。
STAR ES598PCI提供实验仪具有与微机同步演示功能, 允许学生在Windows操作系统下编写、编译、连接、错误定位、调试、观察、修改系统, 不需要使用早期的PWB、TD等DOS下的调试环境。
通过本实验的学习,学生可以熟悉各种类型的接口芯片,汇编语言程序的编写、调试,充分锻炼动手及编程能力。
合肥学院电子信息与电气工程系实验室实验守则错误!未定义书签。
实验一构建单片机最小系统和实验环境熟悉.. 错误!未定义书签。
实验二跑马灯实验及74HC138译码器.............. 错误!未定义书签。
实验三8255控制交通灯实验 .......................... 错误!未定义书签。
实验四8253方波实验 ...................................... 错误!未定义书签。
实验五继电器控制/光偶控制实验.................... 错误!未定义书签。
合肥学院电子信息与电气工程系实验室实验守则为了培养严肃认真、实事求是的科学实验态度和善于思考、勤于动手的学习作风以及保证实验教学的正常进行,电子信息与电气工程系实验室特制定以下规则,望遵照执行:1、禁止一切无关人员随意进入实验室和动用实验仪器设备和实验室内物品,确需进入实验室工作学习的一切人员要必须严格遵守实验室的规章制度,服从实验室管理人员的安排。
目录实验一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,实验目的:熟悉51指令系统,掌握程序设计方法。
2,实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
3,程序框图:4,实验步骤:将RAM 50H~5AH 中放入不等的数据,用断点方法运行本实验程序后检查50H~5AH中的内容是否按从小到大的次序排列。
5,思考:修改程序把50H~5AH中内容从大到小排列。
6,程序清单:ORG 0000HLJMP QUEORG 09B0HQUE: MOV R3,#50HQUE1: MOV A,R3 ;指针送R0MOV R0,AMOV R7,#0AH ;长度送R7CLR 00H ;清标志位MOV A,@R0QL2: INC R0MOV R2,ACLR CMOV 22H,@R0CJNE A,22H,QL3 ;相等吗?SETB CQL3: MOV A,R2JC QL1 ;大于交换位置SETB 00HXCH A,@R0DEC R0XCH A,@R0INC R0 ;大于交换位置QL1: MOV A,@R0DJNZ R7,QL2JB 00H,QUE1 ;一次循环中有交换继续LOOP: SJMP LOOP ;无交换退出END硬件实验硬件实验可使学生能进一步掌握单片机系统扩展和输入输出程序的设计方法,熟悉对扩展系统的软件、硬件设计,调试方法和技巧。
实验二P1口转弯灯实验1,实验目的:进一步了解P1口的使用,学习汇编语言编程方法及调试技巧。
2,实验内容:P1.0 接开关5V,右转弯灯闪亮,P1.1接开关5V时左转弯灯闪亮,P1.0,P1.1同时接5V或接地时,转弯灯均不闪亮。
3,实验程序框图:4,实验接线图:5,实验步骤: P1.0 接K1,P1.1接K2,P1.4~P1.7接L1、L4、L7、L10,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。
第一章初级软件实验部分实验一二进制转换成十进制实验一、实验设备1.THGQC-1型嵌入式单片机实验开发系统-套。
2.PC机一台。
注:其它实验与此相同,此项以后不再重述。
二、实验目的掌握汇编语言设计和实验步骤,熟悉在KEIL环境下观察内部RAM 的方法。
三、实验内容单片机中的数值有各种表达方式,这是单片机的基础。
掌握各种数制之间的转换是一种基本功。
本实验内容是将一个给定的一字节二进制数,通过编程将其转换成十进制码。
四、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。
在所建的Project文件中添加TOBCD.ASM文件,打开TOBCD.ASM文件,阅读、分析、理解程序,编译程序进行调试。
(如何建立工程请看附录说明)2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序。
程序具体功能是将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#0ffh。
打开MEMORY WINDOW数据窗口,(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、32H的数据变化,30H更新为02,31H更新为05,32H更新为05。
3)修改源程序中给累加器A的赋值,重复实验,观察实验效果。
4)打开CPU寄存器窗口,选择单步或跟踪执行方式运行程序,观察各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
五、实验程序参考框图六、实验参考程序RESULT EQU 30HORG 0000HJMP STARTORG 0100HSTART:MOV SP,#40HMOV A,#0FFHCALL BINTOBCDNOP ;此处设置断点,察看RAM 30H,31H,32HLJMP $BINTOBCD:MOV B,#100DIV ABMOV RESULT,A;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETEND实验二无符号数十进制加法实验一、实验目的掌握无符号数、十进制加法,熟悉在KEIL环境下观察内部RAM 的方法。
- - -.51系列单片机原理与应用实验华南师X大学物理与工程工程学院微机教研室20010年9月目录实验须知 (2)实验一数字量输入输出实验 (4)实验二定时与中断实验 (6)实验三串行通信实验 (9)实验四串行A/D转换实验 (11)实验五交通灯控制实验 (12)实验六现实人体视觉暂留特性测试实验 (14)实验七实时时钟制作实验 (17)实验八简易电子琴制作实验 (18)实验九EEPROM应用—数字密码锁 (20)实验十综合实验:教学板自检程序设计 (25)实验十一数据采集—火灾报警装置的软硬件设计 (26)附录一实验教学板 (27)附录二实验用软件使用说明 (28)实验须知一、预习要求1.实验前认真阅读实验指导书的相关内容,明确实验目的和实验任务。
2.实验前应做好预习报告,在报告中,要求画出所设计的实验电路原理图、程序流程图,编写好程序,并对程序加以注释,还要拟订好实验步骤。
二、实验要求1.按实验中心安排的时间到指定实验室上实验课,不要迟到、缺席。
有特殊原因不能在原安排时间来实验时,须提前一天通知实验中心负责教师。
2.认真完成每次实验的各项任务,实验结果要请指导教师检查。
教师对实验内容提问,并对完成者进行记录。
3.爱护设备,保持清洁,不得在实验室内大声喧哗,不要将食物带入实验室,不擅自更换设备。
4.在实验箱(板)通电状态下,不要用手随意触摸电路板上除按键和开关以外的芯片等其它元器件。
,严禁带电操作,即所有接线、改线和拆线操作均应在不带电的状态下进行。
5.实验中若发生异常情况应立即切断电源,并向指导教师报告,检查原因,避免再次发生类似情况。
6.实验完毕,请整理好实验设备后再离开实验室。
三、实验报告要求实验报告必须使用实验报告专用纸,书写要工整、清楚,并在下一次实验时交给指导教师。
实验报告应包括以下内容:1.实验名称、实验人XX、学号、班级、同组人XX。
2.实验目的、任务(内容)。
3.各任务程序流程图、自编程序清单,对程序须给出适量注释(例如:变量和某些寄存器的作用,关键程序段的功能等)。
4.应画出所设计的完整实验电路图。
5.记录和分析实验调试过程中遇到的问题并给以合理的解释,简述是如何解决的。
记录实验结果,6.解答思考题。
实验一数字量输入输出实验一、实验目的1.熟悉教学板电路及其结构。
2.掌握利用μVision C51 软件编辑、调试(包括仿真调试、单步调试)、运行单片机程序的步骤和方法,掌握利用STC-ISP V39软件和下载线将程序写入单片机的方法。
3.通过实验熟悉51单片机的并行I/O口,并掌握它们的应用。
4.掌握矩阵键盘、LED动态显示的工作原理。
二、实验设备PC机一台、实验教学板一块。
三、实验准备1.阅读实验讲义附录一、实验教学板电路图和附录二、μVision软件使用说明2.按实验题目要求设计好硬件电路,画出电路原理图,设计出相应程序,并给程序加上较详细的注释。
四、实验内容1. 1.实验线路如附图所示,51单片机的P0口输出接8个发光二极管的阴极,P2.4经NPN三极管9011控制发光管的阳极。
P3口支持一个8位行列式键盘,其中P3.4~P3.7供键盘扫描输出,P3.2、P3.3作键盘扫描输入。
2.实验要求:编程实现键盘对发光二极管的控制,每按一个按键,使对应的二极管点亮。
2.51单片机P0口输出同时接4个数码管的阴极,P2.0~P2.3,经NPN三极管9011接数码管的阳极,该端口用于分别控制相应数码管的导通。
实验要求:编程实现对任意按键动作的次数进行计数(最大99次),同时将计数值实时显示。
五、实验步骤1.将实验板与PC机通过口连接。
启动PC机,进入μVision软件环境,选择建立新工程文件,即可开始输入源程序。
2.完成汇编、编译、连接,若有错误,则修改源程序,直至编译、连接通过为止。
3.接上实验板上的电源。
3.运行“STC-ISP V39.EXE”,将程序代码下载到实验板的单片机中。
操作的顺序是:1)选择单片机(MCU TYPE)型号。
如:“STC89C51RC”要与实验板上所装单片机的型号一至。
2)打开文件(Open File)。
即把要下载到单片机的程序文件(已通过编译了的机器码文件——二进制(.Bin)或十六进制(.Hex)的)调到“文件缓冲区”,这时可看到右边的“文件缓冲区”有数字变化。
3)选择串行通信口。
选对时,软件上的小灯会变绿。
否则小灯是灰色。
且在左下窗口提示“出错信息”。
4)下载:按“Download/下载”按键下载。
5)把实验板上的供电的直流电源拔掉或关掉3秒钟再插入或打开电源(为单片机上电复位)。
注意:4)和5)顺序不能反!4.观察单片机运行情况,验证程序是否能完成题目给出的控制要求,若不能达到要求,分析原因、查找错误,修改源程序,再次汇编、连接,重新下载、运行,直至达到题目的控制要求。
六、参考程序流程图实验内容1流程图实验内容2流程图键盘处理程序流程图七、思考题1.在调试程序过长中,你是如何发现程序中的错误?2.按键程序为什么要有去抖动功能,如何去抖动?3. 在显示时,为什么要延时1ms,这个时间过长或过短,会出现什么现象?实验二定时与中断实验一、实验目的1.通过实验掌握51单片机的定时/计数器的应用。
2.掌握51单片机的中断原理及应用。
3. 进一步学习系统应用程序的设计和调试方法二、实验设备PC机一台、实验教学板一块。
图2-1三、实验内容实验线路如图2-1, 通过定时器的定时,产生一定频率的波形信号,经P2.5输出,驱动蜂鸣器,便可发出某一频率的音调,若按乐曲的音调连续发出,并使其按节拍变化,便可演奏一首乐曲。
实验要求:编程实现演奏一首乐曲C调常用音频及其对应频率如下表:音符频率T值音符频率T值7SI 494 64603 5 So 784 649481 DO 523 64654 6 La 880 650122 Re 587 64751 7 Si 987 650693 Mi 659 64837 1DO 1046 650954 Fa 698 64875 2RE 1174 65143定时器初值计算方法:由于软件是通过定时器溢出后对P2.5取反产生方波,故定时器溢出时间为1//2f,则计数器计数初值为:X = 65536 —n = 65536—(1/2f)/12/fosc = 65536—fosc/24f电路板上的晶振频率为11.0593MHZ,根据不同音调的频率值,就可以计算出上表的初值。
用乐曲最短的1/4拍为一个基本节拍时间,定为0.5秒,基本节拍时间由另一个定时器产生,设此定时器定时时间为50ms,定时时间常数(计数器初值)= 65536 —(50000*12/11.0593)=02C13H,可以分别通过该定时中断10、20、40、80次满足1/4拍、1/2拍、1拍、2拍的定时要求。
软件编程时,要先将乐谱转换成包含有音符和音长信息的代码,然后,以查表方式通过乐谱代码控制喇叭演奏出乐曲。
具体方法如下:(1)乐谱代码用字节结构,字节高4位代表音符,从SI到RE分别用0到9表示;字节低4位代表该音符的节拍,用1、2、3、、、8分别表示1/4拍、1/2拍、1拍、、、4拍,按照这样的规则,将整段音乐变换成相应的代码数据表,最后一个字节内容为00H,代表数据表的结束。
(2)在程序执行时按顺序查表,从字节数据中取出音符代码和节拍代码,查频率表得该音符对应频率的定时初值,再根据节拍代码控制音长,启动两个定时器后,即可发出要求的音,这样就控制演奏出完整的乐曲。
四、实验参考汇编主程序:ORG 0000HRESET: AJMP MAINORG 000BH ;定时器0中断入口AJMP TT0PORG 001BH ;定时器1中断入口AJMP TT1P0RG 0020HMAIN: MOV S P,#70H ;设堆栈区CLR P2.5 ;关声音MOV I E,#**H ;开中断(参数自己填写)MOV R1,#0H ;乐谱数据表偏移量ACALL PTOM2 ;调乐曲输出子程序CLR TR0 ;停止定时器的工作CLR TR1CLR P2.5 ;关声音HERR: AJMP HERR ;程序结束PTOM: MOV T MOD,#****H ;设定时器的工作方式(参数自己填写)PTOM1: MOV D PTR,#MUCI ;乐曲数据表首地址送DPTRMOV A,R1MOVC A,A+DPTR ;取乐谱数据JNZ PTOM2RET ;数据为00时结束PTOM2: MOV R2,A ;暂存ANL A,#0F0H ;保留音符数据SWAP ARL A ;乘2(每个音符要2个字节的定时值)MOV R3,AMOV D PTR,#TABL ;频率表MOVC A,A+DPTR ;查表得定时高8位MOV T H0,AMOV A,R3INC AMOVC A,A+DPTR ;查表得定时值低8位MOV T L0,AMOV A,R2ANL A,#0FH ;保留节拍数据MOV B,#8MUL AB ;乘8得定时中断次数MOV R0,AMOV T H1,#2CH ; 50ms定时的初值MOV T L1,#13HSETB TR1 ;启动定时器SETB TR0HERE: CJNE R0,#0H,HERE ;当前的节拍时间完成了?INC R1 ;是,准备取下一个数据AJMP PTOM1TT0P: 自编定时器0中断服务程序……TT1P: 自编定时器1中断服务程序……TABL: DW64603,64654,64751,64837……;乐曲“送别”的数据表MUCI: DB 54H,32H,52H,88H,64H,82H,62H,58H,54H,12H,22H,34H DB 22H,12H,2CH,54H,32H,52H,86H,72H,64H,84H,58H,54HDB 22H,32H,46H,02H,1CH,64H,84H,88H,74H,62H,72H,88HDB 62H 72H,82H,62H,62H,52H,32H,12H,28H,28H,54H,32HDB 52H 84H 72H,64H,86H,58H,54H,22H,32H,46H,02H,1CHDB 00H五、思考题1.总结程序调试的方法。
2.根据实验板,设计一个任意乐曲的音乐盒子,并给出程序流程图。
实验三 串行通信实验一、实验目的1.了解51单片机串行口的结构、串行通讯的原理。
2.掌握51单片机与PC 机之间通讯的方法。
3. 学习系统应用程序的设计和调试二、实验设备PC 机一台 、 实验教学板一块。
三、实验原理51单片机的串行接口是全双工的,它能做异步接收器/发送器(UART ),也能做同步移位寄存器使用。