单片机实验

上传人:鲁** 文档编号:546676651 上传时间:2023-07-21 格式:DOCX 页数:10 大小:23.76KB
返回 下载 相关 举报
单片机实验_第1页
第1页 / 共10页
单片机实验_第2页
第2页 / 共10页
单片机实验_第3页
第3页 / 共10页
单片机实验_第4页
第4页 / 共10页
单片机实验_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《单片机实验》由会员分享,可在线阅读,更多相关《单片机实验(10页珍藏版)》请在金锄头文库上搜索。

1、实验一、CS5单片机基本开发环境 1.实验目的: 1) 熟悉软件的集成开发环境2) 掌握单片机软件设计流程 3) 掌握单片机存贮器构造及各窗口之间的联系. 实验内容: ) 用三种措施实现将累加器内容改为20H 措施-O A,#20H措施2MOV ,#20 O A,R0措施3M R,20H XCH A,0心得:越往下做实验时就越感觉这题主线不能说是题目,但不得不说在没接触过编程软件,刚开始学的汇编,第一次做的实验就光这道题都觉得不懂得做什么.因此但凡总有开始,不理解状况的多简朴的都会觉得难2)将5位单元置为1,观测内部RM中2内容的变化代码:SEB 2BH.0JP ED心得:这是有关内部存储中对

2、单元和字节理解,不理解很容易做错.例如开始写的指令为OV 0,8;MOVR0, 这是错误的指令。这就需要认真去理解单片机中的字节地址与位地址的关系。05中有位寻址区和字节寻址区。题目中58H为位地址,H为字节地址,且8为2B字节的最低位。由于58H属于位寻址区,可用位操作指令STB 进行置位,SE B.0执行后,2B中内容变为13) 如果目前状态为有进位、工作寄存器使用区2,请用3种措施设立这种状态代码:ANLPSW,0HMO ,SW CJEA,#01,L2LAB:JM LAB1AB2: SEB SW.4 V P0,01H MV 0,18H L SW.3 M C,0. MOV PSW,R0 M

3、OV PS.4, CL O PS.3,C ND心得:以上LB2写了三段代码,可分别完毕题目规定。但是实验时只是对代码进行了错误调试,没有对成果进行检查。其中值得注意的是对于布尔(位)操作指令的用法,例如传送指令必须经累加器C,如第二段中MOV P,1H ;M ,P0.0,以及对于位寻址的方式(如需用到“.”隔开)的应用。)编一种小程序将内部RA中的2H单元的内容送到21单元并调试代码:MV R0,20HMV R,10HMR1,#HOV R1,HJMP $ND5) 用程序将堆栈指针指向0H,然后在堆栈中依次压入01,02,03,04,05五个数,观测哪些单元内容发生了变化,各变为多少?从哪些窗口

4、可以发现这些变化?顺序将堆栈中的五个数放入3H34H五个单元中,编程实现之。代码:MV ,60OV SP,1MV DPL,#HLAB1:PS DLINC DLMOV ,DPLCJE A,6,LAB1POP 34HOP33HP 32POP 31HP 3M $ND6) 将外部数据存贮器000H100F 个单元中寄存0H0H 代码:MODTR,00HMOV 1,#10O:MVX DPTR,#1234H MOVX A,DPR MOV R1,CDPTIC R1JNE R1,#40H,LOOMP $EN心得:此处需要访问片外存储空间,需要借助寄存器P,需注意其为16位的寄存器,在使用时若与八位寄存器进行数

5、据互换时需分为高八位DPH与低八位L来用。)若规定程序从00单元开始运营,可用两种措施实现?措施一 ORG 010措施二 AJMP 0010 . 选做实验内容:数据传送 目的: 1)掌握51单片机内部数据存贮器、外部数据存贮器的数据传送特点和应用2) 掌握MV,MOX和MOVC类指令的用法及区别内容: 1) 将片内RAM数据区为首地址的十六个字节传送到30为首地址的数据区,即:2HFH送HFH代码:OG0000HMAINORG 0030HMN:MV 0,#20HMV R,#LOP:MOV 0,#124H MOVA,0 MOV R1,AINC R0IN 1JNER1,#3H,LOJP $EN2)

