pic单片机应用开发典型模块_第二章程序

pic单片机应用开发典型模块_第二章程序

ID:797584

大小:136.53 KB

页数:19页

时间:2017-09-05

pic单片机应用开发典型模块_第二章程序_第1页
pic单片机应用开发典型模块_第二章程序_第2页
pic单片机应用开发典型模块_第二章程序_第3页
pic单片机应用开发典型模块_第二章程序_第4页
pic单片机应用开发典型模块_第二章程序_第5页
资源描述:

《pic单片机应用开发典型模块_第二章程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、(1)查询方式的键盘程序程序清单(设I/O口为P1口)如下:START:MOVA,#OFFH;置输入方式MOVP1,AMOVA,P1;键状态输入JNBACC0,FP0;0号键按下转JNBACC1,FP1;1号键按下转JNBACC2,FP2;2号键按下转JNBACC3,FP3;3号键按下转JNBACC4,FP4;4号键按下转JNBACC5,FP5;5号键按下转JNBACC6,FP6;6号键按下转JNBACC7,FP7;7号键按下转SJMPSTART;无键按下返回FP0:LJMPPROM0;FP1:

2、LJMPPROM1;……FP7:LJMPPROM7;入口地址表PRMO0:………………;0号键功能程序………………LJMPSTART;0号键执行完返回PRMO1:………………………………LJMPSTART……PRMO7:………………………………LJMPSTART;-------------------------------------------;功能:对PIC16F877的C端口八位输入进行扫描,;然后将其输入通过D口的八位输出来显示。;---------------------------

3、---------------STATUSEQU03H;定义状态寄存器地址PORTCEQU07H;定义端口C的数据寄存器地址PORTDEQU08H;定义端口D的数据寄存器地址TRISCEQU87H;定义端口C的方向寄存器TRISDEQU88H;定义端口D的方向寄存器RP1EQU06H;定义状态寄存器中的页选位RP1RP0EQU05H;定义状态寄存器中的页选位RP0ZEQU02H;定义状态寄存器中的0标志位ZDATA1EQU20H;定义外循环变量DATA2EQU21H;定义内循环变量TEMPEQU

4、22H;定义临时变量存储端口D的输入COUNT1EQU07FH;定义存储外循环次数的变量COUNT2EQU0FFH;定义存储内循环次数的变量;-------------------------------------------------ORG00H;初始定位GOTOMAIN;MAIN;-----------------初始化--------------------------BCFSTATUS,RP1;转到BANK1BSFSTATUS,RP0;MOVLW00H;将端口D的方向控制字先送到WM

5、OVWFTRISD;然后再转送到端口D的方向寄存器MOVLW0FFH;将端口C的方向控制字先送到WMOVWFTRISC;然后再转送到端口C的方向寄存器BCFSTATUS,RP0;转到BANK0;---------------第一次查询端口D的状态-------------CHECK1MOVFTRISD,0;将端口D的状态先送到WMOVWFTEMP;再将端口D的状态暂存到TEMPCALLDELAY;调用延时程序DELAY1,延时100msCHECK2MOVFTRISD,0;将端口D的状态先送到WS

6、UBWFTEMP,0;将端口D的状态与第一次读取的值相减BTFSSSTATUS,Z;测试状态寄存器值,如果是0,则两次的值不相等GOTOWAIT;转到等待100ms,在进行下一次测试;GOTOOUTPUT;如果是1,则两次的值相等,转到输出部分WAITCALLDELAY;延时100msGOTOCHECK1;转到CHECK1进行下一次扫描OUTPUTMOVFTEMP,0;将扫描到的端口D的数据存到W中MOVWFPORTC;将端口D的数据输出到端口CGOTOCHECK1;转到CHECK1进行下一次扫

7、描;***************************延时子程序****************************************DELAYMOVLWCOUNT1;设置外部循环的次数MOVWFDATA1;LOOP1MOVLWCOUNT2;设置内部循环的次数MOVWFDATA2;LOOP2DECFSZDATA2,1;内部循环变量自减1,为0则跳转GOTOLOOP2;DECFSZDATA1,1;外部循环变量自减1,为0则跳转GOTOLOOP1;RETURN;延时子程序返回;****

8、***********************延时子程序结束*************************************END;源程序结束(2)LED显示程序#include#include“mydefine.h”#includestaticintflag,flag0,flag1,flag3,led_d;staticintdata,data0,data_1,data_2,sdata;//=================子程序========

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。