单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第1页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第2页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第3页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第4页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 存储器读写实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。实验内容: 1、将下面的汇编程序输入到WAVE集成开发软件中ORG 0000H ;复位入口 SJMP START ;无条件跳转至START ORG 0030H ;系统初始化 START:MOV R0,#07H ;将直接数存入R0寄存器 MOV R1,#0FEH ;将直接数FE存入R1寄存器 ADD A,R0 ;将R0寄存器中的内容与A累加器中的内容相加 ADDC A,R1 ;将R1寄存器中的内容与A累加器中的内容相加 MOV DPTR,#2000H ;将直接数2000H存入指针DPTR MOVX DPTR,A ;将A累加器中内容存入以DPTR为地址单元中 MOVX A,DPTR ;将以DPTR为地址单元中内容存入A累加器中 INC A ;A累加器所在地址自动加一 MOV P1,A ;将A累加器中内容存入P1中 END ;结束2、选择菜单“仿真器”“仿真器设置”,按下图所示完成软件初始设置。 3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。思考题:试用汇编语言编写一段程序,判断R1、R2、R3三个寄存器中存放的数据大小,并按从大到小的顺序重新存放到R1、R2、R3三个寄存器中。ORG 0000H ;复位入口SJMP START ;无条件跳转至STARTORG 0030H ;系统初始化START:MOV R1,#01H ;将直接数01H存入R1寄存器MOV R2,#04H ;将直接数04H存入R2寄存器MOV R3,#09H ;将直接数09H存入R3寄存器CLR C ;将C累加器清零MOV A,R1 ;将R1寄存器中的内容存入A累加器中SUBB A,R2 ;两数比较JNC LOOP0 ; 无借位跳转(R1大则转LOOP0)MOV A,R1 ;将R1寄存器中的内容存入A累加器中XCH A,R2 ;交换R2寄存器与A累加器中的内容MOV R1,A ;将A累加器中的内容存入R1寄存器中(交换R1和R2内容)CLR C ;将C累加器清零LOOP0: MOV A,R1 ;将R1寄存器中的内容存入A累加器中SUBB A,R3 ;两数比较 JNC LOOP1 ;无借位跳转(R1大则转LOOP1)MOV A,R1 ;将R1寄存器中的内容存入A累加器中XCH A,R3 ;交换R3寄存器与A累加器中的内容MOV R1,A ;将A累加器中的内容存入R1寄存器中(交换R1和R3内容)CLR C ;将C累加器清零LOOP1: MOV A,R2 ; 将R2寄存器中的内容存入A累加器中SUBB A,R3 ;两数比较JNC LOOP2 ;无借位跳转(R2大则转LOOP2)MOV A,R2 ;将R2寄存器中的内容存入A累加器中XCH A,R3 ; 交换R3寄存器与A累加器中的内容MOV R2,A ;将A累加器中的内容存入R1寄存器中(交换R2和R3内容)LOOP2: MOV R2,A ; LOOP1:将A累加器中的内容存入R2寄存器中RET ;结束心得体会:本次实验主要学习了WAVE软件基本操作运用,并进一步深入学习汇编语言,并用汇编语言进行程序编写,解决一些实际问题.实验二 I/O端口操作实验目的:1、掌握I/O端口读写等汇编指令;2、掌握仿真软件PROTEUS硬件电路设计及仿真、调试等基本操作方法。实验内容:1、参考下图,用PROTEUS完成单片机硬件电路设计2、用WAVE软件完成发光二级管亮灭程序,用延时子程序设计一段时间延时,编译通过后生成16进制文件(.HEX),加载到PROTEUS中仿真验证。ORG 0000H ;复位入口AJMP START ;无条件跳转至STARTORG 0030H ;系统初始化START:MOV SP,#60H ;START:将立即数60H存入指针SP MOV A,#01H ;将立即数01H存入A累加器 MOV P1,A ;将A累加器中的内容存入指针P1 MOV R0,#7 ;将立即数7存入R0寄存器LOOP:RL A ; LOOP:左移小循环MOV P1,A ; 将指针P1中的内容存入A累加器中ACALL DELAY ; 绝对调用指令至DELAY(调用延时程序) DJNZ R0,LOOP ; R0减1,若不等于0则继续LOOPAJMP START ;绝对转移指令至STARTDELAY: MOV R0,#255 ; DELAY:将立即数255存入寄存器R0D1:MOV R1,#255 ;D1:将立即数255存入寄存器R1DJNZ R1,$ ; R1减1,若不等于0则继续循环减1DJNZ R0,D1 ;R0减1,若不等于0则继续D1RET ;结束END ; 结束思考题:单片机晶振设为12MHZ,试计算延时子程序的延时时间。Tcy=12MHZ/12=1微秒心得体会:学习运用PROTEUS硬件电路设计及仿真、调试等基本操作方法。更方便地检验实验效果,学会编写延迟子程序.实验三 定时中断实验目的:1、熟悉单片机定时器工作原理;2、掌握定时器定时控制的编程方法。实验内容:1、编写一段汇编程序,实现P1.0口输出周期为20ms的方波,(用单片机定时器T1采用定时方式1)。并用PROTEUS仿真验证。ORG 0000H ;复位入口AJMP START ;跳转至STARTORG 001BH ;T1溢出中断入口AJMP T1INT ;跳转至T1INTORG 0030H START: MOV SP,#60H ;系统初始化MOV TMOD,#10H ;设置T1工作于定时工作方式1MOV TH1,#0D8H ;设置加1计数器的计数初值高字节MOV TL1,#0F0H ;设置加1计数器的计数初值低字节SETB TR1 ;启动T1开始计时SETB ET1 ;开T1溢出中断 SETB EA ;开总允许中断MAIN: AJMP MAIN ;主程序(等待T1溢出中断)T1INT: CPL P1.0 ;T1溢出中断服务程序MOV TH1,#0D8H ; T1重新赋值MOV TL1,#0F0H ;RETI心得体会:熟悉单片机定时器工作原理;掌握定时器定时控制的编程方法,学会观察仿真波形。实验五 外部中断实验目的:1、掌握外部中断控制的原理及编程方法;2、掌握硬件实验箱的使用方法;3、熟悉汇编程序基本格式与编程方法。实验器材:单片机实验箱、51单片机最小系统电路板、串口调试线、PC机、MCS51集成开发环境。实验内容及基本步骤:编写外部中断控制程序,控制8个指示灯的亮灭,模拟交通灯控制。将实验箱上的P3.2(外部中断0)和P3.3(外部中断1)分别接2个按钮,P1.0和P1.1接2个发光二极管,编写外部中断控制程序,控制2个指示灯的亮灭,按下按钮1,指示灯1亮;按下按钮2,指示灯1灭2亮,如此反复。CSEG AT 0000H ;复位入口 LJMP START ;长跳转至STARTCSEG AT 4003H ;外部中断0入口 LJMP INT ;长跳转至INTCSEG AT 4013H ;外部中断1入口 LJMP IN ;长跳转至INCSEG AT 4100H ;设置入口 START: CLR IT0 ;设置电平触发 CLR IT1 SETB EX0 ;允许外部中断0的中断 SETB EX1 ;允许外部中断1的中断 SETB EA ;开放所有中断 SJMP $ ;停止INT:SETB P1.0 ;P1.0置高电平 CLR P1.1 ;P1.1置低电平 RETIIN:SETB P1.1 ;P1.1置高电平 CLR P1.0 ; P1.0置低电平 RETIEND ;结束心得体会:掌握外部中断控制的原理及编程方法;掌握硬件实验箱的使用方法;熟悉汇编程序基本格式与编程方法。实验六 8279显示器接口实验目的:1、掌握数码管显示的基本原理;2、掌握8279键盘显示器接口芯片的使用方法;3、提高汇编应用程序编程方法与技巧。实验器材:1、单片机实验箱、51单片机最小系统电路板、串口调试线、PC机2、MCS51集成开发环境。实验内容及原理:编写数码管显示程序,用两个数码管显示出两个数字。8279的使用方法首先掌握两个口地址,命令口地址0CFE9H。数据口地址:0CFE8H。命令口地址主要是CPU将初始化指令或控制指令对8279完成相关设置。数据口地址完成显示数据字形码的传送。1)8279最主要的初始化操作是清除显示缓冲区命令110DDD-总清位1 X X1DDD为1XX时允许清除显示器,清除命令需要16us的时间,在此期间CPU不能向8279写入命令。2)写显示RAM命令(选择哪个数码管)100AIAAAA 特征位 显示位置AI为1时,显示RAM自动加1,AI为0时,显示位置由AAAA决定。实验内容:编写数码管显示程序,用两个数码管显示出两个数字。程序参考流程图如下,参考流程框图完成程序的编写并下载到EL实验箱上进行验证。ORG 0000H ;复位入口LJMP START ;长跳转ORG 0800H ;设置初始地址START:MOV DPTR,#0CFE9H ;命令口地址MOV A,#0D1H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论