ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:4.20MB ,
资源ID:12771818      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12771818.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机实验报告.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机实验报告.docx

1、单片机实验报告单片机实验报告实验一 数据传送(RAMXRAM)一、实验目的熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。二、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。2、编写程序,实现内外部数据段的传送、校验。三、程序框图四、实验步骤 在内部RAM 30H 3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H 100FH中的内容。熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。五、程序清单;将内部RAM Address1 开始的

2、16个字节送到外部RAM从Address2开始的单元里,再作比较。Address1DATA30HAddress2XDATA1000HORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60HMOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:MOVA,R0;传送MOVXDPTR,AINCR0INCDPTRDJNZR7,STAR1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:MOVB,R0;比较MOVXA,DPTRCJNEA,B,STAR3INCR0INCDPTRDJNZR7,STA

3、R2SJMP$;传送正确STAR3:SJMP$;传送错误END实验二 双字节BCD码(十进制数)加法一、实验目的熟悉51汇编指令,学会使用星研集成环境软件,能自己编写简单的程序,熟悉BCD码,了解如何调用系统提供的子程序。二、实验内容从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数码管上;熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。三、实验框图四、实验步骤 1、连线说明:D3区 :CLKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02、在F4区

4、的键盘上输入4位被加数、加数3、结果显示在F4区的数码管上五、程序清单EXTRNCODE(Display8, GetBCDKey)BufferDATA30H;8字节显示缓冲区F1BIT0D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除显示,再接收键输入START1:MOVR0,#bufferMOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(被加数)SETBF1;接收到第一个键,才清除显示MOVR0,#buffer+4MOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(加数)MOV

5、A,buffer+1ADDA,buffer+5DAAMOVbuffer+5,AMOVA,bufferADDCA,buffer+4DAAMOVbuffer+4,ACLRARLCADisplay:PUSHACC;显示结果MOVR0,#bufferMOVA,buffer+5;低位ACALLB1toB2;压缩BCD码转换成非压缩BCD码MOVA,buffer+4;高位ACALLB1toB2POPACC;进位ACALLB1toB2MOVR0,#10H;最高二位消隐INCR0MOVR0,#10HMOVR0,#buffer+5MOVR7,#5ACALLBlackDisplay;将高位0消隐MOVR0,#bu

6、fferLCALLDisplay8SJMPSTART1;将一个字节压缩BCD码转换成二个字节非压缩BCD码B1toB2:PUSHACCANLA,#0FHMOVR0,AINCR0POPACCANLA,#0F0HSWAPAMOVR0,AINCR0RETBlackDisplay:MOVA,R0;将高位0消隐JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayExit:RETEND实验三 双字节BCD码(十进制数)减法一、实验目的熟悉51汇编指令,学会使用星研集成环境软件,掌握汇编语言的设计和调试方法。能看懂程序流程框图,能自己设计程序,熟悉BCD码、补码,了

7、解如何调用系统提供的子程序。二、实验内容从键盘上输入4位被减数、减数,实现双字节BCD码(四位数)的减法,结果显示在数码管上;进一步熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。三、程序框图四、实验步骤 1、连线说明:D3区 :CLKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02、在F4区的键盘上输入4位被减数、减数3、结果显示在F4区的数码管上五、程序清单 EXTRNCODE(Display8, GetBCDKey)BufferDATA30H;8字节显示缓冲区F1BIT0

8、D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除显示,再接收键输入START1:MOVR0,#bufferMOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(被减数)SETBF1;接收到第一个键,才清除显示MOVR0,#buffer+4MOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(减数)MOVA,#9AHCLRCSUBBA,buffer+5MOVbuffer+5,AMOVA,#99HCLRCSUBBA,buffer+4MOVbuffer+4,A;减数取补MOVA,buffer

9、+1ADDA,buffer+5DAAMOVbuffer+5,AMOVA,bufferADDCA,buffer+4DAAMOVbuffer+4,AMOVF0,C;借位标志JCDisplayMOVA,#9AHSUBBA,buffer+5MOVbuffer+5,AMOVA,#99HSUBBA,buffer+4XCHA,buffer+5ADDA,#00HDAAXCHA,buffer+5ADDCA,#00HDAAMOVbuffer+4,ADisplay:MOVR0,#buffer;显示结果MOVA,buffer+5;低位ACALLB1toB2;压缩BCD码转换成非压缩BCD码MOVA,buffer+4;

10、高位ACALLB1toB2MOVR0,#10H;最高四位消隐INCR0MOVR0,#10HINCR0MOVR0,#10HINCR0MOVR0,#10HMOVR0,#buffer+3MOVR7,#3ACALLBlackDisplay;将高位0消隐MOVR0,#bufferLCALLDisplay8SJMPSTART1BlackDisplay:MOVA,R0;将高位0消隐JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayExit:JBF0,Exit1INCR0MOVR0,#11H;负数标志Exit1:RETB1toB2:PUSHACCANLA,#0FHM

11、OVR0,AINCR0POPACCANLA,#0F0HSWAPAMOVR0,AINCR0RETBlackDisplay:MOVA,R0JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayExit:RETEND实验四 四字节十六进制数转十进制数一、实验目的进一步熟悉51汇编指令,了解十六进制数转十进制数的方法。二、实验内容从键盘上输入8位十六进制数,实现四字节十六进制数转8位十进制数,并在数码管上显示。注意输入数据必须在00000000H05F00000H范围,否则,结果超出8位十进制数,无法正确显示。三、程序框图四、实验步骤 1、连线说明:D3区 :C

