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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验报告2.docx

1、实验报告2实验报告 PIC单片机原理、开发方法及实践 云南大学滇池学院 理工学院 电子信息工程系 陈一凡 20112121006PIC的实验程序 基于MAPLAB的程序设计一实验目的简述: 学会用汇编语言控制单片机完成预定的算法,实现对内部各模块的功能,掌握好其指令系统,实现对内部弄块的控制和I/O操作。基于MPLAB IDE,对PIC系列单片机进行源程序文档的创建、编辑和汇编,以至实现目标程序的模拟运行。二实验要求:1.一个16位加法程序,实现X+Y,结果存result;2.将20H单元的高低四位分别转换为ASCII码,存储在LED1和LED2单元;3.将20H单元的8bit二进制数转换为三

2、位BCD码存储在B1,B2,B3单元;三实验原理简述:应用PIC单片机指令集中的绝大部分指令如:数据传送操作、加减法操作、逻辑操作、移位操作等等都是能够在单个指令周期中完成的特定操作,而这些单一的指令就是实现复杂的计算和控制任务的基本。将若干条指令按照一定的规则和要求排列组合在一起,就构成了可以控制的复杂的,能实现一定功能的程序。四实验步骤:1.针对问题一:一个16位加法程序,实现X+Y,结果存result;实验思路:将x,y分别存放在目标寄存器中,对x,y进行加法运算,并注意其进位位。实验程序: LIST P=16F877A INCLUDE P16F877A.INCx EQU 0x20y E

3、QU 0x22z EQU 0x24TEST NOP;空操作 GOTO START;汇编开始 ORG 004h;汇编起始点为004h;START CLRF z;将z清零; CLRF z+1;将z+1清零; CLRF z+2;将z+2清零; MOVLW 0F0H;将立即数0F0H送到w; MOVWF x;将W的内容传送至x; MOVLW 0F0H;将立即数0F0H送到w; MOVWF x+1;将W的内容传送至x+1; MOVLW 11H;将立即数11H送到w; MOVWF y;将W的内容传送至y; MOVLW 11H;将立即数11H送到w; MOVWF y+1;将W的内容传送至y+1; MOVF

4、x,W;将x的内容送到目标寄存器; ADDWF y,W;w和y相加; BTFSC STATUS,C;检测STATUS中的进位位,为0则跳过; INCF z+1,F;z+1递增1; MOVWF z;将W的内容传送至z; MOVF x+1,W;将x+1的内容送到目标寄存器; ADDWF y+1,W;w和y+1相加; BTFSC STATUS,C;检测STATUS中的进位位,为0则跳过; INCF z+2,F;z+2递增1; ADDWF z+1,F;F和Z+1相加 BTFSC STATUS,C;检测STATUS中的进位位,为0则跳过; INCF z+2,F;z+2递增1; END;程序结束;程序分析

5、:见注释五实验操作:1.新建一个工程:project-new-命名工程-保存到工作目录2.编写源文件并保存到工作目录下3.加在原文件到工程中4.程序环境设置(1)选择器件(2)调试环境位设置5.编译工具的选择6.编译源文件实验结果如图所示:程序执行过程:执行第一条程序时:逐条执行程序时:STATUS寄存器中的变量将x和y进行相加运算时的寄存器变量检测标志寄存器时最终执行结果最终实现x和y的相加;2.针对问题二:将20H单元的高低四位分别转换为ASCII码,存储在LED1和LED2单元;实验思路:实验程序: LIST P=16F877A INCLUDE P16F877A.INCled1 EQU

6、0x21led2 EQU 0x22x EQU 0x23y EQU 0x24 TEST NOP;空操作 GOTO START;汇编开始 ORG 004h;汇编起点为004HSTART MOVLW 23H;将立即数23h传送到w; MOVWF 20H;将w的内容传送到20h; MOVLW 20H;将立即数20h传送到w; MOVWF FSR;将w的内容传送到FSR; MOVLW 0FH;将立即数0fh传送到w; MOVWF x;将w的内容传送到X; MOVF INDF,W;将INDF的内容传送到目标寄存器中; ANDWF x,F;w和x做逻辑与运算; MOVLW 30H;将立即数30h传送到w;

7、ADDWF x,W;w和x的内容相加; MOVWF led1;将w的内容传送到LED1; MOVLW 0FH;将w的内容传送到20h; MOVWF x;将w的内容传送到x; MOVF INDF,W;将INDF的内容传送到目标寄存器中; MOVWF y;将w的内容传送到y; RRF y,F;对Y进行带进位的右移; RRF y,F;对Y进行带进位的右移; RRF y,F;对Y进行带进位的右移; RRF y,W;对Y进行带进位的右移; ANDWF x,F;w和x做逻辑与运算; MOVLW 30H;将立即数30h传送到w; ADDWF x,W;w和x的内容相加; MOVWF led2;将w的内容传送到

8、led2; End;程序结束 程序分析:见注释五实验操作:1.新建一个工程:project-new-命名工程-保存到工作目录2.编写源文件并保存到工作目录下3加在原文件到工程中4.程序环境设置(1)选择器件(2)调试环境位设置5.编译工具的选择6.编译源文件实验结果如图所示:实验操作步骤:1.程序执行前目标寄存器变量:3.最终实现高低四位分别转换为ASCII码:4.针对问题三:将20H单元的8bit二进制数转换为三位BCD码存储在B1,B2,B3单元;实验思路:把二进制数减100,减10得到BCD码实验程序: list p=16f877a includeP16f877a.incA EQU 0X

9、20B1 EQU 0X30B2 EQU 0X31B3 EQU 0X32 ORG 0X00 NOP GOTO STARTSTART MOVLW 0E5H;把E5H送给W寄存器 MOVWF A;把W寄存器的值送到A CLRF B1;清空B1 CLRF B2;清空B2 CLRF B3;清空B3BAI MOVLW 64H;把64H(十进制的100)送给W寄存器 SUBWF A,F;把A中的数值减去100还送回A INCF B1;把B1加1 BTFSC STATUS,C;检测STATUS寄存器中的进位位C GOTO BAI;没有借位继续循环 MOVLW 64H ADDWF A,F DECF B1SHI

10、MOVLW 0AH;把0AH(十进制的10)送给W寄存器 SUBWF A,F; 把A中的数值减去10还送回A INCF B2;把B2加1 BTFSC STATUS,C; 检测STATUS寄存器中的进位位C GOTO SHI; 没有借位继续循环 MOVLW 0AH; ADDWF A,F; DECF B2; MOVF A,W;把A中剩下的数送到W寄存器 MOVWF B3;把W寄存器中的数据送到B3 END程序分析:见注释五实验操作:.新建一个工程:project-new-命名工程-保存到工作目录.编写源文件并保存到工作目录下.加在原文件到工程中.程序环境设置()选择器件()调试环境位设置.编译工具的选择.编译源文件.调试实验结果如图所示:1.汇编开始时寄存器变量:2.百位转换完之后3.十位转换完之后4.程序执行的最终结果 最终实现将20H中的数据转换成BCD码分别存储在B1,B2,B3中六实验总结:对单片机的学习要注重实践,操作。

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

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