《单片机原理及应用》实验指导书.

合集下载

单片机原理及应用实验指导书

单片机原理及应用实验指导书

实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。

采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。

实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。

软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。

(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。

5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。

6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。

单片机原理及应用技术实验指导书

单片机原理及应用技术实验指导书

单片机原理及应用实验指导书实验前准备1.建立新程序选择菜单[文件| 新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程序ORG 0 MOV A ,#0 MOV P1,#0 LOOP:INC P1 ACALL Delay SJMP LOOP Delay:MOV R2,#3 DPL2:MOV R1,#0 DPL1:MOV R0,#0 DPL:DJNZ R0,DPL DJNZ R1,DPL1 DJNZ R2,DPL2 RETEND输出程序后的窗口如图,现在要做的是将此文件存盘。

2.保存程序选择菜单[文件| 保存文件]或[文件| 另存为]功能给出文件所要保存的位置,例如:D:\My programm 文件夹,再给出文件名MY1.ASM 。

保存文件。

文件保存后,程序窗口上文件名变成了:D:\MY PROGRAMM\MY1.ASM3.建立新的项目选择菜单[文件| 新建项目]功能,新建项目会自动分三步走:A ) 加入模块文件。

在加入模块文件的对话框中选择刚才保存的文件MY1.ASM ,按打开键。

如果是多模块项目,可以同时选择多个文件再打开。

B ) 加入包含文件。

在加入包含文件对话框中,选择所要加入的包含文件(可多选)。

如果没有包含文件,按取消键。

C ) 保存项目。

在保存项目对话框中输入项目名称。

MY1 无须加后缀。

软件会自动将后缀设成“.PRJ ”。

按保存键将项目存在与你的源程序相同的文件夹下。

项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM ”,如果项目窗口没有打开,可以选择菜单[窗口| 项目窗口]功能来打开。

可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机。

4.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。

在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。

《单片机原理与应用》实训指导书

《单片机原理与应用》实训指导书

佛山市顺德区郑敬诒职业技术学校《PIC单片机原理与应用》实训指导书制定:审核:审批:制定日期:二00七年九月实训项目一 熟悉实验环境及MPLAB 的使用实验目的:熟悉实验软硬件环境,能够对单片机编程并进行调试。

实验内容:了解实验平台软、硬件的构成,熟悉实验环境,掌握MPLAB 的使用方法;建立工程,编程,调试并运行程序。

基本要求:能够在计算机上使用MPLAB 建立一个工程,应用简单指令编写简单的程序进行编译,并在实验板上调试成功。

扩展要求:1、编写一段程序让PORTD 口输出二进制数‘10101010’。

2、编写跑马灯程序。

电路原理:单片机与LED:RD0RD1 RD2: RD7 程序流程:实现D 口小灯四亮四灭的程流程图单片机PORTD实验步骤:1、打开MPLAB。

双击桌面上名为“MPLAB IDE”的图标,打开MPLAB编译环境。

2、进入工程向导。

点击MPLAB上面菜单中的Project(工程),选择ProjectWizard(工程向导),通过工程向导来建立工程。

3、选择单片机。

进入欢迎界面(下图),点击下一步,在Device(设备)中选择PIC16F877A,如果该项为PIC16F877A则直接点下一步。

4、选择编译语言。

选择MPASM汇编语言编译器,如果该项为MicrochipMPASM Toolsuite,则直接点下一步。

5、创建工程文件。

请在D盘下建立一个存放工程的文件夹,文件名可以用英文、数字或英文数字混合,注意:不要用中文或标点符号,文件夹名和工程名长度不要超过8个字符。

下面以建立文件夹名为abcd , 工程名为LED 为例。

此处写入工程名字,可以和实验内容相关,如LED此处写入存放工程的路径,如D:\abcd,建议通过点击右边Browse(浏览)来选择建立好的文件夹6、添好工程名和路径后点击下一步,下图表示可以添加程序文件到工程中,如果是初次编程或没有编好的程序文件,可直接点击下一步。

《单片机原理与应用》实验指导书1

《单片机原理与应用》实验指导书1

《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二 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。

单片机原理及应用实验指导书

单片机原理及应用实验指导书

《单片机原理及应用》实验指导书(C语言)中南林业科技大学交通运输学院交通运输教研室周永军2015.09前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。

由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生,配合《单片机原理及应用》课程的教学,结合本学院单片机教学实验板编写了这本实验指导书。

《单片机原理及应用》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习程序设计,还是学习接口电路与外设,不通过加强动手是不能获得预期效果的。

本实验指导书提供多个实验的指导性材料,可以根据课时的安排和教学要求进行取舍。

为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。

实验须知1. 实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。

2. 各种电源的电压和极性不能接错,严禁带电接线和接插元器件。

通电前须经过指导教师检查认可后方能通电。

3. 不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。

4. 严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。

5. 实验中若损坏仪器或元器件,应及时向指导教师报告。

6. 在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。

7. 实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。

8. 按规定认真完成实验报告,在规定的时间内缴上实验报告。

9. 凡实验或实验报告未能按规定完成的学员,不能参加本课程的考试或考查。

单片机实验报告格式实验报告标题一、实验目的二、实验内容三、实验设计及调试:(1)实验分析及内容。

《单片机原理与应用》实验指导书

《单片机原理与应用》实验指导书

《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院2007.3目 录实验一 单片机开发系统的使用方法 (1)实验二 I/O口输入、输出实验 (7)实验三 定时器/计数器实验 (9)实验四 中断实验 (12)实验五 串行通讯实验 (15)附录一 逻辑分析工具 (17)附录二 系统自动检测功能 (21)实验一 单片机开发系统的使用方法一、实验目的1.学习单片机开发系统和仿真软件的使用及程序调试方法。

2.掌握汇编程序的编写方法及常用技巧。

二、单片机实验系统简介单片机的开发与应用需要借助于开发软件及硬件仿真系统进行。

在单片机应用系统的开发过程中,为了得到满足要求的用户程序,需要有一个对程序的调试过程,这项工作依靠单片机自身是无法完成的。

因为程序在机器内连续高速地运行,难以观测程序的运行情况。

此外,还需要把调试成功后的程序固化到单片机的程序存储器中,当单片机运行起来后,对整个用户样机系统的软硬件进行实时的诊断、调试。

因此需要有相应的仿真设备才能完成。

单片机实验系统LAB6000即是具有对应用程序进行输入编辑、修改等功能的设备,软硬件仿真可以实现对源程序进行编译,及程序的执行和检测。

在对目标系统的调试过程中,可以运用单步执行,设置断点执行、状态查询等功能,以达到设计目的、完成从用户程序的编写到单片机应用系统的正确运行之前的一切准备工作即仿真功能。

系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中软、硬件的故障诊断和调试。

LAB6000实验系统由硬件及软件两部分组成。

三、调试步骤(一)建立源文件并保存 双击桌面WAVE图标,进入伟福开发环境。

1、选择菜单:文件/新建文件,进入源程序编辑窗口,在此输入源程序。

如图1-1。

图 1-1选择菜单:文件/保存文件或直接点击工具栏上小磁盘图标,指定文件所要保存的位置,例如:F:\0820101文件夹,再确定文件名:sy1.ASM ,注意后缀应为 .ASM。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》实验教学指导书陈玮编莆田学院信息工程学院2015年9月目录实验一仿真系统搭建 (1)实验二实验系统编程应用 (7)实验三流水灯实验 (9)实验四 LED数码管显示实验 (11)实验五键盘实验 (13)实验六中断系统实验 (15)实验七 51定时器实验 (17)实验一仿真系统搭建一、实验目的了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。

熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。

熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。

二、实验原理整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。

仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。

主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。

整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。

第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。

若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。

1、Keil软件的安装设置:启动后,点击Project菜单新建项目。

新建项目后,选择仿真单片机型号,并新建或加入程序文件。

编写加入C语言程序后就可以对项目进行设置,进而使用Project菜单进行编译、连接和调试运行等操作。

图1-7 项目设置项目的设置包括Target菜单中的单片机振荡频率,debug菜单中的仿真方法。

MCS51单片机原理及应用实验指导书

MCS51单片机原理及应用实验指导书

《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。

2.学习和掌握单片机应用系统程序设计技术。

3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。

二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。

计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。

图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。

在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。

所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。

三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。

2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。

3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。

4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。

5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。

字迹要清楚,结论要明确。

爱护实验设备,遵守实验室纪律。

*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。

