《片机实验一单片机开发系统的使用.ppt》由会员分享,可在线阅读,更多相关《片机实验一单片机开发系统的使用.ppt(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一实验一 单片机开发系统的使用单片机开发系统的使用 一、一、实验目的实验目的:1了解单片机开发系统各主要组成部分;了解单片机开发系统各主要组成部分;2熟悉掌握仿真器及其软件的功能与使用方法;熟悉掌握仿真器及其软件的功能与使用方法;3学会输入、修改、运行程序的方法;学会输入、修改、运行程序的方法;4熟悉熟悉51单片机的指令系统单片机的指令系统。二、实验仪器二、实验仪器:1、自制的、自制的C51实验开发板实验开发板 一台。一台。2、稳压电源一台。、稳压电源一台。3、仿真器(、仿真器(EASYPROBE)一只)一只 4、PC机一台机一台三、实验原理三、实验原理:51单片机开发系统的结构单片机开发
2、系统的结构 40芯芯 扁扁平电缆平电缆RS232PC机机仿真器仿真器C51实验开发板实验开发板(目标板)(目标板)电电 源源几个几个SFR的地址:的地址:A:0E0H B:0F0H PSW:0D0HCYACF0RS1RS0OVPPSW各位的意义:各位的意义:1、认识、认识51单片机开发系统的结构。单片机开发系统的结构。2、初步认识仿真器软件和、初步认识仿真器软件和Keil C51软件界面软件界面。3、简单程序调试、简单程序调试。(1)传送指令:传送指令:设置内部设置内部RAM的值,的值,(30H)=40H,(40H)=10H,单步执,单步执行下列程序,检查结果。行下列程序,检查结果。MOV R
3、0,#30HMOV A,R0MOV R1,AMOV B,R1 SJMP$执行后:执行后:(R0)=,(R1)=,(A)=,(B)=,(30H)=,(40H)=。四、实验内容四、实验内容:(2)运算指令运算指令 单步执行:单步执行:MOV A,#0BFHMOV 20H,#85HSETB CADD A,20H SJMP$检查:检查:A=,CY=,AC=,OV=,P=。单步执行:单步执行:前面程序段,把第四句改为:前面程序段,把第四句改为:ADDC A,20H检查:检查:A=,CY=,AC=,OV=,P=。单步执行:单步执行:前面程序段,把第四句改为:前面程序段,把第四句改为:SUBB A,20H
4、检查:检查:A=,CY=,AC=,OV=,P=。单步执行:单步执行:前面程序段,把第四句改为:前面程序段,把第四句改为:CJNE A,20H,Q1 检查:检查:A=,CY=,AC=,OV=,P=。单步执行:单步执行:MOV A,#0BFHMOV B,#85HMUL ABSJMP$检查:检查:A=,B=,CY=,AC=,OV=,P=。单步执行:单步执行:MOV A,#0BFHMOV B,#85HDIV ABSJMP$检查:检查:A=,B=,CY=,AC=,OV=,P=。(3)十进制调整指令十进制调整指令 MOV A,#37HMOV 20H,#85HCLR CADD A,20HDA A SJMP$
5、DA A指令前后分别检查:指令前后分别检查:A=,CY=,AC=,OV=,P=。MOV SP,#30HMOV A,#0FHMOV B,#80HPUSH ACCPUSH BPOP ACCPOP BSJMP$运行后检查:运行后检查:A=,B=,30H=,31H=。(4)堆栈操作指令堆栈操作指令 4、多字节十进制数加法程序调试:、多字节十进制数加法程序调试:两个两个4字节十进制数字节十进制数1234567和和89987265相加,将其相加,将其8421BCD码按低位到高位存放在地址为码按低位到高位存放在地址为20-23H、30-33H的的RAM中,运算中,运算结果存放在结果存放在20-23H的地址中
6、。的地址中。分别按分别按“跟踪跟踪”、“单步单步”和和“全速全速”方式调试程序。检查方式调试程序。检查运算结果,区别运算结果,区别“跟踪跟踪”、“单步单步”调试方式的不同。在调试方式的不同。在“ADD_BCD子程序子程序”的指令的指令“DA A”处设置断点,再用处设置断点,再用“全速全速”方方式运行,到达断点后,观察式运行,到达断点后,观察“A”的值,然后用的值,然后用“单步单步”运行,运行,观察观察指令指令“DA A”的功能。同时理解的功能。同时理解“断点断点”方式调试程序的特方式调试程序的特点。点。主程序主程序 MOV R0,#20H ;置被加数首地址;置被加数首地址MOV R1,#30H
7、 ;置加数首地址;置加数首地址MOV R2,#04H ;置被加数和加数的长度;置被加数和加数的长度(字节数字节数)ACALL ADD_BCD;调用多字节十进制数加法子程序;调用多字节十进制数加法子程序ADD_BCDSJMP$;停止;停止多字节十进制数加法子程序多字节十进制数加法子程序入口入口:R0、R1为为被加数和加数的首地址,按低位到高位存放被加数和加数的首地址,按低位到高位存放出口出口:R0为运算结果为运算结果的首地址,也按低位到高位存放的首地址,也按低位到高位存放ADD_BCD:CLR C ;进位清零;进位清零LOOP:MOV A,R0 ;一字节的被加数;一字节的被加数AADDC A,R1 ;一字节加;一字节加DA A ;十进制数调整;十进制数调整MOV R0,A ;存一字节的运算结果;存一字节的运算结果INC R0 ;被加数指向下一字节;被加数指向下一字节INC R1 ;加数指向下一字节;加数指向下一字节DJNZ R2,LOOP ;循环控制;循环控制RET ;子程序返回;子程序返回END
限制150内