实验一 单片机实验软件开发环境和简单程序设计

合集下载

单片机实验报告一 单片机软件实验

单片机实验报告一 单片机软件实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019.4.9 实验成绩:实验一单片机软件实验(一)实验目的1.掌握51单片机keil软件集成开发环境,能够使用汇编语言编写应用程序。

2.掌握使用集成开发环境Keil进行单片机程序开发的方法3.掌握使用集成开发环境Keil进行单片机程序跟踪调试的方法。

(二)设计要求熟悉51单片机的keil软件集成开发环境,使用汇编语言编写“1+2+3+…+100”的程序。

(三)实验原理KeilC51软件使用:在KeilC51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。

(四)实验设备PC机,Keil C51集成开发环境。

(五)实验结果对汇编程序进行编译、链接、调试,在Keil C51软件中运行仿真结果如下图所示,由于“1+2+……100”运行结果超过8位二进制所能表示的范围,计算结果将存放于两个8位工作寄存器单元R2、R3中。

其中,低八位存放于R2中,高八位存放于R3中,R4中存放计算数。

下图中的寄存器窗口中可以显示计算结果为0x13ba。

调出存储器窗口Memory:选择菜单命令View →Memory Window →Memory 1:可见计算结果存放于当前工作寄存器R2(02H)与R3(03H)中,为0x13BA。

(六)结果讨论与心得体会第一次使用Keil C51软件,初步了解了软件:Keil uVision4的使用方法,初步了解了Keil软件中程序的编辑,新工程的建立运行,初步对单片机实验进行了解,加强了实验动手操作能力。

第一次尝试单步调试,能观察到内存中每一个单元的变化,感到单片机系统复杂中的严谨,收获颇丰。

(七)附录:实验源代码实验源代码如下:ORG 0000HLJMP MAINORG 0050H MAIN:MOV R2,#00HMOV R3,#00HMOV R4,#64HMOV A,#00HCLR C LOOP:MOV A,R2ADD A,R4MOV R2,AMOV A,#00HADDC A,R3MOV R3,ADJNZ R4,LOOPSJMP $END。

单片机实验报告

单片机实验报告

单⽚机实验报告单⽚机实验报告姓名学号时间地点实验题⽬软件开发环境和简单程序设计⼀、实验⽬的1. 学习I/O⼝的使⽤⽅法。

2. 学习延时⼦程序、查表程序的编写和使⽤。

⼆、实验主要仪器及环境PC机、W A VE软件、仿真器+仿真头、实验板、电源等。

三、实验内容1、P0⼝做输出⼝,接⼋只LED,编写程序,使LED循环点亮,间隔0.5秒。

2、P1.0--P1.7作输⼊⼝接拨动开关S0--S7;P0.0--P0.7作输出⼝,接发光⼆极管L1—L8,编写程序读取开关状态,将此状态在对应的发光⼆极管上显⽰出来,同时将开关编号(0—7)显⽰在LED数码管上四、实验步骤1、先编写好程序并通过伟福仿真软件调试。

2、将编好的程序通过仿真器掻到实验板上进⾏相应的实验。

五、实验程序流程框图、实验程序1. ORG 0000HAJMP MAINMAIN: MOV A,#01H;置初值LOOP: MOV P0,A ;数据输出RL A ;左移⼀位ACALL DELAYSJMP LOOPDELAY:MOV R0,#10 ;延时0.5sK1:MOV R1,#125K2:MOV R2,#200K3:DJNZ R2,K3DJNZ R1,K2DJNZ R0,K1RETP0⼝循环点灯框图AJMP STARTORG 0030HSTART: MOV DPTR,#TABLESETB P1MOV P2,#00HMAIN: MOV A,P1 ;读P1⼝值CJNE A,#0FFH,LOOP;判断是否有输⼊SJMP MAINLOOP: MOV P0,AMOV R0,#00HLOOP1:RRC AJNC LOOP2INC R0 ;计数AJMP LOOP1LOOP2:MOV A,R0MOVC A,@A+DPTR ;查表MOV P2,A ;P2⼝输出AJMP MAINTABLE:DB 03FH 06H 5BH 4FH 66H 6DH 7DH 07HP1⼝输⼊/输出框图六、实验程序分析、讨论及测试1、实验1欲改变LED循环的⽅向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算⽅法。

实验一 Keil C51集成开发环境的使用练习、仿真与调试

实验一 Keil C51集成开发环境的使用练习、仿真与调试

实验一Keil C51集成开发环境的使用练习、仿真与调试一、实验目的1、熟悉Keil C51集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。

二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台三、实验内容1、进行Keil C51集成开发环境的安装和使用练习。

然后按照以下内容建立文件并编译产生HEX文件。

ORG 0000HLJMP MainORG 00F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP Main;END2、进行Keil C51集成开发环境的仿真调试练习。

然后按照以下内容建立文件并编译仿真调试。

ORG 8000HLJMP MainORG 80F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP MainEND四、实验要求1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验一

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验一

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验实验目的(1)了解Keil和Proteus软件的基本特点和功能。

