当前位置:文档之家› 单片机实验指导书

单片机实验指导书

单片机实验指导书
单片机实验指导书

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

指导教师:张晓虎

2012~2013年第二学期

目录

第一部分实验基础

一、THKL-C51型仿真器使用说明 (2)

二、KEIL UVISION2仿真软件的使用说明 (4)

三、THKL-C51型仿真器的在线调试 (17)

实验一单片机认识及简单开关量输入/输出实验 (26)

实验二软件延时控制实验 (27)

实验三按键检测与控制实验 (28)

实验四五彩灯控制实验 (29)

实验五计数控制实验 (30)

实验六串口静态显示实验 (31)

实验七键盘及显示实验 (32)

实验八电子钟设计 (34)

第一部分 单片机实验基础

单片机实验采用THGZ —1型单片机·CPLD/FPGA 开发综合实验装置、THKL —C51型单片机仿真器或Brightek WH-500AU 编程加密器、PC 机。,如图1.0-1所示。

THGZ —1型单片机·CPLD/FPGA 开发综合实验装置既可以做单片机实验,又可以做EDA 实验。台面上有两大块电路板,左边的是单片机实验板,用于单片机实验。单片机实验板上设置了彼此独立的30个模块,其左下角有一个电源总开关,各个模块有独自的电源开关。单片机实验板通过仿真器与PC 机联接。实验线路接好后,接通电源,PC 机通过Keil uVision2或Keil uVision4仿真软件下载程序到仿真器,运行程序即可观察实验现象。

一、THKL-C51型仿真器的使用说明

1、仿真器自检步骤

1)USB 仿真方式

仿真器在出厂时默认设置为USB 仿真方式。

安装USB 仿真器PC 驱动程序,运行“USB 仿真器PC 驱动程序”文件夹下的“Setup.exe”

文件,

图1.0-1 单片机实验装置

默认安装完成即可。

P1跳线器的短路帽置位1、2端(仿真器从PC机上取电),P3跳线器的两只短路帽置位2、3端,用一头方一头扁USB线连接仿真器与PC机,发现新硬件后,点自动安装即可。查看PC机的硬件属性(设备管理器)中“端口”下“CP2102 USB to UART Bridge Controller”后是COM?仿真软件里设置端口时应与之相同。

仿真器在通电瞬间要对系统进行自检,所以在仿真器上电之前,仿真头上不要连有负载。接通电源,自检通过后POWER 指示灯会亮起来,RXD灯亮1.5秒后自动熄灭,表示自检通过,此时就可以进入的硬件仿真了。

2)串口仿真方式

P3跳线器的两只短路帽置位1、2端,用一头针一头孔串口线连接仿真器与PC机,仿真器如从目标板上取电,就不用再接USB线到PC机了,此时P1跳线器的短路帽置位到2、3端。仿真器如从PC机上取电(接USB线),则一定要把P1跳线器的短路帽置位到1、2端。

不要带电插拔串口,以防止由此产生的浪涌电流损坏MAX232通讯芯片。仿真器在通电瞬间要对系统进行自检,所以在仿真器上电之前,仿真头上不要连有负载。接通电源,自检通过后POWER 指示灯会亮起来,表示自检通过,此时就可以进入的硬件仿真了。仿真过程中“TXD”灯闪烁。

2、仿真器复位按钮的作用

在仿真器的右侧下方有一个小的按纽,这个按钮用来给整个仿真器硬件系统复位,什么时候需要按这个按钮呢?设置好KEIL的硬件环境后,在每次点击进入仿真环境之前,需要按一下这个复位按钮,这样KEIL启动后,软件和已复位的硬件仿真器就会顺利联机,在点击进入仿真环境之后,仿真器完全由KEIL控制,此时不要按这个按钮,否则在仿真过程中系统将会提示联机中断。

如果需要给硬件复位的话,请先点击仿真器的复位键然后点退出KEIL仿真调试环境。

仿真器使用注意事项:在打开PC机之前请把仿真器和PC机的串口连好。在联机后,请千万不要带电插拔仿真器和PC机的接口,如果带电插拔仿真器就可能导致接口电路MAX232损坏。注意插拔的时候仿真器或者PC机至少有一方的电源是断开的。

断开连接之前推荐步骤:

1)按一下仿真器硬件复位按钮。

2)按退出仿真环境。

3)关闭KEIL,关闭PC机,最后再断开硬件连接,如果要经常使用则不用断开硬件连接。

二、Keil uVision2仿真软件的使用说明

1、μVision2集成开发环境

μVision2 IDE 是德国Keil 公司开发的基于Windows 平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE 工具。其中Keil C51是一种专门为单片机设计的高效率C 语言编译器,符合ANSI 标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。 2.关于开发环境

μVision2的界面如图1.2-1所示,μVision2允许同时打开、浏览多个源文件。

3.菜单条、工具栏和快捷键

下面的表格列出了μVision2菜单项命令,工具栏图标,默认的快捷以及他们的描述。 1)编辑菜单和编辑器命令Edit (如表1.2-1所示)

表1.2-1 编辑菜单和编辑器命令Edit

图1.2-1 μVision2

界面图

2)选择文本命令

在μVision2中,可以通过按住Shift键和相应的键盘上的方向键来选择文本。如Ctrl+->可以移动光标到下一个词,那么,Ctrl+Shift+->就是选择当前光标位置到下一个词的开始位置间的文本。当然,也可以用鼠标来选择文本。

3)项目菜单Project和项目命令Project(如表1.2-2所示)

表1.2-2 项目菜单和项目命令Project

4)调试菜单Debug和调试命令(如表1.2-3所示)表1.2-3 调试菜单和调试命令Debug

5)外围器件菜单Peripherals(如表1.2-4所示)

表1.2-4 外围器件菜单Peripherals

以下为单片机外围器件的设置对话框(对话框的种类及内容依赖于你选择的CPU)

6)工具菜单Tool(如表1.2-5所示)

利用工具菜单,可以设置并运行Gimpel PC-Lint、Siemens Easy-Case和用户程序。通过Customize Tools Menu…菜单,可以添加需要的程序。

