标题: 怎么好像数码管不听指挥 [打印本页]

作者: qq573547910    时间: 2012-4-23 15:17
标题: 怎么好像数码管不听指挥

/#include //52单片机头文件,一般不要改动,里面包含特殊功能寄存器的定义

#define unchar unsigned char unsigned int i , j ; //波特率为9600。此时单片机上面晶振选用11.0592MHZ //试验方法:将程序烧进单片机。打开串口调试工具,选相应串口号。 //例如在软件里面以16进制发送fe,第一个灯亮。发送a红灯都亮。

void delay(void) { unchar i,j; for(i=0;i<255;i++) for(j=0;j<255;j++) ; }

 //unchar code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92a,所有,0x82,0xf8,0x80,0x90};

 void main()

 { EA=1; //开总中断。

ES=1; //串行口允许中断

SM0=0; //设置串行口工作方式为方式1。

SM0=0,SM1=0为工作方式0.依次类推 SM1=1; REN=1;

//串行口接收允许。

REN=0时,禁止接收。

TMOD=0x20; //定时器1工作方式2.

TH1=0xfd; //相应波特率设初值计算方法。

 初值X=(256-11059200/(12*32*9600))

TL1=0xfd; //9600为你要设置的波特率。11059200为晶振频率。X的值最后要换算成16进制

TR1=1; P2=0x7f; //定时器T1开始工作,TR1=0,T1停止工作

while(1) { //用查询法来实现 while(!RI); //RI=1时表示一帧数据接收完毕,并已经装入接收SBUF中,要求CPU取走数据。

 P0=SBUF; delay();

RI=0; //CPU取走数据后。RI必须用软件来清零才能接收下一帧数据。 } }

[此贴子已经被作者于2012-4-23 15:20:04编辑过]

作者: qq573547910    时间: 2012-4-23 16:44
为什么只能一个一个变化??????




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1