(2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。

(3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制和程序实现。

(4)学会使用Keil和Proteus两种软件的联调。

实验指导一、Keil C51的使用1.创建项目编写一个新的应用程序前,首先要建立项目(Project)。

(1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中的“New Project”。

(2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。

在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。

在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的保存目录,单击“保存(S)”即可。

(3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。

搜索“AT89C52”并选择。

(4)单击“确定”按钮后,会出现对话框。

如果需要复制启动代码到新建的项目,选择单击“是”。

如选择单击“否”,启动代码项“STARTUP. A51”不会出现,这时新的项目已经创建完毕。

2.新建文件新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。

(1)单击快捷按钮,这时会出现一个空白的文件编辑画面,用户可在这里输入编写的程序源代码。

(2)单击中快捷按钮,保存用户程序文件,这时会弹出窗口“Save As”的对话框,在“保存在(I)”下拉框中选择新文件的保存目录,这样就将这个新文件与刚才建立的项目保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字,如果使用C51语言编程,则文件名的扩展名应为“.c”。

单片机PROTEUS实验指导书

单片机PROTEUS实验指导书

目录实验一I/O 口输出控制实验 (20)实验二I/O 口输入输出控制实验 (24)实验三中断程序设计练习 (34)实验四定时器、计数器实验 (32)Keil C51 集成开发环境介绍1、打开计算机,运行Keil C51 集成开发环境。

图1-1 第一次启动Keil C图1-2 Keil C μVision2 操作界面Keil C 软件菜单命令非常丰富,常用的菜单命令都有对应的快捷键和快捷图标,自己可以打开相应的菜单,熟悉各种命令。

2.选择“Project”-“New Project…”建立新的工程文件(注意工程文件放置的文件夹),输入文件名,选择“保存”。

图1-3 创建一个新工程图1-4 为新工程命名并保存3.工程保存后会弹出来一个器件选择窗口,这里需要选择单片机芯片类型。

器件选择的目的是告诉μVision2 最终使用的80C51 芯片的型号是哪一个公司的哪一个型号,因为不同型号的51 芯片内部的资源是不同的。

图1-5 器件选择窗口如果不知道自己需要使用什么型号的芯片,暂时选择“Atmel”下的“AT89C51”,然后在接下来的窗口中,选择“是”,加载芯片基本参数。

图1-6 选择AT89C51 芯片4.选择“File”-“New”或者点击新文件快捷图标,会打开一个文本编辑器窗口。

输入下列数据传送的程序,然后选择“File”-“Save…”,注意保存的时候给文件起名字以后,加个文件名后缀,Keil C 支持汇编语言及C 语言编程,它是依靠文件名后缀来判断文件是汇编语言还是C 语言格式的,如果是汇编语言,后缀为“.asm”,C 语言格式的,后缀为“.c”。

我们根据实验要求选择保存为汇编语言格式或C 语言格式。

注意此时程序中的一些代码和寄存器将会自动蓝色显示,方便观察。

图1-7 创建一个新文件图1-8 输入程序并保存文件5.选择“Project”-“Targets,Groups,Files…”,选择“Groups/Add Files”标签,首先点击下边窗口中的“Source Group 1”,然后选择下边的“Add Files to Group…”,在接下来的窗口中,首先选择你需要加入的文件的后缀名(默认是.c,我们可选择“Asm Sourcefile,即后缀为.asm”)。

单片机原理实验设计(可编辑)

单片机原理实验设计(可编辑)

单片机原理实验设计目录实验一、单片机集成开发环境入门实验二、I/O口输入输出实验――循环灯程序设计实验三、I/O口输入输出实验――LED数码管动态显示与按键去抖程序设计实验四、定时器应用实验――LED数码动态显示与矩阵键盘赋值程序设计实验五、计数器应用实验――基于热敏电阻和555时基电路的简易温度计设计实验一、单片机集成开发环境入门实验目地掌握单片机集成开发软件“WAVE 3.2”的开发环境配置。

掌握单片机集成开发软件“WAVE 3.2”的基本功能,了解MCS-51系列单片机应用系统的软件开发过程。

掌握创建工程项目和管理工程项目的方法。

掌握MCS-51系列单片机汇编程序的编辑、编译方法。

掌握MCS-51系列单片机汇编程序的仿真调试方法和观察窗口的使用。

实验设备PC 兼容机一台,操作系统为WindowsXP,安装有单片机集成开发软件“WAVE 3.2”。

实验原理单片机集成开发软件“WAVE 3.2”简介单片机应用程序的设计步骤通常可分为以下几步:(1)根据单片机应用系统的功能进行算法构思和设计,画出程序流程图;(2)用单片机汇编语言、C语言或PLM语言(初学者一般应采用汇编语言)编写源程序;(3)将源程序翻译成单片机可执行的机器码程序,即所谓的目标程序,该过程称为汇编或编译;(4)程序调试,将目标程序下载到目标单片机(即应用系统板中的单片机),运行目标程序,对运行结果进行监控。

若运行结果与预期结果相符,程序正确,调试结束;否则由结果的差异分析算法或程序的可能错误,重复步骤2至4,修改源程序、重新汇编、再调试,直至程序正确。

以上步骤2至4可应用单片机集成开发软件在个人计算机上完成。

“WAVE 3.2”是一款功能强大的单片机集成开发软件,可开发多个系列的单片机应用系统。

该软件主要功能有:(1)集成了文本编辑器,可对源程序进行编辑、修改;(2)集成了汇编器,可对源程序进行汇编,自动查找源程序中的语法错误,并将无语法错误的源程序翻译成目标程序;(3)集成了仿真调试器,可对目标系统进行在线仿真调试,也可在个人计算机上对目标程序进行模拟仿真调试。

单片机实训报告

单片机实训报告

前言随着社会的进步,人们的发展水平逐渐提高,单片机技术已经成为我们生活的一部分。

随着时代的发展,单片机已经为现代人工作、科研、生活、提供更好的更方便的设施,一切都已向着数字化控制,智能化控制方向发展。

通过本次的实习,使我们进一步的理解了我们学到的理论知识,巩固和深化了单片机的基本认识,提高了单片机应用技术的实践操作技能,掌握单片机的应用系统设计的一般方法。

本次实习培养我们利用单片机进行科研技术革新,开发和创新的基本能力,为毕业从事与单片机有关的事业打下了一定的基础。

本次设计的总体就是利用Protuse软件以及keil软件进行基础的认识,学会对单片机系统的设计及仿真,并能学会自主对单片机进行设计和仿真。

本次实习主要进行了两个设计并对其进行了扩展:单片机控制步进电动机以及数字温度计设计。

虽然仅仅是两个基本设计,但从中我们也获益无穷,正说为只有基础稳定,我们才能站的更高,看的更远,学到跟多的知识。

本人水平有限,编写过程中难免有错误之处,希望老师能给与批评指导。

一实习中常用软件1.Proteus 7 Professional软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

Proteus是世界上著名的EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB 等多种编译器。

2.1Proteus 7 Professional基本概念2.1.1 功能特点Proteus软件具有其它EDA工具软件的功能。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

实验报告

实验报告

AVR单片机开发基础实验实验一:开发环境使用实验熟悉单片机开发环境。

掌握ICCAVR软件开发环境对应用程序的设计、编译、链接;掌握progisp烧写程序的使用方法,完成执行文件的下载。

1、ICCAVR软件使用步骤:打开ICCAVR开发环境,点击project——new,新建一个项目工程,选择保存路径,输入工程名,单击保存。

选择file——new 新建一个文件,任意输入几个字符后点击左上角蓝色按钮保存文件,注意后缀名为“.c”。

在界面右侧刚刚新建的工程名处单价右键。

选择Add files 添加文件,将.c文件添加到工程中。

编写程序代码,写好后点击project——Options,在对话框中选择单片机的型号,At mega128:M103mode,然后点击Build project 编译程序。

如有错误,软件下方会给出错误提示。

2、progisp下载软件的使用将USBASP下载器连接到电脑的USB接口。

打开progisp软件,在Select chip 下拉菜单中选择单片机型号Atmega128A,其它选项按下图设置:设置完成后,点击界面右上角文件中的调入Flash,选择刚才建立的工程,打开编译后的文件,文件类型为Intel Hex(*.Hex),单击自动,即可将刚才编写的程序下载到单片机中。

实验课二:输入/输出接口实验题目1:指示灯闪烁实验在面包板上安装8个二极管指示灯,通过提供的限流电阻与单片机主板上的某个并行接口(8bit)连接,在开发环境中完成单片机应用程序设计、编译、链接和下载,实现8个指示灯闪烁,闪烁间隔时间为0.5s,按要求搭建电路,LED的正极直接与单片机PA口连接,即高电平点亮,负极通过一个1K的限流电阻接地(单片机的地端引脚)。

按实验一中介绍的操作步骤,使用ICCAVR软件编写程序代码,编写思路如下:(1)由于要求LED亮灭间隔0.5秒,那么就要编写一个延时函数,在点亮和熄灭LED 后都要调用这个延时函数,延时函数中的参数决定了延时的时间。

盐城工学院单片机实验指导书.doc

盐城工学院单片机实验指导书.doc

单片机原理及接口技术实验指导书周云龙编写盐城工学院电气工程学院二○一五年四月实验一KEIL集成开发环境应用实验一、实验目的1.掌握C51开发环境keil软件项目创建方法2、汇编程序编写2.C51程序编写3、主函数、自定义函数和中断函数编写二、实验备件PC和单片机IDE集成开发软件三、实验要求1、建立一个汇编程序工程2、汇编工程调试3、建立一个C语言程序工程4、C语言工程调试实验二Proteus单片机系统仿真实验一、实验目的1.掌握Proteus 界面功能2、原理图绘制方法2.住址仿真调试3、Proteus与Keil联调二、实验备件PC、单片机IDE集成开发软件和Proteus仿真软件三、实验步骤1、学习Proteus软件2、绘制教材中第150页上图5-73、Keil与Proteus联调实验三单片机最小系统的熟悉一、实验目的在进行其他硬件实验之前,先熟悉实验装置的核心模块——单片机最小系统模块。

掌握该实验模块的电路原理和接口的使用方法。

1.掌握单片机振荡器时钟电路及CPU工作时序;掌握复位状态及复位电路设计;掌握单片机各引脚功能及通用I/O口的使用;掌握单片机基本指令的使用。

2.掌握uVision3 IDE集成开发环境,Proteus仿真软件和STC单片机下载软件ISP的使用。

3.将仿真现象和实验结果进行对比,体会仿真软件的用处。

二、实验设备1.51仿真器或者串口线2.单片机系统板三、实验要求1.连接实验电路,编写简易单片机汇编程序达到下述工作要求:P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一输出,编写程序使P1口接的8个发光二极管L0—L7按16进制加一的方式点亮发光二极管。

2.将编写的程序经过编译后在uVision3 IDE软件中生成*.hex机器语言,通过ISP将*.hex下载到单片机芯片中,观察实验现象。

3. 用Proteus仿真软件画出实验电路图,将在uVision3 IDE软件中生成*.hex 下载到Proteus仿真电路图中的单片机芯片中,观察实验现象,比较该现象和在实验台上的现象是否相同。

南邮单片机实验指导书

南邮单片机实验指导书
-3-
单片机实验指导书
4)完成上一步骤后,屏幕如下图所示
到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。 -4-
单片机实验指导书
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项
新建文件后屏幕如下图所示
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但这里建议首先保存 该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕 如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正 确的扩展名。
单片机实验指导书
单片微型计算机原理
实验指导书
南京邮电大学自动化学院
电气工程系
张腾飞
2011 年 10 月
若发现有错误请联系:zhangtf@ -1-
单片机实验指导书
Keil C 软件的使用
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体, 支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。
图 3.6 在这里可以进行通信端口的设置,共设置的 4 个串行通信端口,COM1、COM2、COM3、 COM4,根据计算机的硬件特点来决定,默认情况下为 COM1,即串行通信口 1。 另“不加密”对芯片的程序不进行加密保护 “锁定位 1”对芯片的程序进行一级加密保护 “锁定位 2”对芯片的程序进行二级加密保护 “锁定位 1,2”对芯片的程序进行三级加密保护 3) 保存:是把从单片机的芯片 ROM 中的程序读取出来到代码显示区域 1 中,点击“保 存”按钮,即可保存为 HEX 格式的文件。 4) 退出:退出该软件系统。 在进行程序调试的时候,我们一般通过 KEIL C 软件把编译好的程序转化成 HEX 格 式文件,通过上面的方法,装载程序之后,点击“自动”按钮,程序就下载到单片机内部 ROM 芯片中,最后点击“运行”,即可以看到程序的结果。注意,每次重新更新程序的时 候,要点击“初始化”按钮,才可以相应的操作。

单片机原理实验报告

单片机原理实验报告

实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。

二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。

三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。

(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。

这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。

(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。

器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。

此时选择 SST 公司的 SST89E554RC。

(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。

选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。

(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。

Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。

保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。

(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。

此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。

在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。

单片机实验报告

单片机实验报告

目录一、实验一 (1)二、实验二 (7)三、实验三 (11)四、实验四 (15)实验一定时/计数器验证实验一、实验目的熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时;二、实验设备及器件IBMPC机一台PROTEUS硬件仿真软件KeilC51;三、实验内容用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始;四、实验要求要求采用Proteus软件实现上述实验;五、实验步骤1.打开ProteusISIS编辑环境,按照表1-1所列的元件清单添加元件;元件全部添加后,在ProteusISIS的编辑区域中按图1-1所示的原理图连接硬件电路;图1-1电路原理图2.根据参考程序绘出流程图,并辅以适当的说明;流程图如图1-2所示:图1-2程序流程图3.打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考程序导入到“SourceGroup1”中;在“OptionsforTarget”对话窗口中,选中“Output”选项卡中的“CreateHEXFile”选项和“Debug”选项卡中的“Use:ProteusVSMSimulator”选项;编译汇编源程序,改正程序中的错误;4.在ProteusISIS中,选中AT89C51并单击鼠标左键,打开“EditComponent”对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件;在ProteusISIS的菜单栏中选择“File”→“SaveDesign”选项,保存设计,在ProteusISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“UseRemoteDebugMonitor”选项,以支持与Keil的联合调试;5.在Keil的菜单栏中选择“Debug”→“Start/StopDebugSession“选项,或者直接单击工具栏中的“Debug”→“Start/StopDebugSession”图标,进入程序调试环境;按“F5”键,顺序运行程序;调出“ProteusISIS”界面可以看到7段数码管显示从0~59s的计数值,每个数值显示1s,如图1-3所示;图1-3程序运行结果六、实验程序SECOND EQU 30HCOUNT EQU 31HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV SECOND,00HMOV COUNT,00HMOV DPTR,TABLECLR AMOV P0,AMOV P2,AMOV TMOD,00HMOV TH0,65536-50000/256MOV TL0,65536-50000MOD256SETB TR0SETB ET0SETB EAMOVIE,82HLJMP $INT_T0:MOV TH0,65536-50000/256MOV TL0,65536-50000MOD256INC COUNTMOV A,COUNTCJNE A,20,I2MOV COUNT,00HINC SECONDMOV A,SECONDCJNE A,60,I1MOV SECOND,00HI1: MOV A,SECONDMOV B,10HDIV ABMOVC A,A+DPTRMOV P0,AMOV A,BMOVC A,A+DPTRMOV P2,AI2: RETITABLE: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEND七、思考题1.罗列一下Proteus软件的能带给我们的好处,指出一点最能帮助你的地方;使用Proteus软件能使我们方便的搭建电路,同时在没有元器件的情况下进行便于仿真,方便我们在将程序写入单片机前确认运行是否正确,同时可在采购器件之前即可开始开发产品,而不必等到器件采购完后搭建电路才进行程序调试;2.用Proteus界面中的播放键运行仿真与KeilμVision4的环境中联调运行它们两者的区别在什么地方3.用Proteus界面中的播放键运行仿真仅可以观察运行结果,即程序运行在硬件表面上的表现;而联调的时候可以再Keil软件里查看各寄存器和存储器的状况,即硬件的内部情况;4.Keil软件软件仿真与Proteus的仿真对比;使用Proteus仿真可从硬件的角度观察仿真结果,使仿真结果更加形象直观,使我们可从硬件运行状态清楚的判断运行结果是否正确;而在Keil环境中则是从程序的角度通过观察程序中数据的变化来观察仿真结果,需要对程序运行结果充分了解;八、实验总结及相关问题通过本次实验了解了Ptoteus软件的使用方法,以及在掌握了Keil的使用方法下,学会了Proteus与Keil软件联调的方法;在用Proteus中由于忽略了要在总线处放置网络标号导致联调失败,最后通过观察发现数码管引脚电平无变化发现此问题,放置网络标号后运行仿真时数码管引脚电平发生变化可是数码管却没有变亮,经过多次检查接线,未发现接线错误后,觉得可能是软件本身错误,故将总线及数码管周围硬件线路重新绘制一遍后再次运行仿真及可得到图1-3的结果;实验二单片机I/O口控制实验一、实验目的利用单片机的P1口作IO口,使同学学会利用P1口作为输入和输出口;二、实验设备及器件IBMPC机一台DP-51PRO单片机仿真器、编程器、实验仪三合一综合开发平台一台三、实验内容1.编写一段程序,用P1口作为控制端口,使D1区的LED轮流亮;2.编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭P1.7接按键,按下时LED亮,不按时LED灭;四、实验要求学会使用单片机的P1口作IO口,如果有时间同学也可以利用P3口作IO口来做该实验;五、实验步骤1.用导线把A2区的J61接口与D1区的J52接口相连;原理如图2-1所示;图2-1实验二原理图2.先编写一个延时程序;延时程序见程序1子程序DELAY;3.将LED轮流亮的程序编写完整并使用TKStudyICE调试运行;LED轮流亮程序见程序1;调试运行结果:D1区LED轮流亮;4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连;5.编写P1.7控制LED的程序,并调试运行;按下K1看是否全亮;P1.7控制LED的程序见程序2;调试运行结果:按下P1.7后D1区LED全灭;6.A2区J61接口的P1.7与D1区的J54的SW1相连;然后再使用TKStudyICE运行程序,查看结果;P1.7控制LED的程序见程序2;调试运行结果:按下P1.7后D1区LED全亮;六、实验参考程序程序1:ORG 0000HLJMP MAINORG 0100HMAIN: MOV A,0FFHCLR CMAINLOOP:CALL DELAYRLC AMOV P1,ASJMP MAINLOOPDELAY: MOV R7,0LOOP: MOV R6,0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOPRETEND程序2:ORG 000HLJMP MAINORG 0100HMAIN: JB P1.7,SETLEDCLRLED:CLR P1.0CLR P1.1CLR P1.2CLR P1.3CLR P1.4CLR P1.5CLR P1.6SJMP MAINSETLED:SETB P1.0SETB P1.1SETB P1.2SETB P1.3SETB P1.4SETB P1.5SETB P1.6SJMP MAINEND七、实验思考题1.请同学思考一下,想出几个实现以上功能的编程方法;程序1可利用单片机的定时计数器通过选择定时计数器工作方式和预置初值设定延时时间,通过定时计数器产生的中断在中断程序中对A进行移位后输出至P1口;程序2可在判断P1.7高低电平后根据判断结果直接将80H或7F直接送P1口而不必逐位进行位操作;2.请同学再思考一下,第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,程序应如何修改;此时将KEY1接/INT0口,在主程序中开启外部中断设置外部中断触发方式,通过中断服务子程序控制LED亮灭;程序如下所示:ORG 000HLJMP MAINORG 0003H ;中断服务程序LJMP SETLEDMAIN: MOV SP,40HSETB ET0 ;开外部中断CLR IT0 ;设置为电平触发SETB EACLRLED:CLR P1.0CLR P1.1CLR P1.2CLR P1.3CLR P1.4CLR P1.5CLR P1.6SJMP CLRLEDSETLED:SETB P1.0SETB P1.1SETB P1.2SETB P1.3SETB P1.4SETB P1.5SETB P1.6RETIEND八、实验总结及相关问题通过本次实验掌握了使用TKStudyICE进行硬件仿真调试的方法,在设置仿真器驱动程序声明时对C:\Keil目录下的Tools.ini文件添加描述时,由于添加的路径错误导致无法进行硬件仿真调试,修改为正确路径后方可在DEBUG窗口中的Use选项中找到对应的选项;使用TKStudyICE进行硬件仿真调试相比本学期的电子系统设计中用到的调试方法更快捷,使用更方便;与此同时,通过本次实验对单片机的I/O控制有了更深入的了接,同时加深入对单片机I/O编程的理解;实验三串转并I/O口实验一、实验目的熟悉并掌握串转并的I/O口扩展方法;二、实验设备及器件IBMPC机一台DP-51PRO单片机仿真器、编程器、实验仪三合一综合开发平台一台三、实验内容1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换;2.验证串并转换数据的正确性;四、实验要求熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源;表3-174HC164真值表五、实验步骤1.短接C5区JP10接口,将C5区J43接口与A2区J61接口的P10~P13对应相连CLK对P10等等;如图3-1所示;图3-1实验三原理图2.运行编写好的软件程序,完成一次串并转换;实验程序见实验参考程序;2.使用C2区的逻辑笔或D1区的J52接口LED指示灯测试并行输出数据Q0~Q7数据的正确性;调试运行结果:通过观察LED的亮灭情况可判断完成一次串并转换,且转换结果正确无误;六、实验参考程序CLK EQU P1.0DINA EQUP1.1DINB EQU P1.2CLR164 EQUP1.3ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,60HNOPCLR CLKSETB DINBCLR CLR164SETB CLR164MOV A,0FFHMOV R4,08HSLCHG: RLC AMOV DINA,CSETB CLKNOPCLR CLKNOPDJNZ R4,SLCHGSJMP$END七、实验思考题参考图3-2电路图,尝试编写软件程序,实现8位LED流水灯的控制;图3.2实验原理图可利用单片机的定时计数器通过选择定时计数器工作方式和预置初值设定延时时间,通过定时计数器产生的中断在中断程序中对A进行移位;程序如下所示:CLK EQU P1.0DINA EQUP1.1DINB EQU P1.2CLR164 EQUP1.3ORG 0000HLJMP MAINORG 000BH ;定时器0中断服务程序LJMP SLCHGMAIN: MOV SP,60HNOPCLR CLKSETB DINBCLR CLR164SETB CLR164MOV A,0FFHMOV TMOD,01H ;定时器0工作方式1MOV TH0,18H ;送2ms时间常数MOV TL0,0FCHSETB TR0 ;开中断SETB ET0SETB EASJMP $SLCHG: MOV TH0,18HMOV TL0,0FCHRLC AMOV DINA,CSETB CLKNOPCLR CLKRETIEND八、实验总结及相关问题由于具有之前实验的基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验对串并转化程序的编写有了一定了解,通过编写流水灯程序加深了对单片机串并口的了解;实验四继电器控制实验一、实验目的加深理解继电器的工作原理和特点,掌握利用单片机的IO口控制继电器的一般方法;二、实验设备及器件IBMPC机一台DP-51PRO单片机仿真器、编程器、实验仪三合一综合开发平台一台三、实验内容1.利用D1区的拨动开关和LED,学习继电器的工作原理和特点;2.编写一段程序,用P1.0口控制继电器,继电器控制LED的亮和灭,COM与CLOSE连通时,一盏LED亮;不连通时该LED灭;COM与OPEN连通时,另一盏LED亮,不通时该LED灭;四、实验要求学会继电器的使用和利用单片机的IO口控制继电器的方法;五、实验步骤图4-1继电器驱动控制电路图1.用短路帽短接JP7,使用导线把D1区J54接口的SW1与C7区J9接口的KJ任意一根针相连接;2.使用导线把D1区J52接口的LED1、LED2与C7区J103接口的OPEN1,CLOSE1分别相连,另外C7区J103接口的COM1接地GND;3.接好线后,同学可以拨动D1区的SW1拨动开关,观察现象拨到1时LED2亮,拨到0时LED1亮,并得出结论;运行结果:拨到1时LED2亮,拨到0时LED1亮,说明每拨动一次开关改变一次继电器的状态;4.然后把C7区J9接口的KJ改接到A2区的J61接口的P10;再编写一个程序程序参考实验二,使P1.0口延时一段时间后改变电平值,来控制继电器的开关;实验程序见实验参考程序;调试运行结果:两个LED交替变亮,继电器状态不断改变;六、实验参考程序ORG 0000HLJMP MAINORG 0100HMAIN: MOV R7,0LOOP: MOV R6,0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOPCPL P1.0SJMP MAINEND七、实验思考题1.请同学思考一下,改由OPEN2、COM2、CLOSE2时本实验如何进行;同使用OPEN1、COM1和CLOSE1时连接方法类似,把D1区J52接口的LED1、LED2与C7区J103接口的OPEN2,CLOSE2分别相连,另外C7区J103接口的COM2接地GND即可;2.请同学再思考一下,继电器的用途,并举例说明;继电器是一种电控制,是当输入量激励量的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器;它具有又称输入回路和被控制系统又称输出回路之间的互动关系;通常应用于自动化的控制中,它实际上是用小电流去控制大电流运作的一种“自动开关”;故在电路中起着自动调节、安全保护、转换电路等作用;按照其工作原理可有以下应用:电磁继电器固体继电器温度继电器舌簧继电器时间继电器高频继电器极化继电器其他类型的继电器八、实验总结及相关问题由于具有之前实验的基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验了解了继电器的控制方法;对继电器这一器件有了一定了解;。

单片机实验报告(完整版)

单片机实验报告(完整版)

单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。

二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。

3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。

四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。

五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。

单片机实验1

单片机实验1

单片机实验1实验一、MCS51单片机基本开发环境1.实验目的:1) 熟悉软件的集成开发环境2) 掌握单片机软件设计流程3) 掌握单片机存贮器结构及各窗口之间的联系2.实验内容:1) 用三种方法实现将累加器A内容改为20H方法1--MOV A,#20H方法2—MOV R0,#20HMOV A,R0方法3—MOV R0,#20HXCH A,R02) 将58H位单元置为1,观察内部RAM中2BH内容的变化代码:SETB 2BH.0JMP $END这是关于内部存储中对单元和字节了解,不理解很容易做错.比如开始写的指令为MOV R0,#58H;MOV @R0,#1这是错误的指令。

这就需要认真去了解单片机中的字节地址与位地址的关系。

80C51中有位寻址区和字节寻址区。

题目中58H为位地址,2BH为字节地址,且58H为2B字节的最低位。

由于58H属于位寻址区,可用位操作指令SETB进行置位,SETB 2BH.0执行后,2BH中内容变为013) 如果当前状态为有进位、工作寄存器使用区2,请用3种方法设置这种状态代码:ANL PSW,#01HMOV A,PSWCJNE A,#01,LAB2LAB1:JMP LAB1LAB2: SETB PSW.4 MOV P0,#01H MOV R0,#18HCLR PSW.3 MOV C,P0.0 MOV PSW,R0MOV PSW.4,CCPL CMOV PSW.3,CEND以上LAB2写了三段代码,可分别完成题目要求。

不过实验时只是对代码进行了错误调试,没有对结果进行检验。

其中值得注意的是对于布尔(位)操作指令的用法,比如传送指令必须经累加器C,如第二段中MOV P0,#01H ; MOV C,P0.0 ,以及对于位寻址的方式(如需用到“.”隔开)的应用。

4) 编一个小程序将内部RAM中的20H单元的内容送到21H单元并调试(分组完成)代码:5) 用程序将堆栈指针指向60H,然后在堆栈中依次压入01,02,03,04,05五个数,观察哪些单元内容发生了变化,各变为多少?从哪些窗口可以发现这些变化?顺序将堆栈中的五个数放入30H~34H 五个单元中,编程实现之。

单片机实验教案

单片机实验教案

实验一集成开发环境keil c51的使用与调试Keil C51 u Vision2 是德国Keil公司开发的基于Windows环境的8051软件开发平台,它集项目管理、源程序编辑、程序调试于一体,是一个强大的集成开发环境。

u Vision2 支持Keil的各种8051工具,包括:C编译器,宏汇编译器、连接/定位器及Object-hex转换程序,可以帮助用户快速有效的实现嵌入式系统的设计与调试。

1.1硬件安装1、连接51CPU板,在实验箱右下角有三个插座:J1、J2、J3,用来连接51CPU板,在51CPU板上有一个小拨码开关:J18,是单片机的EA脚,是用来选择读片内还是片外ROM的,拨向左边为读片内ROM;拨向右边为读片外ROM。

2、KEIL仿真器与实验箱的连接:将KEIL仿真器40芯的排线连到51CPU板的40芯插座上,仿真器的USB连接线连到微机的USB口。

3、八段数码管右上角的两个拨码小开关是用来设置工作模式的,将两个拨码小开关同时拨向右边是选择51单片机工作模式,此时应拨向右边。

1.2新建一个项目文件首先点击Keil uVision2 ,进入uVision2界面。

点击工具栏Project选项中的New Project,准备开始建立自己的项目。

输入工程文件名称,并选择保存工程文件的目录。

为项目文件选择一个目标器件(如ATMEL89C51),如图所示。

用鼠标对项目工作区的目标1,点击右键在弹出的菜单中选择“为目标‘目标1’设置选项”如下图所示。

在“为目标‘目标1’设置选项”中,点击“调试”菜单,在此菜单中可选择是使用硬件仿真,还是软件仿真,连接实验箱做实验时选择硬件仿真,点击硬件仿真选项后面的[设置]选项,在此对对话框中选择串口和波特率,串口根据所连电脑来决定。

波特率为38400。

点击“文件/新建”创建源程序文件并输入程序代码。

软件仿真硬件仿真选择串口 选择波特率在文本框中输入原程序,如下图所示点击“文件/保存“对程序进行保存用鼠标对项目工作区的目标1,点击右键在弹出的菜单中选择添加文件到原代码组,如下图所示在弹出的添加文件框中,选择需要添加到项目中的文件点击编译连接的图标,对项目文件进行编译点击“调试/启动/停止调试”进入调试界面在调试界面中可以对程序进行单步或者全速运行的调试若要查看内存中的数据,点击“视图/存储器窗口”在此地址框中,输入不同的指令查看内部数据如果需要查看一些内部数据,在菜单栏点击[视图/存储窗口]。

