找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32单片机模拟触发器和555定时器的功能

[复制链接]
跳转到指定楼层
楼主
仿真带程序 ,811版本


单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bsp-lcd1602.h"
  3. #include "delay.h"
  4. #include "sys.h"
  5. #include "adc.h"

  6. #define SRJK PBout(15)

  7. #define S PAout(3)
  8. #define R PAout(2)
  9. #define SRCLK PCout(9)
  10. #define SRQ PCout(15)
  11. #define SRQ_ PCout(14)

  12. #define J PAout(4)
  13. #define K PAout(0)
  14. #define JKCLK PCout(10)
  15. #define JKQ PCout(13)
  16. #define JKQ_ PCout(12)


  17. #define Rd PAout(15)
  18. #define Vo PAout(14)
  19. #define TD PAout(13)

  20. #define Ne555R PCout(0)
  21. #define Ne555S PCout(1)
  22. #define Ne555Q_ PCout(2)

  23. #define Ne555 PBout(10)

  24. void LED_Init(void);
  25. void KEY_Init(void);
  26. unsigned char KEY_Scanf(void);
  27. void Key_Process(unsigned char key);
  28. void  Adc_Init(void);
  29. unsigned int Get_Adc(unsigned char ch);
  30. void SRJK_Process(void);
  31. void SR_OUT(void);
  32. void JK_OUT(void);
  33. void NE555_Process(void);
  34. char impules = 0;
  35. char NE555 = 0;
  36. int main(void)
  37. {
  38.         delay_init();                     //延时函数初始化         
  39.         LED_Init();
  40.         KEY_Init();
  41.         Adc_Init();        
  42.         
  43.         while(1)
  44.         {        
  45.                 Key_Process(KEY_Scanf());
  46.                 if(impules == 1)
  47.                         SRJK_Process();
  48.                 else
  49.                 {
  50.                         SRJK=1;S=1;R=1;SRCLK=1;SRQ=1;SRQ_=1;J=1;K=1;JKCLK=1;JKQ=1;JKQ_=1;
  51.                 }
  52.                
  53.                 if(NE555)
  54.                         NE555_Process();
  55.                 else
  56.                 {
  57.                         Rd=1;Vo=1;TD=1;Ne555R=1;Ne555S=1;Ne555Q_=1;Ne555=1;
  58.                 }
  59.         }
  60. }
  61. char rd,ne555r,ne555s;
  62. void NE555_Process(void)
  63. {
  64.                 int a,b;
  65.                 float adc1,adc2;
  66.                 char code;
  67.                 //对数据进行编码
  68.                 a=Get_Adc(ADC_Channel_1);
  69.                 adc1=(float)a*(3.3/4096);
  70.                 b=Get_Adc(ADC_Channel_14);
  71.                 adc2=(float)b*(3.3/4096);

  72.                 if(adc1>=2.2 && adc2>=1.1)
  73.                 {
  74.                         code = 1;
  75.                         ne555r = 1;
  76.                         ne555s = 0;
  77.                 }
  78.                 else if(adc1<=2.2 && adc2>=1.1)
  79.                 {
  80.                         ne555r = 0;
  81.                         ne555s = 0;
  82.                 }
  83.                 else if(adc1<=2.2 && adc2<=1.1)
  84.                 {
  85.                         code = 2;
  86.                         ne555r = 0;
  87.                         ne555s = 1;
  88.                 }
  89.                 else if(adc1>=2.2 && adc2<=1.1)
  90.                 {
  91.                         code = 2;
  92.                         ne555r = 1;
  93.                         ne555s = 1;
  94.                 }
  95.         
  96.                 if(rd==0)
  97.                         code = 1;
  98.                 //输出
  99.                 switch(code)
  100.                 {
  101.                         case 1:Vo=1;Ne555Q_=0;TD=0;break;
  102.                         case 2:Vo=0;Ne555Q_=1;TD=1;break;
  103.                         default:break;
  104.                 }
  105.                 if(ne555r)
  106.                         Ne555R = 0;
  107.                 else
  108.                         Ne555R = 1;
  109.                 if(ne555s)
  110.                         Ne555S = 0;
  111.                 else
  112.                         Ne555S = 1;
  113. }
  114. char s,r,srclk=1,srq,srq_;
  115. char j,k,jkclk=1,jkq,jkq_;
  116. void SRJK_Process(void)
  117. {
  118.         SRCLK=0;
  119.         if(srclk==0)
  120.         {        
  121.                 srclk = 1;
  122.                 SR_OUT();
  123.         }
  124.         
  125.         JKCLK=0;
  126.         if(jkclk==0)
  127.         {        
  128.                 jkclk = 1;
  129.                 JK_OUT();
  130.         }
  131. }
  132. char SRSTATE1=0,SRSTATE2=0,SRSTATE3=0,SRSTATE4=0;

  133. void SR_OUT(void)
  134. {
  135.         if(s==0&&r==0&&SRSTATE1==0)
  136.         {
  137.                 SRQ=1;SRQ_=1;
  138.                 SRSTATE1 = 1;
  139.         }
  140.         else if(s==0&&r==0&&SRSTATE1==1)
  141.         {
  142.                 SRQ=0;SRQ_=0;
  143.                 SRSTATE1 = 0;
  144.         }
  145.         
  146.         if(s==1&&r==0&&SRSTATE2==0)
  147.         {
  148.                 SRQ=1;SRQ_=0;
  149.                 SRSTATE2 = 1;
  150.         }
  151.         else if(s==1&&r==0&&SRSTATE2==1)
  152.         {
  153.                 SRQ=0;SRQ_=0;
  154.                 SRSTATE2 = 0;
  155.         }
  156.         
  157.         if(s==0&&r==1&&SRSTATE3==0)
  158.         {
  159.                 SRQ=1;SRQ_=1;
  160.                 SRSTATE3 = 1;
  161.         }
  162.         else if(s==0&&r==1&&SRSTATE3==1)
  163.         {
  164.                 SRQ=0;SRQ_=1;
  165.                 SRSTATE3 = 0;
  166.         }
  167.         
  168.         if(s==1&&r==1&&SRSTATE4==0)
  169.         {
  170.                 SRQ=1;SRQ_=0;
  171.                 SRSTATE4 = 1;
  172.         }
  173.         else if(s==1&&r==1&&SRSTATE4==1)
  174.         {
  175.                 SRQ=0;SRQ_=0;
  176.                 SRSTATE4 = 0;
  177.         }
  178. }
  179. char JKSTATE1=0,JKSTATE2=0,JKSTATE3=0,JKSTATE4=0;
  180. void JK_OUT(void)
  181. {
  182.         if(j==0&&k==0&&JKSTATE1==0)
  183.         {
  184.                 JKQ=1;JKQ_=1;
  185.                 JKSTATE1 = 1;
  186.         }
  187.         else if(j==0&&k==0&&JKSTATE1==1)
  188.         {
  189.                 JKQ=0;JKQ_=0;
  190.                 JKSTATE1 = 0;
  191.         }
  192.         
  193.         if(j==1&&k==0&&JKSTATE2==0)
  194.         {
  195.                 JKQ=1;JKQ_=0;
  196.                 JKSTATE2 = 1;
  197.         }
  198.         else if(j==1&&k==0&&JKSTATE2==1)
  199.         {
  200.                 JKQ=0;JKQ_=0;
  201.                 JKSTATE2 = 0;
  202.         }
  203.         
  204.         if(j==0&&k==1&&JKSTATE3==0)
  205.         {
  206.                 JKQ=1;JKQ_=1;
  207.                 JKSTATE3 = 1;
  208.         }
  209.         else if(j==0&&k==1&&JKSTATE3==1)
  210.         {
  211.                 JKQ=0;JKQ_=1;
  212.                 JKSTATE3 = 0;
  213.         }
  214.         
  215.         if(j==1&&k==1&&JKSTATE4==0)
  216.         {
  217.                 JKQ=1;JKQ_=0;
  218.                 JKSTATE4 = 1;
  219.         }
  220.         else if(j==1&&k==1&&JKSTATE4==1)
  221.         {
  222.                 JKQ=0;JKQ_=1;
  223.                 JKSTATE4 = 0;
  224.         }
  225. }
  226. void Key_Process(unsigned char key)
  227. {
  228.         switch(key)
  229.         {
  230.                 case 1://S
  231.                                         if(s)
  232.                                         {
  233.                                                 s = 0;
  234.                                                 S = 1;
  235.                                         }
  236.                                         else
  237.                                         {
  238.                                                 s = 1;
  239.                                                 S = 0;
  240.                                         }
  241.                                         break;
  242.                 case 2://R
  243.                                         if(r)
  244.                                         {
  245.                                                 r = 0;
  246.                                                 R = 1;
  247.                                         }
  248.                                         else
  249.                                         {
  250.                                                 r = 1;
  251.                                                 R = 0;
  252.                                         }
  253.                                         break;
  254.                 case 3://CLK
  255.                                         if(srclk)
  256.                                         {
  257.                                                 srclk = 0;
  258.                                                 SRCLK = 1;
  259.                                                 delay_ms(500);
  260.                                         }
  261.                                         else
  262.                                         {
  263.                                                 srclk = 1;
  264.                                                 SRCLK = 0;                        
  265.                                         }
  266.                                         break;
  267.                 case 4://J
  268.                                         if(j)
  269.                                         {
  270.                                                 j = 0;
  271.                                                 J = 1;
  272.                                         }
  273.                                         else
  274.                                         {
  275.                                                 j = 1;
  276.                                                 J = 0;
  277.                                         }
  278.                                         break;
  279.                 case 5://K
  280.                                         if(k)
  281.                                         {
  282.                                                 k = 0;
  283.                                                 K = 1;
  284.                                         }
  285.                                         else
  286.                                         {
  287.                                                 k = 1;
  288.                                                 K = 0;
  289.                                         }
  290.                                         break;
  291.                 case 6://CLK
  292.                                         if(jkclk)
  293.                                         {
  294.                                                 jkclk = 0;
  295.                                                 JKCLK = 1;
  296.                                                 delay_ms(500);
  297.                                         }
  298.                                         else
  299.                                         {
  300.                                                 jkclk = 1;
  301.                                                 JKCLK = 0;                        
  302.                                         }
  303.                                         break;
  304.                 case 7://触发
  305.                                         if(impules)
  306.                                         {
  307.                                                 impules = 0;
  308.                                                 SRJK = 1;
  309.                                         }
  310.                                         else
  311.                                         {
  312.                                                 impules = 1;
  313.                                                 SRJK = 0;
  314.                                                 NE555 = 0;
  315.                                                 Ne555 = 1;
  316.                                         }
  317.                                         break;
  318.                 case 8://复位
  319.                                         SRJK=0;S=1;R=1;SRCLK=0;SRQ=1;SRQ_=1;J=1;K=1;JKCLK=0;JKQ=1;JKQ_=1;
  320.                                         s=0,r=0,srclk=1,srq=0,srq_=0;
  321.                                         j=0,k=0,jkclk=1,jkq=0,jkq_=0;
  322.                                         JKSTATE1=0,JKSTATE2=0,JKSTATE3=0,JKSTATE4=0;
  323.                                         SRSTATE1=0,SRSTATE2=0,SRSTATE3=0,SRSTATE4=0;
  324.                                         break;
  325.                 case 9://RD
  326.                                         if(rd)
  327.                                         {
  328.                                                 rd = 0;
  329.                                                 Rd = 1;
  330.                                         }
  331.                                         else
  332.                                         {
  333.                                                 rd = 1;
  334.                                                 Rd = 0;
  335.                                         }
  336.                                         break;
  337.                 case 10://NE555
  338.                                         if(NE555)
  339.                                         {
  340.                                                 NE555 = 0;
  341.                                                 Ne555 = 1;
  342.                                         }
  343.                                         else
  344.                                         {
  345.                                                 NE555 = 1;
  346.                                                 Ne555 = 0;
  347.                                                 impules = 0;
  348.                                                 SRJK = 1;
  349.                                         }
  350.                                         break;
  351.                 case 11://复位
  352.                                         rd = 0;Rd=1;
  353.                                         break;
  354.                 default:break;
  355.         }
  356. }
  357. unsigned char KEY_Scanf(void)
  358. {
  359.         if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0)==0)
  360.         {
  361.                 delay_ms(10);
  362.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0)==0)
  363.                 {
  364.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0)==0);
  365.                         return 1;
  366.                 }
  367.         }
  368.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)==0)
  369.         {
  370.                 delay_ms(10);
  371.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)==0)
  372.                 {
  373.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)==0);
  374.                         return 2;
  375.                 }
  376.         }
  377.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0)
  378.         {
  379.                 delay_ms(10);
  380.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0)
  381.                 {
  382.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)==0);
  383.                         return 3;
  384.                 }
  385.         }
  386.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
  387.         {
  388.                 delay_ms(10);
  389.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
  390.                 {
  391.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0);
  392.                         return 4;
  393.                 }
  394.         }
  395.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)==0)
  396.         {
  397.                 delay_ms(10);
  398.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)==0)
  399.                 {
  400.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)==0);
  401.                         return 5;
  402.                 }
  403.         }
  404.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)==0)
  405.         {
  406.                 delay_ms(10);
  407.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)==0)
  408.                 {
  409.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)==0);
  410.                         return 6;
  411.                 }
  412.         }
  413.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)==0)
  414.         {
  415.                 delay_ms(10);
  416.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)==0)
  417.                 {
  418.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)==0);
  419.                         return 7;
  420.                 }
  421.         }
  422.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)==0)
  423.         {
  424.                 delay_ms(10);
  425.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)==0)
  426.                 {
  427.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)==0);
  428.                         return 8;
  429.                 }
  430.         }
  431.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0)
  432.         {
  433.                 delay_ms(10);
  434.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0)
  435.                 {
  436.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==0);
  437.                         return 9;
  438.                 }
  439.         }
  440.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0)
  441.         {
  442.                 delay_ms(10);
  443.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0)
  444.                 {
  445.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0);
  446.                         return 10;
  447.                 }
  448.         }
  449.         else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)==0)
  450.         {
  451.                 delay_ms(10);
  452.                 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)==0)
  453.                 {
  454.                         while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)==0);
  455.                         return 11;
  456.                 }
  457.         }
  458.         return 0;
  459. }
  460. void KEY_Init(void)
  461. {
  462.         GPIO_InitTypeDef  GPIO_InitStructure;
  463.   
  464.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

  465.   GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
  466.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  467.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;

  468.   GPIO_Init(GPIOB, &GPIO_InitStructure);
  469. }
  470. void LED_Init(void)
  471. {
  472.         GPIO_InitTypeDef  GPIO_InitStructure;
  473.   
  474.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);

  475.   GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_4|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
  476.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  477.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  478.   GPIO_Init(GPIOA, &GPIO_InitStructure);

  479.         GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_4|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
  480.         
  481.         GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
  482.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  483.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  484.   GPIO_Init(GPIOC, &GPIO_InitStructure);

  485.         GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
  486.         
  487.         GPIO_InitStructure.GPIO_Pin =GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_10;
  488.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  489.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  490.   GPIO_Init(GPIOB, &GPIO_InitStructure);
  491.         
  492.         GPIO_SetBits(GPIOB,GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_10);
  493. }

  494. void Adc_Init(void)
  495. {         
  496.          ADC_InitTypeDef ADC_InitStructure;//ADC?????//?????????????????????????,????,?????ADC1_GPIO_Config();??
  497.         GPIO_InitTypeDef GPIO_InitStructure;
  498.           RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_ADC1, ENABLE);        //??ADC1,GPIOC??
  499.            
  500.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //
  501.         //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//?????????????
  502.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;        //????
  503.         GPIO_Init(GPIOA, &GPIO_InitStructure); //???PC4
  504.         

  505.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //
  506.         //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//?????????????
  507.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;        //????
  508.         GPIO_Init(GPIOC, &GPIO_InitStructure); //???PC4
  509.         
  510.   ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC1?ADC2???????
  511.   ADC_InitStructure.ADC_ScanConvMode =        DISABLE; //????
  512.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//ADC?????????
  513.   ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//???????,???????
  514.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//???????
  515.   ADC_InitStructure.ADC_NbrOfChannel = 2;//?????1
  516.   ADC_Init(ADC1, &ADC_InitStructure); //???ADC
  517.         
  518.   ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);
  519.         ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 2, ADC_SampleTime_55Cycles5);
  520.   //ADC1????14,????1,????55.5???
  521. //  ADC_DMACmd(ADC1, ENABLE);//??ADC1??DMA
  522.   ADC_Cmd(ADC1, ENABLE);//??ADC1
  523.         ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE);
  524.   ADC_SoftwareStartConvCmd(ADC1, ENABLE);

  525. }                                 
  526. //获得ADC值
  527. //ch:通道值 0~3
  528. unsigned int Get_Adc(unsigned char ch)   
  529. {
  530.           //设置指定ADC的规则组通道,一个序列,采样时间
  531.         ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );        //ADC1,ADC通道,采样时间为239.5周期                                      
  532.   
  533.         ADC_SoftwareStartConvCmd(ADC1, ENABLE);                //使能指定的ADC1的软件转换启动功能        
  534.          
  535.         while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束

  536.         return ADC_GetConversionValue(ADC1);        //返回最近一次ADC1规则组的转换结果
  537. }
复制代码
本人初学,仅供参考,存在错误和不足之处,请大家回帖多多指教,不胜感激.切勿照搬,文件下载:
Keil代码与Proteus仿真下载:
NE555and触发器仿真.7z (388.45 KB, 下载次数: 9)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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