6、 将外部数据存储器200FH单元的十六个数传送至内部数据存储器的03F 代码:ORG 0000HJMPINORG0030HMAIN:MV DPTR,#HOV R,30OOP:VX T,#2H MOVX A,DPR M 1,AINCDPRINC R1CJNE 1,#0H,LPJMP EN总体心得体会:第一次做实验重要是熟悉理解了下单片机编程软件的使用,开始接触时在对其软件不是太理解的状况下实验编程做的的确很乱,不清晰该如何进行,例如不知如何进行对指令的调试,也不清晰该如何观测成果,没有一种整体的概念,因此在理解其开发环境上花了不少时间。通过一段时间的摸索后也终于理解了其具体的使用,也可以顺利的对

7、指令的编程运用。运营指令时遇到的某些问题需要注意的也在上面各题中做了阐明。尚有需要注意的是:进入软件仿真时需要对存储空间进行查看的措施是在Addess窗口中输入:d:0h显示内部数据存储器从00h开始的单元; x:00h显示外部数据存储器从1000h开始的单元;:00H显示程序存储器内容。尚有由于伪指令 END 定义的因素,在程序末需加一条死循环调转指令(如 JMP $ )使程序不会进入其她未知空间执行其她指令。实验二、加、减法实验1. 实验目的 1) 对的使用单片机的加减运算指令 2) 掌握不同指令对于程序状态字的影响及程序状态字的意义、用处 3) 掌握ADD,DDC,BB和DA A等指令的

8、用法4) 学习模块化程序设计措施 2实验内容 1)编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的对的性。需考虑有进位和无进位状况。程序入口为: 加数:2H,21H,20H三字节,22H为最高位被加数:32H,31H,0H三字节,32H为最高位程序出口为: 23H,22H,21H,20H四字节,2H为最高位例如:地址:2 21 0 2 31 30 执行前数据: 01 3 01 01 执行后数据:0 00 246 代码:RG 0000HP MINOR 30HMAIN:MV 22H,#01HMOV 1H,23HMOV 2H,#45HMOV H,FFOV1,#01HMO

9、30H,#01AL ADIERE:MP HERERG 100AD:PS PWMOV R0, #20H ;加数1地址、和的地址MOV R1, #30H ;加数地址CLR COV R2, #3 ;循环3次LOO:MOV A, R0 ;取A A, R ;加V , A ;存C R0INC R1DJNZ 2, LOOPCLR AD A, # ;得到进位MOV 23, A ;保存POP PWRTEND2) 编写三字节二进制减法子程序 入口:被减数:2H,5H,0,50为最低位减数:42H,41H,0H,40为最低位出口:差:外部数据存贮器(H为最低位) 用主程序调用多组数据来调试,需考虑无借位和有借位两种

10、状况。 例如: 执行前:地址: 5 1 50 42 1 0 数据: 9 8 710 1 10执行后:地址: 数据: 0080 0 60代码:RG 000AJMP MORG 30HMAN:V 52H,#9HMOV 1H,#80OV 50H,7HOV 42,#10HMOV H,#10HOV 0H,10HACALL SB1HRE:JM HERESB1:PUSH PSW OV R, #50H ;被减数地址MOV R1, #4H ;减数地址MOVDPTR, #H ;差的地址CLR CMOV R2, ;循环次LOP:MV A, R0 ;取SUBB A, R1 ;减OX P, ;存IN RIC R1INC

11、DTRJZ R2, LOOPCR AUBA, #0 ;得到借位OV R, A ;存POP SWRTEND)编写1位十进制加法子程序(十进制数采用压缩BC码寄存) 入口: 加数:2420H,低地址放低字节被加数:225H,低地址放低字节出口 和:005000H,低地址放低字节规定调用多组数据调试,注意观测PSW的变化,理解DA指令的含义。例如: 执行前地址:2 2 22 21 209 28272 5 数据:1 34 5 7 90 889933 12 执行后地址:405 40040 40 00 00 数据: 101 33 89 164 代码:ORG 0000AJM MAINORG 3HMAIN:MV 4,#1HOV 3,34HMOV22H,#56HMOV 1,#78MO 20H,#0V H,#8HMOV 28H,#HV ,33HMV 26,#12O 5H,#74HAALL DD2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号