• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于keil軟件的一體化螺絲刀控制器設(shè)計(jì)

      2019-11-14 08:17王飛杜向陽(yáng)
      軟件 2019年9期
      關(guān)鍵詞:螺絲刀串口分組

      王飛 杜向陽(yáng)

      摘 ?要: 針對(duì)低壓斷路器產(chǎn)品生產(chǎn)效率低、可操作性差等系列問(wèn)題,提出了基于keil軟件的一體化螺絲刀控制器設(shè)計(jì)?;贙eil5(Keil uVision5)的軟件平臺(tái)及STM32f10x封裝函數(shù)包,在搭建好實(shí)物裝置的基礎(chǔ)上,建立控制模型及編寫(xiě)控制系統(tǒng)的運(yùn)行程序。編寫(xiě)的程序主要是在一體化螺絲刀裝置上的各個(gè)傳感器等設(shè)備的監(jiān)測(cè)下,完成以STM32f103ZET6為主控芯片的控制器來(lái)控制相應(yīng)步進(jìn)電機(jī)的運(yùn)行及電磁閥的開(kāi)斷配合,完成一個(gè)完整的軌跡運(yùn)行。并將設(shè)計(jì)的程序進(jìn)行仿真、實(shí)驗(yàn)調(diào)試。實(shí)驗(yàn)最終表明:該裝置可以實(shí)現(xiàn)低壓斷路器高效率的生產(chǎn)且該設(shè)計(jì)的控制器可操作性強(qiáng)。

      關(guān)鍵詞?Keil5;控制模型;STM32f103ZET6;仿真模擬;實(shí)驗(yàn)調(diào)試

      中圖分類號(hào): TP319????文獻(xiàn)標(biāo)識(shí)碼?A????DOI:10.3969/j.issn.1003-6970.2019.09.017

      本文著錄格式:王飛,杜向陽(yáng). 基于keil軟件的一體化螺絲刀控制器設(shè)計(jì)[J]. 軟件,2019,40(9):75-80

      Design of Integrated Screwdriver Controller Based on Keil Software

      WANG Fei, DU Xiang-Yang

      School of Mechanical and Automotive Engineering, Shanghai University of Engineering and Technology, Shanghai 201620, China

      Abstract: For the series of low-voltage circuit breaker products with low production efficiency and poor operability, an integrated screwdriver controller design based on leil software is proposed. Based on Keil (Keil uVision5) software platform and STM32f10x package function package, based on the physical device, the control model and the running program of the control system are established. The main task of the prepared control program code is to complete the control of the corresponding stepper motor with STM32f103ZET6 as the main control chip under the monitoring of various sensors and other devices on the integrated screwdriver device (one angle control motor, two displacement control motors), a control of the torque nut motor), the designed program running code for simulation, experimental debugging. The experiment finally shows that the device can achieve high-efficiency production of low-voltage circuit breakers and the controller of the design is operability.

      Key words: Keil5; Control model; STM32f103ZET6; Simulation; Experimental debugging

      0??引言

      ARM公司[1]在2005年收購(gòu)keil公司后,于2013年10月推出了最新的開(kāi)發(fā)環(huán)境Keil5。Keil提供了包括C編譯器、宏匯編、鏈接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。Keil官網(wǎng)雖然沒(méi)有發(fā)布中文版本,但是Keil系列軟件[2-3]卻被中國(guó)80%以上的軟硬件工程師使用,說(shuō)明該系統(tǒng)軟件的強(qiáng)大,以及它的發(fā)展前景。

      此軟件開(kāi)發(fā)系統(tǒng)的優(yōu)點(diǎn):Keil5生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。因此,借助集成開(kāi)發(fā)環(huán)境Keil5,在以STM32f103ZET6為主控芯片的控制器[4-6]硬件平臺(tái)來(lái)控制一體化螺絲刀裝置運(yùn)行,提高裝置的工作

      1??裝置結(jié)構(gòu)與硬件設(shè)計(jì)

      該裝置控制器是對(duì)塑殼斷路器生產(chǎn)設(shè)備控制方式的改進(jìn)。系統(tǒng)指令實(shí)現(xiàn)的載體,是控制系統(tǒng)功能得以實(shí)現(xiàn)的執(zhí)行者,硬件的執(zhí)行方式?jīng)Q定了程序控制的設(shè)計(jì)。首先,了解一體化螺絲刀裝置的組成。然后,分析該裝置主要執(zhí)行部分,如驅(qū)動(dòng)電機(jī)、電磁閥及傳感器等,知道各個(gè)構(gòu)件的運(yùn)行規(guī)律,選擇與控制器相連接的IO口。一體化螺絲刀裝置的控制裝置結(jié)構(gòu):4個(gè)步進(jìn)電機(jī)(一個(gè)角度控制電機(jī),兩個(gè)位移控制電機(jī),一個(gè)控制扭螺母電機(jī))、兩個(gè)電磁離合器、扭矩[7]傳感器、移動(dòng)框架、組合套筒等。Driver代表步進(jìn)電機(jī)驅(qū)動(dòng)器,SEN1~3是傳感器和離合器的驅(qū)動(dòng)模塊,UART串口通信,與PC機(jī)相連接。其電路原理[8]圖如圖1所示。

      裝置運(yùn)行原理。為了使塑殼斷路器內(nèi)部核心器件跳閘金屬片都能在某一設(shè)定的時(shí)間內(nèi)頂跳觸頭,斷開(kāi)電路完成任務(wù)。由此,設(shè)計(jì)了一體化螺絲刀旋緊裝置。我們先假定一個(gè)頂跳時(shí)間,給跳閘金屬片通電,隨著溫度升高,金屬片變形。這時(shí)通過(guò)CCD相機(jī)對(duì)

      金屬片上的特定位置進(jìn)行數(shù)據(jù)采集,經(jīng)過(guò)AD轉(zhuǎn)換及通訊總線傳輸給下位機(jī),讀取指令到處理器[9],通過(guò)MCU輸出指令傳遞給各個(gè)輸出引腳和驅(qū)動(dòng)器模塊。圖2為一體化螺絲刀控制器的硬件執(zhí)行過(guò)程與聯(lián)系。

      2??軟件設(shè)計(jì)

      2.1工程建立與分組關(guān)系

      先在Keil5項(xiàng)目欄里新建工程模板。由于STM32[10-11]這種級(jí)別的MCU包含數(shù)百個(gè)寄存器,如果通過(guò)操作每個(gè)寄存器來(lái)設(shè)計(jì)一個(gè)控制系統(tǒng),即困難又浪費(fèi)時(shí)間,因此,我們借助ST(意法半導(dǎo)體)推出的官方固件庫(kù)[12],建立自己的工程模板,然后按照自己的意愿設(shè)計(jì)自己的控制代碼。打開(kāi)MDK新建工程文件夾YTHLSD(一體化螺絲刀英文所寫(xiě)),然后在此文件夾下建立文件夾USER、HARDWARE、SYSTEM、CORE、FWLIB和README等。

      USER分組負(fù)責(zé)存放代碼工程文件,如USER分組下的main.c主要存放主函數(shù),其中包含ST提供的stm32f10x_it.c用來(lái)定義中斷函數(shù),System_?stm32f10x.c用來(lái)初始化時(shí)鐘函數(shù)等。HARDWARE分組存放外部硬件驅(qū)動(dòng)函數(shù),該設(shè)計(jì)包含了led.c、key.c、driver.c三個(gè)硬件驅(qū)動(dòng)函數(shù),如driver.c中調(diào)用stm32f10x_gpio.c中的函數(shù)對(duì)driver進(jìn)行初始化,每一個(gè).c源文件對(duì)應(yīng)一個(gè).h頭文件。SYSTEM分組存放了一些ST提供的公用代碼,包括:延時(shí)函數(shù),IO口位操作、寄存器操作及串口相關(guān)函數(shù),方便我們調(diào)用這些函數(shù)。CORE分組放置固件庫(kù)啟動(dòng)文件和核心文件,通常不需要改動(dòng)。FWLIB分組下存放著ST官方提供的外設(shè)固件庫(kù)原文件和頭文件,根據(jù)各自設(shè)計(jì)需求添加或刪除,同樣每個(gè).c源文件對(duì)應(yīng)一個(gè).h頭文件。README分組是整理程序設(shè)計(jì)過(guò)程中的一些注意事項(xiàng),方便他人使用及問(wèn)題查找。這些分組之間的結(jié)構(gòu)聯(lián)系如圖3所示。

      2.2??程序設(shè)計(jì)

      以該裝置控制系統(tǒng)的執(zhí)行器件的控制過(guò)程與電路原理圖為依據(jù),如圖3代碼層次結(jié)構(gòu),Keil5開(kāi)發(fā)軟件為平臺(tái)及STM32f10x封裝函數(shù)包,設(shè)計(jì)程序[13]驅(qū)動(dòng)代碼。設(shè)計(jì)過(guò)程包括主函數(shù)的設(shè)計(jì),子函數(shù)的調(diào)用等。設(shè)計(jì)過(guò)程:

      (1)打開(kāi)YTHLSD下USER分組內(nèi)的main.c主函數(shù)。首先將ST提供的存放在SYSTEM分組下的底層驅(qū)動(dòng)函數(shù)包含進(jìn)來(lái)。其中包含的頭文件:#include "sys.h"(定義了I/O口的輸入和輸出宏定義)、#include "usart.h"(串口初始化和中斷的接收)、#include "delay.h"(實(shí)現(xiàn)系統(tǒng)延時(shí)功能)。然后,將HARDWARE分組下的外部硬件驅(qū)動(dòng)函數(shù)包含進(jìn)來(lái)。其中包含的頭文件:#include "key.h"(外設(shè)按鍵驅(qū)動(dòng)代碼)、#include "led.h"(外設(shè)led驅(qū)動(dòng)代碼)、#include "drivers"(外設(shè)步進(jìn)電機(jī)驅(qū)動(dòng)代碼)。最后,將USMART分組下的串口調(diào)試函數(shù)#include "usmart.h"(串口調(diào)試組件)包含進(jìn)來(lái)。

      (2)寫(xiě)主函數(shù)(int main?(void))。主函數(shù)內(nèi)包含的初始化函數(shù)有:延時(shí)(delaine())、中斷設(shè)置(NVIC_?PriorityGroupConfig?(NVIC_PriorityGroup_2))、串口(uart_init?(115200))、USMART?(usmart_dev.init(72))、按鍵(KEY_Init())、傳感SEN_Init();LED端口(LED_?Init())、高級(jí)定時(shí)器(TIM8_OPM_RCR_Init?(999, 72-?1))和步進(jìn)電機(jī)驅(qū)動(dòng)函數(shù)(Driver_Init())、兩個(gè)關(guān)鍵字(u8 I; u8 keyval)。步進(jìn)電機(jī)驅(qū)動(dòng)器端口與控制板引腳的連接如表1。

      (3)在while()循環(huán)里面設(shè)定函數(shù)之間的邏輯關(guān)系,首先按下WKUP_PRES,調(diào)用絕對(duì)定位函數(shù)Locate_Abs(0,?10000);電機(jī)回初始設(shè)定點(diǎn),SEN1_?ACT和SEN2_ACT是調(diào)用電磁閥和步進(jìn)電機(jī)的函數(shù),Locate_Rle(100000,?10000,?CW/CCW)為相對(duì)運(yùn)動(dòng)函數(shù),代表頻率設(shè)定值是10kHz,當(dāng)?shù)谌齻€(gè)參數(shù)選CW時(shí),順時(shí)針發(fā)出100K個(gè)脈沖,選為CCW時(shí)逆時(shí)針發(fā)出100K個(gè)脈沖,驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)確定的角度。

      完整的主程序?yàn)椋?/p>

      #include "sys.h"

      #include "usart.h"

      #include "delay.h"

      #include "key.h"

      #include "led.h"

      #include "usmart.h"

      #include "driver.h"

      上面部分為程序設(shè)計(jì)的第一部分,宏定義的聲明。

      int main(void)

      {

      u8 i;

      u8 keyval;

      delay_init();

      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

      uart_init(115200);

      usmart_dev.init(72);

      LED_Init();

      KEY_Init();

      SEN_Init();

      Driver_Init();

      TIM8_OPM_RCR_Init(999,?72-1);

      中間部分為程序設(shè)計(jì)的第二部分,定義關(guān)鍵字i、keyval,延時(shí)、中斷、串口通信、串口調(diào)試、led燈、按鍵、傳感外設(shè)、步進(jìn)電機(jī)驅(qū)動(dòng)、高級(jí)計(jì)數(shù)器TIM8等函數(shù)初始化,中斷優(yōu)先級(jí)分組設(shè)為2位搶占優(yōu)先級(jí)2位相應(yīng)優(yōu)先級(jí),串口波特率設(shè)為115200,usmart設(shè)晶振設(shè)為72MHz;TIM8初始化計(jì)數(shù)器向上計(jì)數(shù),自動(dòng)重裝載值arr設(shè)為999,預(yù)分頻值pos設(shè)為72-1。

      while(1)

      {

      keyval=KEY_Scan(0);

      if(keyval==WKUP_PRES)

      {

      Locate_Abs(0,?10000);

      } ???else if(keyval==SEN1_ACT)

      {

      Locate_Rle(100000,?10000,?CW);

      }

      else if(keyval==SEN2_ACT)

      {

      Locate_Rle(100000,?10000,?CCW);

      }

      delay_ms(10);

      i++;

      if(i==50)

      {

      i=0;

      LED1=!LED1;

      }

      }

      }

      最后部分為程序設(shè)計(jì)的邏輯部分,在while()循環(huán)中,通過(guò)if語(yǔ)句來(lái)判斷當(dāng)前應(yīng)該執(zhí)行的函數(shù)語(yǔ)句,來(lái)控制電磁閥和步進(jìn)電機(jī)動(dòng)作。其中主要的子函數(shù)設(shè)計(jì)為步進(jìn)電機(jī)的端口初始、中斷及相關(guān)參數(shù)設(shè)置,其中核心部分為步進(jìn)電機(jī)的驅(qū)動(dòng)程序設(shè)計(jì)[14],包含相對(duì)運(yùn)動(dòng)和絕對(duì)運(yùn)動(dòng)。相對(duì)運(yùn)動(dòng)對(duì)應(yīng)相對(duì)定位函數(shù):

      void Locate_Rle(long num,?u32 frequency,?DIR_?Type dir)

      {

      if(num<=0)

      {

      printf("\r\nThe num should be greater than zero?。。躵\n");

      return;

      }

      if(TIM8->CR1&0x01)

      {

      printf("\r\nThe last time pulses is not send finished,?wait please?。躵\n");

      return;

      }

      if((frequency<20)||(frequency>100000))

      {

      printf("\r\nThe frequency is out of range! please reset it?。。╮ange:20Hz~100KHz)\r\n");

      return;

      }

      motor_dir=dir;

      DRIVER_DIR=motor_dir;

      if(motor_dir==CW)

      target_pos=current_pos+num;

      else if(motor_dir==CCW)

      target_pos=current_pos-num;//

      rcr_integer=num/(RCR_VAL+1);

      rcr_remainder=num%(RCR_VAL+1);

      is_rcr_finish=0;

      TIM8_Startup(frequency);

      }

      相對(duì)定位函數(shù)中語(yǔ)句if(num<=0)表示沒(méi)有脈沖產(chǎn)生,不執(zhí)行下列程序語(yǔ)句,直接返回。if(TIM8->?CR1&0x01),代表上一次脈沖還未發(fā)送完成時(shí),程序?qū)⒅苯臃祷爻跏嘉恢?。語(yǔ)句if((frequency<20)||?(frequency>100000))為脈沖頻率不在20Hz~100KHz范圍內(nèi)時(shí),直接返回初始狀態(tài)。motor_dir=dir;和DRIVER_DIR=motor_dir;為得到和設(shè)置電機(jī)旋轉(zhuǎn)方向。然后通過(guò)if-else判斷步進(jìn)電機(jī)正傳還是反轉(zhuǎn),if(motor_dir==CW)則表示正傳,將目標(biāo)位置加上num的值作為步進(jìn)電機(jī)的目標(biāo)值,否則else if?(motor_dir==CCW)反轉(zhuǎn),將目標(biāo)位置減去num的值作為步進(jìn)電機(jī)的目標(biāo)值,rcr_integer和rcr_remainder分別為重復(fù)計(jì)數(shù)的整數(shù)部分和余數(shù)部分,其中每計(jì)數(shù)(RCR_VAL+1)次,中斷一次。由于重復(fù)計(jì)數(shù),所以要通過(guò)語(yǔ)句is_rcr_finish=0;聲明一下計(jì)數(shù)未結(jié)束,并在最后開(kāi)啟高級(jí)定時(shí)器TIM8。

      絕對(duì)定位函數(shù)設(shè)計(jì)如下:

      void Locate_Abs(long num,?u32 frequency)

      {

      if(TIM8->CR1&0x01)

      {

      printf("\r\nThe last time pulses is not send finished,?wait please!\r\n");

      return;

      }

      if((frequency<20)||(frequency>100000))

      {

      printf("\r\nThe frequency is out of range! please reset it?。。╮ange:20Hz~100KHz)\r\n");

      return;

      }

      target_pos=num;

      if(target_pos!=current_pos)

      {

      if(target_pos>current_pos)

      motor_dir=CW;

      else

      motor_dir=CCW;

      DRIVER_DIR=motor_dir;

      rcr_integer=abs(target_pos-current_pos)/(RCR_VAL+1);

      rcr_remainder=abs(target_pos-current_pos)%(RCR_VAL+1);

      is_rcr_finish=0;

      TIM8_Startup(frequency);

      }

      }

      絕對(duì)定位函數(shù)與相對(duì)定位函數(shù)基本相同。其中不同點(diǎn)為:target_pos=num;該語(yǔ)句是步進(jìn)電機(jī)經(jīng)過(guò)num個(gè)計(jì)數(shù)后的目標(biāo)位置。接下來(lái)通過(guò)if(target_?pos!=current_pos),判斷當(dāng)前位置和目標(biāo)位置是否相同。如果當(dāng)前位置沒(méi)有達(dá)到目標(biāo)位置,即if(target_?pos>current_pos),則步進(jìn)電機(jī)順時(shí)針轉(zhuǎn)動(dòng);否則else,步進(jìn)電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)。DRIVER_DIR=motor_?dir;作用為設(shè)定步進(jìn)電機(jī)旋轉(zhuǎn)方向,在頭文件driver.h中定義為#define DRIVER_DIR PCout(0),表示選用的控制板引腳是PC0,輸出PC0的狀態(tài)。

      3??仿真與試驗(yàn)分析

      Keil5具備軟件仿真[15]的強(qiáng)大功能,該功能的優(yōu)點(diǎn)是能檢查程序的正確性與可行性。通過(guò)debug工具欄里的邏輯分析窗口,進(jìn)行IO口的仿真與實(shí)驗(yàn)分析。仿真之前,需要設(shè)置Options for Target窗口下的Target欄里的參數(shù)(芯片型號(hào)和晶振頻率)。然后選擇debug欄里的Use Simulator開(kāi)啟仿真器,選擇Run to mian(),即直接從主函數(shù)開(kāi)始運(yùn)行仿真。Dialog DLL和Parameter設(shè)置如圖4。

      設(shè)置完畢后點(diǎn)擊仿真按鈕,選擇邏輯分析,并在其仿真界面中建立信號(hào)。根據(jù)電路原理圖,設(shè)置邏輯分析信號(hào)PA0、PE2、PE3、PB5、PE5、PC0、PC2和PC7,選擇信號(hào)的輸出方式為Bit,如PORTC&?0x00000004為基地址與第五位求與,只取第2位PORTC_2,其他全為0。然后右移2為,如果結(jié)果為低電平0則0x00000000,結(jié)果為高電平1則為0x00000001。其它端口分析同理。下圖5以步進(jìn)電機(jī)的IO接口信號(hào)為示例。

      完成上述設(shè)置后。在功能區(qū)Peripherals下的通用輸入輸出接口下,設(shè)置PA.0為下拉輸入,其電平狀態(tài)對(duì)應(yīng)復(fù)位按鈕動(dòng)作狀態(tài);設(shè)置PB.5和PE.5為推挽輸出,作用為控制led;設(shè)置PE.2和PE.3為上拉輸入,代表傳感器的響應(yīng)電平;設(shè)置PC.0為推挽輸出,其輸出電平控制電機(jī)的觸發(fā)脈沖方向;設(shè)置PC.2為推挽輸出,作用是使能驅(qū)動(dòng)器;設(shè)置PC.7為復(fù)用推挽輸出,輸出高級(jí)定時(shí)器TIM8_CH2的PWM脈沖。

      最后運(yùn)行仿真,雖然上面我們?cè)O(shè)置了各個(gè)選定IO口的輸出輸入模式,但Keil5不會(huì)自動(dòng)設(shè)置外部硬件的響應(yīng)狀態(tài),因此需要手動(dòng)設(shè)置相應(yīng)的輸入IO口狀態(tài)來(lái)模仿外部硬件的狀態(tài)。為模仿復(fù)位功能,

      需手動(dòng)設(shè)置PA.0為高電平,進(jìn)行間隔為0.2秒的仿真。同時(shí)PC.2使能driver函數(shù),板載led燈的綠燈開(kāi)始閃爍,表示程序正常運(yùn)行。PB.5一直為高電平,處于滅的狀態(tài),代表系統(tǒng)運(yùn)行正常。然后,設(shè)置PE.2位高電平,代表外部傳感器一(SEN1)動(dòng)作。同PC.7開(kāi)產(chǎn)生方波脈沖,當(dāng)PE.2的電平恢復(fù)后,PC.7口的脈沖停止產(chǎn)生;設(shè)置PE.3為高電平,代表外部傳感器二(SEN2)動(dòng)作。PC.7產(chǎn)生的方波形式,原理同上,但方向發(fā)生改變。最后PE.2和PE.3電平均為低電平,方波停止產(chǎn)生系統(tǒng)運(yùn)行完畢??刂葡到y(tǒng)仿真如圖6。

      4??結(jié)束語(yǔ)

      設(shè)計(jì)根據(jù)電路原理圖,以Keil5環(huán)境為主要平臺(tái),設(shè)計(jì)了一體化螺絲刀控制器。其中先建立工程模板,在建立的工程下設(shè)計(jì)自己的外設(shè)及內(nèi)部系統(tǒng)的相關(guān)函數(shù)塊,通過(guò)設(shè)置輸入IO的電平狀態(tài),來(lái)模擬外部硬件的實(shí)際工作情況,證明了控制器可以完成指定的運(yùn)動(dòng)。并且自己所建立的工程,可以根據(jù)自己的需要添加自己需要的外部驅(qū)動(dòng)函數(shù),其靈活性、移植性強(qiáng),節(jié)省了資源。對(duì)其外部指定函數(shù)做一定改動(dòng)就可以應(yīng)用到相類似的控制系統(tǒng)中,將提高產(chǎn)品的生產(chǎn)效益。

      參考文獻(xiàn)

      [1]?王偉, 持續(xù)創(chuàng)新的ARM&中國(guó)的技術(shù)創(chuàng)新專訪ARM公司中國(guó)區(qū)總裁譚軍先生[J].?電子技術(shù)應(yīng)用,?2008(8).

      [2]?馬得秀,?韓佳奇,?趙銘,?逯玉蘭.?基于51單片機(jī)的溫室自動(dòng)灌溉系統(tǒng)設(shè)計(jì)[J].?軟件,?2019,?40(05):?30-32.

      [3]?張英梅,?傅仕杰.?STM32的智能溫室控制系統(tǒng)[J].?軟件,?2010,?31(12):?14-18.

      [4]?陳玉樓,?單片機(jī)原理與應(yīng)用技術(shù)[M].?北京:?科學(xué)出版社,?2015.

      [5]?李寧,?基于MDK的STM32處理器應(yīng)用開(kāi)發(fā)[M].?北京:?北京航空航天大學(xué)出版社,?2008.

      [6]?意法半導(dǎo)體,?STM32中文參考手冊(cè),?第10版.?意法半導(dǎo)體(中國(guó))投資公司,?2010.

      [7]?劉汝斌,?程武山.?扭矩傳感器在步進(jìn)電機(jī)控制系統(tǒng)中的應(yīng)用[J].?儀表技術(shù)與傳感器,?2012,?(7):?1-3.

      [8]?王波,?鞠飛.?電子電路仿真技術(shù)在電子應(yīng)用開(kāi)發(fā)中的運(yùn)用[J].?電子技術(shù)與軟件工程,?2019(13):?74.

      [9]?王燕東,?基于嵌入式實(shí)時(shí)系統(tǒng)的步進(jìn)電機(jī)協(xié)同運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D],?河北工業(yè)大學(xué),?2016.

      [10]?常文泰,?張冉,?王利華,?張雷剛.?虛擬樣機(jī)技術(shù)及虛擬樣機(jī)試驗(yàn)[J].?軟件,?2016,?37(07):?84-88.

      [11]?沈紅衛(wèi),?任沙浦,?朱敏杰,?楊亦紅,?盧雪萍,STM32單片機(jī)應(yīng)用與全案例實(shí)踐[M].?電子工業(yè)出版社,?2017,?6(1):?62-70.

      [12]?意法半導(dǎo)體,?STM32F1開(kāi)發(fā)指南庫(kù)函數(shù)版V1.1.?意法半導(dǎo)體(中國(guó))投資公司,?2010.

      [13]?彭治國(guó),?劉海浪,?陳輝金.?基于“卓越計(jì)劃”C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)研究[J].?裝備制造技術(shù),?2012(7).

      [14]?譚浩強(qiáng),?C程序設(shè)計(jì)第四版[M].?清華大學(xué)出版社,?2010,?6(4):?87-89,?115-120.

      [15]?張玲,?晏伯武.?時(shí)序仿真和驅(qū)動(dòng)編寫(xiě)在數(shù)字電路實(shí)踐教學(xué)中的應(yīng)用研究[J].?軟件,?2016,?37(03):?107-109.

      猜你喜歡
      螺絲刀串口分組
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      分組搭配
      怎么分組
      自制磁性螺絲刀
      分組
      實(shí)用的螺絲刀裝置
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      帶螺絲刀的剪刀
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
      屏东县| 搜索| 莲花县| 辛集市| 怀集县| 鹤壁市| 泰来县| 夹江县| 东台市| 盐边县| 关岭| 昌平区| 农安县| 长顺县| 三江| 通州市| 婺源县| 东明县| 平远县| 南澳县| 广水市| 曲沃县| 白玉县| 河源市| 锡林郭勒盟| 安化县| 天全县| 武穴市| 焦作市| 宁安市| 张家口市| 博客| 米林县| 班玛县| 荣昌县| 安庆市| 丰宁| 中江县| 广水市| 芒康县| 柘荣县|