找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1744|回复: 4
打印 上一主题 下一主题
收起左侧

求大神帮我看看仿真结果不对问题出在哪里,万分感谢

[复制链接]
跳转到指定楼层
楼主
仿真结果应该是,显示屏显示的数字频率,和示波器周期算出来的频率差不多误差较小。但是我现在仿真出来以后误差特别大,示波器显示的周期基本就在8.6变化,不管是1hz还是10000hz。程序在附件,或者我贴到下面
电路图


软件.doc

180.5 KB, 下载次数: 4

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:308857 发表于 2018-5-23 10:53 | 只看该作者
#include<reg51.h>/*51单片机头文件*/
#include<absacc.h>
#include<stdio.h>
#define        COM8253        XBYTE[0x0003]
#define COM0        XBYTE[0x0000]
#define COM1        XBYTE[0x0001]
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="Clock Speed:";
uchar code table1[]="range:";
uchar code table2[]=" gap:";
sbit icden=P3^0;
sbit rs=P3^1;/*1602使能icden和写rs*/
sbit set=P2^0;
sbit wei=P2^1;
sbit wei1=P2^7;
sbit wei2=P2^5;        /*set进入扫频频率设置窗口,wei扫频初始频率设置,wei1终值频率窗口*/
sbit add=P2^2;
sbit red=P2^3; /*add数值增加,red数值减少,*/
sbit gap=P2^6;/*步长设置*/
sbit exit=P2^4;/*exit退出设定程序*/
sbit a1=P3^2;
sbit b1=P3^3;
sbit c1=P3^4;/*74151数据选择器,ABC端口*/
uchar num=5,num1=5,num2=5,ad=0,ad1=0,gap1=0;/*num,num1用于设置光标位置,ad,ad1,gap1允许设置初始或终值频率的标示符*/
uchar set1=0,set2=0,set3=0,set4=0,set5=0,set6=0;/*初始频率各位的变量*/
uchar set11=0,set22=0,set33=0,set44=0,set55=0,set66=0;/*终值频率各位的变量*/
uchar sett1=0,sett2=0,sett3=0,sett4=0,sett5=0,sett6=0;/*步长各位的变量*/
unsigned long low,high,n1,n2,n3;/*low、high分别存储初始和终值频率,n2存储实时频率,n3存储步长,n1存放8253初值*/         
int n=0;/*n每中断一次加一,最大值50,即发生50次中断n归0,用于规定扫频间隔时间。*/
unsigned long sw,wan,qian,bai,shi,ge;/*存储从n2分离的各位,用于实时显示频率*/
uchar flag1,flag2,star=1;/*flag1、flag2用于确定使用定时器0还是定时器1。star允许频率产生的标示符*/
unsigned long c,d;
uint a,b,e,f,h;
uchar cs=0,i,z;
void delay(uint z)/*延迟函数*/
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void write_com(uchar com)/*1602写入指令*/
{
        rs=0;
        P1=com;
        delay(5);
        icden=1;
        delay(5);
        icden=0;
}
void write_data(uchar date)/*1602写入数据*/
{
        rs=1;
        P1=date;
        delay(5);
        icden=1;
        delay(5);
        icden=0;
}
void init()/*1602初始化*/
{

        icden=0;
        write_com(0x38);
        write_com(0x0e);
        write_com(0x01);       
}
void display()/*扫频显示界面*/
{
        write_com(0x01);
        write_com(0x80);
        for(num=0;num<12;num++)
        {
                 write_data(table[num]);
                delay(5);
        }               
}
void display1(unsigned long n2)/*扫频频率显示*/
{
        if(star==1)
        {       
       
                sw=n2/100000;
                wan=n2/10000%10;
                qian=n2/1000%10;
                bai=n2/100%10;
                shi=n2/10%10;
                ge=n2%10;
                write_com(0x80+0x40);
                write_data(0x30+sw);
                write_data(0x30+wan);
                write_data(0x30+qian);
                write_data(0x30+bai);
                write_data(0x30+shi);
                write_data(0x30+ge);
        }
}
void setlow(uint set1,set2,set3,set4,set5,set6,set11,set22,set33,set44,set55,set66)/*将键盘输入的数据存入low、high中,确定flag1、flag2值*/
{

        low=set1*100000+set2*10000+set3*1000+set4*100+set5*10+set6;
        high=set11*100000+set22*10000+set33*1000+set44*100+set55*10+set66;
        if(low<5000)
        {flag1=1;}
        else flag1=2;
        if(high<5000)
        {flag2=1;}
        else flag2=2;

}


void keyscan()/*键盘扫描*/
{
        if(set==0)/*进入设置界面*/
        {
                 delay(10);
                if(set==0)
                {
                        write_com(0x01);
                        write_com(0x80);
                        for(num=0;num<6;num++)
                        {
                                write_data(table1[num]);
                        }
                        write_com(0x80+6);
                        write_data(0x30+set1);
                        write_data(0x30+set2);
                        write_data(0x30+set3);
                        write_data(0x30+set4);
                        write_data(0x30+set5);
                        write_data(0x30+set6);
                        write_com(0x80+12);
                        write_data('H');
                        write_data('Z');
                        write_com(0x80+0x40+5);
                        write_data(':');
                        write_com(0x80+0x40+6);
                        write_data(0x30+set11);
                        write_data(0x30+set22);
                        write_data(0x30+set33);
                        write_data(0x30+set44);
                        write_data(0x30+set55);
                        write_data(0x30+set66);
                        write_com(0x80+0x40+12);
                        write_data('H');
                        write_data('Z');
                        num=6;
                        write_com(0x80+6);
                          ad=1;/*ad=1,ad=0,标志只可进行初始频率设置*/
                        ad1=0;
                        gap1=0;
                        star=0;
                        while(!set);               
                }
        }
       
       
        if(gap==0)/*对扫频步长进行设定,初始为20HZ*/
        {
                delay(10);
                if(gap==0)
                {
                        write_com(0x01);
                        write_com(0x80);
                        for(num2=0;num2<6;num2++)
                        {write_data(table2[num2]);}
                        write_com(0x80+6);
                        write_data(0x30+sett1);
                        write_data(0x30+sett2);
                        write_data(0x30+sett3);
                        write_data(0x30+sett4);
                        write_data(0x30+sett5);
                        write_data(0x30+sett6);
                        write_com(0x80+12);
                        write_data('H');
                        write_data('Z');
                        num2=6;
                        write_com(0x80+6);
                        gap1=1;/*选位的同时,gap1置1,只可对步长进行设置*/
                        ad=0;
                        ad1=0;
                        star=0;
                        while(!gap);
                }
        }
       
       
        if(wei==0)/*初始频率进行位选,选择要增加或减少的位置*/
        {
                delay(10);
                if(wei==0)
                {
                        num++;
                        if(num>11)
                        {num=6;}  
                        write_com(0x80+num);
                        ad=1;/*选位的同时,ad置1,只可对初始频率进行设置*/
                        ad1=0;
                        gap1=0;
                        star=0;
                        while(!wei);
                }
        }
       
       
        if(wei1==0)/*终值频率进行位选,选择要增加或减少的数据位*/
        {
                delay(10);
                if(wei1==0)
                {
                        num1++;
                        if(num1>11)
                        {num1=6;}
                        write_com(0x80+0x40+num1);
                        ad1=1;/*选位的同时,ad1置1,只可对终值频率进行设置*/
                        ad=0;
                        gap1=0;
                        star=0;
                        while(!wei1);
                }
        }
       
   if(wei2==0)/*步长进行位选,选择要增加或减少的数据位*/
        {
                delay(10);
                if(wei2==0)
                {
                        num2++;
                        if(num2>11)
                        {num2=6;}  
                        write_com(0x80+num2);
                        gap1=1;/*选位的同时,gap1置1,只可步长进行设置*/
                        ad1=0;
                        ad=0;
                        star=0;
                        while(!wei2);
                }
        }
       
        if(add==0)/*增加数值*/
        {
                delay(10);
                if(add==0)
                {

                        if(ad==1)/*扫频初值增加*/
                        {
                                switch(num)/*由num值来确定设置哪个数据位*/       
                                 {
                                        case 6:
                                                set1++;
                                                 if(set1>9)
                                                 {set1=0;}
                                                 write_com(0x80+num);
                                                 write_data(0x30+set1);
                                                write_com(0x80+num);
                                                break;
                                        case 7:
                                                set2++;
                                                if(set2>9)
                                                 {set2=0;}
                                                 write_com(0x80+num);
                                                 write_data(0x30+set2);
                                                write_com(0x80+num);
                                                break;
                                        case 8:
                                                set3++;
                                                if(set3>9)
                                                {set3=0;}
                                                write_com(0x80+num);
                                                write_data(0x30+set3);
                                                write_com(0x80+num);
                                                break;
                                           case 9:
                                                set4++;
                                                 if(set4>9)
                                                 {set4=0;}
                                                 write_com(0x80+num);
                                                 write_data(0x30+set4);
                                                write_com(0x80+num);
                                                break;
                                        case 10:
                                                set5++;
                                                if(set5>9)
                                                 {set5=0;}
                                                 write_com(0x80+num);
                                                 write_data(0x30+set5);
                                                write_com(0x80+num);
                                                break;
                                        case 11:
                                                set6++;
                                                if(set6>9)
                                                {set6=0;}
                                                write_com(0x80+num);
                                                write_data(0x30+set6);
                                                write_com(0x80+num);
                                                break;
                                }
                        }

                        if(gap1==1)/*步长增加*/
                        {
                                switch(num2)/*由num2来确定增加哪个数据位*/       
                                 {
                                        case 6:
                                                if(sett1==9)
                                                 {sett1=0;}
                                                else sett1++;
                                                 write_com(0x80+num2);
                                                 write_data(0x30+sett1);
                                                write_com(0x80+num2);
                                                break;
                                        case 7:       
                                                if(sett2==9)
                                                 {sett2=0;}
                                                else sett2++;
                                                write_com(0x80+num2);
                                                 write_data(0x30+sett2);
                                                write_com(0x80+num2);
                                                break;
                                        case 8:       
                                                if(sett3==9)
                                                {sett3=0;}
                                                else sett3++;
                                                write_com(0x80+num2);
                                                write_data(0x30+sett3);
                                                write_com(0x80+num2);
                                                break;
                                           case 9:
                                                if(sett4==9)
                                                 {sett4=0;}
                                                else sett4++;
                                                 write_com(0x80+num2);
                                                 write_data(0x30+sett4);
                                                write_com(0x80+num2);
                                                break;
                                        case 10:
                                                if(sett5==9)
                                                 {sett5=0;}
                                                else sett5++;
                                                write_com(0x80+num2);
                                                 write_data(0x30+sett5);
                                                write_com(0x80+num2);
                                                break;
                                        case 11:
                                                 if(sett6==9)
                                                {sett6=0;}
                                                else sett6++;
                                                write_com(0x80+num2);
                                                write_data(0x30+sett6);
                                                write_com(0x80+num2);
                                                break;
                                }
                        }

                        if(ad1==1)/*终值频率增加*/
                        {       
                                switch(num1)/*由num1确定增加的位置*/
                                {
                                        case 6:       
                                                if(set11>=9)
                                                 {set11=0;}
                                                else set11++;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set11);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 7:
                                                if(set22>=9)
                                                {set22=0;}
                                                 else set22++;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set22);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 8:       
                                                if(set33>=9)
                                                {set33=0;}
                                                else set33++;
                                                write_com(0x80+0x40+num1);
                                                write_data(0x30+set33);
                                                write_com(0x80+0x40+num1);
                                                break;
                                           case 9:
                                                if(set44>=9)
                                                 {set44=0;}
                                                else set44++;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set44);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 10:
                                                if(set55>=9)
                                                 {set55=0;}
                                                else set55++;
                                                write_com(0x80+0x40+num1);
                                                 write_data(0x30+set55);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 11:
                                                if(set66>=9)
                                                {set66=0;}
                                                else set66++;
                                                write_com(0x80+0x40+num1);
                                                write_data(0x30+set66);
                                                write_com(0x80+0x40+num1);
                                                break;
                                }
                        }
                        star=0;
                        while(!add);                 
                }
        }

       
       
        if(red==0)/*对数据进行减操作*/
        {
                delay(10);
                if(red==0)
                {
                        if(ad==1)/*初始频率减少*/
                        {
                                switch(num)       
                                 {
                                        case 6:
                                                if(set1==0)
                                                 {set1=9;}
                                                else set1--;
                                                 write_com(0x80+num);
                                                 write_data(0x30+set1);
                                                write_com(0x80+num);
                                                break;
                                        case 7:
                                                if(set2==0)
                                                 {set2=9;}
                                                else set2--;
                                                 write_com(0x80+num);
                                                 write_data(0x30+set2);
                                                write_com(0x80+num);
                                                break;
                                        case 8:
                                                if(set3==0)
                                                {set3=9;}
                                                else set3--;
                                                write_com(0x80+num);
                                                write_data(0x30+set3);
                                                write_com(0x80+num);
                                                break;
                                           case 9:
                                                if(set4==0)
回复

使用道具 举报

板凳
ID:308857 发表于 2018-5-23 10:53 | 只看该作者
{set4=9;}
                                                else set4--;
                                                 write_com(0x80+num);
                                                 write_data(0x30+set4);
                                                write_com(0x80+num);
                                                break;
                                        case 10:
                                                if(set5==0)
                                                 {set5=9;}
                                                set5--;
                                                 write_com(0x80+num);
                                                 write_data(0x30+set5);
                                                write_com(0x80+num);
                                                break;
                                        case 11:
                                                if(set6==0)
                                                {set6=9;}
                                                set6--;
                                                write_com(0x80+num);
                                                write_data(0x30+set6);
                                                write_com(0x80+num);
                                                break;
                                }
                        }
       
                        if(gap1==1)/*步长减少*/
                        {
                                switch(num2)       
                                 {
                                        case 6:
                                                if(sett1==0)
                                                 {sett1=9;}
                                                else sett1--;
                                                 write_com(0x80+num2);
                                                 write_data(0x30+sett1);
                                                write_com(0x80+num2);
                                                break;
                                        case 7:
                                                if(sett2==0)
                                                 {sett2=9;}
                                                else sett2--;
                                                 write_com(0x80+num2);
                                                 write_data(0x30+sett2);
                                                write_com(0x080+num2);
                                                break;
                                        case 8:
                                                if(sett3==0)
                                                {sett3=9;}
                                                else sett3--;
                                                write_com(0x80+num2);
                                                write_data(0x30+sett3);
                                                write_com(0x80+num2);
                                                break;
                                           case 9:
                                                if(sett4==0)
                                                 {sett4=9;}
                                                else sett4--;
                                                 write_com(0x80+num2);
                                                 write_data(0x30+sett4);
                                                write_com(0x80+num2);
                                                break;
                                        case 10:
                                                if(sett5==0)
                                                 {sett5=9;}
                                                else sett5--;
                                                 write_com(0x80+num2);
                                                 write_data(0x30+sett5);
                                                write_com(0x80+num2);
                                                break;
                                        case 11:
                                                if(sett6==0)
                                                {sett6=9;}
                                                else sett6--;
                                                write_com(0x80+num2);
                                                write_data(0x30+sett6);
                                                write_com(0x80+num2);
                                                break;
                                }
                        }

                        if(ad1==1)/*终值减少*/
                        {
                                switch(num1)       
                                 {
                                        case 6:
                                                if(set11==0)
                                                 {set11=9;}
                                                else set11--;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set11);
                                                write_com(0x80+0x40+num);
                                                break;
                                        case 7:
                                                if(set22==0)
                                                 {set22=9;}
                                                else set22--;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set22);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 8:
                                                if(set33==0)
                                                {set33=9;}
                                                else set33--;
                                                write_com(0x80+0x40+num1);
                                                write_data(0x30+set33);
                                                write_com(0x80+0x40+num1);
                                                break;
                                           case 9:
                                                if(set44==0)
                                                 {set44=9;}
                                                else set44--;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set44);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 10:
                                                if(set55==0)
                                                 {set55=9;}
                                                else set55--;
                                                 write_com(0x80+0x40+num1);
                                                 write_data(0x30+set55);
                                                write_com(0x80+0x40+num1);
                                                break;
                                        case 11:
                                                if(set66==0)
                                                {set66=9;}
                                                else set66--;
                                                write_com(0x80+0x40+num1);
                                                write_data(0x30+set66);
                                                write_com(0x80+0x40+num1);
                                                break;
                                }
                        }
                        star=0;
                        while(!red);                 
                }
        }
          
       
       
        if(exit==0)/*退出设定频率系统,将star置1,允许方波产生*/
        {
                delay(10);
                if(exit==0)
                {
               
                        ad=0;
                        ad1=0;
                        gap1=0;
                        star=1;
                        display();
                        while(!exit);
                }
        }


}
void chuzhi()
{

        a=0x0000;
        b=0x0000;
        cs=0;h=0;e=0;

        while(c>0)
        {
               
                d=c;
                switch(cs)
                {
                        case 0:
                                 f=d%16;
                                 a=a+f;
                                 c=c/16;
                                h=a;
                                break;
                        case 1:
                                f=d%16;
                                b=b+f;
                                for(i=cs;i>0;i--)
                                {b=b<<4;}
                                c=c/16;
                                h=b|h;
                                b=0;
                                break;                               
                        case 2:
                        case 3:
                                f=d%16;
                                b=b+f;
                                for(i=cs-2;i>0;i--)
                                {b=b<<4;}
                                c=c/16;
                                e=b|e;
                                b=0;
                                break;                               
                }
                cs++;
        }
}
void produce()/*扫频产生程序*/
{
                n3=sett1*100000+sett2*10000+sett3*1000+sett4*100+sett5*10+sett6;
                        if(flag1==1&flag2==1)/*使用定时器0*/
                        {                                                                                               
                                a1=0;b1=0;c1=0;
                                n2=low;
                                while(n2<high)
                                {
                                        n1=50000/n2;
                                        c=n1;
                                        chuzhi();
                                        COM0=h;
                                        COM0=e;
                                        ET0=1;
                                        TR0=1;
                                        display1(n2);
                                        while(n<50)
                                        {
                                                keyscan();
                                        }
                                        n=0;
                                        ET0=0;
                                        TR0=0;
                                        n2=n2+n3;
                                        if(star==0)
                                        break;
                                }
                                                       
                                n2=high;
                                while(n2>low)
                                {
                                        n1=50000/n2;       
                                        c=n1;
                                        chuzhi();
                                        COM0=h;
                                        COM0=e;
                                        ET0=1;
                                        TR0=1;
                                        display1(n2);
                                        while(n<50)
                                        {
                                                keyscan();
                                        }
                                        n=0;
                                        ET0=0;
                                        TR0=0;
                                        n2=n2-n3;
                                        if(star==0)
                                        break;
                                }
                               
                       
                        }

                  
                        if(flag1==2&flag2==2)/*使用定时器1*/
                        {                                                                                               
                                a1=1;b1=0;c1=0;
                                n2=low;                                                                                  
                                while(n2<high)
                                {
                                        n1=1000000/n2;
                                        c=n1;
                                        chuzhi();
                                        COM1=h;
                                        COM1=e;
                                        ET0=1;
                                        TR0=1;
                                        display1(n2);
                                        while(n<50)
                                        {
                                                keyscan();
                                        }
                                        n=0;
                                        ET0=0;
                                        TR0=0;
                                        n2=n2+n3;
                                        if(star==0)
                                        break;
                                }
               
                               
                                n2=high;
                                while(n2>low)
                                {
                                        n1=1000000/n2;
                                        c=n1;
                                        chuzhi();
                                        COM1=h;
                                        COM1=e;
                                        ET0=1;
                                        TR0=1;
                                        display1(n2);
                                        while(n<50)
                                        {
                                                keyscan();
                                        }
                                        n=0;
                                        ET0=0;
                                        TR0=0;
                                        n2=n2-n3;
                                        if(star==0)
                                        break;
                                }
                                               
                        }
                       
       
                                if(flag1==1&flag2==2)/*先使用定时器0,再使用定时器1*/
                                {                                                                                               
                                        a1=0;b1=0;c1=0;
                                        n2=low;                                                                                  
                                        while(n2<5000)
                                        {
                                                n1=50000/n2;
                                                c=n1;
                                                chuzhi();
                                                COM0=h;
                                                COM0=e;
                                                ET0=1;
                                                TR0=1;
                                                display1(n2);
                                                while(n<50)
                                                {
                                                        keyscan();
                                                }
                                                n=0;
                                                ET0=0;
                                                TR0=0;
                                                n2=n2+n3;       
                                                if(star==0)
                                                break;
                                        }
                                                       
                                                       
                                        a1=1;b1=0;c1=0;
                                        while(n2<high)
                                        {
                                                n1=1000000/n2;
                                                c=n1;
                                                chuzhi();
                                                COM1=h;
                                                COM1=e;
                                                ET0=1;
                                                TR0=1;
                                                display1(n2);
                                                while(n<50)
                                                {
                                                        keyscan();
                                                }
                                                n=0;
                                                ET0=0;
                                                TR0=0;
                                                n2=n2+n3;
                                                if(star==0)
                                                break;
                                        }                       
                       
                       
                                        n2=high;
                                        while(n2>low)
                                        {
                                                n1=1000000/n2;
                                                c=n1;
                                                chuzhi();
                                                COM1=h;
                                                COM1=e;
                                                ET0=1;
                                                TR0=1;
                                                display1(n2);
                                                while(n<50)
                                                {keyscan();}
                                                n=0;
                                                ET0=0;
                                                TR0=0;
                                                n2=n2-n3;
                                                if(star==0)
                                                break;
                                        }
                                                       
                                        a1=0;b1=0;c1=0;
                                        while(n2>low)
                                        {
                                                n1=50000/n2;
                                                c=n1;
                                                chuzhi();
                                                COM0=h;
                                                COM0=e;
                                                ET0=1;
                                                TR0=1;
                                                display1(n2);
                                                while(n<50)
                                                {keyscan();}
                               
                                                n=0;
                                                ET0=0;
                                                TR0=0;
                                                n2=n2-n3;
                                                if(star==0)
                                                break;
                                        }
                                }               
}

void main()
{

        COM8253=0x36;/*8253初始化,选择定时器0,工作方式3,二进制*/
        COM8253=0x76;/*选择定时器1,工作方式3,二进制*/
        init();/*1602初始化*/
        display();/*频率显示界面*/
        TMOD=0x01;/*定时器0工作方式1*/
        TH0=(65536-50000)/256;/*定时器0初值装入*/
        TL0=(65536-50000)%256;
        EA=1;/*开总中断*/
        ET0=0;/*允许定时器0中断*/
        TR0=0;/*允许定时器计数*/

        a1=0;b1=0;c1=0;
        while(1)
        {
                keyscan();
                setlow(set1,set2,set3,set4,set5,set6,set11,set22,set33,set44,set55,set66);
                if(star==1)
                {       
                produce();
                   }
        }
}


void T0_time() interrupt 1/*使定时器中断0*/
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        n++;
}
回复

使用道具 举报

地板
ID:308857 发表于 2018-5-23 11:13 | 只看该作者
电路图

电路图.png (96.8 KB, 下载次数: 34)

电路图

电路图
回复

使用道具 举报

5#
ID:308857 发表于 2018-5-23 13:05 | 只看该作者
求大佬指点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表