- 10
- 0
- 约9.74千字
- 约 17页
- 2016-06-11 发布于重庆
- 举报
PIC实验指导书
实验一 演示实验与MPLAB IDE使用
一、实验目的
通过I2C通信演示实验,学习MALABIDE编译器安装与使用,初步掌握调试与烧录PIC16FXXX单片机程序的方法。
学习Prouteus仿真软件安装与使用,以便学生在缺少实验坏境的前提,通过一台电脑自行学习PIC单片机编程与调试。
二、实验内容
PIC单片机以主模式I2C向CAT24WC02存储器任意单元写一字节数据,然后读出验证。
三、实验电路
四、实验参考程序
;******************************************************************************
LIST P=16F877A
INCLUDE P16F877A.INC
#define SCL PORTC,6 ; I2C SCL pin
#define SDA PORTC,7 ; I2C SDA pin
;**********************************************************
;*主程序开始
;**********************************************************
COUNT EQU 20H ;
ADDR EQU 21H ;数据地址寄存器
TEMP EQU 24H ;数据寄存器
COUNTER1 EQU 26H ;发送一字节数据寄存器
COUNTER2 EQU 27H ;接收一字节数据寄存器
;**********************************************************
ORG 000H
NOP
GOTO MAIN
MAIN NOP
BCF STATUS,RP1
BSF STATUS,RP0 ;选择体1
CLRF TRISD ;设置PORTD全部输出以便驱动LED显示
MOVLW ;设置RC6 输出方式、RC7输出方式
MOVWF TRISC
MOVLW 0FFH
MOVWF TRISB ;设置PORTB全部输入以便驱动LED显示
BCF OPTION_REG, NOT_RBPU ;使能PORTB弱上拉电阻功能
BCF STATUS,RP0 ;选中体0
;**********************************************************
FC
_FD BTFSS PORTC,0
GOTO _FD
_FE BTFSC PORTC,0
GOTO _FE
CALL DELAY ;延时
MOVF PORTB,W
MOVWF COUNTER1
MOVLW 01H ;一字节数据单元地址
CALL WRONEBYTE ;写一个字节
CALL DELAY ;延时
MOVLW ;一字节数据单元地址
CALL RDONEBYTE ;读一个字节
MOVF TEMP,W
MOVWF COUNTER2
MOVWF PORTD
CALL DELAY;延时
GOTO FC
;**********************************************************
;向24LC02读出一个字节数据的子程序
;**********************************************************
RDONEBYTE NOP
BANKSEL ADDR
MOVWF ADDR
原创力文档

文档评论(0)