实验01 单片机开发系统及使用
- 格式:doc
- 大小:17.34 MB
- 文档页数:8
目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
YUYP-01单片机开发应用技术综合实验装置一、概述本单片机开发应用技术综合实验装置由控制屏、实验挂箱、实验桌组成,通过本实验台可完成单片机的接口扩展、数据采集、数据显示、键盘控制、定时器、打印机接口等实验,配备有仿真器。
更设有国内单片机教学设备空缺的机电一体化设备:智能物料搬运装置。
该设备从气动,电动及单片机控制电气电路、软件设计等多方面着手培养学生动手动脑能力;教学与实践相结合使学生毕业后能很快利用单片机知识设计制造出常用的工控自动化设备,成为企业有用之才。
专为高职中职课程设计、毕业设计和单片机竞赛的开发平台,体现了灵活性、开放、创新、综合、跨领域、跨专业的设计理念。
能够满足高职中职院校电子工程专业等不同层次的基础实训教学,课程设计,毕业设计,课题设计,符合学生的从基础到高级,从理论到实践的学习认知曲线。
设有电流型漏电保护器,控制屏若有漏电现象,漏电流超过一定值,即切断电源,对人身安全起到一定的保护。
装置采用组件式结构,更换实验模块便捷。
如需扩展功能或开发新实验,只需添加实验模块挂箱即可,永不淘汰。
二、主要技术参数1、输入电源:AC220V±10% 50Hz2、工作环境:温度-10℃~+40℃相对湿度<85%(25℃)3、装置容量:200VA4、重量:100Kg5、外形尺寸(cm):160×75×1506、挂箱尺寸(mm):410×240×607、输出电源:有漏电、短路、过流保护A.~220V,通过安全插座输出B.直流稳压电源:±5V/1A ±12V/2A三、装置构成(一)实验屏:实验时放置实验挂箱,并提供实验电源,铁质双面亚光密纹喷塑结构。
(二)实验桌:钢木结构,桌面为防火、防水、耐磨高密度板,电脑桌连体设计,造型美观大方。
(三)实验模块:1、DP--01 单片机实验挂箱(一)LED点阵显示模块、点阵式字符液晶显示模块、8253定时计数器、A/D转换、D/A转换、V/F转换、F/V 转换、串引EEPROM、EEPROM、Flash Rom、SRAM、I2C总线接口2、DP--02 单片机实验挂箱(二)8251串行口扩展、232总线串行接口、单片机最小应用系统1、单片机最小应用系统2、拔码开关输出3、DP--03 单片机实验挂箱(三)ISD 1420语音控制、IC卡读写接口、实时时针/日历、USB接口、RS232转RS485接口4、DP--04 单片机实验挂箱(四)8279接口电路、8255 I/O扩展、8155 I/O扩展、动态扫描显示模块、转换接口、MC14433、整列式键盘实验模块5、DP--05 单片机实验挂箱(五)步进电机驱动程序示列、温度传感器与温度控制、汽车转弯信号灯/十字路口交通灯、数字频率计、看门狗6、DP--06 单片机实验挂箱(六)十六位逻辑电平显示、继电器控制接口、常用器件接口、八位逻辑电平输出、单次脉冲、扬声器、串引静态显示模块、查询式键盘。
《实验一 应用系统开发过程演示》实验报告参考一.实验目的1.了解单片机应用系统的开发过程,获得感性认识。
2.了解开发箱/开发板的使用方法3.了解仿真软件的基本功能和使用方法。
二.实验环境(一) EL 型微机教学实验系统:1. 设备::北京精议达盛科技有限公司EL-MUT3多CPU 单片机/微机实验实训系统2. 软件:北京精议达盛科技有限公司8051调试软件4.0版 二.实验电路(一) EL 型微机教学实验系统实验电路(二) 仿真软件开发调试环境: 1.英国 Labcenter electronics 公司的Proteus EDA 工具软件, 2. 美国Keil 公司的µVision 集成开发环境 (二) 仿真软件实验电路:三. 操作步骤:(一)EL 型微机教学实验系统操作步骤1. 连线:P1.0~P1.7接LED1~LED82. 新建汇编语言源文件3. 另存为D:\J08X\SY1.ASM4. F3编译生成目标文件,F5进入调试:工具栏上“R ”打开寄存器窗,“H ”打开反汇编窗口F8,单步执行,观察相关寄存器窗口中有关寄存器中数据的变化。
四. 源程序(括号中为EL 型微机教学实验系统中的程序)ORG 0000H (ORG 4000H ) SJMP MAIN (LJMP MAIN) ORG 0040 H (ORG 4100H) MAIN: MOV A,#0FEH LOOP: MOV P2,A (MOV P1,A ) LCALL D_1s RL A AJMP LOOP ;以下为延时子程序 D_Is: MOV R6,#100 ;1s D10ms: MOV R5,#40 :10ms DL: MOV R4,#123 N0P DJNZ R4,$ DJNZ R5,DL DJNZ R6,D10ms RET END(二) 仿真软件开发调试环境: ◆Proteus 工具软件下, 1.新建设计 ①选取元件 A T89C51,RES,LED-RED ②在工作区放置元件,地线,电源 电阻RES 阻值200Ω,模式DIGITAL ③连线 2. 源程序设计,生成目标文件代码 “Source →Add/RemoveFiles ”新建源程序文件D:\J08X\L Y1.ASM “Source → SY1.ASM ”在文本编辑器编写源程序 通过“Source →BuildAll ”编译源程序,生成目标程序。
单片机原理与应用实验报告学校:合肥工业大学班级:计算机科学与技术学号:姓名:第一章MC51 单片机原理及应用软件实验实验1:系统认识实验1.实验目的(1)了解ZY15MCU12BC2单片机实验开发装置的接线与安排。
掌握实验箱内拨位开关KF,KC的使用方法。
(2)通过实例程序的编辑、编译、链接及调试,熟悉Keil C51软件的使用方法和基本操作。
(3)教育学生爱抚实验装置,养成良好的实验习惯。
2.试验设备(1)ZY15MCU12BC2单片机实验开发装置一台。
(2)PC系列微机及相关软件。
3.试验内容(1)使用串行通讯电缆将实验开发装置与PC机相连。
(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境。
(3)确认拨位开关KF的开关为A端,确认89C51处于仿真状态。
(4)在uVision2开发平台上建立并编辑示例程序:计算N个数求和程序。
其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和的结果放在片内RAM区03H(高位)和04H(低位)单元中。
题目:1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?(5)编译连接源程序。
(6)在Keil uVision2主菜单窗口进入DEBUG调试环境,打开存储器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检查程序的运行结果,即观察在存储器窗口片内RAM区03H(高位)、04H(低位)单元中的数据是否正确。
(7)实验结束,撤出接线,将一切整理复原。
4.实验源程序ORG 0000HLJMP MAINORG 1000HMAIN: MOV R2,#06HMOV R3,#03HMOV R4,#04HMOV R0,#50HL1: MOV A,R4ADD A,@R0MOV R4,AINC R0CLR AADDC A,R3MOV R3,ADJNZ R2,L1END5. 实验结果截图6. 实验总结这次试验,熟悉了单片机开发的基本流程,对于实验的两道题目1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?实验结果如上图所示50H~54H存放数据,第一道题计算出来是0x00DEH,第二道题目计算出来是0x0137H,实验结果和预期相符,成功的完成了实验。
实验一认识实验一.实验目的1.了解仿真器的硬件结构与接线。
2.了解MCS-51单片机复位功能及复位后的内部状态。
3.通过示例程序的键入与执行,学习仿真器的使用与操作方法。
二.实验内容1.对照实验指导书,查对实验机具体接线。
2.按照开发系统的使用方法,分别查看复位后PC、SP、DPTR等特殊功能寄存器及片内、片外RAM的内容。
3.熟悉开发器的使用,将下面程序键入实验机。
ORG 2000H2000 74AA MOV A,#0AAH2002 75F0BB MOV B,#0BBH2005 E5F0 MOV A,B2007 78CC MOV R0,#0CCH2009 E8 MOV A,R0200A 80FE SJMP $4.程序键入后,检查各存储单元所储机器码是否正确如有误,重新键入,达到修正的目的。
5.单步执行示例程序,逐步检查执行结果,核查与分析结果是否相符,直到执行完最后一条指令。
6.练习连续执行示例程序,检查执行结果,核查与分析结果是否相符。
7.自己在示例程序中插入一条指令,执行并查看结果,然后删除,熟悉插入/删除操作。
8.将示例程序移到另外一个存储区,执行并查看结果,熟悉程序块移动操作。
三.实验预习要求1.认真阅读指导书的相关内容,熟悉开发系统的各种操作。
2.实验前应写出规定操作任务的具体操作方法步骤。
四.思考题1.MCS-51单片机怎样实现内部复位,画出一种复位电路。
2.PC、SP、P0、P1、P2、P3复位状态是什么?各有何意义?3.示例程序中最后一条指令SJMP $的作用是什么?如果取掉这一条指令,程序的执行将发生什么变化?4.实验机监控系统怎样实现程序“单步执行”功能?五.实验报告要求1.按实验顺序,写出实验操作的方法步骤。
2.写出实验中所遇到的问题与解决过程。
写出思考题的答案。
实验二建立数据区、数据块传送一.实验目的1.进一步熟悉实验机操作,练习程序调试方法。
2.理解并掌握建立数据区与数据块传送程序。
实验一 I/O口实验一、实验内容1、P1.2做输出口,点亮LED。
2、P1口做输入口,接八只发光二极管,编写程序,使发光二极管循环点亮。
二、实验目的l、学习P1口的使用方法。
2、学习延时子程序的编写和使用。
三、有关说明P1口为准双向口,P1的每一位都能独立地定义为输出线或输入线,作输入的口线,必须首先向锁存器相应位写入“l”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“l”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。
可以用第二个实验做一下试验。
先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。
再来看一下延时程序的实现。
现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为12MHZ,则一个机器周期为12÷12us即1us。
现要写一个延时的程序,可大致写出如下:MOV R7,#255 (1)DE1:MOV R6,#255 (2)DE2:DJNZ R6,DE2 (3)DJNZ R7,DE1 (4)上面MOV.DJNZ指令均需两个机器周期,所以每执行一条指令需2us,现求出X值:(255×2+2+2)×255+2=0.13×106指令(3) (2) (4) (1)所需时间需时间需时间需时间可知实际延时约0.131072S。
比较C程序void delay(unsigned char tmp) //延时子函数{unsigned char i,j;i=tmp;while(i){i--;j=255;while(j){j--;}LED产生流动,可以使用C51的内部函数INTRINS.H实现。
函数unsigned char _crol_(unsigned char a, unsigned char n) 可以使变量a循环左移n位,如果我们先给P1口赋 0000 0001那么当n为1时,便会产生流动效果。
单片机基础操作流程
单片机是一种集成电路,可以完成各种控制任务。
在进行单片
机的基础操作之前,我们需要准备好一些工具和材料,比如单片机
开发板、USB数据线、编程软件等。
首先,我们需要连接单片机开发板和电脑,使用USB数据线将
它们连接起来。
然后,打开编程软件,比如Keil或者Arduino IDE,开始进行编程。
在编程之前,我们需要了解单片机的引脚功能和寄存器的作用。
单片机的引脚可以用来输入输出信号,连接外部设备,比如LED灯、按钮等。
寄存器则用来存储数据和控制单片机的各种功能。
接下来,我们可以开始编写程序了。
首先,我们需要定义引脚
的功能,比如将某个引脚设置为输出模式,控制LED灯的亮灭。
然后,我们可以编写控制逻辑,比如通过按下按钮来控制LED灯的开关。
编写好程序后,我们需要将程序下载到单片机中。
这个过程称
为烧录。
在Keil中,我们可以通过点击“Build”按钮来生成hex文件,然后通过烧录器将hex文件下载到单片机中。
在Arduino IDE 中,我们可以直接点击“Upload”按钮将程序下载到单片机中。
下载完成后,我们可以开始测试程序了。
通过按下按钮或者输
入信号,我们可以看到LED灯的亮灭情况,验证程序的正确性。
除了控制LED灯,单片机还可以实现更多功能,比如控制电机、读取传感器数据等。
通过不断学习和实践,我们可以掌握更多单片
机的基础操作流程,为以后的项目开发打下坚实的基础。
实验1单片机开发系统及使用
(一) 实验说明
1. 了解单片机开发系统的基本功能,掌握单片机开发系统的使用方法。
2. 通过对典型程序的调试操作训练,掌握运用开发系统快速有效地进行调试的基本方法。
3. 熟悉单片机仿真开发系统的使用方法,掌握其基本功能与操作过程
(二) MedWin集成开发软件介绍
对于不同的单片机开发系统,调试软件和调试环境也有所不同,例如:MICE-51型单片机开发系统是在DOS环境下通过MBUG调试软件进行录入、编辑、汇编及调试。
Insight系列的Me-52A型是在Windows环境下通过MedWin集成开发软件完成各项编程与调试任务,它们的基本功能大致相同。
以MedWin集成开发软件的使用为例,介绍开发系统的使用步骤和调试方法。
1.开发环境使用步骤
(1)开发系统和目标板连接好,并接上电源。
(2)启动MedWin中文版,初次启动出现图(a)所示窗口,再次启动出现图(b)所示窗口。
(a)(b)
单击“取消”或“模拟仿真”进入MedWin集成开发环境,出现图(c)所示界面。
(3)设置汇编(或编译)环境。
第一次在MedWin中使用汇编语言汇编(C51编译)环境需进行“编译、汇编、连接配置”(以后使用不需再配置了)。
单击“设置”菜单项,如图(d)所示。
选择“设置向导”,弹出如图(e)所示的编译、汇编、连接配置窗口。
单击“下一步”按钮,弹出如图(f)所示的窗口,在该窗口中设置系统头文件路径和系统库文件路径。
选择源程序扩展名为ASM(或C),若采用汇编语言编制源程序,应选择ASM,然后按“完成”按钮即可。
(c)集成开发环境界面(d) 设置菜单项
编译、汇编、连接配置窗口
(4)新建NEW(或打开Open)文件。
在图(c)中单击“文件”选项,出现图(g)所示菜单,选择“新建”(或“打开”)文件,出现图(h)新建文件界面,选择文件存放路径,输入文件名,单击打开。
可使用开发系统提供的编辑器编辑扩展名为.ASM的源程序(或在WINDOWS和DOS环境下编辑的源程序),如:××.ASM。
编制源程序时,可在每条指令的后面加必要的文字注释,但注释前须用分号间隔。
若用C语言编制源程序时,文件名应为××.C。
(5)对源程序进行汇编(或编译)。
源程序编好后,在图(c)中单击“项目管理”,如图(i)所示。
选择“编译/汇编”菜单项(或Ctrl+F7)对当前的源程序进行“编译/汇编”。
若采用汇编
语言编制源文件,将对当前文件进行汇编。
若采用C语言编制源文件,将对当前文件进行编译。
(g)文件处理菜单项(h)新建文件界面
(i)项目管理菜单
(6)排除错误。
文件经过“编译/汇编”后,在消息窗口将会出现纠错信息,该信息将提示错误出现的位置及错误的类型和数量等,使用者可根据该信息对源程序的错误进行纠正,纠正后再重新进行“编译/汇编”直至错误信息数量为“0”。
(7)产生代码并装入仿真器。
在图(i)所示“项目管理”菜单栏中选择“产生代码并装入”菜单项(或Ctrl+F8),将生成的文件代码装入(Load)单片机开发系统的仿真RAM中。
(8)调试程序。
产生代码并装入仿真器完成后,在图(c)中单击“调试”,如图(j)所示。
再根据调试的需要选择各种不同的调试方法对程序进行调试。
在编译/汇编源程序时,汇编(或编译)系统只能提示源程序的逻辑、符号等方面的错误信息,而对程序运行的结果是否正确、运行的过程是否符合编程者的设计要求等将无法作出正确判别。
因此,设计者必须运用开发系统所提
供的各种调试功能,快速有效地排查程序存在的各种问题,直至程序完全符合设计要求为止。
(j) 程序调试菜单
(9)输出代码文件。
程序调试完毕,可在图(i)中选择“产生代码”成相应的目标文件,以便将目标程序写入芯片。
熟练掌握开发系统提供的各种调试功能,合理选择调试方法可提高调试程序的效率。
2. 常用调试方法
(1)单步运行调试(F8)
每按一次F8键,系统就按照图(k)中程序计数器PC所指示的地址(黄色箭头处)执行该条指令,且PC的内容将自动指向下一条将要执行指令的地址,黄色光标也向下移动一次。
(k) 单步运行
若单步运行的是调用子程序指令(LCALL XX、ACALL XX),它将把被调用子程序内部的所有指令全部执行完毕,PC的内容将自动指向该调用指令的下一条指令处。
所以采用单步运行能快速观察被调用子程序执行后的最终结果,但无法观察子程序内部各条指令的执行状况。
(2)跟踪运行调试(F7)
与单步运行调试相似,每按一次F7键,系统就执行一条指令。
但当执行调用指令(LCALL XX、ACALL XX)时,跟踪运行可以跟踪到子程序内部。
所以跟踪运行调试可观察程序从主程序转入子程序、子程序内部各条指令的运行及子程序返回的运行过程。
(3)全速运行至光标处调试(F4)
先将光标调到某条需要观察执行结果的指令处,如图(l)所示。
再按F4键,程序将从当前PC所指示的位置全速运行到光标处,如图(m)所示。
此方法可根据操作者的实际需要,快速观察程序运行至某处的执行结果,加快调试程序的速度。
(l)
(4)全速连续运行调试(F9)
当按F9键时,程序将从当前的PC处开始全速连续运行程序,如图(n)所示。
可通过停止按钮终止程序的运行,全速连续运行调试便于观察程序连续运行状态下相关显示及控制过程的动态过程。
(5)设置断点调试(F2)
用鼠标单击某条指令前的园标点,或将光标设置在某条指令处,再按F2键,在该指令前将出现一个黄色标记符!(或红色标记线),如图(o)所示,表示此处已被设置为断点。
若从起始地址开始全速运行程序,程序运行至断点处就停止,如图(p)所示。
此方法可快速观察程序运行到断点处的运行结果。
与全速运行至光标处(F4)调试相比,后者对断点有记忆功能,当重复调试程序时,每当程序运行到此处时都会停在该断点处,该方法特别适合于调试循环程序。
可根据需要在程序的不同位置设置多个断点,用鼠标单击断点标记或在断点处再按F2键可取消断点。
(m) 执行至光标处
(n) 全速连续运行
(6)自动单步运行调试
该方法可自动地单步运行逐条程序,且两条指令间的间隔时间可调,如图(q)所示。
(7)设置程序计数器PC的内容(Ctrl+N)
单片机在复位时自动将PC的内容设定为0000H,若要修改当前PC的内容,可将光标移到指定位置,再按Ctrl+N键,当前程序计数器PC的内容便被设置在此处。
在调试程序时,有时需从某一地址处开始执行程序,可运用此方法修改程序起始地址PC的内容。
(o)
(p) 断点运行
(q) 自动单步运行
3. 实验分析与总结
(1)运用仿真系统调试简单程序结构、分支程序结构、循环程序结构、子程序结构和中断结构的关键在于如何将对程序的分析理解和开发系统提供的基本功能有机地结合起来,其前提条件是必须对源程序的作用、结构特点、运行过程与结果有较全面的认识,并能根据程序运行过程中出现的现象和结果分析并判断产生各种故障现象的原因,再运用排除法逐一检验各种判断是否准确。
(2)在掌握程序结构特点的基础上,合理选择观测点,通过观察在观测点处参数及路径的变化检验程序运行的结果。
(3)为提高调试程序的效率,应对单片机开发系统所提供的几种程序运行调试方式有足够的了解并能熟练地运用。
例如在调试过程中,若要观察最终结果时,可选择全速运行调试;若要观察相关指令的运行结果或运行路径的变化过程时,可选择单步运行;若要检查子程序的运行过程时,可选择跟踪运行调试;若要检查循环程序或中断服务程序时,可选择断点运行调试;若要定点检查程序运行到某处的结果时,可选择快速运行到光标处调试。
但实际中究竟选用哪种方法更适宜或哪几种方法结合使用更快捷将随着分析能力与操作的熟练程度逐步提高。
(4)检验程序运行结果是否正确时,应运用单片机开发系统所提供的交互界面。
将程序运行过程中,程序计数器PC(地址)的变化、各单元(内部RAM和外部RAM)内容的变化、特殊功能寄存器内容的变化、堆栈指针SP内容的变化与程序的理论分析结果相对照。
(5)编制程序和调试程序时,需要多次反复的过程,并非一次就能排除全部故障,特别是单片机应用系统的硬件电路和汇编程序相结合的综合调试就更加复杂。
因此,必须通过反复调试,不断修改硬件和软件,直到最终符合设计要求为止。
如果在调试中能够根据实验现象预先对产生故障的原因
加以判断和分析,并制订出相应的调试方法和步骤,可缩小排除故障的范围,提高调试效率。