Proteus仿真单片机实验

Proteus仿真单片机实验

目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。

以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。

在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。

利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。

1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。

1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。

Proteus可提供30多种元件库,超过8000种模拟、数字元器件。

可以按照设计的要求选择不同生产厂家的元器件。

此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。

除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。

单片机原理及应用实验报告1

单片机原理及应用实验报告1

单片机原理及应用实验报告1单片机原理及应用实验报告1摘要:本实验通过对单片机的原理及应用进行探究,掌握单片机的工作原理和基本应用。

实验中使用Keil C编译器和STC89C52单片机开发板进行编程和实验。

实验结果表明,单片机具有功能强大、用途广泛的特点,能够应用于各种实际场景中。

一、引言单片机是一种集成电路芯片,其内部包含了存储器、时钟、输入输出端口以及中央处理器等功能模块,具有自主控制能力。

单片机被广泛应用于各种电子设备和系统中,例如家电控制、工业自动化、智能交通等领域。

本实验旨在通过对单片机原理及应用的学习与实验,深入了解单片机的工作原理和基本应用,并利用所学知识完成一系列实际操作和程序设计。

二、实验目的1.了解单片机的基本原理和架构;2.掌握单片机的基本编程方法和语法规则;3.实践掌握单片机的IO端口操作、模拟量输入输出等基本应用。

