单片机讲义实验3
- 格式:ppt
- 大小:474.00 KB
- 文档页数:21
目录实验一、单片机集成开发环境入门实验二、I/O口输入输出实验――循环灯程序设计实验三、I/O口输入输出实验――LED数码管动态显示与按键去抖程序设计实验四、定时器应用实验――LED数码动态显示与矩阵键盘赋值程序设计实验五、计数器应用实验――基于热敏电阻和555时基电路的简易温度计设计实验一、单片机集成开发环境入门一、实验目地1.掌握单片机集成开发软件“W A VE 3.2”的开发环境配置。
2.掌握单片机集成开发软件“WA VE 3.2”的基本功能,了解MCS-51系列单片机应用系统的软件开发过程。
●掌握创建工程项目和管理工程项目的方法。
●掌握MCS-51系列单片机汇编程序的编辑、编译方法。
●掌握MCS-51系列单片机汇编程序的仿真调试方法和观察窗口的使用。
二、实验设备PC 兼容机一台,操作系统为WindowsXP,安装有单片机集成开发软件“W A VE3.2”。
三、实验原理1.单片机集成开发软件“W A VE 3.2”简介单片机应用程序的设计步骤通常可分为以下几步:(1)根据单片机应用系统的功能进行算法构思和设计,画出程序流程图;(2)用单片机汇编语言、C语言或PLM语言(初学者一般应采用汇编语言)编写源程序;(3)将源程序翻译成单片机可执行的机器码程序,即所谓的目标程序,该过程称为汇编或编译;(4)程序调试,将目标程序下载到目标单片机(即应用系统板中的单片机),运行目标程序,对运行结果进行监控。
若运行结果与预期结果相符,程序正确,调试结束;否则由结果的差异分析算法或程序的可能错误,重复步骤2至4,修改源程序、重新汇编、再调试,直至程序正确。
以上步骤2至4可应用单片机集成开发软件在个人计算机上完成。
“W A VE 3.2”是一款功能强大的单片机集成开发软件,可开发多个系列的单片机应用系统。
该软件主要功能有:(1)集成了文本编辑器,可对源程序进行编辑、修改;(2)集成了汇编器,可对源程序进行汇编,自动查找源程序中的语法错误,并将无语法错误的源程序翻译成目标程序;(3)集成了仿真调试器,可对目标系统进行在线仿真调试,也可在个人计算机上对目标程序进行模拟仿真调试。
实验3 LED数码管显示实验一、实验目的:1、巩固Proteus软件和Keil软件的使用方法;2、学习端口输入输出的高级应用;3、掌握7段数码管的连接方式和显示原理4、掌握查表程序和延时等子程序的设计二、实验内容1、仿真部分:用51单片机驱动一个八位一体LED数码管和两个按钮开关,实现:按钮1按下实现八个LED数码管同时循环显示“0,1,2……E,F”的十六进制数。
按钮2按下实现八个LED 数码管显示数字“12345678”不变。
2、真机部分:利用实验箱上的BANK3,在真机上观察到仿真部分的实验现象。
BANK3的相关电路图见后(五)。
三、实验原理1、LED数码管显示原理LED数码管:“8”字型,7段(不包括小数点)或8段(包括小数点),每段对应一个发光二极管,有共阳极和共阴极两种,见下图1。
共阳极数码管的阳极连接在一起,接+5V;共阴极数码管阴极连在一起接地。
图1 8段LED数码管结构及外形对于共阴极数码管,当某发光二极管阳极为高电平时,发光二极管点亮,相应段被显示。
同样,对于共阳极数码管,当某个发光二极管阴极接低电平时,该发光二极管被点亮,相应段被显示。
为使LED数码管显示不同字符,要把某些段点亮,就要为数码管各段提供一字节的二进制码,即字型码(也称段码)。
习惯上以“a”段对应字型码字节的最低位。
各字符段码见下表所示:2、LED数码管的静态显示与动态显示LED数码管有两种显示方式:静态显示和动态显示。
(1)静态显示方式:无论多少位LED数码管,都同时处于显示状态。
多位LED数码管工作于静态显示方式时,各位共阴极(或共阳极)连接在一起并接地(或接+5V);每位数码管段码线(a~dp)分别与一个8位I/O口锁存器输出相连。
如果送往各个LED数码管所显示字符的段码一经确定,则相应I/O口锁存器锁存的段码输出将维持不变,直到送入下一个显示字符段码。
静态显示方式显示无闪烁,亮度较高,软件控制较易。
例如,下图2为4位LED数码管静态显示电路,各数码管可独立显示,只要向控制各位I/O口锁存器送相应显示段码,该位就能保持相应的显示字符。
单片机原理与应用实验指导书(电科07用)扬州大学物理学院电子教研中心张凯2009.3Keil集成开发环境介绍Keil C51是由Keil Software公司出品的51系列兼容单片机C语言软件开发系统,是目前最流行的开发MCS-51 系列单片机的软件。
Keil C51提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。
μVision for Windows是Keil C51在32位Windows环境的版本,它的人机界面友好,操作方便,是开发者的首选。
运行Keil 软件需要Pentium 或以上的CPU,16MB或更多RAM,20M 以上空闲的硬盘空间,WIN98、NT、WIN2000、WINXP等操作系统。
一、Keil 工程的建立、设置与编译连接首先启动Keil 软件的集成开发环境,如果已正确安装了该软件,可以从桌面上直接双击μVision的图标以启动该软件。
启动画面如图。
μVision启动后,程序窗口的左边有一个工程管理窗口,该窗口有5个标签,分别是Files、Regs、Books、Functions和Templates,这三个标签页分别显示当前项目的文件结构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)、所选CPU 的附加说明文件、函数和模板,如果是第一次启动Keil,那么这三个标签页全是空的。
1、建立工程在项目开发中,首先要为这个项目选择CPU(Keil 支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil 使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。
单片机原理与应用实验讲义第一部分 DVCC—52JH+单片机仿真系统仿真器是一种计算机(单片机)应用系统的开发工具,也称为开发机,用户设计的系统(硬件和软件),在仿真器的控制下进行逐步调试以期达到设计要求。
仿真系统提供编辑、汇编、反汇编、监控命令和高级语言编辑等工具帮助用户设计、调试和修改用户系统的硬件和软件。
因此,熟悉仿真系统的使用与掌握微机或单片机原理具有同等重要性。
DVCC—52JH+单片机仿真系统主要用于MCS—51系列单片机的仿真开发。
由于随机器附带的操作手册内容繁琐,特别是接口地址分配的不透明,给用户使用带来不便,为了使初学者能在较短时间内高效率地掌握开发系统主要功能及基本使用方法,第一部分有针对性地介绍DVC—52JH+的操作使用,这是完成第二部分实验必须先修的内容。
第一节键盘监控命令简介一、键盘布局每个键中央标注的文字是单片机仿真系统的控制命令表示,大部分键有两个功能或作用,如77R 键表示寄存器R7或数字7。
整个键盘分为两大部分,左边的16个键是数字0~F 键或寄存器代码键;右边的16个键是功能键,功能键通常与数字键互相配合进行程序调试。
二、数据的显示单片机仿真系统采用LED (发光二极管)七段显示器作数据显示,共有6个LED ,如图1所示,其中“·”用来显示小数点。
左边的4个LED 一般用于显示程序存储器和数字存储器的地址,右边的2个LED 用来显示对应地址单位的内容。
图1:LED 显示器1、程序存储器和片外数据存储器用4位十六进数表示地址,占满了左边4个LED 。
例如,输入102F ,左边4个LED 显示该数102F ,若再按MEM 键(表示程序存储器),右边2个LED 则显示程序存储器102FH 单元的内容;若输入102F 后再按ODRW (表示片外数据存储器),左边2个LED 显示片外数存102FH 单元的内容。
2、片内数据存储器 有两种显示方式。
(1)R0~R7、DPL 、DPH 、A 、B 、PSW 、PCH 、PCL 和SP 这16个寄存器键盘上已有,只需按该键一次,左边4个LED 显示一位对应的代码,右边2个LED 就能显示相应单元的内容。
实验三外部中断、定时/计数器实验一、目的、任务和要求1.1 实验目的1. 掌握单片机中断系统的结构及工作原理。
2.掌握外部中断功能程序的一般结构和编程方法。
3.掌握单片机的定时/计数器的结构及工作原理。
4.掌握定时中断应用程序、计数器应用程序的典型结构和编程方法。
1.2 实验任务1.对8051单片机的外部中断功能和I/O口功能,搭建一个外部中断控制输出的硬件电路,设计和调试通过相应的外部中断功能软件。
2.对8051单片机的定时/计数器功能和I/O口功能,搭建一个(种)或几个(种)应用定时/计数器的硬件电路,设计并调试通过相应的软件。
1.3实验要求通过完成外部中断功能实验项目,掌握8051单片机外部中断触发方式的应用方法,掌握8051单片机中断屏蔽开关、中断优先级的应用方法,掌握中断初始化的内容和中断子程序的结构,熟悉中断响应的过程和现场保护的意义,会正确运用堆栈指令作现场保护和现场恢复。
通过完成定时/计数器实验项目,掌握正确选择定时/计数器的工作方式和计数模式的方法,掌握定时/计数器的初值计算方法,会编写中断控制寄存器和定时器中断入口地址的初始化程序,掌握8051单片机定时中断初始化的内容及其编程方法。
二、设备和器件2.1实验设备(1)微型计算机(PC机)(装配相关软件),(2)单片机实验箱或开发板。
2.2电路元器件本实验采用Protues仿真软件搭建一个简单的单片机系统电路,进行电路仿真分析,不需要实际的元器件。
若实验采用万能板(或面包板)搭建电路,则需要如下元器件:LED发光二极管,510Ω限流电阻,小按键、软导线等。
学生可自己在课后搭建电路进行实验,并与仿真实验比较。
三、实验内容及步骤3.1外部中断控制流水灯的实验内容及步骤(1)根据实验任务作电路原理图设计、作电路布局设计、通过Protues仿真软件来完成单片机硬件系统的搭建。
电路图如3.1所示。
(2) 通过“μVision4”软件编辑外部中断控制流水灯的程序,并将编写好的程序代码进行编译和仿真调试,然后输出*.hex文件。
《单片机原理与应用》实验讲义实验要求及注意事项一.预习实验内容1. 明确本次实验目的及任务,了解和掌握实验所需的理论知识。
2. 通过课上老师讲解,掌握编程方法及相关技巧。
3. 对每次实验,选择一个题目自己试着独立设计编写整个程序。
二.实验过程1. 在实验箱上实验时,连接实验导线一定要关闭实验箱电源,连接好后,在检查一遍是否有误,连接正确后,再依次打开实验箱电源开关及实验底板上电源开关,进行实验。
严禁带电操作。
2. 实验箱底板上的所有芯片出厂时经过严格测试和老化,实验时切忌插拔。
3. 带上理论课教材、实验指导书及准备的实验程序。
4. 调试实验程序,记录实验结果。
5. 实验结束后,关闭实验底板上的电源开关及实验箱电源开关,确认关闭后,整理好自己的实验导线,摆放老师交代的地方。
三.编写实验报告1. 实验题目。
2. 分析设计思想,绘制实验原理图、流程图。
3. 程序清单及相关注释。
4. 分析实验结果。
5. 说明在实验过程中遇到了哪些问题,是如何处理的。
6. 收获体会,不足之处和今后应注意的问题等。
实验目录实验一、单片机P1口实验(02 广告流水灯控制实验)实验二、外部中断实验(12单一外部中断实验)实验三、单片机定时/计数器实验(14 定时器实验)实验四、单片机与与矩阵键盘接口(32 PS/2 键盘实验)实验五、单片机与A/D转换器实验(31 模/数转换器(ADC0809)实验)实验六、单片机串行口实验(16 串行通信RS232 实验)实验一、单片机P1口实验(02 广告流水灯控制实验)一.实验目的1.以P1 口为例,学会使用51 系列单片机I/O 口的基本输出功能;2.学习循环指令的用法和软件延时的编程方法;3. 掌握RR.RL 指令的用法;二.实验内容编写程序,利用单LED 灯有条件的左右扫描,八个LED 发光二极管L0-L7 分别接在单片机的P1.0-P1.7 接口上,输出“0”时,发光二极管点亮,输出”1”时,发光二极管灭,先由右至左P1.0→P1.1→P1.2→P1.3→┅→P1.7 ,再由左往右P1.7→P1.6→┅→P1.0 亮,重复循环下去。
一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
《微机应用实验》课程教学所做的基本实验前言需要说明的是,设置本实验课程的目的完全是为了培养读者的“计算机工程概念”,即学习如何用最短的时间和最少的花费,将实际问题转化成使计算机能够“做到并完成”的方法。
故读者在做每个实验之前,必须对所做实验的理论依据做出“形式化”的说明,只有在完全理解了这些依据的情况下,再进行实验才有意义。
以下是每个合格的计算机工程人员在工作时都必须遵守的五个基本步骤(或称为五条原则)。
步骤一.对所希望解决的问题做出“形式化”的描述(用术语说就是“无二义性”,因为早在微型计算机出现之前,就有人证明过“计算机无法解决‘二义性’的问题”这个定理);若别人已经对该问题做出了这样的描述,则应确实理解它。
步骤二.根据所解决的问题的特性与规模,建立该问题与计算机所能处理的对象(即数据)之间的相互对应关系,用术语说就是进行问题的“数据设计”。
需要特别说明的是,前两个步骤基本上与所使用的计算机系统(包括硬件和软件)无关。
步骤三.选择某一种(或几种)相应的程序设计语言(必要时还要选择或设计相应的机器硬件),将步骤一中“人对问题的形式化描述”,转化成“计算机对问题的快速处理”,而计算机的“处理对象”则由步骤二所确定。
用术语说就是进行问题的“程序代码设计”。
另外需要说明的是在动手编写具体的程序代码之前,应先做“确定设计目标”的工作。
即若编写的是子程序,就必须确定该子程序所处理的各种参数的形式和该子程序的“引用条件”;若编写的是程序,就必须确定该程序执行时所产生的现象、用户所做的操作和执行后所产生的结果等等。
步骤四.在各种特定的环境下,调试步骤三所编写的程序代码以保证其正确性。
步骤五.书写相应的“软件(或软件+硬件)使用说明”,注意这其实是步骤三中“确定设计目标”的简述。
值得注意的是,后三个步骤的“正确性”是建立在前两个步骤的“正确性”的基础之上的,没有前两个步骤,后面所做的全部工作都毫无意义(因为你的“出发点”就不对,即犯了“南辕北辙”的错误)。
《单片机系统及应用》实验讲义实验一 MCS-51单片机汇编语言编程练习一. 实验目的1. 熟悉单片机开发软件Keil系统的使用方法。
2. 理解单片机汇编语言指令的基本语法以及汇编语言程序设计的基本结构和编程方法。
3. 掌握单片机汇编语言顺序结构、分支结构和循环结构程序的设计方法。
4. 能够独立使用单片机汇编语言进行顺序结构、分支结构和循环结构程序的设计能力。
对实际应用问题能够抽象出数学模型,并通过编程来实现数学模型所要完成的功能。
5. 掌握顺序结构、分支结构和循环结构程序的流程图绘制方法。
二.预习与思考1. 预习理论教材中“顺序结构”、“分支结构”和“循环结构”等相关内容,掌握它们的实现方法。
2. 思考如何使用不同类型的单片机汇编语言指令,来完成分支、循环结构程序的设计,并总结归纳出所有具备类似分支循环功能的汇编指令。
三. 实验原理1. 单片机汇编语言的指令分类全球生产单片机的芯片厂商有数百家,不同厂商生产的单片机芯片都有自己特定的汇编语言指令系统对其进行支持,那么在众多不同类型的单片机汇编语言指令系统中,作为单片机的初学者是不是要一一来学,是不是需要面面俱到呢?回答是不需要。
因为,尽管单片机芯片的生产厂商、芯片类型以及处理位数都不尽相同,但是所有的单片机芯片都有一个共同的祖先,那就是Intel公司生产的MCS-51系列单片机芯片。
因此,只要掌握好MCS-51系列单片机的汇编语言指令,就可以举一反三、触类旁通,从而理解其他类型单片机芯片的汇编语言指令系统。
MCS-51系列单片机的汇编语言指令,一共有111条,按照指令实现的功能不同,将这111条指令分成了五大类即:数据传送类指令、算术运算类指令、逻辑运算类指令、控制转移类指令以及位操作指令(也叫布尔变量操作指令)。
数据传送类指令的作用是将数据在单片机芯片内部或外部的不同部件间进行传送,它是五大类指令当中最基础、最重要,也是指令条数最多的一类指令。
《单片机原理实验》讲义目录实验一 KEIL编译器实验 (1)实验二清零、拆字、拼字程序设计 (10)实验三数据区传送、数据排序程序设计 (13)实验四无符号双字节快速乘法、查找相同数个数 (15)实验五软件延时实验 (18)实验六 LED数码管动态扫描实验 (20)实验七定时/计数器实验 (22)实验八中断实验 (23)实验九 D/A转换实验 X5045实验(二选一) (25)实验十 A/D转换实验 (28)实验资料说明 (31)实验报告撰写要求 (32)实验一 KEIL编译器实验一、实验预习1、掌握51单片机的硬件结构。
(包括CPU、存储器体系结构、I/O口等)2、掌握51单片机的指令系统,熟悉使用汇编语言设计程序。
3、熟悉课堂讲授的使用keil软件开发环境的方法。
实验预习问题:1、Keil编译器适用的单片机类型。
(实验课堂提问)二、实验目的掌握在keil编译器下建立自己的工程,并进行调试。
三、演示实验1、典型51单片机开发系统2、51单片机应用实例4个:计算器、温度计、智能风扇、密码系统。
演示实验关注点:1、掌握51单片机单片机的典型开发流程。
2、学会使用仿真器、烧写器。
3、了解单片机开发过程的关键技术点。
四、Keil C51简介:Keil C51是Keil software公司开发的用于51系列单片机的C51语言开发软件。
Keil C51在兼容ANSI C的基础上,又增加很多与51单片机硬件相关的编译特性,使得开发51系列单片机程序更为方便和快捷,程序代码运行速度快,所需存储器空间小,完全可以和汇编语言相媲美。
它支持众多的51单片机架构的芯片,同时集编辑、编译、仿真等功能于一体,具有强大的软件调试功能,是众多的单片机应用开发软件中最优秀的软件之一。
经常用到Keil C51和Keil µVision这两个术语。
Keil C51一般简写为C51,指的是51单片机编程所用的C语言;而Keil µVision,可简写为µVision,指的是用于51单片机的C51程序编写、调试的集成开发环境(IDE)。
一、实验台结构1)通用单片机插座:●40/202)仿真器:●SST89E564RD:●89C51/仿真器切换:3)跳线开关:4)地址译码电路:●74LS138:5)低位地址总线插空:●74LS373:●A2A1A0:6)单片机扩展电路:●8K*8 RAM6264●ADC0809●DAC0832●双积分A/D转换器MC14433 7)外围电路:●七段码显示:并行/串性●8*8点阵LED:●字符LCD:●行列式4*4键盘●查询式键盘:●串行EEPROM:●串行通信:●继电器:●扬声器:●直流电机/步进电机:●逻辑电平开关:●时钟电路:●LED指示:●单脉冲:●逻辑笔:●复位:8)仿真开关:●SW1:●仿真/89C519)编程:●编程:●运行:10)电源:11)通用扩展实验区:●40PIN●20PIN12)串行接口:13)打印机接口:二、实验模式1、单片机下载实验模式:利用Flash Magic对P89C51RD2H编程,程序下载到系统板上的51CPU上运行●应用程序:HEX●SW1:89C51●SW2:编程●运行Flash Magic:●SW2:运行●程序运行:2、在线仿真:●串口连接:●SW1:仿真●PC上运行Keil C:在线仿真三、编程器使用1、Flash Magic●在系统编程单片机:89C51RD2●串口编程:●加密位:2、Top151编程器:四、开发平台Keil C●建立目录:●建立工程:●选定型号:●建立源程序:●添加源程序:●添加头文件:●设置:●Build:3、编程:4、运行/在线运行:●软件仿真:Use Simulator●硬件仿真:Use。
目录第一部分实验系统的组成和结构 (3)快速入门 (4)1.建立你的新程序 (4)2.保存你的程序 (4)3.建立新的项目 (5)4.设置项目 (6)5.编译你的程序 (6)6.调试程序 (7)7.观察变量 (7)7.连接硬件仿真 (7)第二部分单项实验 (11)软件实验 (11)实验一熟悉实验系统及51指令练习 (11)实验二C语言程序设计练习 (12)硬件实验 (13)实验三P1口输入\输出特性测试实验 (13)实验四定时器/计数器实验 (14)实验五MCS-51中断系统实验 (16)实验六MCS-51串行接口实验 (17)实验七存储器系统扩展设计 (20)附录 (22)第一部分实验系统的组成和结构本实验系统完成MCS-51《单片机原理与应用》的一系列实验,其中包括三个部分:WAVE6000软件、MCS-51 系列单片机、实验挂箱中的各种接口模块。
可以仿真MCS-51系列CPU工作方式,调试试验程序和应用程序。
WAVE6000开发环境支持汇编语言、C语言源程序调试,可实现对MCS-51、MCS-96系列单片机的仿真,还可以进行软件模拟,用软件模拟的方式来调试用户编写的源程序。
硬件连接硬件由PC机,实验箱,G6W型仿真器,51系列仿真头串口线,电源组成。
快速入门1.建立你的新程序选择菜单[文件︱新建文件]功能出现一个文件名为NONAME1 的源程序窗口,在此窗口中输入以下程:xdata unsigned char Buffer[256] _at_0x3000;void main(){unsigned int index;unsigned char xdata *ptr;ptr = &Buffer; // 起始地址for (index = 0; index <= 255; index++){*ptr++ = 0; // 清0, 地址加一}}输出程序后的窗口如图,现在要做的是将此文件存盘。
单片机实验讲义2013年10月27日星期日实验一汇编指令的练习与BCD码加减运算一实验要求学习和掌握keil汇编编译系统,编写通用4字节压缩BCD码的加、减法运算程序。
二实验目的通过学习多字节压缩BCD码加减运算的程序设计;学习汇编程序的编写,学会编译.asm源程序,编译,下载。
学习断点设置,单步执行,SFR特殊功能寄存器的查看等编程基本功能。
三实验原理对于简单的8位加减可以直接调用指令就可以了。
例如加法可以使用指令ADD以及带进位加ADDC,但单字节加减法只能在256之内进行运算;在实际应用中经常需要进行多字节运算,从而处理更大的数据。
该实验介绍单片机BCD码多字节加、减运算通用程序的设计。
1.多字节无符号压缩BCD码加法运算假设多字节无符号被加数的最低字节的地址为R0,加数的最低字节地址为R1,字节数共为len;计算结果的地址于被加数相同。
◆入口参数:R0:被加数地址指针;R1:加数地址指针;len:字节数。
◆出口参数:@R0:计算结果;rLen:计算结果字节数。
◆使用资源:ACC,R0、R1,内部RAM单元len、rlen及存放被加数、加数、计算结果的内存单元。
示例程序如下:len DA TA 70Hrlen DATA 71HADDSTART:PUSH PSW ;保护标志寄存器内容CLR C ;进位位清0MOV rlen,#00H ;和的字节数先清0LOOP:MOV A,@R0 ;取被加数ADDC A,@R1 ;求和DA A ;十进制调整MOV @R0,A ;保存INC R0 ;地址增1INC R1INC rlen ;字节数增1DJNZ len,LOOP ;所有字节未加完继续,否则向下执行JNC ADDEND ;和的最高字节无进位转ADD20MOV @R0,#01H ;和的最高字节地址内容为01HINC rlenADDEND:POP PSWRETEND多字节加法运算一般是按从低字节到高字节的顺序进行的,所以必须考虑低字节向高字节的进位情况,被加数和加数的压缩BCD码,最大不超过99,而99+99+1(进位)=199,此时可以不需要使用ADDC指令,但当最低两字节相加后,必须使用“DA A”进行十进制调整,调整后产生进位。
;起始地址;设置256字节计数值第一章 单片机软件实验实验一内存操作1. 实验目的① 掌握数据传送指令;② 掌握各种数据传送指令的寻址方式; ③ 熟练运用keil 环境对汇编程序进行调试; ④ 掌握数据传送、复制等程序的设计与调试方法。
2. 预习要求① 理解数据传送指令和循环指令的使用; ② 理解如何对内部寄存器、内部RAM 、外部RAM 的读写;③ 理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式; ④ 认真预习本实验内容,自行编写程序,填写实验报告。
3.实验设备计算机 1台;4. 基础型实验内容①下列程序的功能是给外部 RAM8000〜80FFH 的256个单元的内容赋值,赋值的内容取决于程序中 A 的赋值。
在Keil 环境运行该程序,并观察寄存器及内存单元的 变化。
ORG 0000H START EQU 8000HMAIN: MOV DPTR,#START MOV R0,#0ffh ;MOV A, #1HLoop: MOVX @DPTR, A INC DPTR ;指向下一个地址DJNZ RO, loop ; ;计数值减1SJMP $②END 下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块,在Keil环境运行如下程序,观察寄存器及存储单元的变化。
ORG 0000HMOV DPTR,#3000HMOV A,#01HMOV R5,#OLOOP: MOVX @DPTR,AINC DPTRDJNZ R5,LOOPMOV R0 ,#30HMOV R1 ,#00HMOV R2 ,#40HMOV R3 ,#00HMOV R7 ,#0LOOP1 MOV DPH,R0MOV DPL ,R1MOVX A ,@DPTRMOV DPH ,R2MOV DPL ,R3MOVX @DPTR ,AINC R1INC R3DJNZ R7 , L00P1SJMP $END5. 设计型实验内容①在keil环境修改内部RAM 30H〜3FH的内容分别为#OOH-#OFH,设计程序实现将内部RAM30H-3FH到40H-4FH的数据块拷贝。