4.创建项目实例

μVision2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。要创建一个应用,需要按下列步骤进行操作:

●启动μVision2,新建一个项目文件并从器件库中选择一个器件。

●新建一个源文件并把它加入到项目中。

●增加并设置选择的器件的启动代码

●针对目标硬件设置工具选项。

●编译项目并生成可编程PROM的HEX文件。

下面将逐步地进行描述,从而指引读者创建一个简单的μVision2项目。

1) 选择【Project 】/【New Project 】选项,如图1.2-2所示。

图1.2-2 Project 菜单

2) 在弹出的“Create New Project”对话框中选择要保存项目文件的路径,比如保存到Exercise 目录里,在“文件名”文本框中输入项目名为example ,如图1.2-3所示,然后单击“保存”按钮。

3) 此时会弹出一个对话框,要求选择单片机的型号。读者可以根据使用的单片机型号来选择,Keil C51几乎支持所有的51核的单片机,这里只是以常用的A T89C51为例来说明,如图1.2-4所示。选择89C51之后,右边Description 栏中即显示单片机的基本说明,然后单击“确定”按钮。

图1.2-4 选择单片机的型号对话框

图1.2-3 Create New Project 对话框

4)这时需要新建一个源程序文件。建立一个汇编或C文件,如果已经有源程序文件,可以忽略这一步。选择【File】/【New】选项,如图1.2-5所示。

5)在弹出的程序文本框中输入一个简单的程序,如图1.2-6所示。

图1.2-5 新建源程序文件对话框图图1.2-6 程序文本框

6)选择【File】/【Save】选项,或者单击工具栏按钮,保存文件。

在弹出的如图1.2-7所示的对话框中选择要保存的路径,在“文件名”文本框中输入文件名。注意一定要输入扩展名,如果是C程序文件,扩展名为.c;如果是汇编文件,扩展名为.asm;如果ini文件,扩展名为. ini。这里需要存储ASM源程序文件,所以输入.asm扩展名(也可以保存为其他名字,比如new.asm等),单击“保存”按钮。

图1.2-7 “Save As”对话框图

7)单击Target1前面的+号,展开里面的内容Source Group1,如图1.2-8所示。

图1.2-8 Target展开图

8)用右键单击Source Group1,在弹出的快捷菜单中选择Add File to Group`Source Group1`选项,

如图1.2-9所示。

图1.2-9 Add Files to Group …Source Group1?菜单

9)选择刚才的文件example.asm,文件类型选择Asm Source file(*.C)。如果是C文件,则选择C Source file;如果是目标文件,则选择Object file;如果是库文件,则选择Library file。最后单击“Add”按钮,如果要添加多个文件,可以不断添加。添加完毕后单击“Close”按钮,关闭该窗口,如图1.2-10所示。

图1.2-10 Add Files to Group …Source Group1?对话框

10)这时在Source Group1目录里就有example.asm文件,如图1.2-11所示。

11) 接下来要对目标进行一些设置。用鼠标右键(注意用右键)单击Target1,在弹出的会计菜单中选择Options for Target “Target 1”选项,如图1.2-12所示。

图1.2-12 ptions for Target “Target 1”选项

12)弹出Options for Target “Target 1”对话框,其中有8个选项卡。

① 默认为Target 选项卡(如图1.2-13所示)。

图1.2-13 Target 选项卡

● Xtal (MHZ ):设置单片机的工作频率,默认是24.0MHz 。

● Use On-chip ROM(0x0-0XFFF):表示使用片上的Flash ROM ,At89C51有4KB 的可重编程的Flash ROM ,该选项取决于单片机应用系统,如果单片机的EA 接高电平,则选中这个选项,表示使用内部ROM ,如果单片机的EA 接低电平,表示使用外部ROM

,则不选中该项。这里选中该

图1.2-11 example.asm 文件

选项。

●Off-chip Code memory:表示片外ROM的开始地址和大小,如果没有外接程序存储器,那么不需要填任何数据。这里假设使用一个片外ROM,地址从0x8000开始,一般填16进制的数,Size 为片外ROM的大小。假设外接ROM的大小为0x1000字节,则最多可以外接3块ROM。

●Off-chip Xdata memory:那么可以填上外接Xdata外部数据存储器的起始地址和大小,一般的应用是62256,这里特殊的指定Xdata的起始地址为0x2000,大小为0x8000。

●Code Banking:是使用Code Banking技术。Keil可以支持程序代码超过64KB的情况,最大可以有2MB的程序代码。如果代码超过64KB,那么就要使用Code Banking技术,以支持更多的程序空间。Code Banking支持自动的Bank的切换,这在建立一个大型系统时是必需的。例如:在单片机里实现汉字字库,实现汉字输入法,都要用到该技术。

●Memory Model:单击Memory Model后面的下拉箭头,会有3个选项,如图1.2-14所示。

图1.2-14 Memory Model选项

●Small:变量存储在内部RAM里。

●Compact:变量存储在外部RAM里,使用8位间接寻址。

●Large:变量存储在外部RAM里,使用16位间接寻址。

一般使用Small来存储变量,此时单片机优先将变量存储在内部RAM里,如果内部RAM空间不够,才会存在外部RAM中。Compact的方式要通过程序来指定页的高位地址,编程比较复杂,如果外部RAM很少,只有256字节,那么对该256字节的读取就比较快。

如果超过256字节,而且需要不断地进行切换,就比较麻烦,Compact模式适用于比较少的外部RAM的情况。Large模式是指变量会优先分配到外部RAM里。需要注意的是,3种存储方式都支持内部256字节和外部64KB的RAM。因为变量存储在内部RAM里运算速度比存储在外部RAM 要快得多,大部分的应用都是选择Small模式。

使用Small模式时,并不说明变量就不可以存储在外部,只是需要特别指定,比如:

unsigned char xdata a:变量a存储在内部RAM。

unsigned char a:变量存储在内部RAM。

但是使用Large的模式时:

unsigned char xdata a:变量a存储在外部RAM。

unsigned char a:变量a同样存储在外部RAM。

