本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
单片机扩展片外RAM,用到的芯片有373,62256这里包涵了测试与串口调试等程序,可以用于扩展调试与串口通讯调试等- #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);
- }
复制代码 |