登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

PIC单片机通讯例程(1)---双机异步通讯

作者:BLACKHILL 栏目:单片机
PIC单片机通讯例程(1)---双机异步通讯
应各位的要求,本人拟在放假之前,将PIC单片机通讯的有关例程贴出,希望诸位捧场,之后我就要回家过春节了,祝各位新春愉快!!!

1. 单片机PIC1编程(发送部分)
LIST P=16F877
#INCLUDE    P16F876.INC
CBLOCK  0X24            ;保留三个字节作为显示用
   COUNT                ;作计数器或暂存器用
ENDC
        ORG        0X0000            ;程序复位入口
        NOP
START    GOTO    MAIN
        ORG        0X20
MAIN    MOVLW    0X30                ;以下将RAM内容初始化
        MOVWF    FSR                ;从30H单元开始
        MOVLW    0X30                ;将值30H赋给单元30H
        MOVWF    COUNT
INTRAM    MOVF    COUNT,0        ;将30H~7FH赋给单元30H~7FH
        MOVWF    INDF        
        INCF        COUNT,1
        INCF        FSR,1
        BTFSS    COUNT,7
        GOTO    INTRAM
        BSF        STATUS,RP0        ;将SCI部件初始化
        MOVLW    0X19                ;将传输的波特率设为约9600 bps
        MOVWF    SPBRG
        MOVLW    0X04                ;选择异步高速方式传输8位数据
        MOVWF    TXSTA
        BCF        STATUS,RP0
        MOVLW    0X80                ;允许同步串行口工作
        MOVWF    RCSTA
        BSF        STATUS,RP0
        BSF        TRISC,7            ;将RC6、RC7设置为输入方式,断绝与外接电路的连接
        BSF        TRISC,6
        BCF        STATUS,RP0
        MOVLW    0X30                ;30H作为同步字符发送
        MOVWF    FSR
        MOVF    INDF,0
        MOVWF    TXREG            ;将待发送的数据写入发送缓冲器TXREG
        BSF        STATUS,RP0
        BSF        TXSTA,TXEN        ;发送允许
        BCF        STATUS,RP0
        BSF        RCSTA,CREN        ;接收数据允许
LOOPTX    BTFSS    PIR1,RCIF        ;等待PIC2的响应字节
        GOTO    LOOPTX
        MOVF    RCREG,0        ;读响应字节,清RCIF
LOOPTX1        BTFSS    PIR1,TXIF    ;发送下一字节
        GOTO    LOOPTX1
INCF        FSR
        MOVF    INDF,0
        MOVWF    TXREG
        BTFSS    FSR,7            ;30H~7FH单元的内容是否发送完?
        GOTO    LOOPTX            ;没有,继续下一字节的发送
        BSF        STATUS,RP0        ;如果是,则停止发送
        BCF        TXSTA,TXEN
        BCF        STATUS,RP0        ;数据发送完毕
        CALL    LED                ;调用显示子程序,将发送的数据显示出来
        END                        ;程序完
2. 单片机PIC2编程(接收部分)
LIST        P=16F876
#INCLUDE     P16F876.INC
CBLOCK 0X24
    COUNT    
ENDC
        ORG    0X0000
        NOP
START    GOTO    MAIN    
MAIN    BSF    STATUS,RP0            ;初始化程序同发送子程序
        MOVLW    0X1
2楼: >>参与讨论
wyhfly
很好
 
3楼: >>参与讨论
win
而且有注释
 
4楼: >>参与讨论
tigeryong
有没有C的,本人现在对C情有独钟
 
5楼: >>参与讨论
goof
电路图可以给一份吗?
gooftrue@163.com

参与讨论
昵称:
讨论内容:
 
 
相关帖子
PIC 运算子程序(1)
PIC 运算子程序(2)
急问
关于PHILIPS单片的一点问题!
哪位好心人告诉我16F84最低价钱?多谢了!
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号