这就是它们之间的区别,可以看出这几个选项只影响没有特别指定变量的存储空间的情况,默认存储在所选模式的存储空间,比如上面的变量定义unsigned char a。

●Code Rom Size:单击Code Rom Size后面的下拉箭头,将有3个选项,如图1.2-15所示。

图1.2-15 Code Rom Size选项

?Small:program2K or less,适用于A T89C2051这些芯片,2051只有2KB的代码空间,所以跳转地址只有2KB,编译的时候会使用ACALL AJMP这些短跳指令,而不会使用LCALL,LJMP 指令。如果代码地址跳转超过2KB,那么会出错。

?Compact:2K functiongs,64K program,表示每个子函数的代码大小不超过2K,整个项目可以有64K的代码。就是说在main()里可以使用LCALL,LJMP指令,但在子程序里只会使用ACALL,AJMP指令。只有确定每个子程序不会超过2KB,才可以使用Compact方式。

?Large:64KB program,表示程序或子函数代码都可以大到64KB,使用code bank还可以更大。通常都选用该方式。选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact 和Small方式。这里选择Large方式。

?Operating:单击Operating后面的下拉箭头,会有3个选项,如图1.2-16所示。

图1.2-16 Operating选项

?None:表示不使用操作系统。

?RTX-51 Tiny Real-Time OS:表示使用Tiny操作系统。

?RTX-51 Full Real -Time OS:表示使用Full操作系统。

Tiny是一个多任务操作系统,使用定时器0做任务切换。在11.0592MHz时,切换任务的速度为30ms。如果有10个任务同时运行,那么切换时间为300ms。不支持中断系统的任务切换,也没有优行级,因为切换的时间太长,实时性大打折扣。多任务情况下(比如5个),轮循一次需要150ms,即150ms才处理一个任务,这连键盘扫描这些事情都实现不了,更不要说串口接收、外部中断了。同时切换需要大概1000个机器周期,对CPU的浪费很大,对内部RAM的占用也很严重。实际上用到多任务操作系统的情况很少。

Keil C51 Full Real -Time OS是比Tiny要好一些的系统(但需要用户使用外部RAM),支持中断方式的多任务和任务优先级,但是Keil C51里不提供该运行库,要另外购买。

这里选择None。

②设置Output选项卡(如图1.2-17所示)

图1.2-17 设置Output卡

●Select Folder for Objects:单击该按钮可以选择编译后目标文件的存储目录,如果不设置,就存储在项目文件的目录里。

●Name of Executable:设置生成的目标文件的名字,缺省情况下和项目的名字一样。目标文

件可以生成库或者obj、HEX的格式。

●Create Executable:如果要生成OMF以及HEX文件,一般选中Debug Information和Browse Information。选中这两项,才有调试所需的详细信息,比如要调试C语言程序,如果不选中,调试时将无法看到高级语言写的程序。

●Create HEX File:要生成HEX文件,一定要选中该选项,如果编译之后没有生成HEX文件,就是因为这个选项没有被选中。默认是不选中的。

●Create Library:选中该项时将生成lib库文件。根据需要决定是否要生成库文件,一般应用是不生成库文件的。

●After Make:栏中有以下几个设置。

●Beep when complete:编译完成之后发出咚的声音。

●Start Debugging:马上启动调试(软件仿真或硬件仿真),根据需要来设置,一般是不选中。

●Run User Program #1,Run User Program #2:这个选项可以设置编译完之后所要运行的其他应用程序(比如有些用户自己编写了烧写芯片的程序,编译完便执行该程序,将HEX文件写入芯片),或者调用外部的仿真器程序。根据自己的需要设置。

③设置Listing选项卡(如图1.2-18所示)

图1.2-18 设置Listing选项卡

Keil C51在编译之后除了生成目标文件之外,还生*.lst、*m51的文件。这两个文件可以告诉程序员程序中所用的idata、data、bit、xdata、code、RAM、ROM、stack等的相关信息,以及程序所需的代码空间。

选中Assembly Code会生成汇编的代码。这是很有好处的,如果不知道如何用汇编来写一个long 型数的乘法,那么可以先用C语言来写,写完之后编译,就可以得到用汇编实现的代码。对于一个高级的单片机程序员来说,往往既要熟悉汇编,同时也要熟悉C语言,才能更好地编写程序。某些地方用C语言无法实现,便用汇编语言却很容易。有些地方用汇编语言,很繁琐,用C语言就很方

便。

单击Select Folder for Listings按钮后,在出现的对话框中可以选择生成的列表文件的存放目录。不做选择时,使用项目文件所在的目录。

④设置Debug选项卡(如图1-19所示)

这里有两类仿真形式可选:Use Simulator和Use:Keil Monitor-51 Driver,前一种是纯软件仿真,后一种是带有Monitor-51目标仿真器的仿真。

●Load Application at Start:选择这项之后,Keil才会自动装载程序代码。

图1.2-19设置Debug选项卡

●Go till main:调试C语言程序时可以选择这一项,PC会自动运行到main程序处。

这里选择Use Simulator。

如果选择Use:Keil Monitor-51 Driver,还可以单击图1.2-19中的Settings按钮,打开新的窗口如图1.2-20,其中的设置如下。

●Port:设置串口号,为仿真机的串口连接线COM_A所连接的串口。

●Baudrate:设置为9600,仿真机固定使用9600bit/s跟Keil通信。

●Serial Inerrupt:允许串行中断,选中它。

●Cache Options:可以选也可以不选,推荐选它,这样仿真机会运行得快一点。

最后单击OK按钮关闭窗口。

图1.2-20 Target设置

13)编译程序,选择【Project】/【Rebuild all target files】选项,如图1.2-21所示。

图1.2-21 Rebuild all target files

或者单击工具栏中的按钮,如图1.2-22所示,开始编译程序。

图1.2-22 工具栏中的按钮

如果编译成功,开发环境下面会显示编译成功的信息,如图1.2-23所示。

图1.2-23 编译成功信息

14)编译完毕之后,选择【Debug】/【Start/Stop Debug Session】选项,即就进入仿真环境,如图1.2-24所示。

图1.2-24 仿真

