|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
PIC单片机通讯例程(1)---双机异步通讯 |
作者:BLACKHILL 栏目:单片机 |
应各位的要求,本人拟在放假之前,将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 于 2003/1/24 14:36:00 发布:
很好 |
3楼: | >>参与讨论 |
作者: win 于 2003/1/27 8:38:00 发布:
而且有注释 |
4楼: | >>参与讨论 |
作者: tigeryong 于 2003/1/28 13:46:00 发布:
有没有C的,本人现在对C情有独钟 |
5楼: | >>参与讨论 |
作者: goof 于 2003/2/8 9:46:00 发布:
电路图可以给一份吗? gooftrue@163.com |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |