动加1,到9后以后循环从0开始发送。
#include<pic.h> __CONFIG(0x3B31);
unsigned char num=0; //发送数据变量
const char seg[10]= {0x3F,0x06,0x5B,0x4F,0x66, //外部中断INT子程序
void interrupt INTISR()
0x6D,0x7D,0x07,0x7F,0x6F};//显示数值笔段码
//延时子程序
void delay(unsigned int ms) 清INT中断标志 {unsigned int i,j;
发送指示灯亮 for(i=ms;i>0;i--)
发送数据+1 for(j=0;j<67;j++) 将发送数据放入 {;}
TXREG中
}
//同时将发送的数//发送初始化子程序
据送PORTD显示 void transinit()
{ TRISB=0x01; //发送按键为输入 delay(100);//延时 TRISC7=1; //RX引脚置为输入 RB1=0;//发送指示灯灭
} TRISC6=0; //TX引脚置为输出
} TRISD=0; //RD端口方向控制寄存器为输出
0 //主程序
{ 调发送初始化子程序 选择波特率9600 RB1=0; // 发送指示灯灭 RCSTA=0b10010000; //高速,8位数据 while(1); // 循环等待 TXSTA=0b00100100; // } }
//接收方串行通信U2
//保证每次接收到完整的数据包
//PIC单片机主频:4MHz,波特率9600bps
//数据格式:8位数据位,无奇偶校验,1位停止位 #include<pic.h> } __CONFIG(0x3B31); //接收初始化子程序 const char seg[10]= void receivinit() {0x3F,0x06,0x5B,0x4F,0x66, { TRISB=0x00; 0x6D,0x7D,0x07,0x7F,0x6F}; TRISC6=0; //
TRISC7=1;// //延时子程序
void delay(unsigned int ms) TRISD=0x00;// {unsigned int i,j; GIE=1; // for(i=ms;i>0;i--) PEIE=1;// for(j=0;j<67;j++) RCIE=1;// {;} SPBRG=25;//波特率9600
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库PIC单片机练习题——复习(9)在线全文阅读。
相关推荐: