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

合集下载

单片机原理与应用实验指导书(202203)-图文

单片机原理与应用实验指导书(202203)-图文

单片机原理与应用实验指导书(202203)-图文实验指导书南通大学电气工程学院自动化系2022年3月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。

单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。

因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。

学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。

另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。

二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。

I目录第一章集成开发环境简介..........................................1第二章演示程序......................................................9第三章实验项目 (15)实验一简单程序设计实验.............................................15实验二I/O 口实验......................................................18实验三定时器实验......................................................20实验四A/D、D/A转换实验..........................................21实验五并行接口扩展实验 (25)II第一章集成开发环境简介SuperICES-5180C51单片机实验仪使用当前流行的KeilC51开发软件,采用uViion2集成开发环境。

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

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

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

采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对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文件,添加成功。

2014-5《单片机原理与应用》实验-指导书DOC

2014-5《单片机原理与应用》实验-指导书DOC

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

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

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

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

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

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

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

五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、胡汉才等. 单片机原理及其接口技术.清华大学出版社,,2009年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。

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

单片机实验指导书

单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。

本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。

在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。

二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。

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

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

单片机原理及应用实验指导书实验前准备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.设置项目选择菜单[设置| 仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。

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

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

单片机原理和应用实验指导书
if(temp!=0xf0)
{
delay(5);
P3=0xfb;//去抖动
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
temp=temp|0x0b;
}
else
{ P3=0xfd;//扫描第二排
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(5);
void delay(long time)
{
while(time>0)
time--;
}
void main()
{while(1)
{
P1=x;
delay(37620);
x=_crol_(x,1);
}}
六、实验小结和体会
通过本实验,懂得如何安装kell软件以及实验仿真板,懂得KEIL C51单片机仿真软件的调试,初步了解并熟悉实验板上单片机I/O口和LED灯的电路结构,能通过软件修改程序实现仿真板上不同灯的亮灭情况,并希望通过多次试验对它有更多的了解。
void sysinit()
{
TMOD=0x21;TH0=0x3C;
TL0=0xB0;TH1=0xfd;
TL1=0xfd;TR1=1;
SM0=0;SM1=1;
REN=1;EA=1;
ET0=1;ES=1;
SPK=1;flag=0;
tt=0;temp=0;
}
void main()
{
sysinit();
while(1)
{ if(flag==1)
{flag=0;ES=0;
SBUF=temp;while(!TI);

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

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

Harbin Institute 单电子of Technology单片机实哈尔子与信息工20机原理实验指尔滨工业大工程学院015年04与应导大学电子工程月用程系目 录前言 (1)一 实验素养和一般知识 (1)二 单片机实验开发系统 (1)三、实验报告内容和要求 (4)第一部分 软件实验 (5)实验一 清零实验 (6)实验二 拆字拼字实验 (7)实验三 查找相同数个数实验 (8)实验四 二进制转ASCII码实验 (9)实验五 数据块传送实验 (10)第二部分 硬件实验 (11)实验一 复杂IO控制实验 (11)实验二 定时器中断实验 (12)实验三 直流电机控制实验 (13)实验四 PC串口通信实验 (14)实验五 键盘扫描与显示实验 (15)附录一 主板布局图 (16)附录二 ISP安装与使用 (17)附录三 常见故障分析 (20)附录四 硬件实验5程序代码 (21)前言一、 实验素养和一般知识1.实验前准备工作(1)明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。

(2)做好实验前预习和必要的准备(先编好程序),做到有的放矢。

2.进入实验室后(1)进入实验室后请首先了解关于实验仪器和相关操作的介绍,熟悉所用的单片机实验开发系统及仪器设备。

(2)严格按照操作流程进行实验操作,保证自身安全和实验设备的完好无损:接线要简单、正确、明了,一个人接线,另一个人检查,经老师复查允许后才可通电。

(3)通电瞬间,应注意仪器是否正常工作,不要只看开关,如有不正常现象,应立即断电查找原因。

3.实验进行时(1)正常请况下,按规定步骤进行,读取数据,并及时记录。

(2)各种操作要有目的、按要求进行。

4.实验完成后经老师察看或签字,并把仪器、导线、工具等清理收拾完毕后,学生签到方可离开实验室。

二、 单片机实验开发系统图1 Proteus软件与FB-EDU-MCU-F型微控制器仿真实训实验箱FB-EDU-MCU-F型微控制器仿真实训实验箱可以支撑目前各高校普遍开设的课程实验内容,如“单片机(微控制器)原理与应用”,“单片机(微控制器)技术”,“微机原理与接口”,“单片机C语言程序设计”,“EDA与SOPC 技术”,“嵌入式系统与技术”等微控制器及其应用技术教学大纲的要求,本实验箱将Proteus仿真软件设计与硬件实践紧密结合,可提高实践环节的授课效果。

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

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

c ai wp @f j ut .e d u.c n单片机实验操作指导书第一篇 Keil uVision2基本操作Windows应用程序Keil uVision2是一个集成开发环境,它把项目管理、源代码编辑、程序调试等集成到一个功能强大的环境中。

存储器窗口工作窗口外围设备窗口输出窗口项目窗口下面以P1口点亮LED 灯为例,介绍基本的实验操作。

1.双击桌面上的图标,启动Keil uVision2。

2.选择或工具栏的按钮新建文件。

3.编辑源程序,并将文件保存成后缀为.asm 的文件(本例存为led.asm)。

(建议先在D 盘建一文件夹如MCS51用于存放实验文件)。

c ai w p @f j ut .e d u.c n4.建立项目。

(1)从菜单中选择新建项目。

(2)输入项目名称(一般与源程序同名),点保存。

(3)选择器件。

选择Atmel 公司的AT89S51c ai w p @f j ut .e d u.c n往下,找到AT89S51,选中后点确定。

(5)出现下列对话项时,选择“否”。

(如果用C51,则选择“是”)5.将源程序文件添加到项目中。

①鼠标左键单击“+”号展开②单击鼠标右键③单击鼠标左键④在弹出的对话窗口中选择“文件类型”和“文件名”,然后点“Add ”添加。

添加后该窗口不会关闭,点“Close ”关闭。

c ai w p @f j ut .e d u.c n项目中添加了源程序文件6.设置目标文件选项单击工具按钮“Options for Target ”,对“Target”和“Output”标签进行相关设置。

设置后点“确定”。

设置时钟频率,用于仿真调试时定时、观察程序运行时间等,如设为6.0MHzc ai w p @f j ut .e d u.c n单击,将该选项打勾,编译后才会在当前目录生成后缀为.HEX 的目标文件,用于仿真调试。

7.编译 用菜单中的命令或工具栏的按钮对项目进行编译。

单片机实验指导书

单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。

通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。

第二章实验准备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 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。

第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。

通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。

本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。

在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。

通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。

在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。

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

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

《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院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。

单片机原理与应用实验指导书(含参考程序)

单片机原理与应用实验指导书(含参考程序)

单片机实验实验说明:实验一和二做一次实验三和四做一次实验五和六分别做一次实验一 P1口实验一一、实验目的:1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二、实验设备:EL-MUT-II型实验箱,8051CPU板三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。

四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。

可以用第二个实验做一下实验。

先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。

再来看一下延时程序的实现。

现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。

在系统时间允许的情况下可以采用后一种方法。

本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。

现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。

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

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

C-51的基础知识C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。

目前,使用C语言进行程序设计已经成为软件开发的一个主流。

用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。

而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。

一、C-51基础2、运算符+ - * / (加减乘除)> >= < <= (大于大于等于小于小于等于)== != (测试等于测试不等于)&& || ! (逻辑与逻辑或逻辑非)>> << (位右移位左移)& | (按位与按位或)^ ~ (按位异或按位取反)3、语句if 分支选择语句switch/case 多分支选择语句for 循环语句while 循环语句do-while 循环语句与标准C语言基本相同。

4、C-51中数据类型扩充定义sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON = 0X98; sfr16 T1 = 0xFF; sbit CY = PSW^7;二、单片机集成开发环境目前单片机开发应用平台常用的有Keil和Wave(伟福)。

它们集编辑、编译、仿真于一体,支持汇编和C语言的程序设计,界面友好,易学易用。

它们的工作界面如图2-1和图2-2所示。

图2-1 Keil的工作界面图2-2 Wave的工作界面实验一单片机控制发光管一、实验目的1、熟悉集成开发环境;2、学习单片机I/O口的控制方法;3、学习C51语句的编写方法。

二、实验说明单片机I/O口的使用对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。

51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。

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

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

《单片机原理及应用》实验指导书温州大学瓯江学院2007年9月目录实验一单片机开发系统的使用 (1)实验二单片机软件实验 (4)实验三MCS-51单片机I/O实验 (9)实验四MCS-51单片机中断实验 (15)实验五定时器计数器实验 (22)实验六单片机综合应用设计实验 (25)附录Keil C51常用库函数原型 (31)实验一单片机开发系统的使用一、实验目的1、了解单片机开发系统的各主要组成部分,包括PC、仿真器和实验开发系统;2、掌握仿真器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等;3、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法。

二、实验仪器1、自制的C51实验开发板 1块2、直流温压电源 1台3、仿真器(EASYPROBE) 1只4、PC机 1台三、实验内容1、认识51单片机开发系统的结构。

图1-1 51单片机开发系统的结构2、初步认识仿真器软件和Keil C51软件界面。

3、简单程序调试(1) 传送指令设置内部RAM的值,(30H)=40H, (40H)=10H,单步执行下列程序,检查结果。

MOV R0,#30HMOV A,@R0MOV R1, AMOV B, @R1STOP: SJMP STOP执行后:(R0)= ,(R1)= ,(A)= ,(B)= ,(30H)= ,(40H)= 。

(2) 运算指令4、多字节十进制数加法被加数加数结果低位20H21H22H23H 高位图1-2 4字节十进制数相加两个4字节十进制数1234567和89987265相加,将其8421-BCD码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算结果存放在20-23H的地址中,如上图示。

运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。

分别按“跟踪”、“单步”和“全速”方式调试程序。

检查运算结果,区别“跟踪”、“单步”调试方式的不同。

在“ADD_BCD子程序”的指令“DA A”处设置断点,再用“全速”方式运行,到达断点后,观察“A”的值,然后用“单步”运行,观察指令“DA A”的功能。

《单片机原理及应用》实验指导书.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)汇编、连接生产目标文件。

单片机原理与应用技术实验指导书(V2.3)

单片机原理与应用技术实验指导书(V2.3)

单片机原理与应用技术实验指导书(Freescale)机械工程学院机械电子工程教研室王晓峰实验一飞思卡尔嵌入式实验系统入门—GPIO控制实验一、实验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60的GPIO结构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试;2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接;3.观察示例工程项目,该工程功能为:根据连接在PTC0、PTC1口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下二种不同状态:八个LED同时亮-灭循环;四个灯交替亮-灭;4.设计一个比示例工程简单的工程项目,内容为控制PTB口上连接的八个LED灯同时亮-灭循环一次再四个灯交替亮-灭一次。

5.设计一个比示例工程更复杂一些的工程项目,根据连接在PTC口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下四种不同状态:八个LED亮—灭循环;四个灯交替亮—灭;一个LED左移流水灯;两个LED右移流水灯。

三、实验步骤(注意:在调试过程中如需要进行连接线路时,要先将实验箱断电,待电路连接好后再接通电源!!!)1.将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器BDM接头插接入核心卡BDM座,USB头接入PC机USB口。

2.PC机上启动CodeWarrior,新建工程LED.mcp(注意设置工程保存路径)3.观察工程文件结构,查看相应文件。

4.在main.asm中编辑工程主文件5.编辑相关子程序6.编译,如果有错误修改,直至编译通过7.链接、下载,调试观察LED灯现象导线接插点Vcc拨码开关GN图1-1 LED及拨动开关原理图四、参考程序1.主汇编程序main.asm该程序为根据PTD口的PTD0上接的拨动开关的状态控制连接在PTB口上的八个LED灯在四亮四暗状态或八个灯同时亮同时暗的状态XDEF asm_mainXREF MCUInitXREF DelayHXINCLUDE 'derivative.inc'INCLUDE 'light.inc'INCLUDE 'switch.inc'MyCode: SECTION; this assembly routine is called the C/C++ applicationasm_main:JSR MCUInitJSR Switch_InitJSR Light_InitM_Scan: JSR Switch_ReadLDA $70CMP #$01BNE M01LDA #0JSR Light_On_OffLDHX #$0fffJSR DelayHXLDA #1JSR Light_On_OffLDHX #$0fffJSR DelayHXBRA M_ScanM01: CMP #$02BNE M02JSR Light_HalfLDHX #$0fffJSR DelayHXM02: BRA M_ScanRTS ; return to caller2、LED灯构件程序light.asm;[Light.asm]小灯驱动-----------------------------------------------------* ;本文件包含: * ; (1)Light_init:定义控制小灯的MCU的I/O引脚为输出* ; (2)Light_On_Off:驱动小灯"亮","暗" * ;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;小灯控制引脚宏定义Light_P: equ PTBD ;灯(Light)接在PTB口Light_D: equ PTBDD ;相应的方向寄存器Lon: equ $00Loff: equ $ffLdiff: equ $0f;声明外部函数XDEF Light_Init ;小灯初始化XDEF Light_On_Off ;驱动小灯"亮","暗"XDEF Light_Half ;驱动小灯"四亮","四灭";Lightinit:定义控制小灯的MCU引脚为输出---------------------------* ;功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗* ;----------------------------------------------------------------------------------* Light_Init:LDA #$FFSTA Light_P ;设置初始时八个LED灯全灭LDA #$FFSTA Light_D ;设置LED所接PTB口为输出RTS;Light_On_Off:驱动小灯"亮","灭"---------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------* Light_On_Off:CMP #0BNE Light_1LDA #LonSTA Light_PBRA Light_ExitLight_1:CMP #1BNE Light_Exit ;入口非'L'/'A',程序无响应LDA #LoffSTA Light_PLight_Exit:RTS;Light_Half:驱动小灯"四亮","四灭"-------------------------------------* ;功能:根据A的值控制小灯的亮和暗* ;---------------------------------------------------------------------------------*Light_Half:LDA Light_PCMP #LdiffBNE Light_half1LDA #~LdiffSTA Light_PBRA L_exitLight_half1:LDA #LdiffSTA Light_PL_exit:RTS3、拨动开关控制程序Switch.asm;[switch.asm]开关状态输入---------------------------------------------* ;本文件包含: * ; (1)Switch_init:定义连接开关的MCU的I/O引脚为输入* ; (2)Switch_read:读取开关状态* ; (3)RAM$70保存开关状态;--------------------------------------------------------------------------------*;小灯驱动所需头文件INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名XDEF Switch_InitXDEF Switch_Read;开关连接引脚宏定义Switch_P: equ PTCDSwitch_D: equ PTCDDS_K1: equ 0S_K2: equ 1;Switch_Init:定义连接开关的I/O为输入----------------------------------*Switch_Init:BCLR S_K1,Switch_DBCLR S_K2,Switch_DRTS;Switch_Read:读取连接开关的I/O口数据,取出开关状态------------* ;RAM$70保存开关状态* ;------------------------------------------------------------------------------------*Switch_Read:PSHALDA #0STA $70BSET S_K1,$70BSET S_K2,$70LDA Switch_PAND $70STA $70PULARTS4、延时通用程序DelayHX.asmXDEF DelayHXDelayHX:PSHA ;[A进栈](保护寄存器A)CPX #0 ;X变址寄存器中的值是否为0BEQ DelayHX_ExitDelayHX_1:LDA #200 ;延时约200*5=1000(T)------DelayHX_2:NOP ;(1T)NOP ;(1T)DBNZA DelayHX_2AIX #-1 ;(HX - 1) -> HXCPHX #0BNE DelayHX_1DelayHX_Exit:PULA ;[A出栈](恢复寄存器A)RTS;[MCUInit.asm]AW60芯片初始化子程序---------------------*;功能: *; 系统初始化设置,设置ICGC1和ICGC2寄存器,SOPT的寄存器*; 设置,由外部晶振f = 4MHz,产生内部总线时钟f = 20MHz *;入口:无*;出口:无*;------------------------------------------------------*INCLUDE 'MC9S08AW60.inc' ;MCU映像寄存器名;声明外部函数XDEF MCUInit ;芯片初始化MCUInit:PSHA ;A进栈(保护寄存器A)LDA #%01100000; |||; |||; |||; ||+------STOPE --- 允许STOP; |+-------COPT ---- long timeout 2^18; +--------COPE ---- 关看门狗STA SOPT ;系统选项寄存器(只写一次)MOV #%00110000,ICGC2; |||||||| 应该在设置ICGC1之前写MFDx; |||||||+-RFD0 \; ||||||+--RFD1 --- 分频因子R=1; |||||+---RFD2 /; ||||+----LOCRE --- 丢失时钟信号后产生一个中断信号; |||+-----MFD0 \; ||+------MFD1 --- 锁频环倍乘因子N = 10; |+-------MFD2 /; +--------LOLRE --- 锁频环失锁后产生一个中断信号(不复位) MOV #%01111000,ICGC1; |||||||x; ||||||+--LOCD ---- 允许检测时钟信号丢失Lost of Clock; |||||+---OSCSTEN - 在OFF模式下允许晶振电路; ||||+----CLKS0 \ - 选择FLL engaged external reference(FEE) ; |||+-----CLKS1 / 使用锁频环的外时钟模式; ||+------REFS ---- 使用晶振(0表示使用外时钟信号); |+-------RANGE --- 使用高频晶振(4MHz p=1) (1-1;0-64); +--------HGO ----- 低功耗;等待FLL稳定PULA ;A出栈(恢复寄存器A)RTS四、思考题1.CodeWarrior建立工程有什么工程框架文件,这些文件的作用?2.该实验采用模块化设计方法,工程框架包含哪些文件,画出其组织结构,画出主程序流程图。

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

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

《单片机原理及应用》实验指导书电气工程与信息工程学院专业实验室2013.3目录前言 (1)实验一仿真系统的使用与程序的调试 (3)实验二编程练习 (5)实验三单片机程序烧写 (8)实验四A/D转换 (10)实验五D/A转换 (14)实验六综合性实验——十字路口交通灯的通行指示控制 (17)实验七综合性实验——生产线货物自动计数设备 (17)实验八综合性实验——全自动洗衣机控制器 (18)实验九综合性实验——彩灯的循环闪烁控制 (18)附录1:51Tracer仿真器的使用及Keil uVision2快速入门 (20)附录2:Keil uVision2仿真调试高级技巧 (25)前言1、《单片机原理及应用》课程实验的任务通过本课程的实验环节,学生应进一步巩固和加深对单片机原理与应用基本知识的理解,提高综合运用所学知识,独立编程和设计电路的能力,培养自身独立分析问题、解决问题的能力。

实验要求学生经历由软件环境练习、简单程序编写及软件仿真、复杂程序调试、单片机中断定时功能的学习掌握及硬件仿真,最后到实践一个小型控制器的设计过程,学生必须根据实验要求完成每一个环节,期间培养自身的观察能力、动手能力,以及根据所学知识解决实际问题的能力。

学生须具备基本的自拟实验步骤、分析和综合实验结果以及撰写实验报告的能力。

2、实验设备安装有中文版Keil uVision2的计算机、学林51TRACER仿真器以及配合相关实验的实验板、实验工具,其中实验板配有按键、二极管、数码管显示电路、AD和DA模块等。

KEIL uVISION2由美国Keil Software公司出品,是众多单片机应用开发软件中的优秀软件之一。

提供丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率较高,多数语句生成的汇编代码较紧凑,容易理解。

软件仿真方面也具有较强的功能,其兼容51系列单片机C语言软件开发系统,使用接近于传统C语言的语法来开发。

与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用, 而且可以提高了工作效率和项目开发周期。

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

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

单片机原理与应用实验指导书专业班级姓名计算机学院编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集成开发环境的仿真调试练习。

《单片机原理及应用》实验指导书(第一部分实验--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)。

前言本实验指导是为适应各大、中专院校开设单片机原理与应用方面的课程设置需要而编写,供学生编程用。

完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、程序框图和实验步骤。

免除了主讲教师和实验辅导老师为设计、准备调试实验线路和实验程序所需的工作量,节约宝贵的时间。

一、所有实验程序已固化在16K EPROM(27C128)中,在LED状态用传送命令将程序传送到以0000H为起始地址的RAM区中,因实验程序中采用子程序形式较多,要互相调用,所以必须把程序全部传送到实验系统中,对中断入口等地址的指令按照实验要求输入。

其中MCS-51实验程序地址范围:0000~1FFFH,您可以通过系统自带的键盘显示输入各种命令运行系统RAM中的实验程序,显示实验结果完成各个实验项目。

二、实验接线图上的粗实线表示用户在实验时要用导线连接起来。

三、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据贵校(院)的教学要求,选择相应实验。

四、关于打印机、8279等详细使用说明,见《单片微型计算机控制板使用说明》。

五、对同一问题的解决办法往往不是唯一的欢迎用户在使用本书过程中提出最为优秀的实验方案,指示错误和不足,希望用户反馈给我们,以便及时修改。

六、每个实验程序的序号、实验名称、入口地址见下表。

目录软件部分实验硬件部分实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。

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

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

五、思考假使把2000H~20FFh中的内容改成FFh,如何修改程序。

实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。

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

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

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

实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。

二、实验内容把2000h、2001h的低位分别送入2002h高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。

三、实验框图四、实验步骤单步或用断点方式运行程序,检查2002h内容变化情况。

实验四数据区传送子程序一、实验目的掌握RAM中的数据操作。

二、实验内容把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。

三、程序框图四、实验步骤在R2、R3中输入源首址(例如0000h),R4、R5中输入目的地址(例如2000h),R6、R7中输入字节数(例如1FFFh),运行程序,检查0000~1FFFh中内容是否和2000~3FFFh 中内容完全一致。

实验五数据排序实验一、实验目的熟悉MCS-51指令系统,掌握程序设计方法。

二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。

三、程序框图四、实验步骤把MCS-51片内RAM的50~5Ah中放入不等的数据,运行本实验程序后检查50~5Ah 中内容是否按从小到大排列。

五、思考修改程序把50~5Ah中内容按从小到大排列。

实验六查找相同数个数一、实验目的熟悉汇编语言编程。

二、实验内容在2000~200Fh中查出有几个字节是零,把个数放在2100h中。

三、程序框图四、实验步骤在2000~200Fh的几个单元中填入零,运行本程序后检查2100h中是几个单元数。

五、思考修改程序,查找其他内容。

实验七无符号双字节快速乘法子程序一、实验目的掌握MCS-51汇编语言程序设计方法。

二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:(R2 R3)×(R6 R7)= ((R2)×28+(R3))×((R6)×28+(R7))= (R2)×(R6)×216+(R2)×(R7)+(R3)×(R6)×28+(R3)*(R7)三、实验内容将(R2 R3)和(R6 R7)中双字节无符号整数相乘,积送R4 R5 R6 R7中。

四、程序框图五、实验步骤在R2 R3和R6 R7中输入无符号整数,连续或单步运行本实验程序后检查R4 R5 R6 R7中内容。

实验八多分支程序一、实验目的掌握汇编语言的编程。

二、实验内容编写程序,根据送入的数据转移运行。

三、程序框图四、实验步骤在20H中分次送入00、01、02、03,每次运行程序后,观察数码管上数字循环情况。

实验九脉冲计数(定时/计数器实验)一、实验目的熟悉MCS-51单片机的定时/计数功能,掌握初始化编程显示方法。

二、实验内容把定时器0外部输入的脉冲进行计数,并送显示器显示。

三、程序框图四、实验电路五、实验步骤P3.4依次接T0~T7或单步脉冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。

六、思考修改程序使显示器上可显示到999999个脉冲个数。

实验十电脑时钟(定时器、中断器综合实验)一、实验目的熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。

二、实验内容编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。

三、程序框图四、实验步骤连续运行程序,在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。

五、思考⑴电子钟走时精度和程序中那些常数有关?⑵修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。

实验十一二进制转换到BCD一、实验要求将给定的一个二进制数,转换成二进制编码的十进制(BCD)码。

二、实验目的掌握简单的数值转换算法,基本了解数值的各种表达方法。

三、实验说明计算机中的数值有各种表达方式,这是计算机的基础。

掌握各种数制之间的转换是一种基本功。

四、程序框图五、实验步骤在实验系统与PC联机状态下,编制程序,将ACC拆为三个BCD码,并存入20H开始的三个片内RAM单元。

六、思考如何将BCD转换成二进制码?实验十二二进制转换到ASCII一、实验要求给出一个BCD数,将其转换成ASCII值。

二、实验目的了解BCD值和ASCII值的区别,掌握如何将BCD值转换成ASCII值,并学习如何查表进行数值转换及快速计算。

三、实验说明此实验主要让学生了解数值的BCD 码和ASCII码的区别,利用查表功能可能快速地进行数值转换。

进一步了解数值的各种表达方式。

四、程序框图五、实验步骤在实验系统与PC联机状态下,编制程序,将ACC拆为二个ASCII码,并存入20H 开始的二个片内RAM单元。

实验十三八段数码管显示一、实验要求利用实验系统提供的显示设备,动态显示一行数据。

二、实验目的⑴了解数码管动态显示的原理;⑵了解用总线方式控制数码管显示。

三、实验说明本实验系统提供了6位八段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。

四、程序框图五、实验步骤在实验系统与PC联机状态下,编制程序,利用实验系统的显示设备动态显示数据。

实验十四键盘扫描显示实验一、实验要求在上一个实验的基础上,利用实验系统提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。

实验程序可分成三个模块。

①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。

②显示模块:将显示单元的内容在显示器上动态显示。

③主程序:调用键输入模块和显示模块。

二、实验目的⑴掌握键盘和显示器的接口方法和编程方法。

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

三、实验说明本实验系统自带一个8×4的键盘,在判断有键按下后,要有一定的延时,防止键盘抖动。

四、程序框图五、实验步骤在实验系统与PC联机状态下,编制程序,利用实验系统的显示设备、键盘实现按键的输入并送至显示设备输出。

硬件实验硬件实验可使学生能进一步掌握单片机系统扩展和输入输出程序的设计方法,熟悉对扩展系统的软件、硬件设计,调试方法和技巧。

实验一P1口亮灯实验一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。

二、实验预备知识(1)P1口对准双向口,每一位都可独立地定义为输出或输入。

(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

三、实验内容P1口作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

四、程序框图五、实验电路六、实验步骤P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。

七、思考改变延时常数,使发光二极管闪亮时间改变。

修改程序,使发光二极管闪亮移位方向改变。

实验二P1口转弯灯实验一、实验目的进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。

二、实验内容P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左移弯灯闪亮,P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。

三、程序框图四、实验电路五、实验步骤P1.0接K1、P1.1接K2、P1.4~P1.7接L1、L4、L7、L10,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。

实验三P3.3 口输入.P1 口输出一、实验目的1.掌握P3口、P1口简单使用。

2.学习延时程序的编写和使用。

二、实验内容1.P3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。

2.P1口做输出口,编写程序,使P1口接的8 个发光二极管L1—L8按16进制加一方式点亮发光二极管。

三、实验说明1.P3口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P3口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对于延时程序DELAY:MOV R6,#00HDELAY1:MOV R7,#80HDJNZ R7,﹩DJNZ R6,DELAY1查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。

相关文档
最新文档