三、实验内容1.学习单片机的工作原理和基本构成;2.熟悉Keil C编译器的使用方法和环境配置;3.利用Keil C编写简单的程序,实现单片机的IO端口操作;4.学习模拟量输入输出的基本概念和实现方法;5.设计并实现一个简单的单片机应用程序。

四、实验仪器和设备1.STC89C52单片机开发板;2.计算机;3.Keil C编译器。

五、实验原理单片机是由CPU、存储器、输入输出接口以及系统总线等构成的嵌入式微处理器系统。

在本实验中,我们使用的是STC89C52单片机,其主要特点如下:1.CPU部分:采用8051内核,具有5个通用寄存器、2个堆栈指针、1个程序计数器等;2.存储器部分:具有8KBROM和256B的RAM;3.输入输出部分:具有32个IO口、3个定时器、1个串口等;4.中断部分:具有6个中断源和2个中断请求端。

六、实验步骤1.学习Keil C编译器的使用方法和环境配置;2.熟悉STC89C52单片机开发板的引脚分布和接口规范;3.编写一个简单的程序,实现单片机的IO端口初始化和输入输出操作;4.验证程序功能的正确性,观察LED灯的亮灭情况;5.学习模拟量输入输出的基本概念和实现方法;6.设计并实现一个简单的单片机应用程序,例如温度检测、灯光控制等。

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

