单片机原理实验指导书(1)
- 格式:doc
- 大小:119.00 KB
- 文档页数:8
单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。
详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。
2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。
3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。
(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。
2、各元件的电源开关均靠近本元件。
(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。
2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。
使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。
3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。
选择路径、输入项目名称,不需要扩展名。
在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。
2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。
《单片机原理》实验指导书For personal use only in study and research; not for commercial use山东华宇职业技术学院实训中心电子教研室目录第一章认识单片机实验系统 (3)3 第一部分系统介绍.......................................................................................6 第二部分银环MCS—51调试软件的使用........................................................第三部分键盘监控使用简介 (9)第二章软件实验 (15)实验一字处理程 (15)实验二数据处理程序 (17)实验三多分支程序 (20)实验四脉冲计数(定时/计数器实验) (22)第三章硬件实验 (26)实验一 P1口实验 (26)*实验一 P1口实验 (31)实验二 P1口输入\输出 (35)实验三 P3.3输入 P1口输出 (38)实验四工业顺序控制 (40)实验五简单I/O扩展实验一 (43)实验六简单I/O扩展实验一 (47)实验七定时器实验 (49)实验八 8255A可编程并行接口实验一 (52)实验九 D/A转换实验 (54)实验十 A/D转换实验 (60)实验十一存储器扩展实验 (64)附:实验报告要求 (66)实验注意事项及要求 (67)第一章认识单片机实验系统第一部分系统介绍一、整机介绍1、DICE型微机教学实验系统结构DICE型微机教学实验系统由电源、系统板、CPU板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。
二、系统特点DICE 型微机/单片机教学实验系统是启东计算机有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
实验一单片机认识实验一、实验目的:1、掌握WAVE6000软件的使用2、熟悉MCS-51系列单片机的指令系统。
二、实验仪器:PC机(WAVE6000软件)三、实验内容:在PC机上使用WAVE6000软件,分别输入下面两段程序并调试执行程序1 MOV 30H,#40HMOV R0,#30HMOV A,@R0MOV R1,AMOV DPTR,#1000HMOVX @DPTR,A程序2MOV A,60HXCH A,70HMOV 60H,A四、实验步骤1、启动WAVE6000软件2、输入练习程序3、保存程序4、汇编源程序5、程序执行前的检查6、运行,调试程序单步法运行程序断点法运行程序连续法运行程序8、检查运行结果五、实验结果实验二 顺序结构程序的调试一、 实验目的:1、掌握顺序结构程序设计2、掌握WAVE 软件调试程序的方法.二、实验内容:编写下列程序并调试: 1、将片内RAM 的70H 单元的内容拆开,高4位送71H 单元低4位,低4位送72H 单元的低4位,71H 、72H 单元高4位清零。
2、将工作寄存器R2中数据的高4位和R3中的低4位拼成一个数,并将该数存入30H 单元。
三、实验程序框图程序1流程图 程序2流程图 三、 实验步骤:程序1①启动WAVE 软件,新建一个文件,保存并取名为LX1.ASM 。
②输入源程序1,正确进行机器汇编③打开窗口菜单,选择数据窗口,检查70H 、7lH 和72H 单元中的内容,并记录在下表左半边④用全速执行命令开始执行程序⑤检查7lH 和72H 单元中的内容,并记录在下表的右半边⑥修改执行前70H、7lH和72H单元中的内容,重复执行④-⑤步骤,并记录程序执行后表格中的数据。
程序2①新建一个文件,保存并取名为LX2.ASM。
②输入源程序2,正确进行机器汇编③打开窗口菜单,选择数据窗口,检查R2、R3和30H单元中的内容,并记录在下表左半边的格子中④用全速执行命令开始执行程序⑤检查30H单元中的内容,并记录在下表的右半边格子中⑥修改执行前R2、R3、30H单元中的内容,重复执行④-⑤步骤,并记录程序执行后的数据。
实验一数制转换实验一、实验目的:(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 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二 BCD码与ASCII码转换实验三 P1口实验实验四定时器实验—循环彩灯实验实验五数码显示实验实验六 A/D转换实验实验一无符号双字节乘法运算子程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:(1)在(R2R3)和(R6R7)中输入双字节无符号整数。
(2)将(R2R3)和(R6R7)中双字节无符号整数相乘,积存入R2R3R4R5中。
(3)连续或单步运行所编程序。
检查R2R3R4R5中的内容是正确。
四、实验原理:R6 R7R2 R3R4 R5B AB AB A(B)R2 (B+B+A) R3 (R4+A+A) R4 R5五、实验调试1、打开Keil,新建Keil项目;2、选择CPU类型为ATMEL中的AT89C52单片机;3、根据流程图新建汇编源程序(*.asm),并保存;4、在项目管理器窗口(project windows)中,将新建的ASM源程序添加到“source group 1”中;5、在Keil中选择“project”->“build target”菜单,编译汇编源程序,如有错,修改后重新编译;6、选择“debug”->“start/stop debug session”菜单,进入程序调试环境;7、按“F11”键,单步运行程序,观察“project windows”中,寄存器R0~R7的变化情况,最后验证R2R3R4R5无符号双字节相差的结果是否正确(可和程序/附件计算器的相乘结果对比)。
六、参考程序实验二 BCD码与ASCII码转换程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:将本人的班号学号以压缩的BCD码的形式由低到高存放在50H开始的单元中,如10050941班,学号为01的同学,将1050H、0551H、0952H、4153H、0154H。
第一章D VCC系列单片机仿真实验系统性能系统提供的主要实验项目如下:一、MCS—51部分软件实验1、清零程序实验 6、字符串查找并统计相同字符串个数2、拆字程序实验 7、双字节乘法程序3、拼字程序实验 8、多分支程序设计4、数据块传送实验 9、定时/计数器实验5、数据排序实验 10、电脑时钟实验二、MCS—51部分硬件实验1、8031单片机P3、P1口应用 11、步进电机控制2、工业顺序控制 12、直流电机控制3、并行I/O口8255应用 13、电子音响4、简单I/O口输入、输出扩展 14、继电器控制5、A/D转换0809应用 15、数据存贮器扩展和程序存贮器扩展6、D/A转换0832应用 16、8031串行口应用实验(一)—双机通信实验7、串并转换实验 17、8031串行口应用实验(二)—与PC机通信8、定时计数器8253A应用 18、温度测量实验(5G14433应用)9、可编程键盘显示8279A应用 19、压力测量实验10、打印机接口应用第二章MCS—51实验系统安装与启动§ 2.1 MCS51实验系统安装与启动1. DVCC系列实验系统在出厂时均为51状态2. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU 第一脚。
3. 接上+5V电源,将随机配备的2芯电源线,红线接入外置电源的+5V插孔,黑线接入外置电源地插座。
上电后,DVCC系列实验系统上显示“P.”闪动。
如果是独立运行,按DVCC系列用户手册进入键盘管理监控,就能马上做实验。
键盘管理监控操作详见第一分册第四章。
如果连上位机工作,必须将随机配备的D型9芯插头一端插入DVCC 系统J2插座,另一端插入上位机串行口COM1—COM2任选。
然后按DVCC实验系统PCDBG键,再运行上位机上的DVCC联机软件,双方建立通信,往后详细操作见用户手册第五章。
实验指导书单片机原理及应用邵阳学院2015年02月目录目录目录 (1)实验一流水灯实验 (3)实验二(1)计数器实验 (4)实验二(2)定时器实验 (5)实验三外部中断实验 (6)实验四键盘实验 (7)实验五AD转换实验 (9)实验六DA转换实验 (10)实验八(1)直流电动机控制实验 (12)实验八(2)步进电动机控制实验 (13)附录实验装置的使用 (15)1、电子信息工程专业从7周开始至第九周,每周二的5、6、7、8为实验课2、物联网工程专业从第7周开始至第九周,每周一的5、6节,周四的7、8节为实验课3、有笔记本的可自动笔记本来做实验验。
4、实验目的相同,实验内容自定,本实验指导书仅供参考,希望学生自行设计实验内容。
5、实验考核:每个学生都要独立完成8个实验项目,完成后请老师评价,对不合格都重做。
在实验过程中,老师只负责答疑和考核实验效果。
6、实验七要求学生在PROTEUS中完成。
实验一流水灯实验一、实验目的1.学习51的P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验说明AT89S52有32个通用的I/O口,分为P0、P1、P2、P3,每组都是8位,它们是准双向口,它作为输出口时与一般的双向口使用方法相同。
P3口也可以做第二功能口用,本实验使用P1口做输出口,控制LED三、实验内容及步骤注:实验程序放在Soundcode/MS51的文件夹中。
用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管循环点亮。
1.最小系统中插上80C51核心板,用扁平数据线连接MCU的P1口与八位逻辑电平显示模块JD3。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先“流水灯”文件夹下的“8031.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。
单片机技术(1)实验指导书黎明大学电子工程系编目录软件实验1. 存储器块清零2. 二进制到BCD 码转换3. 二进制到ASCII 码转换4. 内存块移动5. 程序跳转表6. 数据排序硬件实验1. P1 口输入输出2. 继电器控制3. 计数器实验4. 外部中断实验5. 定时器实验软件实验一存储器块清零一、实验要求1.指定存储器中某块的起始地址和长度,要求能将其内容清零。
二、实验目的1.掌握存储器读写方法2.了解存储器的块操作方法三、实验说明通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。
如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请学生修改程序,完成此操作。
四、程序框图软件实验二二进制到BCD 转换一、实验要求将给定的一个二进制数,转换成二十进制(BCD)码二、实验目的1.掌握简单的数值转换算法2.基本了解数值的各种表达方法三、实验说明计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
有兴趣的同学可以试试将BCD转换成二进制码。
四、程序框图软件实验三二进制到ASCII码转换一、实验要求给出一个BCD数,将其转换成ASCII值。
二、实验目的1.了解BCD值和ASCII值的区别2.了解如何将BCD值转换成ASCII值3.了解如何查表进行数值转换及快速计算。
三、实验说明此实验主要让学生了解数值的BCD 码和ASCII码的区别,利用查表功能可能快速地进行数值转换。
进一步了解数值的各种表达方式。
四、程序框图软件实验四内存块移动一、实验要求将指定源地址和长度的存储块移到指定目标位置二、实验目的1.了解内存的移动方法。
2.加深对存储器读写的认识。
三、实验说明块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。
另外,若源块地址和目标块地址有重叠,该如何避免?四、程序框图软件实验五程序跳转表一、实验要求在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。
目录实验一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、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
《单片机原理及应用》实验指导书目录实验一P1口输出实验(验证性实验) (1)实验二中断实验(验证性实验) (3)实验三键盘显示实验(验证性实验) (5)实验四计算器实验(综合性实验) (8)实验一P1口输出实验(验证性实验)一.实验目的1.熟悉P1 口的功能。
2.熟悉延时子程序编写和使用。
3.熟悉I/O口接法和总线接法4.初步熟悉单片机软硬件设计方法。
二.实验内容P1口做输出口,P1.0引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭(亮0.2s、灭0.8s)。
要求采用I/O口接法和总线接法两种方法实现。
三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理实验箱中带有8051的仿真器,因此用户需按要求进行仿真器设置。
实验箱中单片机并口的各个引脚已经引出相应插孔,请同学自行查找。
实验箱上的LED,其电路图如下:六. 实验步骤1.打开keil软件编写程序,并进行仿真器设置。
2.将实验箱中单片机的某个并口引脚接发光二极管。
3.编译调试程序。
七. 思考1.实现走马灯程序。
(选做)2.实现简单的时钟功能。
(选做)实验二中断实验(验证性实验)一.实验目的1.熟悉中断的硬件电路。
2.熟悉中断的软件设计。
二.实验内容1. 利用实验箱上的单脉冲按键和发光二极管实现:每当单脉冲按键按下时(产生一个脉冲),发光二极管亮灭变化。
2. 利用计数器实现:每当单脉冲按键按下10次时,发光二极管亮灭变化三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
五. 实验线路及原理单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键产生一个单脉冲。
实验一实验开发装置的使用[实验目的]1.巩固和加深理解所学的基本概念,了解MC9S12单片机的结构特点和工作原理。
2. 熟悉开发环境、指令集和汇编语言编辑、调试方法,为下一步用好MC9S12单片机奠定坚实的基础。
3.通过汇编语言源程序的编辑、汇编、调试及输出结果的分析等过程,熟悉MC9S12编程开发工具的使用方法。
4.通过使用各种监控命令,体验通过监控程序实现用户与单片机的对话过程。
[实验设备]1. MC9S12DP256/DG128开发板2. CodeWarrior编译器3. 微型计算机[实验内容]1. 连接开发板与PC机,配置超级终端,设置串行口及其通信协议。
2. 使用不同监控命令,对开发板进行各种操作。
如查看内存的内容,修改RAM中的内容,显示堆栈指针和CPU寄存器的内容,改变页面寄存器的内容,擦除Flash中的内容,下载数据文件到RAM中,下载程序文件到Flash中,设置硬件断点,运行程序等。
3.使用CodeWarrior C编译器,建立工程文件,编写C语言应用程序,定义存储空间分配,编译应用程序,向开发板下载*.S19文件,运行应用程序。
4.尝试使用ASM汇编器,编写汇编语言源程序,并进行汇编、下载和运行。
[实验预习要求]1.认真领会本实验的实验目的和实验内容。
2.复习教材中的有关内容。
3. 预习MC9S12DP256/DG128开发板的使用方法和各种监控命令的作用。
[实验步骤]1. 将开发板与PC机用普通串口线相连,插上5V电源。
2. 配置超级终端首先打开超级终端,按下列顺序操作:开始-→程序-→附件-→通讯-→超级终端,操作界面如图1-1所示。
3. 选择Hypertrm,填入名称,这里用MC9S12DP256,选择“确定”。
操作界面如图1-2和图1-3所示。
4. 串行口设置如果开发板是连接到串口1,就选“直接连接到串口1”,如果开发板连接到串口2,就选“直接连接到串口2”。
选择“确定”,串口设置如图1-4所示。
《单片机原理》实验指导书张毅刚何谨孙震哈尔滨工业大学2005年4月目录序 ------------------------------------------------------------------------------------------------------------- 1实验1 单片机实验开发系统操作实验 ------------------------------------- 2实验2 单片机数据区传送程序设计------------------------------------------ 4实验3 数据排序实验 --------------------------------------------------------------------- 6实验4 查找相同数个数----------------------------------------------------------------- 8实验5 P1口转弯灯实验--------------------------------------------------------------- 10实验6 工业顺序控制 -------------------------------------------------------------------- 13实验7 8255控制交通灯--------------------------------------------------------------- 16实验8 A/D转换实验---------------------------------------------------------------------- 19实验9 D/A转换实验---------------------------------------------------------------------- 22实验10 电子时钟(定时器、中断综合实验) -------------------- 26附录1 DAIS-80958B单片机实验开发系统简介------------------- 36附录2 实验开发系统的字形/字位/键值表 --------------------------- 37序一、实验素养和一般知识1.实验前准备工作(1) 明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
实验一数据排序实验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),以便观察。
2004电力、电气本选做5个实验,10个学时,实验一、二、四、五、六,其他的实验供大家参考。
目录实验系统使用说明 (2)实验一、P1口输出实验 (6)实验二、简单I/O扩展实验 (8)实验三、数码管显示实验 (11)实验四、定时计数器实验 (16)实验五、外部中断实验 (19)实验六、交通灯实验 (21)实验七、简单按键实验 (26)实验八、8255可编程并行接口实验 (30)实验九、电子时钟实验 (33)实验系统使用说明MCS51单片机原理实验系统(Ctrl)使用说明:一、基本操作1. 启动软件实验系统从桌面双击“MCS51单片机原理实验系统(Ctrl)”启动或者是从“开始菜单->程序->MCS51->MCS51单片机原理实验系统(Ctrl)”单击启动2. 新建源程序文件->新建->ASM51文件3. 打开源程序文件->打开4. 汇编源程序编译->汇编快捷键:Shift+F3出现以下编译成功提示即可继续实验,否则需检查源程序直至编译成功ASSEMBLY COMPLETE, NO ERRORS FOUNDGENERATING HEXFILE: D:\CTRL51\C51\*.HEXDRI-SYMFILE: D:\CTRL51\C51\*.SYM5. PC与实验系统通讯选项->通讯选项...在弹出的“通讯选项设置”对话框内选择串口为COM2;波特率为9600,确定即可!注意:在执行该操作前,请确保PC与EL教学实验箱主板已由串行线连接,且实验箱供电并处于开机状态(见EL教学实验箱主板使用说明),单片机上电复位成功则在数码管上显示1995 02。
6. 单片机复位按下实验箱上“RESET”按钮,等待数码管显示C_,即表示PC与实验系统通讯成功。
7. 调试调试->调试快捷键:F5等待工具栏调试相关按钮由灰度变为可用8. 启动MCU执行程序可令MCU处于以下工作方式:复位、程序执行(单步执行、连续执行、跟踪执行等)。
《单片机原理及应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。
要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。
培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。
通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。
二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共8个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五定时器输出PWM实验实验六直流电机实验实验七点阵LED 扫描输出实验实验八串口通信实验*详细指导内容请见附录。
四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。
成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。
五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、蒋辉平等.基于Proteus的单片机系统设计与仿真实例,2012年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。
附录——详细指导内容第一次实验(4学时)实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。
第2章基础实验2.1 实验一系统认识实验一、实验目的学习实验系统的基本操作,了解在实验系统中进行程序设计、仿真和调试的操作方法和步骤。
二、实验设备Keil单片机程序开发软件。
Proteus仿真软件DP51-PROC单片机综合实验仪。
DT-2003数字万用表。
三、实验内容和步骤内容:简单单片机应用程序的编辑、编译、仿真和调试。
实验程序:功能:使连接在MCS-51单片机P1.0引脚的LED闪烁。
设计思路:①点亮LED需要约10 mA电流,此时LED两端电压差约2 V。
因此,将LED 的阴极通过一个电阻连接到P1.0引脚(电阻阻值约为200 ),阳极连接到电源VCC(5 V)。
②为便于观察,交替的时间间隔不应太小(建议选择在0.5 s左右),由于该时间不要求严格精确,所以,可采用软件延时的方法实现。
③程序可采用图2.1中的流程结构。
图2.1 实验一程序流程图预习:1)提前一周预约好实验时间。
2)自学Keil和Proteus两软件的基本使用方法。
3)按设计思路,用汇编语言或C51语言编制实验程序。
4)了解本次实验的步骤和操作方法。
图2.2 实验一电路图步骤:1)在S: \ STUDY \ Kiel文件夹中新建Ex01文件夹(该文件夹用于保存本次实验的所有内容),通过网上邻居将服务器上本次实验共享文件夹下的所有文件拷贝到S: \ STUDY \ Kiel \ Ex01文件夹中。
2)运行Keil并创建一个新工程。
工程保存为S: \ STUDY \ Kiel \ Ex01 \ Ex01. Uv2。
选择单片机型号为Generic中的8051。
创建新工程的操作方法:菜单Project New Project…3)设置工程选项,将工程选项设置如下:Target页夹:Xtal= 12 MHzOutput页夹:Create HEX FileBL51 Locate页夹:取消Use Memory Layout from Target Dialog设置Code Range属性为0x40-0xFFF如用C51编程,设置此页夹。
设置工程选项的操作方法:鼠标右击Project Window中的Target 1弹出菜单−→Option for Target ‘Target 1’,在对话窗口中根据需要选择不同的页夹项4)创建新文件并输入实验程序,然后保存在与工程相同的文件夹中(文件名为Ex01. ASM或Ex01.C),最后将其加入到工程中并编译。
操作方法:创建文件:菜单File −→ New保存文件:菜单File −→ Save或Save As …加入工程:Project Window中展开Target 1,鼠标右击Source Group 1弹出菜单−→ Add Files to Group ‘Source Group 1’,在对话窗口中选择文件类型(C Source file或Asm Source file)和文件名(Ex01.C或Ex01.ASM)编译工程:菜单Project −→ Build target或Rebuild all target files编译中若发现错误,必须修改程序后重新编译。
注意:i.如果在工程选项中设置了Create HEX File选项,编译成功后则会生成目标文件(*.hex),该文件将在利用Proteus调试程序时用到;反之,编译成功后不会生成目标文件(*.hex)。
ii.目标文件的文件名由工程选项Output页夹中Name of Executeable属性决定,目标文件的扩展名为.hex。
5)利用Keil自身的软件仿真功能调试程序。
任务:单步和带断点执行程序,观察程序执行过程,记录程序执行过程中相关寄存器、存储器的变化情况和指令执行时间,从而验证程序的正确性。
具体操作如下:①在Keil中设置工程选项如下(操作方法参见步骤3):Debug页夹:选中左侧Use:Simulator选中左侧Load Application at Start和Go till main( )②进入调试。
进入或退出调试命令的操作方法:菜单Debug −→ Start/Stop Debug Session③单步调试程序中的指令或语句,观察和记录相关寄存器、存储器的变化情况和程序执行时间。
在此过程中尝试打开或关闭Disassembly Window(操作方法参见后面 [说明] 的第3项),观察它们的不同。
单步命令的操作方法:菜单Debug −→ Step(详细跟踪当前指令或语句的执行)或Step Over(完整执行当前指令或语句)查看寄存器、存储器和程序执行时间的操作方法:参见后面 [说明] 的第1、2项④复位程序。
复位CPU命令的操作方法:菜单Peripherals −→ Reset CPU⑤在软件延时开始的指令或语句处设置断点。
设置断点的操作方法:先用鼠标点击断点处的指令或语句,再使用设置或取消断点命令:菜单Debug −→ Insert/Remove Breakpoint⑥多次使用连续运行命令控制程序的执行,当程序执行到断点处时观察P1.0引脚的状态和程序运行时间。
根据多次的信息推断LED的闪烁状态和间隔时间。
连续运行命令的操作方法:菜单Debug −→ Go观察P1.0引脚状态的操作方法:菜单Peripherals −→ I/O-Ports −→ Port 1,在Parallel Port 1窗口中显示当前P1端口各个引脚的状态。
⑦退出调试。
操作方法参见前面的操作②。
说明:查看结果主要通过Project Window中的Regs页夹和Memory Window中的各个页夹。
1、若Memory Window窗口没有打开,可通过菜单View −→ Memory Window命令显示,选取其中任何一个页夹,在地址输入框中输入地址后,该页夹将从这个地址开始显示存储体中的数据。
由于MCS-51的存储体在地址值上存在着重叠,为了区分不同类型的存储体,地址必须按照下面的格式输入(段符及其说明参见表2.2):< 段符> :< 地址值> 地址值可以用十进制或十六进制表示。
其中十六进制数用汇编或C语言的表达方式均可。
例:D:0x00 或D:00H2、在Project Window的Regs页夹中显示常用的一组值,其中大部分可以直接修改(操作方法:先用鼠标左击选择要修改的对象,然后再次左击就可以输入修改),详细说明参见表2.1。
3、在Keil进入调试状态后,若希望查看当前程序的机器编码及其反汇编代码,可通过菜单View−→Disassembly Window命令显示或关闭Disassembly Window窗口。
表2.1 Regs页夹中的内容及其说明表2.2 常用段符及其说明6)利用Proteus调试程序。
任务:单步和带断点执行程序,观察程序执行过程,并按表2.3中的内容进行记录和计算。
具体操作如下:①双击S: \ STUDY \ Kiel \ Ex01 \ Proteus仿真\ Led_light.DSN文件,将电路中单片机对象的Program File属性设置为步骤4生成的目标文件(*.hex),然后检查Proteus是否打开了远程仿真监视。
操作方法:设置目标文件:鼠标右击单片机对象弹出菜单−→ Edit Properties,在对话窗口中设置Program File属性。
打开仿真监视:菜单Debug −→选中Use Remote Debug Monitor。
②在Keil中设置工程选项如下(操作方法参见步骤3):Debug页夹:选中右侧Use:及Proteus VSM Simulator(下拉选项框的项)选中右侧Load Application at Start和Go till main( )③在Keil中进入调试,检查在软件延时开始的指令或语句处是否有断点,若没有则设置(操作方法参见步骤5)。
④在Keil中多次使用连续运行命令控制程序的执行(操作方法参见步骤5)。
当程序运行到断点时,观察Proteus窗口中LED1的燃亮情况,将P1.0引脚支路电路的相关信息记录到表2.3中。
⑤在Keil中去除断点,继续运行程序,观察Proteus窗口中实验电路的工作情况(LED1闪烁情况及其间隔时间)。
⑥在Keil中退出调试(操作方法参见步骤5)。
7)利用实验仪调试程序。
任务:单步和带断点执行程序,观察程序执行过程,并按表2.3中的内容进行记录和计算。
具体操作如下:①检查实验仪与计算机之间的通信线连接,然后打开实验仪电源(电源开关在实验仪箱体右侧方)。
②测试实验仪中涉及本次实验的电路是否完好。
操作方法:i.双击S: \ STUDY \ Kiel \ Ex01 \ Test1\ Test1_0.Uv2文件(此操作会打开一个新的Keil窗口)。
ii.在新窗口中进入调试,然后连续运行程序(操作方法参见步骤5)。
iii.在实验仪上观察连接到P1端口的8个LED是否循环依次熄灭,如果发现某个LED常亮或常灭,则意味着P1端口的对应位损坏。
iv.测试完成后退出调试,然后关闭这个用于测试的Keil窗口。
在本次实验中如果发现P1.0损坏,可用P1其它完好的位替代完成实验(此时,实验程序及其他相关操作都应做出调整)。
③在实验程序的Keil窗口中设置工程选项如下(操作方法参见步骤3):Debug页夹:选择右侧Use:及Keil Monitor-51 Driver(下拉选项框的项)点击右侧的Settings按钮,在对话窗口中选择Serial Interrupt选中右侧Load Application at Start和Go till main( )④在Keil中进入调试。
检查在软件延时开始的指令或语句处是否有断点,若没有则设置(操作方法参见步骤5)。
⑤多次使用连续运行命令控制程序的执行(操作方法参见步骤5)。
当程序运行到断点时,观察实验仪上LED1的燃亮情况,用万用表测量P1.0引脚支路电路的相关信息并记录到表2.3中。
测量中万用表的使用方法:i.万用表使用时应平稳放在实验台上,既要便于观察又不能防碍实验操作。
ii.万用表的黑笔应插在实验仪C1区的GND插孔。
iii.C1区的VCC插孔电压就是所有LED的阳极电压,A2区的P10-P17插孔电压就是P1各引脚电压,D1区LED上方编号为R65-R72的贴片电阻的下端电压就是对应LED的阴极电压(因空间小,测量时须格外小心,防止通过万用表笔短路。
)⑥在Keil中去除断点,继续运行程序,观察实验仪中实验电路的工作情况(LED1闪烁情况及其间隔时间)。
⑦在Keil中退出调试(操作方法参见步骤5)。
表2.3 测量点数据表四、实验报告要求1、记录实验过程中的操作过程及其结果。