欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    微机原理与接口技术单片机软件报告.docx

    • 资源ID:12681210       资源大小:153.02KB        全文页数:10页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理与接口技术单片机软件报告.docx

    .实验报告课程名称:_微机原理与接口技术_指导老师:_成绩:_实验名称:_ 单片机软件实验 _一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得装 订 线实验一、内存操作一、 实验目的a) 掌握数据传送指令;b) 掌握各种数据传送指令的寻址方式;c) 熟练运用keil 环境对汇编程序进行调试;d) 掌握数据传送、复制等程序的设计与调试方法。二、 实验内容基础型实验内容1、 下列程序的功能是给外部RAM800080FFH的256个单元的内容赋值,赋值的内容取决于程序中A的赋值。在Keil环境运行该程序,并观察寄存器及内存单元的变化2、 下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块,在Keil环境运行如下程序,观察寄存器及存储单元的变化。设计型实验内容1、 在keil环境修改内部RAM 30H 3FH的内容分别为#00H-#0FH,设计程序实现将内部RAM30H-3FH到40H-4FH的数据块拷贝。2、 在keil环境修改内部RAM 30H 3FH的内容分别为#00H-#0FH,设计程序实现将片内30H3FH单元的内容复制到片外1030H103FH中。3、 在keil环境修改内部RAM 30H 3FH的内容分别为#00H-#0FH,设计程序实现将内部RAM30H 3FH内容逆序拷贝到外部数据XRAM:0000H 000FH中。使用单步、断点方式调试程序,查看特殊功能寄存器、内部数据RAM、外部数据空间的变化。三、 实验设备计算机一台四、 实验代码基础型1、ORG 0000HSTART EQU 8000HMAIN: MOV DPTR, #START ;起始地址 MOV R0,#0 ;设置256字节计数值 MOV A,#1HLoop: MOVX DPTR,A INC DPTR ;指向下一个地址 DJNZ R0,Loop ;计数值减一 NOP SJMP $ END2、ORG 0000H MOV DPTR,#3000H MOV A,#01H MOV R5,#0 ;设置256字节计数值LOOP: MOVX DPTR,A INC DPTR DJNZ R5,LOOP MOV R0,#30H MOV R1,#00H MOV R2,#40H MOV R3,#00H MOV R7,#0LOOP1: MOV DPH,R0 MOV DPL,R1 ;外部地址 MOVX A,DPTR MOV DPH,R2 MOV DPL,R3 MOVX DPTR,A INC R1 INC R3 DJNZ R7,LOOP1 SJMP $ END设计型1、ORG 0000HMAIN:MOVR2,#10H ;循环次数赋值MOV A,#00HMOVR1,#30HLOOP1:MOVR1,AINC R1INC ADJNZ R2,LOOP1 ;计数值减1MOV R2,#10H ;循环次数重新赋值MOVR1,#30HMOV R0,#40H ;赋值完成LOOP2:MOV A,R1MOVR0,AINC R1INC R0DJNZR2,LOOP2 ;拷贝完成LJMP 1000HEND2、ORG 1000HMAIN:MOV R2,#10H ;循环次数赋值MOV A,#00HMOV R1,#30HLOOP3:MOV R1,AINC R1INC ADJNZ R2,LOOP3 ;计数值减1MOV R2,#10H ;循环次数重新赋值MOV DPTR,#1030HMOV R1,#30H ;赋值完成LOOP4:MOV A,R1MOVX DPTR,AINC R1INC DPTRDJNZ R2,LOOP4 ;拷贝完成LJMP 2000HEND3、ORG 2000HMAIN:MOV R2,#10H ;循环次数赋值MOV A,#00HMOV R1,#30HLOOP5:MOV R1,A INC R1INC ADJNZ R2,LOOP5 ;计数值减1MOV R2,#10H ;循环次数重新赋值MOV R1,#3FHMOV DPTR,#0000HCLR C LOOP6:MOV A,R1MOVX DPTR,ADEC R1 ;减一,实现逆序INC DPTRDJNZ R2,LOOP6SJMP $END五、 实验结果基础型1、2、X:3000HX:4000H设计型1、2、3、六、 讨论心得这次实验主要熟悉了keil环境的使用,简单练习了循环语句、赋值语句、对外部存储器的读取与赋值等,比较基础,主要积累经验。开始认识到代码规范、注释的重要性,以后注意。实验二、数制与代码转换一、 实验目的a) 了解微机系统中的数制与代码表示方法;b) 掌握计算机中使用的各种代码转换方法;c) 掌握实现分支、循环的指令及其程序的编写方法;二、 实验内容基础型实验内容1、 以下程序完成单字节的ASCII码到十六进制数转换,完成空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。2、 以下程序完成单字节的BCD码到十六进制数转换,,在Keil环境运行程序,观察寄存器及内存单元的变化。3、 以下程序将单字节十六进制数A的值转换为十进制数,存放在30H32H中,完成空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。设计型实验内容1、 设一串字母的ASCII存于30H起始的单元中,设计程序判断字母是否为大写字母,是则将大写字母的ASCII字符转换成小写字母的ASCII字符,为小写则不转换。2、 将单字节十六进制数D8H转换为十进制数,存放在30H33H中。,3、 设计程序,将十六进制数614EH转换成ASCII码,使用单步、断点方式调试程序,查看结果。三、 实验设备计算机一台四、 实验代码基础型1、RESULT EQU 30HORG 0000HMOV A,#41H;“A”的ASCII码CLR CSUBB A, #37H ; 转换为十六进制 AMOV RESULT,A LJMP 1000HEND2、RESULT EQU 30H ORG 1000H MOV A,#23HMOV R0,AANL A,#0F0HSWAP A MOV B,#0AH MUL AB MOV RESULT,A ;转换高位 MOV A,R0 MOV B,#0FHANL A,BADD A,RESULT MOV RESULT,A ; 转换低位 LJMP 2000HEND3、RESULT EQU 30H ORG 2000H MOV A,#7BH MOV B,#64H DIV AB MOV RESULT,A ;除以100得百位数 MOV A,B MOV B,#0AH DIV AB MOV RESULT+1,A ;除以10得十位数 MOV RESULT+2,B ;余数为个位数 SJMP $END设计型1、ORG 0000HMOV R0,#30HMOV 30H,#41HMOV 31H,#42HMOV 32H,#43HMOV 33H,#61HMOV 34H,#62HMOV 35H,#63HL0:CJNE R0,#0,SUB1LJMP 1000HSUB1: ACALL HASC1INC R0LJMP L0ORG 0200H;子程序:将大写字母ASCII码转换为小写字母ASCII码HASC1: CJNE R0,#41H,L1 ;与A的ASCII码比较MOV R0,#61HRETL1: JC L2CJNE R0,#56H,L3 ;与Z的ASCII码比较MOV R0,#75HRETL2:RETL3:JC L4RETL4:MOV A,R0 ;A与Z之间则转换为小写ADD A,#20HMOV R0,ARETEND2、RESULT EQU 30H ORG 1000H MOV A,#0D8H MOV B,#64H DIV AB MOV RESULT+1,A ;除以100得百位数 MOV A,B MOV B,#0AH DIV AB MOV RESULT+2,A ;除以10得十位数 MOV RESULT+3,B ;余数为个位数 LJMP 2000HEND3、 ORG 2000HMOV 30H,#61HMOV 31H,#4EHMOV R1,#40HMOV R0,#30HMOV R2,#2L5:MOV A,R0MOV B,#0F0HANL A,BSWAP AACALL HASC2INC R1MOV A,R0MOV B,#0FHANL A,BACALL HASC2;调用子程序:将十六进制数转换为ASCII码INC R1INC R0DJNZ R2,L5SJMP $HASC2: CJNE A,#0AH,L6 ;与A的十六进制数比较MOV R1,#41HRETL6:JC L7ADD A,#37H ;09的数字加#37HMOV R1,ARETL7: ADD A,#30H ;AF的数字加#30HMOV R1,ARETEND五、 实验结果基础型1、ASCII码41H为十六进制数0AH3、 BCD码为23H的十六进制数为17H3、十六进制数7BH转换为十进制数为123设计型1、给30H及之后的地址赋值ABCabc的ASCII码将大写字母转换为小写字母2、将单字节十六进制数 D8H 转换为十进制数,存放在 30H33H 中3、十六进制数 614EH存放在30H、31H,转换后的ASCII码在40H到43H六、 讨论心得这次实验学习的内容主要是十六进制数、十进制BCD码、ASCII码之间的转换,以及子程序的书写与调用。对于判断是否为十六进制数、大小写字母,主要使用CJNE然后根据C的大小来判断比给定数大还是小,对于判断是否在一个区间需要使用两个CJNE来进行。;10

    注意事项

    本文(微机原理与接口技术单片机软件报告.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开