找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3961|回复: 2
收起左侧

单片机电动自行车控制系统

[复制链接]
ID:125225 发表于 2016-6-5 13:26 | 显示全部楼层 |阅读模式
单片机电动自行车控制系统

  1. 单片机控制的电动自行车驱动系统
  2. 14.4.4  各部分程序
  3. LIST P=16F876
  4. #INCLUDE P16F876.INC
  5. ;以下采用块定义的方法定义单片机内部寄存器
  6. CBLOCK 0X20 ;自
  7. 定义寄存器从0X20开始
  8. FLAG1 ;
  9. FLAG1作为标志寄存器
  10. VOLTAGEH ;电池电压高位寄
  11. 存器
  12. VOLTAGEL ;电池电压低位寄
  13. 存器
  14. TSH
  15. ;手柄电压高位寄存器
  16. TSL
  17. ;手柄电压低位寄存器
  18. STATE1 ;霍
  19. 尔信号采样暂存器1
  20. STATE2 ;霍
  21. 尔信号采样暂存器2
  22. STATE3 ;霍尔信号采样暂
  23. 存器3
  24. DELAY ;延
  25. 时计数器
  26. COUNT_VOL ;低电压采样次数
  27. 计数器
  28. ACCaLO   ;
  29. ACCa~ACCd为运算用的寄存器
  30. ACCaHI  
  31. ACCbLO  
  32. ACCbHI  
  33. ACCcLO  
  34. ACCcHI  
  35. ACCdLO  
  36. ACCdHI  
  37. TEMP  ;临
  38. 时寄存器
  39. TEMP1  ;临
  40. 时寄存器(中断用)
  41. SIGN  ;符
  42. 号寄存器
  43. COUNT  ;临
  44. 时寄存器
  45. W_STACK ;中
  46. 断时用于暂存W寄存器值
  47. ST_STACK ;中
  48. 断时用于暂存STATUS寄存器值
  49. ENDC
  50. ;***********标志寄存器位定义以及程序中常数定义***********
  51. CONSTANT VOLTAGE=0 ;采电池电压标志位
  52. CONSTANT PWM=1 ;输出下一次PWM信号标志位
  53. CONSTANT LOWPOWER=2 ;低电压标志位
  54. CONSTANT SHUTDOWN=3 ;刹车标志位
  55. CONSTANT OFF=4 ;复位标志位
  56. CONSTANT AND=0XE0 ;AND用于获取有效霍尔信号
  57. CONSTANT FULLPWM=0XFF ;当PWM输出全高时,输入CCPR1L中的值
  58. CONSTANT VOLOFFH=0X02 ;当电池电压低于24AH时, 低压保护2.86
  59. V/31.5 V
  60. CONSTANT VOLOFFL=0X4A
  61. CONSTANT VOLONH=0X02 ;当电池电压大于266H时,允许电机重开
  62. 3V/33V
  63. CONSTANT VOLONL=0X66
  64. CONSTANT TSONH=0X01 ;刹车后手柄复位值低于133H,则允许电
  65. 机重新启动
  66. CONSTANT TSONL=0X33
  67. ;***复位矢量入口(单片机复位时,PC指针指向程序存储器0X0000单元)***
  68. ORG 0X0000
  69. START GOTO MAIN ;复位后程序进入主程序
  70. ;***中断矢量入口程序(PIC单片机的中断矢量入口为0X0004)***
  71. ORG 0X0004 ;中
  72. 断矢量入口
  73. BTFSC INTCON,RBIF ;是否为RB口电平
  74. 变化中断?
  75. GOTO SAMPLERB ;是,进入RB口电平变化中断
  76. 服务程序
  77. BTFSC PIR1,ADIF ;是否为AD采样中断
  78. GOTO AD ;
  79. 是,进入AD中断服务程序
  80. BTFSC INTCON,INTF ;是否为刹车中断
  81. GOTO BRAKE ;是,刹车中断处
  82. 理
  83. RETFIE ;如
  84. 都不是,则中断返回
  85. ;************逆变桥输出控制表*************
  86. ;逆变桥输出控制表,其输出对应6种状态,霍尔信号来自B口RB7、RB6、RB5,C口输出低电
  87. 平有
  88. ;效,其中RC1,RC2不作为触发电路输出口,故表中使其为高电平
  89. ORG 0X0020 ;表程序从0X0020单元开始存
  90. 放(也可以不从这开始)
  91. OUT_TABLE
  92. ADDWF PCL,1
  93. RETLW 0X0AF ;如霍尔信号为
  94. 0、0、0,则使RC4、RC6为低电平
  95. RETLW 0X0BE ;如霍尔信号为
  96. 0、0、1,则使RC0、RC6为低电平
  97. RETLW 0X0FF ;没有为0、1、0
  98. 的霍尔信号对应电机状态
  99. RETLW 0X07E ;如霍尔信号为
  100. 0、1、1,则使RC0、RC7为低电平
  101. RETLW 0X0CF ;如霍尔信号为
  102. 1、0、0,则使RC4、RC5为低电平
  103. RETLW 0X0FF ;没有为1、0、1
  104. 的霍尔信号对应电机状态
  105. RETLW 0X0D7 ;如霍尔信号为
  106. 1、1、0则使RC3、RC5为低电平
  107. RETLW 0X077 ;如霍尔信号为
  108. 1、1、1则使RC3、RC7为低电平
  109. ;***************主程序*****************
  110. ORG 0X0100 ;主
  111. 程序从0X0100单元开始存储
  112. MAIN
  113. MOVLW 0X0FF ;由于C口上电复
  114. 位值不确定,必须先关闭所有MOS管
  115. MOVWF PORTC
  116. BSF STATUS,RP0 ;选
  117. 择存储体1
  118. MOVLW 0X02 ;设
  119. 置RC1为输入口,其它为输出口,其中RC2为PWM   
  120. MOVWF TRISC ;输出口,其它位
  121. 为触发信号输出
  122. BCF STATUS,RP0 ;选
  123. 择存储体0
  124. CLRF PIR1 ;清
  125. 所有中断标志位
  126. CLRF INTCON ;禁止所有中断
  127. MOVLW 0X01 ;设
  128. 置TMR2预分频值为4
  129. MOVWF T2CON
  130. MOVLW FULLPWM ;初始化PWM工作循环寄存
  131. 器,使PWM占空比为1
  132. MOVWF CCPR1L ;输出电压为零
  133. MOVLW 0XFF ;设
  134. 置CCP1工作于PWM方式
  135. MOVWF CCP1CON
  136. MOVLW 0X0B ;
  137. CCP2工作于特殊事件触发方式,用作AD采样周期寄存 MOVWF
  138. CCP2CON ;器
  139. MOVLW 0X081 ;选择AD转换时钟
  140. 为32分频,选择AN0通道,并使AD
  141. MOVWF ADCON0 ;转换允许
  142. CLRF TMR2 ;TMR2计数器清零
  143. CLRF TMR1H ;TMR1计数器清零
  144. CLRF TMR1L
  145. CLRF T1CON ;TMR1预分频为
  146. 1,关闭振荡器,工作于定时工作方式
  147. MOVLW 0X08 ;初
  148. 始化AD采样周期寄存器,T=512 μs
  149. MOVWF CCPR2H
  150. MOVLW 0X00
  151. MOVWF CCPR2L
  152. BSF STATUS,RP0 ;选
  153. 择存储体1
  154. MOVLW 0XEF ;RB
  155. 口高3位用于采样霍尔信号,RB0为刹车中断,设置为
  156. MOVWF TRISB ;输入,其它未用
  157. MOVLW 0XC7 ;初
  158. 始化PWM频率为5 kHz
  159. MOVWF PR2
  160. MOVLW 0X082 ;AD采样结果右
  161. 移,RA口引脚均为模拟输入
  162. MOVWF ADCON1
  163. BSF OPTION_REG,INTEDG  ;选择INT在下降沿产生中断
  164. BCF STATUS,RP0
  165. CALL SAMPLE ;确定当前转子位
  166. 置
  167. CALL OUTPUT ;根据采得的状态
  168. 值触发相应的MOSFET
  169. MOVLW 0X0D8 ;开总中断、外围
  170. 中断、INT中断和RB口电平变化中断允
  171. MOVWF INTCON ;许
  172. BCF PIE2,CCP2IE ;CCP2中断禁止
  173. BSF PIE1,ADIE ;打开AD采样中断
  174. CLRF FLAG1 ;清标志位寄存器
  175. CLRF COUNT_VOL ;清电池电压采样计数器
  176. BSF T1CON,TMR1ON ;开CCP2,对手柄
  177. 进行等间隔采样
  178. BSF T2CON,TMR2ON ;开CCP1
  179. RETEST BTFSS FLAG1,PWM ;TS采样完毕?
  180. GOTO NEXT1 ;没有,转NEXT1
  181. CALL OUT_PWM ;TS采样完毕,送出相应的
  182. PWM信号
  183. BCF FLAG1,PWM ;清PWM允许标志
  184. NEXT1 BTFSS FLAG1,LOWPOWER;电压采样完毕?
  185. GOTO NEXT2 ;没有转NEXT2
  186. CALL POWER ;是,调用电压保
  187. 护子程序处理数据
  188. BTFSC FLAG1,OFF ;是否需要复位?
  189. GOTO MAIN ;是,单片机复位
  190. NEXT2 BTFSS FLAG1,SHUTDOWN;刹车中断到来?
  191. GOTO RETEST ;否,回转RETEST
  192. CALL BRAKEON ;是,调用刹车处
  193. 理子程序
  194. CLRWDT
  195. BTFSC FLAG1,OFF ;OFF=0?
  196. GOTO MAIN ;否,单片机复位
  197. GOTO RETEST ;是,回转RETEST
  198. ;***************刹车处理子程序******************
  199. BRAKEON BCF FLAG1,OFF ;清复位标志
  200. BCF FLAG1,SHUTDOWN;是,清相应标志位
  201. BTFSS PORTB,0 ;INT引脚仍为1?
  202. RETURN ;
  203. 否,中断是由干扰引起的,返回
  204. BSF STATUS,RP0
  205. BCF PIE1,ADIE ;禁止AD采样中断
  206. BCF STATUS,RP0
  207. BCF INTCON,INTE ;关
  208. RB0中断
  209. MOVLW FULLPWM ;PWM输出全高
  210. MOVWF CCPR1L
  211. BCF T1CON,TMR1ON ;关闭手柄采样
  212. BREAK2 BTFSC ADCON0,GO ;正在进行AD采样?
  213. GOTO BREAK2 ;是,等待AD采样
  214. 完毕
  215. BCF ADCON0,CHS0
  216. BCF ADCON0,CHS1 ;选择0采样通
  217. 道,准备采样手柄电压
  218. BCF PIR1,ADIF ;清AD采样中断标
  219. 志位
  220. MOVLW 0X06 ;延
  221. 时
  222. MOVWF COUNT
  223. BREAK3 DECFSZ COUNT
  224. GOTO BREAK3
  225. BREAK5 BSF ADCON0,GO ;采样TS值
  226. BREAK4 BTFSS PIR1,ADIF ;采样完毕?
  227. GOTO BREAK4
  228. BCF PIR1,ADIF
  229. BCF STATUS,C
  230. MOVF ADRESH,0 ;当前TS值送被减数
  231. MOVWF ACCbHI
  232. BSF STATUS,RP0
  233. MOVF ADRESL,0
  234. BCF STATUS,RP0
  235. MOVWF ACCbLO
  236. MOVLW TSONH ;1.5 V所对应的
  237. 采样值送减数
  238. MOVWF ACCaHI
  239. MOVLW TSONL
  240. MOVWF ACCaLO
  241. CALL D_sub ;当前TS值减1.5V
  242. MOVLW FULLPWM
  243. MOVWF CCPR1L
  244. CLRWDT
  245. BTFSS ACCbHI,7 ;当前电压值大于1.5V?
  246. GOTO BREAK5 ;是,重新采样
  247. BTFSC PORTB,0
  248. GOTO BREAK5
  249. BSF FLAG1,OFF ;否,置相应的标
  250. 志位
  251. RETURN ;返
  252. 回
  253. ;***************开环PWM输出子程序****************
  254. OUT_PWM BCF FLAG1,PWM ;清相应的标志位
  255. MOVF TSH,0 ;将调速手柄采样
  256. 值送至被加数
  257. MOVWF ACCaHI
  258. MOVF TSL,0
  259. MOVWF ACCaLO
  260. MOVLW 0XFF ;
  261. FF1F补码为0XE1,即1.1 V
  262. MOVWF ACCbHI
  263. MOVLW 0X1F
  264. MOVWF ACCbLO
  265. CALL D_add
  266. BTFSS ACCbHI,7 ;TS>1.1V?
  267. GOTO PWM1 ;是,转PWM1
  268. MOVLW FULLPWM ;否则输出全高
  269. MOVWF CCPR1L
  270. RETURN
  271. PWM1 MOVLW 0XFD ;0X27B=3.1V
  272. MOVWF ACCbHI
  273. MOVLW 0X85
  274. MOVWF ACCbLO
  275. CALL D_add
  276. BTFSC ACCbHI,7 ;TS>3.1V?
  277. GOTO PWM3
  278. PWM2 CLRF CCPR1L
  279. BCF CCP1CON,4
  280. BCF CCP1CON,5
  281. RETURN
  282. PWM3 MOVLW 0X0FF ;1.1 V对应的采样值补码送
  283. 加数
  284. MOVWF ACCbHI
  285. MOVLW 0X1F
  286. MOVWF ACCbLO
  287. CALL D_add ;TS-1.1V
  288. CLRF ACCaHI ;系数K=56=38H送
  289. 乘数
  290. MOVLW 0X3F
  291. MOVWF ACCaLO
  292. CALL D_mpy ;得到放大128倍
  293. 的低电平时间K*(TS-1.1V)
  294. MOVF ACCcHI,0 ;将结果取出
  295. MOVWF ACCaHI
  296. MOVF ACCcLO,0
  297. MOVWF ACCaLO
  298. MOVLW 0X64 ;PWM
  299. 周期T减去低电平时间,得到高电平时间
  300. MOVWF ACCbHI
  301. CLRF ACCbLO
  302. CALL D_sub
  303. BTFSC ACCbHI,7 ;低电平时间是否大于周期?
  304. GOTO PWM2 ;是,输出全压
  305. RLF ACCbLO ;否
  306. 则,输出与低电平时间对应的高电平时间
  307. RLF ACCbHI
  308. MOVF ACCbHI,0 ;D10~D2位送CCPR1L
  309. MOVWF CCPR1L
  310. BCF CCP1CON,5 ;D0位送CCP1CON5
  311. BTFSC ACCbLO,7
  312. BSF CCP1CON,5
  313. BCF CCP1CON,4 ;D.1位送
  314. CCP1CON4
  315. BTFSC ACCbLO,6
  316. BSF CCP1CON,4
  317. RETURN ;返
  318. 回
  319. ;****************刹车中断服务程序***************
  320. BRAKE CALL PUSH ;保存现场
  321. BCF STATUS,RP0 ;回
  322. 存储区0
  323. BSF FLAG1,SHUTDOWN;置相应标志位
  324. BCF INTCON,INTF ;清
  325. 中断标志位
  326. CALL POP ;恢
  327. 复现场
  328. RETFIE ;中
  329. 断返回
  330. ;***************低电压保护处理子程序*****************
  331. POWER BCF FLAG1,LOWPOWER;清相应的标志位
  332. MOVF VOLTAGEH,0
  333. MOVWF ACCaHI
  334. MOVF VOLTAGEL,0
  335. MOVWF ACCaLO
  336. MOVLW VOLOFFH
  337. MOVWF ACCbHI
  338. MOVLW VOLOFFL
  339. MOVWF ACCbLO
  340. CALL D_sub
  341. BTFSC ACCbLO,7 ;判断当前电池电压值是否低
  342. 于保护电压(32V)
  343. RETURN ;不
  344. 是,返回
  345. BCF INTCON,INTE
  346. BCF T1CON,TMR1ON ;关闭电流采样
  347. MOVLW FULLPWM
  348. MOVWF CCPR1L
  349. BSF STATUS,RP0
  350. BCF PIE1,ADIE ;禁止AD采样中断
  351. BCF STATUS,RP0
  352. POWER3 BTFSC ADCON0,GO ;正在进行AD采样?
  353. GOTO POWER3 ;是,等待AD采样
  354. 完毕
  355. BCF PIR1,ADIF ;清AD采样中断标
  356. 志位
  357. BCF ADCON0,CHS0
  358. BSF ADCON0,CHS1 ;选择电压采样通
  359. 道
  360. MOVLW 0X06 ;延
  361. 时等待通道转换完成
  362. MOVWF COUNT
  363. POWER4 DECFSZ COUNT
  364. GOTO POWER4
  365. POWER6 BSF ADCON0,GO ;采样电池电压值
  366. POWER5 BTFSS PIR1,ADIF ;采样完毕?
  367. GOTO POWER5
  368. BCF PIR1,ADIF ;清AD中断标志位
  369. BCF STATUS,C
  370. MOVF ADRESH,0 ;当前电压值送被加数
  371. MOVWF ACCbHI
  372. BSF STATUS,RP0
  373. MOVF ADRESL,0
  374. BCF STATUS,RP0
  375. MOVWF ACCbLO
  376. MOVLW VOLONH ;35V电压值送被
  377. 加数
  378. MOVWF ACCaHI
  379. MOVLW VOLONL
  380. MOVWF ACCaLO
  381. CALL D_sub ;当前电压值减
  382. 35,与重开电压进行比较
  383. MOVLW FULLPWM
  384. MOVWF CCPR1L
  385. CLRWDT
  386. BTFSC ACCbHI,7 ;当前电压值大于35?
  387. GOTO POWER6 ;否,重新采样
  388. BSF FLAG1,OFF ;是,置相应的标
  389. 志位
  390. RETURN ;返
  391. 回
  392. ;***电机转子位置采样子程序,状态采样子程序,出口地址:STATE1***
  393. SAMPLE MOVLW AND ;读RB口
  394. ANDWF PORTB,0 ;分离出有效信息
  395. MOVWF STATE1 ;暂存状态值
  396. MOVLW 0X08
  397. MOVWF DELAY
  398. DEL1 DECFSZ DELAY ;延时6 μs

  399. GOTO DEL1
  400. MOVLW AND ;读
  401. RB口
  402. ANDWF PORTB,0 ;分离出有效信
  403. 息,并暂存
  404. MOVWF STATE2
  405. XORWF STATE1,0 ;与上一次状态值
  406. 相异或
  407. BTFSC STATUS,Z
  408. RETURN ;两
  409. 个状态值相等则返回
  410. MOVLW 0X06 ;否
  411. 则延时4 μs
  412. MOVWF DELAY
  413. DEL2 DECFSZ DELAY
  414. GOTO DEL2
  415. MOVLW AND ;读
  416. RB口
  417. ANDWF PORTB,0 ;提取有效信息并
  418. 暂存
  419. MOVWF STATE3
  420. XORWF STATE1,0 ;与第一次状态相
  421. 同吗?
  422. BTFSC STATUS,Z
  423. RETURN ;相
  424. 同则返回
  425. MOVF STATE2,0 ;否则再与第二次
  426. 状态相比较
  427. XORWF STATE3,0
  428. BTFSS STATUS,Z
  429. GOTO SAMPLE ;三次状态均不相
  430. 同则重新采样
  431. MOVF STATE2,0 ;第三次状态与第
  432. 二次相同,则将正确状态赋予STATE1并
  433. MOVWF STATE1 ;返回
  434. RETURN
  435. ;************** MOSFET触发信号输出子程序**************
  436. OUTPUT SWAPF STATE1,1 ;STATE1寄存器高低半字节互
  437. 换
  438. BCF STATUS,C ;清C位,并将
  439. STATE1寄存器左移一位
  440. RRF STATE1,0 ;将
  441. 采样所得结果放至W低三位
  442. CALL OUT_TABLE ;查表获得输出值
  443. MOVWF PORTC ;将输出值输出至
  444. RC口
  445. RETURN
  446. ;*************** RB口电平变化中断服务程序**************
  447. SAMPRB CALL PUSH ;现场保护
  448. BCF STATUS,RP0
  449. CALL SAMPLE ;采样RB口状态
  450. CALL OUTPUT ;根据RB口状态触
  451. 发相应的MOSFET
  452. CALL POP ;恢
  453. 复现场
  454. BCF INTCON,RBIF ;清
  455. RB口电平变化中断标志
  456. RETFIE ;中
  457. 断返回
  458. ;************ AD采样中断服务程序***************
  459. AD CALL PUSH ;保护现场
  460. BTFSC FLAG1,VOLTAGE ;是电压采样?
  461. GOTO SET_VOL ;是,作相应的处
  462. 理
  463. SET_TS BCF ADCON0,CHS0 ;AD采样值是TS,则选择1采
  464. 样通道
  465. INCF COUNT_VOL ;电压采样周期寄
  466. 存器值加1
  467. BTFSS STATUS,Z ;电压采样周期到?
  468. GOTO AD4
  469. BCF ADCON0,CHS0 ;是,选择2采样
  470. 通道
  471. BSF ADCON0,CHS1
  472. BSF FLAG1,VOLTAGE ;置相应的标志位

  473. AD4 BCF PIR1,ADIF ;清AD中断标志
  474. MOVF ADRESH,0 ;采样值送寄存器暂存
  475. MOVWF TSH
  476. BSF STATUS,RP0
  477. MOVF ADRESL,0
  478. BCF STATUS,RP0
  479. MOVWF TSL
  480. BSF FLAG1,PWM
  481. BTFSS FLAG1,VOLTAGE ;是否需要进行电压采样?
  482. GOTO AD6
  483. MOVLW 0X05 ;
  484. 是,延时后采样电压
  485. MOVWF TEMP1
  486. AD5 DECFSZ TEMP1
  487. GOTO AD5
  488. BSF ADCON0,GO
  489. AD6 CALL POP ;恢
  490. 复现场,中断返回
  491. RETFIE
  492. SET_VOL BCF ADCON0,CHS1 ;如果采样值为电
  493. 压值,则选择0通道
  494. BCF ADCON0,CHS0
  495. BCF PIR1,ADIF ;清中断标志位
  496. BCF FLAG1,VOLTAGE ;清相应标志位
  497. MOVF ADRESH,0 ;将采样结果放入被减数寄存
  498. 器
  499. MOVWF VOLTAGEH
  500. BSF STATUS,RP0
  501. MOVF ADRESL,0
  502. BCF STATUS,RP0
  503. MOVWF VOLTAGEL
  504. BSF FLAG1,LOWPOWER;是,置相应标志位
  505. CALL POP ;中
  506. 断返回
  507. RETFIE
  508. ;**************中断保护现场子程序******************
  509. PUSH MOVWF W_STACK ;暂存W寄存器
  510. MOVF STATUS,0 ;暂存STATUS寄存器
  511. MOVWF ST_STACK
  512. RETURN ;子
  513. 程序返回
  514. ;**************中断恢复现场子程序**************
  515. POP MOVF ST_STACK,0 ;恢复STATUS寄存
  516. 器值
  517. MOVWF STATUS
  518. MOVF W_STACK,0 ;恢复W寄存器值
  519. RETURN ;子
  520. 程序返回
  521. ;**************初始化子程序****************
  522. SETUP MOVLW  .15 ;初始化TEMP

  523. MOVWF  TEMP
  524. MOVF  ACCbHI,0 ;ACCb送ACCd
  525. MOVWF  ACCdHI
  526. MOVF  ACCbLO,0
  527. MOVWF  ACCdLO
  528. CLRF  ACCbHI ;清ACCb
  529. CLRF  ACCbLO
  530. RETLW  0
  531. ;**********乘除法运算确定结果符号子程序**********
  532. S_SIGN MOVF  ACCaHI,0 ;ACCaHI异或ACCbHI,结果送SIGN单元
  533. XORWF  ACCbHI,0
  534. MOVWF  SIGN
  535. BTFSS  ACCbHI,7 ;ACCb为负?
  536. GOTO  CHEK_A ;否,检查ACCa
  537. CALL NEG_B
  538. CHEK_A BTFSS  ACCaHI,7 ;ACCa为负?
  539. RETLW  0 ;
  540. ACCa和ACCb均为负,返回
  541. GOTO  NEG_A ;ACCa为负,取补
  542. GOTO MAIN
  543. END
  544. ;程序结束
复制代码


单片机控制的电动自行车驱动系统.doc

37 KB, 下载次数: 16, 下载积分: 黑币 -5

评分

参与人数 2黑币 +60 收起 理由
tieq1952 + 10 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:116662 发表于 2016-6-6 16:46 来自触屏版 | 显示全部楼层
这个资料太好了,技术贴顶贴
回复

使用道具 举报

ID:253767 发表于 2017-12-14 08:44 | 显示全部楼层
很需要它
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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