姓名陈舒婷学号1515231008
时间20171114地点机电信息实验大楼
实验题目实验一软件开发环境和简单程序设计
一、实验目的与要求
1. 熟悉W A VE软件使用
2. 学习简单程序的调试方法
二、实验主要仪器及环境:
WA VE软件、W A VE软件模拟器
三、实验内容及步骤
1.启动PC机,打开W A VE软件,软件设置为模拟调试状态。

在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。

2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

四、实验流程框图、实验程序
1、
(1)参考程序
ORG 0000H
START EQU 30H
MOV R0, #START
MOV R2, #10
mov a,#01h
Loop:
MOV @R0,A
INC R0
DJNZ R2,Loop
NOP
LJMP $
END
(2)说明此程序的功能
答将RAM内的30H单元到39H单元的内容全部置1。

2、加减法运算
(1)将立即数#B5H、#36H、#89H分别传送至内部RAM区40H、R2、A中。

(2)将内部RAM区40H中的内容与A中的内容相加,然后再与R2中的内容相加,结果存放至内部RAM区50H中。

(3)将A中的内容与内部RAM区40H中的内容相减,结果存放至内部RAM区60H中。

程序:
ORG 000H
MOV 40H, #0B5H
MOV R2,#36H
MOV A,#89H
ADD A,40H
ADD A,R2
MOV 50H,A
SUBB A,40H
MOV 60H,A
END
3、乘除法运算
(1)将立即数#75H、#31H分别传送至内部RAM区15H、33H中。