目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书主编刘炜李庆达审核蔡静之校对杨艺北方民族大学电气信息工程学院二○一○年十月目录第一章 DVCC-52196JH单片机仿真实验系统简介 (2)1-1 DVCC-52196JH单片机仿真实验系统的技术指标 (2)1-2 通用外围电路 (3)1-3 硬件系统的安装和系统启动 (3)1-4 I/O接口器件地址 (4)1-5 MCS-51汇编语言的调试过程 (4)第二章实验项目 (5)实验一清零程序 (5)实验二拆字程序 (6)实验三拼字程序 (7)实验四数据传送程序 (8)实验五 P3.3口输入、P1口输出 (9)实验六脉冲计数 (11)第一章 DVCC-52196JH单片机仿真实验系统简介DVCC系列单片机仿真实验系统可以对MCS-51、MCS-196、十六位微机8086/8088进行实验与仿真,出厂时为MCS-51实验开发系统。

1-1 DVCC-52196JH单片机仿真实验系统的技术指标DVCC系列单片机仿真实验系统由三大部分组成:电源,单板式结构的箱式实验台,主机。

下面具体介绍一下箱式实验台:1.主机含8032CPU,可选配96CPU卡、8088CPU卡;2.配有64K管理程序;3.配有64K用户数据/程序空间,可一次性在线仿真;4.带4*8键盘,6只高亮LED八段数码显示器,10位开关量输入信号,12位开关量输出发光二极管;5.自带EPROM编程器;6.配备各种单片机常用接口芯片,如8253A定时/计数器、ADC0809、DAC0832、并行I/O口8255A、8155、可编程中断接口8259A、串行通信芯片8251A等。

同时,可通过扩展外配可编程键盘、显示控制器、DMA芯片8237A等;7.带有正/负单脉冲发生器、连续脉冲发生器、分频电路等;8.配备单片机控制执行单元,如步进电机、直流电机、继电器、电子音响等;9.可外配温度、压力测量模块;10. 支持ASM-51/96/8088、C51/96等多种语言的汇编、反汇编及动态调试。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书目录实验一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) 键产生一个单脉冲。

《单片机原理及应用》实验指导书.doc

《单片机原理及应用》实验指导书.doc

《单片机原理及应用》实验指导书广州大学松田学院电气与汽车工程系2011年10月实验一流水灯实验.................................. 实验二数码管动态显示实验 (3)实验三单片机外部中断实验 (5)实验四单片机定时器/计数器应用 (7)实验五中断及综合实验 (10)附录开发板电路原理图 (II)实验一流水灯实验1.实验H的及要求1)掌握keil c51软件和STC-ISP软件使用方法。

2)巩固单片机基本程序的编写方法和单片机工程项F1的建立流程。

3)熟悉用单片机P0 口控制LED灯亮和灭的方法。

2.实验仪器计算机、keil c51软件、单片机开发板、下载线3.实验内容利用P0 口直接控制8个LED灯的亮和灭。

把不同的数据(本实验采用40 个不用的字节)定时输出P0 口,控制LED灯相应的变化,产生花样灯效果。

改变延吋吋间,则改变LED灯改变速度,效果也不一样。

4.实验步骤1)使用ke订c51软件建立一个工程,命名保存,并配置工程。

2)新建一个文件,主文件名与工程名一致,文件后缀名为MSM。

编辑实验源程序。

(注意:源程序编辑不要在屮文状态下)实验参考程序如下:ORG 0100HTMP1:DB 0111, 02H, 04H, 0811, 10H, 2011, 40H, 80H, 8111, 8211DB 84H, 88H, 90H, OAOH, OCOH, 0C1H, 0C2H, 0C4H, 0C8H, ODOHDB OEOH, 0E1H, 0E2H, 0E4H, 0E8H, OFOH, 0F1H, 0F2H, 0F4H,0F8H0RG 000011 ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主稈序的开始MAIN: MOV DPTR, #TMP1 ;得到数据的地址MOV R7, #40 ;设置循环40次Ml: CLR AMOVC A, ©A+DPTR ;读取相应地址的数据CPL A ;因发光二极管采用共阳极,所以将数据取反再输出MOV P0, AINC DPTRLCALL DELAY ;转入延时了程序DJNZ R7, Ml ; 40次未完成继续LJMP MAIN ;40次完成冋到开始处DELAY: MOV R5, #255 ;延时子稈序D1: MOV R6, #255DJNZ R6, $DJNZ R5, DIRETEND ;程序体结束3)汇编、连接生产目标文件。