或者单击工具栏中的铵钮,如图1.2-25所示。

图1.2-25 工具栏仿真按钮

15)装载代码之后,开发环境下面显示如图1.2-26所示的信息。

图1.2-26 装载代码

三、THKL-C51型仿真器的在线调试

1、软件调试步骤

1)硬件准备

须具备DIP40P封装的51单片机硬件系统一台和THKL-C51仿真器一台,还需要一条USB线(一头方一头扁)。

2)软件准备

PC机一台,能使用一个USB口,已安装KeilC51仿真软件、仿真器PC驱动程序。

3)系统设置

把仿真器插入单片机DIP40P插座,请注意仿真器插入方向,缺口应朝上。

4)软件设置

打开keilc软件,创建相关实验的应用项目,包括添加源文件,编译项目文件,详见以上介绍。开始软件设置,找到图1.3-1所示菜单项。

图1.3-1 Project菜单

选中以后找到图1.3-2所示的对话框,按照图1.3-2里面的图示方法,进行端口设置。选择硬件仿真。

图1.3-2设置Debug选项卡

进入Target设置,如图1.3-3。选择串行口,波特率选择38400,这样就设置好了。

图1.3-3 Target设置

5)开始调试

按实验指导书提供的方法连接好实验导线。打开相关模块的电源开关(关闭不相关模块的电源

开关),打开总电源开关。按图1.3-4中的按钮开始调试。

图1.3-4 调试窗口

这时候如果出现图1.3-5所示对话框,那么硬件系统应复位一次,关闭总电源开关2秒后重新打开电源。

图1.3-5 联接失败对话框

然后按图1.3-5所示的"Try Again",可进入调试阶段。如图图1.3-6所示。

图1.3-6 调试窗口

按图图1.3-6 中按钮,即可运行程序。

如果想停止运行程序,应按一下THKL-C51仿真器的复位按钮,等待约2秒后,程序便停止运

行,再次按图2-6中的按钮可返回到图1.3-4界面。

2、软件仿真实例

根据一个实例作软件仿真的过程。

单片机实验指导书

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本实 例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 .专业DOC.

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接 ]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下:

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支

持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

单片机实验指导书

单片机实验指导书 适用专业:计算机控制、网络、物联网等 学时:12 编写人:孔庆臣 2016-5-12

实验一 IO口输入输出实验 1. 实验内容 (1) P2口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2) P1口做输入口,接八个扭子开关,P2口接八只发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。 2. 实验目的 学习keil仿真软件的使用方法 学习IO口的使用方法。 学习延时子程序的编写和使用。 stc-isp软件的使用 3.有关说明 P1口为准双向口,P1的每一位都能独立地定义为输入或输出线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。单片机IO口在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。 可以用第二个实验做一下实验。先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。 再来看一下延时程序的实现。通常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。 本实验系统晶振为11.0592MHZ,则一个时钟周期为0.0904us。现要写一个延时0.1s的程序,可大致写出如下: void Delay100ms() //@11.0592MHz { unsigned char i, j, k; i = 5; j = 52; k = 195; do { do { while (--k); } while (--j); } while (--i); } 5.实验电路设计 (1)分析附录1 单片机实验系统部分原理图,选择合适的电路模块,并根据实验要求的功能进行合理的电路模块间的电路连接。 (2)画出本次实验独立的原理图 5、实验要求 (1)完成实验电路设计 (2)完成实验程序设计 (3)实现要求的实验结果

单片机实验指导书

实验一8051简单编程与调试实验目的 通过简单小程序的输入和调试,熟悉并掌握Keil 的使用。学会Proteus与Keil的整合调试。 实验基本要求 建立三个项目,分别输入存储块清零、二进制BCD码及二进制ASCII码转换的汇编源程序,并进行仿真调试。画出实验程序的流程框图。 实验步骤 采用Keil Cx51 开发8051单片机应用程序一般需要经过下面几个步骤: 1、在 Vision2集成开发环境中创建一个新项目(Project),并为该项目选定合适的单片机CPU器件。 在菜单栏中选择“Project”→“New Project”,弹出“Create New Project”对话框,选择目标路径,在“文件名”栏中输入项目名后,单击“保存(S)”按钮,弹出“Selecte Device for Target”对话窗口。在此对话窗口的“Data base”栏中,单击“Atmel”前面的“+”号,或者直接双击“Atmel”,在其子类中选择“AT89C51”,确定CPU类型。如图所示。 点击“确定”按钮后,弹出如下的对话框

如果是进行汇编语言编程选择“否”。 2、利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。 在μVision2的菜单栏中选择“File”→“New”命令,新建文档,然后在菜单栏中选择“File”→“Save”命令,保存此文档,这时会弹出“Save As”对话窗口,在“文件名(N)”一栏中,为此文本命名,注意要填写扩展名“.asm”。单击“保存(S)”按钮,这样在编写汇编代码时,Keil会自动识别汇编语言的关键字,并以不同的颜色显示,以减少输入代码时出现的语法错误。程序编写完后,再次保存。 在Keil中“Project Workspace”子窗口中,单击“Target 1”前面的“+”号,展开此目录。在“Source Group 1”文件夹上单击鼠标右键,在右键菜单中选择“Add File to ‘Group Source 1’”,弹出“Add File to Group”对话窗口,在此对话窗口的“文件类型”栏中,选择“Asm Source File”,并找到刚才编写的.asm文件,双击此文件,将其添加到Source Group 中,此时“Project Workspace”子窗口如图所示。

单片机实验指导书

单片机实验 实 验 指 导 书 2017年2月

单片机实验报告 (自动化XX级) 实验名称 学生 联系方式 学号 院系工学院电气与信息工程系专业自动化 指导教师 填写日期

实验一数据传送 一、实验目的 1.进一步熟悉仿真器的使用方法。 2.练习设计简单的程序。 3.掌握8051片RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。 二、实验容 将8051部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH容传送到外部RAM的4800H~480FH,再将4800H~480FH传回部RAM的50H~5FH。设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的容。 三、实验准备 1、认真阅读本实验指导。 2、读懂下面的程序: #include #include char data *p40 ,*p50 ; char xdata *p4800; char i, j, k; void main( ) { p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i++) { *p40=i; p40=p40+1; } //B1 p40=0x40; for(j=0;j<16;j++) { *p4800=*p40; p40=p40+1; p4800=p4800+1; } // B2 p4800=0x4800; for(k=0;k<16;k++) { *p50=*p4800; p50=p50+1;

p4800=p4800+1; } } //B3 3、画出如下要测的数据表格: 四、实验步骤 1、向机器输入程序。 2、运行程序至第一个断点B1,检查40H~0FH单元容及指针p40的容。 3、运行程序至第二个断点B2,检查4800H~480FH单元容及指针p40,p4800的容。 4、运行程序至第三个断点B3,检查50H~5FH单元容及累加器及指针p50的容。 五、实验报告要求 1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。 2、将测得的数据填入表格,并和理论分析的结果相比较。 3、说明8031CPU对部存贮器和外部扩展RAM存贮器各有哪些寻址方式? 4、如果要读外部程序存储器0x4800中的容,该如何访问? 5.实验心得。(必须)

单片机实训指导书

实训项目一让单片机动起来1、实训目的及要求: 1)掌握单片机开发板的使用方法(驱动识别,程序下载) 2)掌握单片机程序开发软件KEIL的使用 3)掌握单片机程序烧录软件STC-ISP下载软件的使用 2、实训内容 1)根据实训报告内容编写单片机程序 2)调试程序并使用ISP下载软件将程序烧录到单片机芯片中 3)观察实验现象并记录 4)完成实训报告内容 3、实训准备 硬件:单片机开发板、电脑、杜邦线 软件:keil uvision4 、STC-ISP 4、实训过程 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-ISP 4、实训过程 1)流程图

单片机实验指导书——带答案

《单片机原理及应用》 实验指导书 姓名: 学号: 专业班级: 所在学院:成人教育学院 2012年5月日

单片机实验指导书 目录 实验一系统认识实验 (3) 实验二程序调试 (6) 实验三外部中断实验 (6) 实验四串口实验 (8)

实验一系统认识实验 一、实验目的 1.掌握SICElab-G2200实验/仿真系统的结构与使用方法; 2.熟悉单片机系统开发软件WA VE6000。 二、实验设备 1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台 3.连线若干根 4.计算机 1 台 三、实验内容 P1端口接发光二极管,加1点亮。 四、连线方案: 五、实验步骤 1.连接Lab51CPU板。(已由实验师连好) 2.仿真器与实验平台的连接 将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。(已由实验师连好) 3.仿真器与计算机的连接 用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。 特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。 4.实验连线 按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。拆线时,应先回转一下,不要硬拨,以免损坏线路板。不管是拆线还是插线,都应 在断电的情况下进行。实验中“连线方案”的粗线即为需用户动手接连的线。

5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。 6.在计算机上打开“WA VE6000集成调试环境”,界面如下图所示: 7.建立新程序(如果程序已编好,直接跳到第9步) 选择菜单[文件 | 新建文件]功能。 出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序 ORG 0 MOV P1,#0 ;熄灭发光二极管 LOOP: INC P1 CALL Delay SJMP LOOP Delay: MOV R2,#3 ;延时程序 MOV R1,#0 MOV R0,#0 DLP: DJNZ R0,DLP DJNZ R1,DLP DJNZ R2,DLP RET END 8.保存程序 选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。 9.建立新的项目 选择菜单[文件 | 新建项目]功能。 新建项目会自动分三步走。 (1)加入模块文件。在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。如果你是多模块项目,可以同时选择多个文件再打开。 (2)加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选)。如果没有包含文件,按取消键。 (3)保存项目。在保存项目对话框中输入项目名称。MY1无须加后缀。软件会自动将后缀设成“.PRJ”。按保存键将项目存在与你的源程序相同的文件夹下。 10.设置项目 11.编译程序 选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。 在编译过程中,如果有错可以在信息窗口中显示出来。双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可以执行、调试程序了。 12.执行、调试程序 有四种方法执行程序:全速执行、程序单步跟踪、执行到光标处和设置断点。 (1)全速执行 (2)程序单步跟踪 选择[执行 | 跟踪]功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序。 (3)执行到光标处 (4)设置断点 (5)观察各变量值的方法

单片机实验指导书终稿

实验一清零、移数、判断 一、实验目的 1、掌握汇编语言程序设计和调试方法。 2、掌握RAM存储器读写及存储块操作方法 3、熟悉分支结构程序的设计。 二、实验内容 将片内30H~40H及片外0010H~0100H清零,然后将片内41H~47H的内容移到片外0041H~0047H,判断: 若(0041H)<15,则求其平方存到0050H中,并将位00H置1。 (0041H)=15,则加15存到0050H中,并将位01H置1。 (0041H)>15, 则减15存到0050H中,并将位02H置1。 三、实验说明 通过本实验,学生可以了解单片机读写存储器的读写方法,同时也可以了解单片机编程,调试方法。 四、实验框图 片内外RAM清零流程图移数流程图

判断流程图 五、思考题 1、如果平方数超过255,怎样将数放到片内RAM 30H和31H单元内,写出指令。 2、位的表示方法有哪些,举例说明?将01H位清零的方法有几种,写出指令。

实验二排序、加法 一、实验目的 1、进一步掌握汇编语言程序设计和调试方法。 2、掌握数据排序的算法及加法运算。 二、实验内容 1、有两个长度为10个字节的无符号数分别放在片内30H和40H为首的存储单元中 (低字节),求其和(带进位位),放在50H为首的单元中。 2、将50H为首单元中的数按升序排列放在60H为首的单元中。 三、实验说明 通过本实验,学生可以了解单片机排序的算法,本程序采用“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。 四、实验框图 加法运算流程图排序流程图 五、思考题 1、-125与-9相加,PSW中OV、AC、CY的值是多少?各表示什么含义? 2、两个压缩BCD码59和22相加,结果放到片内RAM 30H单元中,写出程序。

单片机实验分析指导书

\\ 《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 哈尔滨理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行[主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本 实例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 1

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下: 2

51单片机实验指导书

《MCS-51单片机原理及应用》实验指导书 福建师范大学光电与信息工程学院 2016年03月

目录 实验一开发环境IDE (1) 实验二汇编程序设计初步 (1) 实验三汇编程序设计-进阶 (1) 实验四简单的单片机C语言程序 (2) 实验五内部定时器0/1应用 (3) 实验六中断及服务程序设计 (4) 实验七LED流水灯程序 (1)

实验一开发环境IDE 一、实验目的 1、熟悉一种51单片机开发软件,例如Keil或Wave,掌握IDE使用方法,掌握项目创建、软件仿真等调试方法。 二、实验仪器 1、PC机1台 三、实验内容 1、初步认识IDE软件(以Keil为例)的软件界面及使用; 2、了解asm、lst、hex等文件; 3、简单程序编写、调试; 4、掌握Watch、Memory等观察调试方法。 四、预习要求 1、读懂各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、为什么程序需要一个死循环? 2、比较“跟踪”、“单步”和“断点”调试方式的特点。

实验二汇编程序设计初步 一、实验目的 1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。 二、实验仪器 1、PC机1台 三、实验内容 (1)多字节加法 (2)多字节减法 (3)多字节乘法 (4)多字节除法 四、预习要求 1、读懂课堂PPT各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、比较“跟踪”、“单步”和“断点”调试方式的特点。

《单片机原理》实验指导书proteus

《单片机原理及接口》 实验指导书 莆田学院信息工程学院 2016年2月

目录 实验一仿真系统搭建 (1) 实验二实验系统编程应用 (7) 实验三流水灯实验 (9) 实验四 LED数码管显示实验 (11) 实验五键盘实验 (13) 实验六中断系统实验 (15) 实验七 51定时器实验 (17)

实验一仿真系统搭建 一、实验目的 了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。 熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。 二、实验原理 整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。 主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。 整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。 1、Keil软件的安装设置:

MSP430单片机实验指导书

试验一 一、实验目的 进一步熟悉IAR for MSP430编程软件和PROTEUS仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握MSP430单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。掌握PROTEUS仿真软件仿真MSP430单片机过程中的注意事项。 二、实验内容 1、运用PROTEUS仿真软件绘制LED流水灯电路; 2、运用IAR for MSP430编程软件编辑led流水灯程序,并且生成.hex 或.d90文件,并且将生成的文件加载到单片机中,程序使用P1或其它端口来演示跑马灯,输出低电平驱动。 三、实验器材 电脑一台 四、实验原理及介绍 LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;如果要让接在P1或其它端口的LED灯亮起来,那么只需要将P1或其它端口的电平变为低电平就可以了。同理,将该端口电平变为高电平,LED灯就会熄灭。 五、程序流程图 开始 端口初始化 LED顺序点亮 结束 六、实验步骤 1、运用PROTEUS仿真软件绘制电路图; 2、运用IAR for MSP430编写流水灯程序,并且生成‘’.hex’’或“.d90”文件

3、将‘’.hex’’或“.d90”文件软件加载到PROTEUS仿真软件中; 4、换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用 七、参考程序 #include "msp430f249.h" #define uint unsigned int /******************** 主函数 **************************/ void main(void) { Uint I; WDTCTL = WDTPW + WDTHOLD; P1DIR = ox0ff; while(1) { PIOUT = 0x00; For(I = 0;I < 65565;I ++); PIOUT = 0x0ff; For(I = 0;I < 65565;I ++); } } 八、心得体会(二页以上)

单片机实验指导书

1.TKSTDIO 集成开发环境简介 TKSTDIO 是一个集成开发环境软件。它提供了工程管理、文件编辑、编译连接、调试与仿真等强大功能。在此环境下可方便地开发单片机应用系统。 在TKSTDIO 集成开发环境中,工程是一个非常重要的概念。它是用户组织一个应用的所有源文件、设置编译连接选项、生成可调试下载文件和最终Bin 文件的一个基本结构,所有工作都围绕工程而展开。一个工程管理一个应用的所有源文件、库文件及其它输入文件,并根据实际情况进行相应的编译连接设置。 实验基本操作步骤: (1)建立自己实验项目文件夹(以学号或姓名命名); (2)打开TKSTDIO ; (3)[文件]→[新建]→[工程]→[Project Wizard]→[选择自己文件夹]→[输入工程名]→[确定]→[输入/选择单片机型号(STC89C51RC )]→[确定]; (4)[文件]→[新建]→[文件]→[Asm File]→[选择自己文件夹]→[输入文件名]→[确定]; (5)在弹出窗口输入/粘贴/打开实验1源程序; (6)[工程]→[生成“ ”]; (7)[调试]→[启动/停止调试]→……; (8)[打开STC-ISP.EXE]; (9)[打开程序文件]→[工程文件夹→DeBugRel →*.hex ]→[打开]→[DownLoad/下载]→程序在实验箱/开发板上运行,观察运行情况。 2.实验箱驱动与译码电路 由于实验箱上扩展器件较多,所以在系统总线上加了驱动器。数据总线(P0)口通过双向驱动器芯片74LS245驱动。低5位地址(A0A1A2A3A4)和控制信号(WR ———、RD ——— 、ALE )通过单向驱动器芯片74LS244驱动。系统通过两片3-8译码器芯片74LS138级联形成4-16译码逻辑,其译码输出作为实验箱上其它扩展器件译码控制信号,确定其地址范围。P 2.7P 2.6P 2.5P 2.4作译码器输入,译码输出SEL0~SEL7所确定的地址空间分别为:0xxxH 、1xxxH 、图1.1 实验箱驱动与译码电路

51单片机实验指导书

实验一、80C51存储器数据传输实验: 1、实验目的: 1)熟悉嵌入式交叉开发环境,结合简单的应用实例,完成工程的建立、应用程序的编写,并进行编译、调试,观察相关寄存器及存储空间的使用情况。 2)熟悉51单片机的开发环境Keil C51,掌握80C51单片机内部数据存储器、外部数据存储器的数据传送特点和应用。 2、实验内容: 第三章思考与练习(p87),从12、14、15、16中任选2题进行实验验证 要求:回答题目中问题,并列写出程序执行完后所涉及的各寄存器的值。 实验二、80C51汇编语言编程实验: 1、实验目的: 1)熟悉80C51单片微机汇编语言设计及编程技巧。 2)掌握逻辑运算程序的设计方法。 3)掌握多字节无符号十进制数加、减法程序的设计。 2、实验内容: 1)逻辑运算 设:A=63H ,B=82H ,C=C5H ,D=36H ,根据下列逻辑运算式,编写程序计算运算结果。 Y =A?B ?C ????????????????D +A ???????? 2)十进制加、减运算 286729 + 652430 -752196 = ? 在8051片内数据存储器的20H~22H 中放入3字节被加数(低位在先)、23H~25H 放入加数(低位在先)、26~28H 放入减数,结果存入29H~2BH 单元(低位在先)。 附:实验二参考例程 1)逻辑运算: ORG 0000H AJMP MAIN ORG 0080H MAIN: M OV A, #63H ;将A 值给累加器A MOV R0, #36H ;将D 值给R0 ORL A, R0 ;将A 与D 逻辑或,即A+D 存入累加器A CPL A ;求A +D ???????? MOV R1, A ;将A +D ????????存入R1 MOV A, #82H ;将B 值给累加器A MOV R0, #0C5H ;将C 值给R0 ANL A, R0 ;B 与C 逻辑与,结果存入累加器A CPL A ;求反,即B ?C ?????? MOV R0, #63H ;将A 值存入RO XRL A, R0 ;A?B ?C ??????,存入累加器A CPL A ;A?B ?C ??????????????? ANL A, R1 ;A?B ?C ????????????????D +A ???????? END

