电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

PIC单片机通用同步异步通信的应用VIP免费

PIC单片机通用同步异步通信的应用_第1页
1/11
PIC单片机通用同步异步通信的应用_第2页
2/11
PIC单片机通用同步异步通信的应用_第3页
3/11
第 8 章 通 用 同 步 / 异 步 通 信 的 应 用8.5 单 片 机 双 机 异 步 通 信1 单 片 机 PIC1 编 程 ( 发 送 部 分 )#include /* 该程序实现单片机双机异步通信功能,该程序是发送部分*/unsigned char tran[8] ;/* 定义一个数组存储发送数据*/unsigned char k ,data ;/* 定义通用寄存器*/const chartable[20]={0xc0 ,0xf9 ,0xa4,0xb0,0x99,0x92,0x82,0XD8 ,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f ,0xbf ,0x89,0xff};/* 不带小数点的显示段码表*//*spi显示初始化子程序*/voidSPIINIT(){PIR1=0;SSPCON=0x30 ;SSPSTAT=0xC0 ;/* 设置SPI 的控制方式,允许SSP 方式,并且时钟下降沿发送,与"74HC595 ,当其*SCLK从低到高跳变时,串行输入寄存器" 的特点相对应*/TRISC=0xD7 ;/*SDO 引脚为输出,SCK引脚为输出*/TRISA5=0 ;/*RA5 引脚设置为输出,以输出显示锁存信号*/}/* 给数组赋初值子程序 */voidfuzhi(){for(k=0;k<8 ;k++){tran[k]=k+3 ;}}/*SCI 部件初始化子程序*/voidsciint(){SPBRG=0X19;/* 将传输的波特率设为约9 600 位/ 秒*/TXSTA=0X04 ;/* 选择异步高速方式传输8 位数据*/RCSTA=0X80 ;/* 允许同步串行口工作*/TRISC6=1 ;TRISC7=1 ;/* 将RC6 、RC7 设置为输入方式,对外部呈高阻状态*/}/*SPI传输数据子程序*/void SPILED(data){SSPBUF=data ;/* 启动发送*/do{ ;}while(SSPIF==0) ;SSPIF=0 ;}/* 显示子程序,显示8 位数*/voiddisplay(){RA5=0;/* 准备锁存*/for(k=0;k<8 ;k++){data=tran[k];data=table[data] ;/* 查得显示的段码*/SPILED(data) ;/* 发送显示段码*/}RA5=1;/* 最后给一个锁存信号,代表显示任务完成*/ }/* 主程序*/main(){SPIINIT();fuzhi() ;/* 给数组赋初值*/sciint() ;/*SCI 部件初始化*/di() ;/* 中断禁止*/TXEN=1 ;/* 发送允许*/CREN=1 ;/* 接收数据允许*/ for(k=0;k<8 ;k++){TXREG=tran[k] ;/* 发出一个字符*/ while(1){if(TXIF==1) break ;}/* 等待写入完成*/while(1){if(RCIF==1)break;/* 若收到响应字节,则终止等待*/}RCREG=RCREG;/* 读响应字节,清RCIF*/ }display() ;/* 显示发送的数据*/while(1){;}}2 单 片 机 PIC2 编 程 ( 接 收 部 分 )#include /* 该程序实现单片机双机异步...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

PIC单片机通用同步异步通信的应用

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部