单片机原理与应用实验教案实验指导书

单片机原理与应用实验教案实验指导书

单片机原理与应用实验指导书专业班级姓名计算机学院编2007年3月实验目录第一部分软件实验选做实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同个数实验七无符号数双字节快速乘法子程序实验八脉冲计数(定时/计数综合实验)第二部分硬件实验选做实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五 8255PA口控制PB口实验六 8255控制交通灯实验七简单I/O口扩展实验八 A/D转换实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。

二、实验内容把2000H~20FF的内容清零。

三、实验步骤用连续或单步方式运行程序,检查2000H~20FF执行程序前后的内容变化。

四、思考 1、假使把2000H~20FF中的内容改为FF,如何修改程序。

2、将程序中的汇编语言中每条单步执行的指令阐述出来。

五、程序清单(sw01.asm)ORG 0000HLJMP SE01ORG 0640HSE01:MOV R0,#00HMOV DPTR,#00H ;(0000H)送DPTRLOO1:CLR AMOVX @DPTR,A ;0送DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,00H,LOO1 ;不到FF个字节再清LOOP:SJMP LOOPEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。

三、实验程序框图四、实验步骤用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。

五、思考 1、如何用断点方式调试本程序。

2、将程序中的汇编语言中每条单步执行的指令阐述出来。

六、程序清单(sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000H)→A→BSWAP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000H)内容屏蔽高位MOVX @DPTR,A ;送2002HLOOP: SJMP LOOPEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。

《单片机原理及应用》课程实验指导书

《单片机原理及应用》课程实验指导书

江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。

因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。

目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。

一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。

通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。

二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。

学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。

三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。

二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》102G05A实验指导书2016.02目录实验1 C语言编程 (3)实验2 Keil开发环境与编程 (5)实验3 数据排序 (18)实验4 数据搬运 (19)实验5 汇编程序实验 (20)实验6 流水灯实验 (21)实验7 C8051F020单片机基本配置方法 (21)实验8 外部中断实验 (25)实验9 按键接口与数码管输出 (26)实验10 定时器 (27)实验11 数字频率计设计 (28)实验12 串口通信实验 (30)实验13 数据采集系统设计 (31)实验14 函数信号发生器设计 (32)实验1 C语言编程一、实验目的1.复习C语言编程。

二、实验内容1.熟悉C语言编程。

软件调试一下题目:(1) 两数相加(2) 两数比大小(3) 1+2+3+……+10(4) 其他简单数学计算………三、实验步骤(简单操作可参见实验2中项目创建步骤)1.Keil软件,使用“Project”菜单中的“New μVision Project”选项来创建项目,放置到你指定的文件夹。

2.选择单片机型号AT89C513.编写源程序,并保存(扩展名用C),例程见图1-1。

4.将文件添加到工程中。

5.调试。

编写源程序注意:1.AT89C51为通用8051系列单片机2.头文件reg51.h用于51单片机特殊功能寄存器标识,stdio.h用于一些标准输入输出函数的调用如printf()。

3.因单片机没有PC机那样的显示器标准输出,printf()函数的输出通过单片机串口输出实现,所以要完成两件事:(1) printf()函数之前要执行“TI=1;”用于打开串口发送,只有执行“TI=0;”(2) 软件仿真调试时,信息在“串口输出”窗口中输出。

可在debug模式下使用菜单View-->Serial Windows-->UART #1打开“串口输出”4.使用单片机端口P0、P1、P2等输出,可在debug模式下使用菜单Peripherals—>I/O-Ports—>指定哪个端口5.调试界面如图1-2图1-1 C语言例程图1-2 C语言程序调试界面点击后进入调试模式串口输出从端口输出头文件实验2 Keil开发环境与编程一、实验目的1.熟悉基于KEIL下的实验环境。

《单片机原理及应用》实验指导书(第一部分实验--4学时)

《单片机原理及应用》实验指导书(第一部分实验--4学时)

《单片机原理及应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。

要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。

培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。

通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。

二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共8个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五定时器输出PWM实验实验六直流电机实验实验七点阵LED 扫描输出实验实验八串口通信实验*详细指导内容请见附录。

四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。

成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。

五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、蒋辉平等.基于Proteus的单片机系统设计与仿真实例,2012年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。