AVR单片机C语言程序设计实验指导书

实验一发光二极管的移动控制 一、实验目的 1.熟悉并行接口的设置与应用; 2.进一步熟悉编译软件和下载软件的使用; 3.熟悉C语言中移位、延时、数组等指令的应用; 4.增强学习单片机的兴趣。 二、实验内容 1.参考课本P128“发光二极管的移动控制”实验程序,实现发光二极管循环点亮的按键控 制。 ) 2.设计一个完整程序(另建一个文档),实现8个led灯的自动顺序(加法)点亮和逆序 (减法)点亮。见参考程序,并在程序中添加必要的解释文字。 三、实验步骤 1.以班级和姓名为文件夹名称在D盘根目录下新建一个子目录文件夹,用来保存每次实验的项目和程序。(注意:每次实验的位置固定,即下次实验的计算机还是上次的计算机。) 2.再在这个子目录下以实验题目为名新建一个文件夹。打开ICCAVR开发编程软件,新建一个工程文件项目,参照程序清单或根据实验要求自己重新修改设置并输入程序。 3.保存程序,并将程序源文件添加到项目里。见下图1。 图1 ( 4.设置项目属性,选择目标芯片等,见下图2,3。

图2 图3 5.编译程序。将所输入的程序进行编译(菜单Project→ Make命令),或者在工具栏单击 按钮),若编译时下方出现错误提示,说明程序有语法错误,此时必须根据编译器所列 出的错误消息,逐条查改,重新编译,直到错误消除并生成*.hex文件。 6.功能仿真。利用proteus或AVR studio的仿真功能对程序进行功能性仿真,验证程序功能是否正确。 7.打开下载软件(progisp或AVR Studio里的JTAG ICE),将刚刚生成的相应*.hex文件写入单片机(在此之前,须将单片机实验板按要求与PC机连接正确,并接通电源)。 8.验证硬件实现的结果是否与功能要求一致。 四、参考程序(实现8个led灯的自动顺序(加法)和逆序(减法)点亮的部分程序) > /*********************** 系统外接8M晶振 ************************/ unsigned char i; while (1) { for (i = 0; i < 8; i ++) { PORTB = ~(1 << i); delay_ms(200); 。 } for (i = 8; i > 0; i --) { PORTB = ~(1 << i-1); delay_ms(200); } }

单片机实验指导书

单片机实验指导书 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 哈尔滨理工大学 自动化学院自动化系 实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单文件新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比 如:.ASM文件,使用A51来对它编译。本实例文件名为。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单项目编译、连接 ]或[主菜单项目重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单运行进入调试状态] b)点击工具条的进入后的窗口如下:

51单片机实验指导书

《 MCS-51单 片 机 原 理 及 应 用 》 实 验 指 导 书 福建师范大学物理与光电信息科技学院 2012年03月

目录 实验一指令和汇编语言 (1) 实验二汇编程序设计初步 (1) 实验三汇编程序设计-进阶 (1) 实验四简单的单片机C语言程序 (2) 实验五内部定时器0/1应用 (3) 实验六中断及服务程序设计 (4)

实验一指令和汇编语言 一、实验目的 1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。 二、实验仪器 1、PC机 1台 三、实验内容 1、初步认识仿真器软件(以Wave为例)的软件界面及使用; 2、了解asm、lst等文件; 3、简单程序编写、调试 (1)传送指令 (2)数据交互指令 (3)堆栈操作指令 (4)算术运算指令(加、减、乘、除) (5)逻辑操作指令 (6)清零和求反指令 (7)循环移位指令 (8)控制转移指令 (9)子程序调用及返回 四、预习要求 1、读懂各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、为什么程序结束用“STOP:SJMP STOP”指令?用没有其他的停止方式? 51单片机启动后,是否一直不断地在执行指令? 2、比较“跟踪”、“单步”和“断点”调试方式的特点。

实验二汇编程序设计初步 一、实验目的 1、熟悉51单片机的指令系统,掌握汇编语言程序的设计方法,掌握开发的调试方法。 二、实验仪器 1、PC机 1台 三、实验内容 (1)多字节加法 (2)多字节减法 (3)多字节乘法 (4)多字节除法 四、预习要求 1、读懂课堂PPT各程序; 2、预先给出运算结果,以便和实验结果比较; 3、回忆“跟踪”、“单步”和“断点”调试方式的特点。 五、思考题 1、比较“跟踪”、“单步”和“断点”调试方式的特点。

