单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc

单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc

ID:48418702

大小:982.00 KB

页数:11页

时间:2020-01-24

单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第1页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第2页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第3页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第4页
单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc_第5页
资源描述:

《单片机实验报告,存储器读写,IO端口操作,定时中断,外部中断等.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验一存储器读写实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。实验内容:1、将下面的汇编程序输入到WAVE集成开发软件中ORG0000H;复位入口SJMPSTART;无条件跳转至STARTORG0030H;系统初始化START:MOVR0,#07H;将直接数存入R0寄存器MOVR1,#0FEH;将直接数FE存入R1寄存器ADDA,R0;将R0寄存器中的内容与A累加器中的内容相加ADDCA,R1;将R1寄存器中的内容与A累加器中的内容相加MOVDPTR,#2000H;将直接数2000H存入指针DPTRMOVX@DPTR,A;将A累加器中

2、内容存入以DPTR为地址单元中MOVXA,@DPTR;将以DPTR为地址单元中内容存入A累加器中INCA;A累加器所在地址自动加一MOVP1,A;将A累加器中内容存入P1中END;结束2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。....3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。..思考题:试用汇编语言编写一段程序,判断R1、R2、R3三个寄存器中存放的数据大小,并按从大到小的顺序重新存放到R1、R2、R3三个寄存器

3、中。ORG0000H;复位入口SJMPSTART;无条件跳转至STARTORG0030H;系统初始化START:MOVR1,#01H;将直接数01H存入R1寄存器MOVR2,#04H;将直接数04H存入R2寄存器MOVR3,#09H;将直接数09H存入R3寄存器CLRC;将C累加器清零MOVA,R1;将R1寄存器中的内容存入A累加器中SUBBA,R2;两数比较JNCLOOP0;无借位跳转(R1大则转LOOP0)MOVA,R1;将R1寄存器中的内容存入A累加器中XCHA,R2;交换R2寄存器与A累加器中的内容MOVR1,A;将A累加器中的内容存入R1寄存器中(交换R1和R2内容)CL

4、RC;将C累加器清零LOOP0:MOVA,R1;将R1寄存器中的内容存入A累加器中SUBBA,R3;两数比较JNCLOOP1;无借位跳转(R1大则转LOOP1)MOVA,R1;将R1寄存器中的内容存入A累加器中XCHA,R3;交换R3寄存器与A累加器中的内容MOVR1,A;将A累加器中的内容存入R1寄存器中(交换R1和R3内容)CLRC;将C累加器清零LOOP1:MOVA,R2;将R2寄存器中的内容存入A累加器中SUBBA,R3;两数比较JNCLOOP2;无借位跳转(R2大则转LOOP2)MOVA,R2;将R2寄存器中的内容存入A累加器中XCHA,R3;交换R3寄存器与A累加器中的

5、内容MOVR2,A;将A累加器中的内容存入R1寄存器中(交换R2和R3内容)LOOP2:MOVR2,A;LOOP1:将A累加器中的内容存入R2寄存器中RET;结束心得体会:本次实验主要学习了WAVE软件基本操作运用,并进一步深入学习汇编语言,并用汇编语言进行程序编写,解决一些实际问题.实验二I/O端口操作..实验目的:1、掌握I/O端口读写等汇编指令;2、掌握仿真软件PROTEUS硬件电路设计及仿真、调试等基本操作方法。实验内容:1、参考下图,用PROTEUS完成单片机硬件电路设计2、用WAVE软件完成发光二级管亮灭程序,用延时子程序设计一段时间延时,编译通过后生成16进制文件(.

6、HEX),加载到PROTEUS中仿真验证。ORG0000H;复位入口AJMPSTART;无条件跳转至STARTORG0030H;系统初始化START:MOVSP,#60H;START:将立即数60H存入指针SPMOVA,#01H;将立即数01H存入A累加器MOVP1,A;将A累加器中的内容存入指针P1MOVR0,#7;将立即数7存入R0寄存器LOOP:RLA;LOOP:左移小循环MOVP1,A;将指针P1中的内容存入A累加器中..ACALLDELAY;绝对调用指令至DELAY(调用延时程序)DJNZR0,LOOP;R0减1,若不等于0则继续LOOPAJMPSTART;绝对转移指令至

7、STARTDELAY:MOVR0,#255;DELAY:将立即数255存入寄存器R0D1:MOVR1,#255;D1:将立即数255存入寄存器R1DJNZR1,$;R1减1,若不等于0则继续循环减1DJNZR0,D1;R0减1,若不等于0则继续D1RET;结束END;结束思考题:单片机晶振设为12MHZ,试计算延时子程序的延时时间。Tcy=12MHZ/12=1微秒心得体会:学习运用PROTEUS硬件电路设计及仿真、调试等基本操作方法。更方便地检验实验效果,学会编写延迟

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。