附录——详细指导内容第一次实验(4学时)实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及应用实验指导书罗钧付丽编重庆大学光电工程学院2010年5月目录实验规则 (2实验一单片机监控程序实验(4学时 (3 附1.1:LAB2000P实验仪 (9附1.2:验证实验程序 (10附1.3:K EIL的使用步骤参考 (17实验二 A/D转换实验 (3学时 (21附2.1:验证实验程序 (24实验三 D/A转换实验 (2学时 (25附3.1:DA转换实验程序 (27实验四单片机系统综合实验( 3学时 (28附4.1:实验仪中的温度传感器电路 (30附4.2:直流电机和步进电机控制接口电路 (31实验规则为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则:一、实验前必须充分预习,完成指定的预习内容,预习要求如下:1.认真阅读本实验指导书,分析掌握本次实验的基本原理;2.完成各实验预习要求中指定的内容;3.明确实验任务。

二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问;三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障,必须及时报告指导老师,严禁私自乱动。

四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。

五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。

六、凡有下列情况之一者,不准做实验:1.实验开始后迟到10 分钟以上者;2.实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从教育者;七、实验后,必须认真作好实验报告,在规定时间里必须交给实验指导老师,没交实验报告者,视为缺做一次实验。

实验报告要求必须包括:1.写出设计实验程序;2.总结实验步骤和实验结果;八、一次未做实验,本实验课成绩视为不及格。

以上实验规则,请同学们自觉遵守,并互相监督。

实验一单片机监控程序实验(4学时实验预习要求:1.按照附3学习使用Keil软件。

2.熟悉键盘和显示器接口及工作原理。

3.根据实验原理,读懂验证实验程序,并写出设计性实验源程序。

4.思考题:(1从附1.2监控程序可以看出:六位数码管显示的数据存放在单片机哪个位置?(2参考图1.1A与监控程序,键盘上若数字键7被按下,单片机怎样判断该键被按下?一、实验目的1.掌握8031系统中,键盘和显示器的接口方法。

2.掌握键盘扫描和LED八段码显示器的工作原理。

3.掌握对单片机IO口的控制编程。

二、实验器材PC 机一台,Lab2000P 教学实验系统一台,导线数根。

三、实验内容1.验证性实验利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在八位数码管上显示出来。

2.设计性实验用Lab2000P 教学实验系统(见附2图,P1口产生一矩形波(周期可自己设定,设计的程序加到验证实验程序中,放在单片机程序空间0280h开始位置。

程序运行时,把产生矩形波的P1口(P1.0~P1.7任意一位接到示波器,观察设计程序运行时P1口产生的波形是否正确。

四、实验原理1.实验仪器简介实验设备中Lab2000P教学实验系统是核心部件,所有实验都通过计算机处理后下载到实验箱中进行验证。

本实验系统提供了多个模块,本次实验使用的主要模块为:单片机8031模块、8255模块。

4×6键盘模块,六位LED显示模块等。

2.键盘扫描显示原理键盘与六位LED显示器连接电路图见图1.1。

(1芯片介绍74HC245:高速CMOS 型8位双向总线收发器(三态。

主要用于数据总线的同步双向通信,起总线隔离驱动作用。

74HC374:为八D 触发器集成芯片,电路中起显示驱动作用。

图1.1(A图1.1(B图1.1 键盘及LED 显示电路(2扫描键盘和LED 显示原理(1(2MC1413(2本实验仪的LED显示电路和键盘电路如图1.1(A。

显示控制的位码由芯片74374(1输出,经反向驱动后(反向驱动芯片MC1413,作为LED的位选通信号。

位选通信号也同时作为键盘列扫描码,键盘扫描的行数据从芯片74245读回单片机,74374(1输出的列扫描码经245读入后,用来判断是否有键被按下,以及按下的是什么键。

如果没有键按下,由于上拉电阻的作用,经245读回的数据位均为高,如果有键按下,74374(1输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据74374(1输出的列信号和245读回的行信号,就可以判断哪个键被按下。

LED显示的段码由74374(2输出。

键盘和LED显示的地址译码见图1.1(B,做键盘和LED显示实验时,需将KEY/LED CS 接到相应的地址译码上。

位码输出的地址为0X002H,段码输出的地址为0X004H,键盘行码读回的地址为0X001H,此处X是由KEY/LED CS 决定,参见地址译码。

例如将KEY/LED CS接到地址译码的CS0(如图1.2上,那么位码输出的地址就为08002H,段码输出的地址就是08004H,键盘行码读回的地址为08001H。

(3Lab2000P实验仪单片机系统138译码电路图1.2 译码电路图其中:CS0: 08000H~08FFFH CS1: 09000H~09FFFH CS2: 0A000H~0AFFFHCS3: 0B000H~0BFFFH CS4: 0C000H~0CFFFH CS5: 0D000H~0DFFFHCS6: 0E000H~0EFFFH CS7: 0F000H~0FFFFH4. 段码表和键码表(1段码表七段数码管的字符型代码表如下表:(2键码表键码表如下:KeyTable: ; 键码定义功能键:16h, 15h, 14h, 0ffh 分别对应 MON ,LAST,NEXT,RST13h, 12h, 11h, 10h 分别对应TRACE/MODE,MOVE,HERE,EXEC 数字键:0dh, 0ch, 0bh, 0ah 分别对应D,C,B,A0eh, 03h, 06h, 09h 分别对应E,3,6,90fh, 02h, 05h, 08h 分别对应F,2,5,800h, 01h, 04h, 07h 分别对应0,1,4,73. 验证实验程序流程(1主程序流程图1.3 监控实验主程序流程图(2键盘扫描子程序流程图图1.4 键盘输入子程序流程图五、实验步骤1.运行Keil软件,按照附1.3 “Keil软件使用的参考步骤”步骤1~10,建立工程、编译、链接。

2、硬件连接:(1连接片选信号,将KEY/LED CS连接到CS0即可(具体的电路原理图请参考图1.1; 8255的片选连接到CS1。

(2用串口线连接Lab2000P实验箱(右上角标有“仿真器串口”处到PC机。

用电源线连接实验箱到220V电源,开启实验箱的电源(电源开关在实验箱的左侧。

3、按照附1.3步骤11~12下载目标文件,并全速运行程序。

4、程序全速运行时,从实验箱上的键盘输入0200,再按“EXEC”键,观察实验结果。

等到最左边的数码管显示“0”时,再从键盘输入0300,然后按“EXEC”键,用示波器观察8255的PA、PB、PC口输出的波形。

或者把PA、PB、PC中的每位输出连接到实验箱中“逻辑笔”输入,观察指示灯的变化,记录实验结果。

5、开始做设计实验。

附1.1:lab2000P实验仪仿真器串口输入附1.2:验证实验程序/*监控程序:包括键盘扫描、8字循环显示、8255三个口输出方波*/OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口Ctrl_8255 equ 09003h ; 8255控制口地址PA_8255 equ 09000h ; 8255A口地址LEDBuf equ 60h ; 键盘输入数字显示缓冲LEDBuf1 equ 70h ; 六位数码管循环显示缓存LEDBuf2 equ 50h ; 键码缓存,用于跳转用ljmp StartLEDMap: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h;============================= = 延时子程序============================ Delay:mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopret;========================6位数码管轮流显示子程序======================= DisplayLED:mov r0, #020hmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 关所有八段管mov a, @r0mov dptr, #OUTSEGmovx @dptr,amov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管mov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, Loopret;========================== 单片机读入键盘行的状态子程序=============== TestKey:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 输出线全置为0mov dptr, #IN ; IN =08001hmovx a, @dptr ; 读入键状态cpl aanl a, #0fh ; 高四位不用retKeyTable: ; 键码定义db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07h;==========================扫描键盘子程序=========================== GetKey:mov dptr, #OUTBITmov P2, dphmov r0, #Low(INmov r1, #00100000bmov r2, #6KLoop:mov a, r1 ; 找出键所在列cpl amovx @dptr, acpl arr amov r1, a ; 下一列movx a, @r0cpl aanl a, #0fhjnz Goon1 ; 该列有键入djnz r2, KLoopmov r2, #0ffh ; 没有键按下, 返回 0ffhsjmp ExitGoon1:mov r1, a ; 按下键的键码在键码表中的位置偏移量=(列-1 X 4 + (行-1 ;从第6列开始mov a, r2dec arl arl amov r2, a ; r2 = (r2-1*4mov a, r1 ; r1中为读入的行值mov r1, #4LoopC:rrc a ; 移位找出所在行jc Exitinc r2 ; r2 = r2+ 行值djnz r1, LoopCExit:mov a, r2 ;r2中为按下键的键码在键码表中的位置偏移量mov dptr, #KeyTablemovc a, @a+dptrmov r2, a ; 取出键码WaitRelease:mov dptr, #OUTBIT ; 等键释放clr amovx @dptr, amov r6, #10call Delaycall TestKeyjnz WaitReleasemov a, r2ret;================查找A中存放的数所对应LED显示段码子程序============== ToLED:mov dptr, #LEDMapmovc a, @a+dptrret;===========将键码(在A中存放到LEDBuf2所指向的内部存储器单元===========ToKeyTable:mov r1,LEDBuf2mov @r1,aret;==========================初始化单片机内存子程序=====================InitLED:mov 20h, #3fhmov 21h, #0hmov 22h, #0hmov 23h, #0hmov 24h, #0hmov 25h, #0hret//////////////////////////////////////////////////////////// 主程序/////////////////////////////////////////////////////////////// Start:mov LEDBuf,#020hmov LEDBuf2,#30hcall InitLEDmov LEDBuf1+0, #0ffh ; 8字循环显示模块程序用到,0ffh为8.的段码mov LEDBuf1+1, #0ffhmov LEDBuf1+2, #0ffhmov LEDBuf1+3, #0ffhmov LEDBuf1+4, #0ffhmov LEDBuf1+5, #0ffhmov r4,#6MLoop:call DisplayLEDcall TestKey ;有键入?jz MLoop ;无键入, 继续显示call GetKey ;读入键码jb 0e4h,commkey ;如果ACC.4为1,则为命令键,转到commkey处理numkey: mov r0,a ;保存数据acall ToKeyTable ; 键码保存在LEDBuf2(初始值30h指向的单元中 mov a,r0 anl a, #0fh ;显示键码call ToLED ;查找A的段码并把段码保存在A中mov r0,LEDBufmov @r0,a ;段码保存在LEDBuf(初始值20h指向的单元中inc LEDBufinc LEDBuf2djnz r4,MLoopmov r4,#6mov LEDBuf,#020hmov LEDBuf2,#030hljmp MLoopcommkey: ;处理命令键cjne a,#13h,start ;如果按下的键不是EXEC,则转向程序开始call nextkey;==========================把dph、dpl压入堆栈子程序====================nextkey:acall pickdatapush dplpush dphret ;dph与dpl弹出堆栈赋给PC;=================================子程序==============================; ;单片机内部RAM30h-33h单元中存储的是从键盘输入的地址,用于改变PC,执行相应的程序;pickdata:mov r0,#031h ;将30H、31H 单元中的低4 位数据赋给DPHacall pickonemov dph,amov r0,#033h ;将32H、33H 单元中的4 位数据赋给DPLacall pickonemov dpl,aret;=============================取相邻内存单元低4位子程序================ ;取出r0 与r0-1所指向的单元中低4 位数据,并保存到A中,只取低4 位,键盘上输入的每位数据(0到;F最多只用到4位表示pickone:mov a,@r0anl a,#0fhmov r1,adec r0mov a,@r0swap aanl a,#0f0horl a,r1ret////////////////////////////////////六位数码管轮流显示“8”字,从左到右共循环10次//////////////////////////// org 0200hmov r0,#4clr amov r3,#10 ;循环次数,可自行设置DisplayLED1: ;轮流显示mov r0, #LEDBuf1mov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop1:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 关所有八段管mov a, @r0mov dptr, #OUTSEGmovx @dptr, amov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管mov r6, #200call Delay ; 延迟值如果设定的太大的话,就会检测不到按键mov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, Loop1djnz r3, DisplayLED1acall InitLED ;重新从左边显示mov r4,#6mov LEDBuf,#020hmov LEDBuf2,#030hajmp MLoop//////////////////////////////////////8255 的PA,PB,PC 口分别循环输出方波程序/////////////////////////// org 0300htestPort:mov dptr,#Ctrl_8255mov a,#80hmovx @dptr,amov a,#55hmov r3,#20 ;循环次数,可自行设置testPortA:mov dptr,#PA_8255 ;PA 口movx @dptr,ainc dptrmovx @dptr,a ;PB 口inc dptrmovx @dptr,a ;PC 口rr amov r6, #200 ;输出延时,可自行设置延时时间acall Delaydjnz r3, testPortAajmp MLoopend附1.3:Keil的使用步骤参考1、点击”ProjectÆNew Project……”,新建一个工程文件,在Creat New Project窗口中输入工程名。

相关文档
最新文档