收藏 分销(赏)

利用PIC单片机IO口模拟IIC协议小程序.doc

上传人:pc****0 文档编号:5975751 上传时间:2024-11-24 格式:DOC 页数:6 大小:38KB 下载积分:10 金币
下载 相关 举报
利用PIC单片机IO口模拟IIC协议小程序.doc_第1页
第1页 / 共6页
利用PIC单片机IO口模拟IIC协议小程序.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
#INCLUDE<P12F509.INC> __CONFIG _OSC_IntRC&_WDT_OFF&_MCLRE_OFF&_CP_ON #DEFINE LED2 GPIO,2 #DEFINE LED4 GPIO,4 #DEFINE KEY GPIO,5 #DEFINE SCL GPIO,1 #DEFINE SDA GPIO,0 KTM EQU 08H KM EQU 0AH MODE EQU 0BH KO EQU 0CH KEYDQ EQU 0DH IIC_TEMP EQU 0EH IIC_C EQU 0FH T EQU 10H ORG 000H GOTO MAIN ;============================================ MAIN CLRF GPIO MOVLW 20H TRIS GPIO MOVLW 05H OPTION;TIMER064分频,内部弱上拉 CLRF GPIO CLRF STATUS CLRF KTM CLRF KM CLRF KEYDQ CLRF KO CALL INIT_IIC ;---------------------------------------------- READONEBIT;读一个字节 MOVLW 20H TRIS GPIO CALL START MOVLW 0A0H CALL WRITE_IIC MOVLW 00H CALL WRITE_IIC CALL START MOVLW 0A1H CALL WRITE_IIC CALL READ_IIC MOVLW 04H SUBWF MODE,0 BTFSC STATUS,C CLRF MODE GOTO MLOOP ;----------------------------------------------------------------- MLOOP CLRF TMR0 INCF KTM,1 TABLE_MODE MOVF MODE,0 ADDWF PCL,1 GOTO MODE0 GOTO MODE1 GOTO MODE2 GOTO MODE3 MODE0 BCF LED2 BCF LED4 GOTO MLDS MODE1 BSF LED2 BCF LED4 GOTO MLDS MODE2 BCF LED2 BSF LED4 GOTO MLDS MODE3 BSF LED2 BSF LED4 GOTO MLDS ;--------------/////////////////////////////////以下按键检测 MLDS BTFSC KEY GOTO TAIQI GOTO ANXIA TAIQI INCF KM,1 CLRF KO MOVLW 04H SUBWF KM,0 BTFSS STATUS,C GOTO MLDTS BSF KEYDQ,1 CLRF KM GOTO MODE_TEST ANXIA INCF KO,1 CLRF KM MODE_TEST BTFSS KEYDQ,1 GOTO MLDTS MOVLW 0AH SUBWF KO,0;kO是否大于10,按下消抖时间是否达到50MS BTFSS STATUS,C GOTO MLDTS INCF MODE,1 CLRF KTM MOVLW 04H SUBWF MODE,0 BTFSC STATUS,C CLRF MODE WT ;写一个字节 CALL START MOVLW 0A0H CALL WRITE_IIC MOVLW 00H CALL WRITE_IIC MOVF MODE,0 CALL WRITE_IIC CALL STOP CLRF KO BCF KEYDQ,1;防止一直按下,键值发生变化。按键一次清一次键值。 GOTO MLDTS MLDTS MOVLW 4EH;一周时间为 5MS SUBWF TMR0,0 BTFSS STATUS,C GOTO $-3 BCF STATUS,5 GOTO MLOOP ;======================================================================================================;---------------------------IIc子程序------------------------------------------ DELAY MOVLW 06H MOVWF T DECFSZ T,1 GOTO $-1 RETURN ;--------------------------------- INIT_IIC BSF SCL CALL DELAY BSF SDA CALL DELAY RETURN ;--------------------------------- START BSF SDA CALL DELAY BSF SCL CALL DELAY BCF SDA CALL DELAY BCF SCL CALL DELAY RETURN ;--------------------------------- STOP BCF SDA CALL DELAY BSF SCL CALL DELAY BSF SDA RETURN ;--------------------------------- WRITE_IIC MOVWF IIC_TEMP MOVLW 08H MOVWF IIC_C TEMP BCF SDA RLF IIC_TEMP,1 BTFSC STATUS,C BSF SDA CALL DELAY BSF SCL CALL DELAY BCF SCL CALL DELAY DECFSZ IIC_C,1 GOTO TEMP GETACK BCF SDA MOVLW 21H TRIS GPIO BTFSC SDA GOTO $-1 CALL DELAY BSF SCL CALL DELAY BCF SCL MOVLW 20H TRIS GPIO CALL DELAY RETURN ;----------------------------------- READ_IIC MOVLW 08H MOVWF IIC_C MOVLW 21H TRIS GPIO RDTEMP BCF STATUS,C BTFSC SDA BSF STATUS,C RLF IIC_TEMP,1 CALL DELAY BSF SCL CALL DELAY BCF SCL CALL DELAY DECFSZ IIC_C,1 GOTO RDTEMP MASTERACK MOVLW 20H TRIS GPIO BCF SCL CALL DELAY BSF SDA CALL DELAY CALL STOP MOVF IIC_TEMP,0 MOVWF MODE RETURN ;------------------------------------------------ END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服