单片机实验指导书

《单片机原理及接口技术》实验指导书 编著:张玲汪用瑜李惠颖

第一章概述 (1) 第二章软件实验 (6) 实验一清零程序 (6) 实验二拆字程序 (7) 实验三拼字程序 (7) 实验四数据区传递子程序 (8) 实验五数据排序实验 (9) 实验六无符号双字节快速乘法子程序 (9) 实验七脉冲计数(定时/计数器实验) (10) 第三章、硬件实验 (12) 实验一P3.3口输人. P1口输出 (12) 实验二8255 PC口控制PB口 (13) 实验三8255控制交通灯 (14) 实验四A/D转换实验 (16) 实验五D/A转换 (17) 实验六8253方波 (19) 实验七步进电机控制 (20) 实验八继电器控制 (21) 实验九电子音响 (22) 实验十小直流电机调速实验 (23) 参考程序 (24) 一、软件实验 (24) 实验一清零程序 (24) 实验二拆字程序 (24) 实验三拼字程序 (24) 实验四数据块传送 (25) 实验五数据排序 (26) 实验六双字节乘洁程序 (27) 实验七脉冲计数 (29) 二、硬件实验 (31) 实验一 P3口、P1口使用 (31) 实验二 8255 PC口控制PB 口 (32) 实验三 8255控制交通灯 (33) 实验四 A/D0809应用实验 (34) 实验五 D/A 0832应用 (36) 实验六定时计数器8253 (37) 实验七步进电机实验 (38) 实验九直流电机调速实验 (44)

第一章概述 一、DVCC系列单片机仿真实验系统键盘简介 系统自带32个标准键盘,16个数字键和16个多功能键,显示部分有6个高亮LED 组成,通常左边4个用于显示地址,右边2个用于数据,为用户现场调试带来方便。 下面介绍键盘功能: 右边十六个功能键,在LED状态输入操作命令,其功能如下: TV/MEM: TV/程序存储器检查 REG/OFST;片内RAM寄存器,特殊功能寄存器检查/偏移量计算 ODRW/INS:外部数据存储器、外部RAM、I/O检查/插入一个字节 EPRGH/DEL: EPROM高速写入/删除一字节 F1/LAST:第一标志键/读上一字节 F2/NEXT:第二标志键/读下一字节 STEP/NVBP:单拍、单拍跟踪/* EXEC/FVBP:连续执行/断点运行 PCDBG/EPRGL:与IBM PV/XT通讯调试/低速固化 EPMOV:固化区内容移入目标RAM EPCH/EPCOM: EPROM查空/EPROM比较 PRT:打印命令 COMP:源程序与目标程序相比较 MOVE:程序块或数据块移动 DAR:反汇编 MON:退出当前操作,返回初态——显示闪动“P.”位 RESET;系统复位按钮,它在硬件上与开发系统复位线连在一起,无论何时按压 RESET键,都使整个系统复位,返回初始状态——闪动“P.” 在数字键的右上角或功能键的右上角,右下角所标的字符标记分别是进入TV状态时,用于输入汇编语言或高级CBASIC高级语言程序时所用到的符号和字母。[SHIFT]为上档键(除TV状态不用)。 二、51系统键盘监控命令简介 1.键盘监控程序工作状态 用户可以通过32个键向本机发出各种操作命令,大多数键均具有2个以上的功能,本机无上下档转换键,计算机到底进行什么操作,不仅与按压什么键有关,也与当前计算机所处的工作状态有关,下面作有关介绍: 2.单板状态:在本状态显示器的左端显示提示符,一个闪动的“P.”字符,表开发机处于始化状态,等待操作。 在计算机接通电源自动复位时处于单板状态; 按压RESET复位键后,使本机处于单板状态; 在大多数情况下,按MON键,也可以使本机进入单板状态(待命状态0)。待命状态0时,可以进入的操作有: *按压任意数字键,进入待命状态1,显示该键入数; *按压F1标志键,进入仿真2态,PC值指向外部用户仿真程序空间,DPTR指向外部数据空间,显示闪动的“H……”; *按压F2标志键,进入仿真1态,PC值指向用户程序空间,DPTR指向外部数据空间显示闪动的“P……”; *按压PCDEG键,进入与IBM PC/XT通讯、调试、反汇编,显示全暗; *按压EPCH键,检查EPROM内容是否是全FFH;

单片机实验指导书

单片机实验指导书 一、硬件实验系统介绍 (一)电路原理 实验板的主要组成有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属性”命令。 a)在“目标”标签中,晶体X晶振频率(MHz),默认为24MHz,是CPU所支持的 最高频率,可以有针对性修改。其它采用默认设置。 b)在“输出”标签中,在“建立 hex格式文件”前打勾选中,其它采用默认设 置。 3、建立源程序文件:单击“文件”菜单中的“新建”,编辑源程序。完成后,选择“保 存”文件,扩展名为“.asm”格式保存。 4、添加文件到当前项目组中。 a)单击工程管理器中“Target1”前的“+”号,出现“Source Group1”后再单 击,加亮后右击,在下拉窗口中选择“增加文件到Source Group1”。 b)选择刚才以ASM格式编辑保存的文件*.ASM(注意文件类型),鼠标单击“Add” 按钮。 5、编译文件:执行“工程”菜单中的“重新构造所有目标文件”。无错误时,自动产生“*.hex” 文件。 6、如果有错误,根据提示信息修改源程序,直至编译通过。编译通过后将产生以HEX为扩 展名的目标文件。 硬件及接口实验 实验一简单点亮历程的流水灯实验 一、实验题目 1.P2口做输出口,接八只发光二极管,编写程序,使发光二极管从上到下循环点亮,时间间隔1S。 2.P2口做输出口,接八只发光二极管,编写程序,使发光二极管从下到上循环点亮,时间间隔2S。 二、实验目的 1.学习熟悉汇编软件Keil和程序下载软件的使用。 2.学习P2口的使用方法和移位指令的使用。

相关主题
文本预览
相关文档 最新文档