基于MCS51的两片单片机之间的串行通信接口设计

发布时间 : 星期一 文章基于MCS51的两片单片机之间的串行通信接口设计更新完毕开始阅读

基于MCS51的两片单片机之间的串行通信接口设计

谢辞

光阴似箭, 日月如棱。 三年的时间, 在我漫长的人生旅途中显得那么短暂,到了该告别的时候了,一念至此,竟有些恍惚。如果把大学生活看作一场场循环的演出,那么我只是一个安静的演员。这篇毕业论文也将是这种循环演出即将告一段落时的谢幕词。但是,这短短的三年是最真诚的青春,是最纯真的岁月,是最美丽的大学生活?? 我的自学能力在这里得提升,我感谢所有的恩师:是您们赋予我最有意义的收获;给我一个全新的角度去发现美、创造美、欣赏美,给我美的眼睛去发现世界的美,感悟生活的美;教会我珍惜友谊和时间;给了我看世界的眼睛,是你们用博大的胸怀,给予我们最无私的关怀和奉献。

27

基于MCS51的两片单片机之间的串行通信接口设计 附录

串口通信子程序: #include void main (void) {

SCON=0x50; TH1=0xFD; TR1=1;

EA=1;//打开总中断 ES=1;//打开串口中断

while(1) //主循环不做任何动作 { } }

void UART_SER(void)interrupt 4 //串行中断服务程序 {

unsigned char Temp;//定义临时变量 if(RI) //判断是接收中断产生 {

RI=0; //标志位清零

Temp=SBUF; //读入缓冲区的值 P1=Temp; //把值输出到P1口 SBUF=Temp; }

if(TI) //如果是发送标志位,清零 TI=0; }

28

基于MCS51的两片单片机之间的串行通信接口设计

发光二极管子程序: #include

void Delay1ms(unsigned int count) {

unsigned int i,j; for(i=0;i

unsigned char LEDIndex=0; bit LEDDirection=1; while(1) {

if(LEDDirection) P2=(0x01<

P2=(0x80>>LEDIndex); if(LEDIndex==7)

LEDDirection=!LEDDirection; LEDIndex=(LEDIndex+1)%8; Delay1ms(500); } }

显示子程序: #include #include\sbit K1=P3^7; unsigned

29

基于MCS51的两片单片机之间的串行通信接口设计

char Table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char AA=0; unsigned char i=0; unsigned char temp1;

void delay1(unsigned int delay_time); void UART_init(void); void DS18B20_dis(); void display() {

P0=dis[tmp&0x0f]; P2=0x7f;

delayms(10); P0=dis[tmp/16];

A机程序: #include #include\

sbit K1=P3^7; //字符串发送按钮 unsigned

char Table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char AA=0; unsigned char i=0; unsigned char temp1;

void delay1(unsigned int delay_time);//延时 void UART_init(void);//初始化异步传输时隙 void DS18B20_dis(); void main() //主程序 {

UART_init(); //初始化异步收发器 init_1602();

30

联系合同范文客服:xxxxx#qq.com(#替换为@)