12、LKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02、在F4区的键盘上输入8位十六进制数3、结果显示在F4区的数码管上五、程序清单 EXTRNCODE(Display8, GetKey)BufferDATA30H;8字节显示缓冲区F1BIT0D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除显示,再接收键输入START1:MOVR0,#bufferMOVA,#8;按键次数LCALLGetKey;得到4字节十六进制数SETBF1;接收到第一个键后,才清除显示MOVR0,bufferMOVR1,buffer+1

13、MOVR2,buffer+2MOVR3,buffer+3ACALLB4toD4;转换成十进制数Display:MOVR0,#buffer;显示结果MOVA,R7;低位ACALLB1toB2;压缩BCD码转换成非压缩BCD码MOVA,R6ACALLB1toB2MOVA, R5ACALLB1toB2MOVA,R4;高位ACALLB1toB2MOVR0,#buffer+7MOVR7,#7ACALLBlackDisplay;将高位0消隐MOVR0,#bufferLCALLDisplay8SJMPSTART1;四字节十六进制数转十进制数:R0R1R2R3为十六进制,R4R5R6R7为压缩BCD码B4to

14、D4: CLRAMOVR4,AMOVR5,AMOVR6,AMOVR7,AMOVB,#32LOOP:CLRCMOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVA,R1RLCAMOVR1,AMOVA,R0RLCAMOVR0,AMOVA,R7ADDCA,R7DAAMOVR7,AMOVA,R6ADDCA,R6DAAMOVR6,AMOVA,R5ADDCA,R5DAAMOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,ADJNZB,LOOPRETB1toB2:PUSHACCANLA,#0FHMOVR0,AINCR0POPACCANLA,#0F0HSWAPAMOVR0,

15、AINCR0RETBlackDisplay:MOVA,R0;将高位0消隐JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayExit:RETEND实验五 双字节BCD码(十进制数)乘法一、实验目的进一步熟悉51汇编指令,掌握汇编语言的设计和调试方法。根据程序流程图,自己设计程序,了解如何调用系统提供的子程序。二、实验内容从键盘上输入4位被乘数、乘数,实现四位十进制数的乘法,结果显示在数码管上。三、程序框图四、实验步骤 1、连线说明:D3区 :CLKB2区:2MD3区 :CSA3区:CS5D3区 :A0A3区:A02、在F4区的键盘上输入4位被乘数、乘数

16、3、结果显示在F4区的数码管上五、程序清单 EXTRNCODE(Display8, GetBCDKey)BufferDATA30H;8字节显示缓冲区F1BIT0D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除显示,再接收键输入START1:MOVR0,#bufferMOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(被乘数)MOVR0,#bufferACALLD4toB2;转换成二进制数PUSH02HPUSH03HSETBF1;接收到第一个键,才清除显示MOVR0,#bufferMOVA,#4;按键次数

17、LCALLGetBCDKey;得到双字节十进制数(乘数)MOVR0,#bufferACALLD4toB2;转换成二进制数POP01HPOP00HACALLWordMul;(R0R1)*(R2R3)=R0R1R2R3ACALLB4toD4;转换成十进制数Display:MOVR0,#buffer;显示结果MOVA,R7;低位ACALLB1toB2;压缩BCD码转换成非压缩BCD码MOVA,R6ACALLB1toB2MOVA, R5ACALLB1toB2MOVA,R4;高位ACALLB1toB2MOVR0,#buffer+7MOVR7,#7ACALLBlackDisplay;将高位0消隐MOVR0

18、,#bufferLCALLDisplay8SJMPSTART1;双字节十六进制数乘以双字节十六进制数子程序WordMul:MOVA,R3; (R0)(R1)MOVB,R1; (R2)(R3)MULAB;-XCHA,R3; (R3R1H)(R3R1L)MOVR7,B; (R3R0H)(R3R0L)MOVB,R0; (R2R1H)(R2R1L)MULAB;(R2R0H)(R2R0L)ADDA,R7;-MOVR7,A; R0 R1 R2 R3CLRAADDCA,BXCHA,R1MOVB,R2MULABADDA,R7XCHA,R2PUSHACCMOVA,BADDCA,R1MOVR1,ACLRARLCA

19、XCHA,R0POPBMULABADDA,R1MOVR1,AMOVA,R0ADDCA,BMOVR0,ARET;双字节十进制数转二进制数 ,R0-指向双字节十进制数,结果在R2R3中D4toB2:MOVA,R0ANLA,#0FHXCHA,R0ANLA,#0F0HSWAPAMOVB,#10MULABADDA,R0INCR0MOVB,#10MULABMOVR2,BMOVR3,AMOVA,R0ANLA,#0FHXCHA,R0ANLA,#0F0HSWAPAADDA,R3XCHA,R2ADDCA,#0MOVB,#10MULABXCHA,R2MOVB,#10MULABADDA,R0MOVR3,AMOVA,R2ADDCA,BMOVR2,ARETB1toB2:PUSHACCANLA,#0FHMOVR0,AINCR0POPACCANLA,#0F0HSWAPAMOVR0,AINCR0RETBlackDisplay:MOVA,R0;将高位0消隐JNZExitMOVA,#10HMOVR0,ADECR0DJNZR7,BlackDisplayB4toD4: CLRAMOVR4,AMOVR5,AMOVR6,AMOVR7,AMOVB,#32

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1