(2)将内部RAM区15H单元的内容与33H单元的内容相乘。

(3)将乘积的高8位和低8位分别传送至内部RAM区31H、30H中。

(4)将内部RAM区15H单元的内容除以33H单元的内容。

(5)将商和余数分别传送至内部RAM区41H、40H中。

程序:
ORG 0000H
MOV 15H, #75H
MOV 33H, #31H
MOV A,15H
MOV B,33H
MUL AB ;相乘之后B是高八位,A是低八位
MOV 31H,B
MOV 30H,A
MOV A,15H
MOV B,33H
DIV AB ;A/B 得到A(商),B(余数)
MOV 41H,A
MOV 40H,B
五、程序测试报告(调试输入数据、结果数据或状态。


1、参考程序
运行结果:
2、加减法运算
运行结果:
3、乘除法运算
运行结果:
五、思考题
1、软件开发环境提供了哪些调试手段?各有何特点?
答:伟福仿真器为我们的调试提供了多种方法,它可以编译,以便查找语法错误;单步执行,来检查每句程序的功能;全速执行程序,来检查整段程序要完成的功能;还可以设置断点进行调试,以便分段执行程序。

2、如何将存储器块的内容移动到另一位置?
答:借助指针和寄存器,利用转移类指令即可将存储器块的内容移动到另一位置。

六、小结
本次实验用的是伟福软件模拟器,通过这次试验我基本掌握了wave仿真开发软件的使用方法和基本的编程、调试方法,了解了单片机内部存储器的结构和分配及读写存储器的方法。

除此之外,值得我们注意的是:用伟福进行模拟仿真的时候,在运行时文件保存名后缀必须为.ASM;以字母开头的16进制数前边要加‘0’,否则会报错;文件路径最好用全英文形式,避免编译出错而找半天又不知道错误出在哪里。

相关文档
最新文档