取模软件(上位机)与光立方通信程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/*版权所有,翻版必究!!

题目:上位机与单片机通信

功能:锁存器、三极管控制口,上位机送数据给单片机,显示任意图案作者:肖锦鹏

日期:2013年9月11 */

#include

#define uchar unsigned char

#define uint unsigned int

uchar x,y,face,a,b;

uchar i=0;

uchar shuzu[8][8];

//

//uchar shuzu[8][8]={

//0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

//0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

//0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

//0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,

//0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,

//0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

//0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

//0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,

//

// }; //显示固定图案,数组可任意改动

//

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=10;y>0;y--);

}

void init()

{

TMOD=0x22;

TH1=0XFf; //波特率设置,波特率为57600

TL1=0XFf;

TH0=0x00;

TL0=0x00;

TR1=1;

TR0=1;

SCON=0X50;

PCON|=0x80;

EA=1;

ES=1;

ET0=1;

PS=1; //让串口中断优先,设置优先级高些

}

void main()

{

b=0;

init();

while(1)

{

}

}

void rxd() interrupt 4

{

uchar temp=0;

RI=0;

++b;

if(b>=2) //上位机中发数据的时候,前面一个不变的地址码,

//要去掉,故到2的时候才存数据

{

temp=SBUF;

shuzu[x][y]=temp;//把数据存到数组中

x++;

if(x>=8) //一列一列存

{

x=0;

y++;

if(y>=8)

y=0;

}

}

if(b>=65) //到65,64个数据接收完毕

b=0;

}

void timer0_isr(void) interrupt 1 //把数组取出来,送给锁存器、三极管基极{

for (i=0;i<7;i++)

{

P2|=(0x01<

P0=~(shuzu[face][i]);//573数据输入端

P2&=~(0x01<

//delay(20);

}

P3=0X03;

// P3=~(0x01<

face++;

else

face=0;

}

相关文档
最新文档