📄 main.c
字号:
#include <reg52.h>
typedef unsigned int uint;
typedef unsigned char byte;
struct user_list_class
{
uint ID;
uint x_zb;
uint y_zb;
uint z_zb;
byte zt_and_bak;
} xdata user_list[3000] _at_ 0x0000;
//user_list_class xdata user_list[200] _at_ 0x0000;
//char xdata test_data[0x7fff] _at_ 0x0000;
char xdata bbb _at_ 0x1010;
void delay(uint times)
{
uint a=times;
for(;a>0;a--);
}
void send_date(char d)
{
SBUF=d;
while(TI==0);
TI=0;
}
void main()
{
char xdata *addr;
uint j,i=0x0000;
AUXR|=0X03; /*使用外部ram*/
SCON=0X50; /*串口模式1,允许接收 */
TMOD=0X20; /*初始化T1为定时,选择模式2,M1=1,M0=0,自动装入8位定时器 */
PCON=0X80; /*设置SMOD=1,倍增器为1 */
TL1=0Xfb; /*设定计数器1初值*/
TH1=0Xfb; /*设定计数器1重装值 11.0592Mhz 比特率为 9600*/
TR1=1; /*启动定时器 */
bbb=0xcd;
addr=0x1010;
for(j=0;j<3000;j++)
{
user_list[j].ID=j;
}
for(j=0;j<3000;j++)
{
if(j<1500) continue;
send_date((byte)(user_list[j].ID>>8));
send_date((byte)user_list[j].ID);
send_date(0xbb);
// send_date(j>>8);
// send_date(j);
// send_date(0xbb);
// addr=j*9;
// send_date(*addr); //直接寻址方式取数
// send_date(*(addr+1));
// delay(100);
}
/*
for(j=0;j<0x7fff;j=j+2)
{
test_data[j]=j>>8;
test_data[j+1]=j;
}
for(;i<0x7fff;i+=2)
{
addr=i;
P1=*(addr);
send_date(P1);
i++;
addr=i;
P3=*(addr);
send_date(P3);
delay(50000);
}
*/
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -