亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計

        2016-11-16 13:35:42蘇紅衛(wèi)
        電腦知識與技術(shù) 2016年25期

        蘇紅衛(wèi)

        摘要:螺絲是緊固件的通用說法,是日常生活中不可或缺的工業(yè)必需品,目前多數(shù)產(chǎn)品上的螺絲仍是操作工手動鎖緊,如果需鎖緊螺絲數(shù)量較多的話,容易漏打、錯打。該文以C語言為編程語言,圍繞以STM8S903K3為主的硬件電路功能,對序列打螺絲夾具進(jìn)行了軟件設(shè)計說明,文章首先提出了序列打螺絲夾具軟件設(shè)計的總體思路,然后對序列打螺絲夾具的主要功能函數(shù)進(jìn)行了重點(diǎn)設(shè)計說明,最后對軟件設(shè)計調(diào)試結(jié)果進(jìn)行說明。該軟件設(shè)計在硬件設(shè)計的基礎(chǔ)上進(jìn)行了實驗調(diào)試和實際操作,并已投入實際應(yīng)用中,實際解決了螺絲數(shù)量較多時按統(tǒng)一順序鎖緊,防止錯打、漏打的問題,具備很大的推廣價值。

        關(guān)鍵詞:軟件設(shè)計;序列夾具;順序鎖緊

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 章編號:1009-3044(2016)25-0080-03

        基于STM8S903K3的序列打螺絲夾具中功能的設(shè)定、螺絲鎖緊的選擇、信息數(shù)據(jù)的處理存儲、加工信息的顯示、工作數(shù)據(jù)通信、報警等一系列功能是根據(jù)STM8S903K3單片機(jī)的特點(diǎn)及硬件電路的設(shè)計而通過C語言編程來實現(xiàn)的。

        1 系統(tǒng)軟件設(shè)計

        1.1 系統(tǒng)設(shè)計總流程

        開機(jī)后,先對各硬件端口進(jìn)行初始化,然后讀取撥碼開關(guān)數(shù)據(jù)來確定需要鎖緊螺絲數(shù)目,之后按循序點(diǎn)亮指示燈,系統(tǒng)自檢(自檢中出現(xiàn)錯誤時會發(fā)出報警聲音提示錯誤);系統(tǒng)自檢后,RESET指示燈亮,為鎖緊螺絲做好準(zhǔn)備。

        需要鎖緊螺絲工作時,先用螺絲刀碰觸RESET位置,第一個螺絲位置的指示燈亮,螺絲刀碰觸到第一個螺絲的導(dǎo)柱時產(chǎn)生signal in信號輸入單片機(jī),單片機(jī)接收后將SET置1輸出電動起子允許工作信號,當(dāng)螺絲擰到要求的扭矩后,電動起子控制器會發(fā)出一個BZ信號給單片機(jī),單片機(jī)再接收到該信號后,關(guān)閉單片機(jī)輸出信號并通過點(diǎn)亮FirstHC595SendData函數(shù)第2個螺絲的提示燈,重復(fù)上述動作。

        設(shè)計中有一個三位的撥碼開關(guān)用來設(shè)置總螺絲的數(shù)量,例如設(shè)置為48個螺絲,那么在第48個螺絲鎖緊后,RESET指示燈亮,返回初始化狀態(tài)(此時RESET位置沒有鎖螺絲確認(rèn)信號,即只有螺絲刀觸碰到該位置后才點(diǎn)亮第1個螺絲指示燈)。

        在鎖螺絲時,假如應(yīng)該鎖第3個螺絲,而實際上螺絲刀在其他螺絲位置時,此時螺絲刀不啟動,并發(fā)出報警聲音提示錯誤。

        程序設(shè)計總流程圖如圖1所示:

        1.2 硬件初始化操作

        系統(tǒng)的硬件進(jìn)行初始化包括系統(tǒng)時鐘配置初始化Clock_init()、指示燈端口初始化GPIO_LEDInit()和功能端口(編碼器端口、蜂鳴器端口、BZ端口、SET端口、RESET端口、Signal In端口、功能選擇端口、74HC595端口)初始化General_IO_init()。截取程序段如下:

        void General_IO_init(void)

        { /**編碼器端口初始化**/

        GPIO_Init(GPIOB,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_IN_PU_NO_IT);

        GPIO_Init(GPIOC,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5,GPIO_MODE_IN_PU_NO_IT);

        GPIO_Init(GPIOE, GPIO_PIN_5,GPIO_MODE_IN_PU_NO_IT);

        /**蜂鳴器端口初始化**/

        GPIO_Init(GPIOA, GPIO_PIN_1, GPIO_MODE_OUT_PP_HIGH_FAST);

        /**BZ端口初始化**/

        GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_IN_PU_IT); /**改為中斷方式**/

        /**SET端口初始化**/

        GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_FAST);

        /**ER BZ端口初始化**/

        GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_IN_PU_IT); /**改為中斷方式**/

        /**RESET端口初始化---RESET螺絲刀控制器**/

        GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_PP_LOW_FAST);

        /**為了不影響PC6的中斷響應(yīng),特意初始化沒有使用的PC0管腳**/

        GPIO_Init(GPIOC, GPIO_PIN_0, GPIO_MODE_OUT_PP_HIGH_FAST);

        /**signal_in端口初始化**/

        GPIO_Init(GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_NO_IT);

        /**功能選擇端口初始化**/ /**74HC595端口初始化**/

        GPIO_Init(GPIOD,GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7, GPIO_MODE_OUT_PP_HIGH_FAST);

        /**Reset_IO CLKIN**/

        GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_HIGH_FAST);

        }

        1.3 讀撥碼開關(guān)的流程

        程序中,利用ReadCounterNum函數(shù)讀取撥碼開關(guān)的數(shù)據(jù)設(shè)定值,分辨對撥碼開關(guān)的個位、十位、百位數(shù)據(jù)進(jìn)行設(shè)置和讀取。讀取個位數(shù)據(jù)程序段如下:

        /**讀取個位數(shù)據(jù)**/

        bit_status = GPIO_ReadInputPin(GPIOC, GPIO_PIN_2); //DC1-8 8

        if (bit_status == RESET) //SET or RESET

        wCodeNum +=8; }

        bit_status = GPIO_ReadInputPin(GPIOC, GPIO_PIN_3); //DC1-4 4

        if (bit_status == RESET) //SET or RESET

        wCodeNum +=4;

        bit_status = GPIO_ReadInputPin(GPIOC, GPIO_PIN_4); //DC1-2 2

        if (bit_status == RESET) //SET or RESET

        wCodeNum +=2;

        bit_status = GPIO_ReadInputPin(GPIOC, GPIO_PIN_5); //DC1-1 1

        if (bit_status == RESET) //SET or RESET

        wCodeNum +=1;

        對于十位數(shù)據(jù)和百威數(shù)據(jù)的讀取流程與個位數(shù)據(jù)的讀取一致,只是對應(yīng)位數(shù)據(jù)不同,十位數(shù)據(jù)對應(yīng)位數(shù)據(jù)分別是128、64、32、16,百位數(shù)據(jù)對應(yīng)位數(shù)據(jù)分別是2048、1024、512、256。

        1.4 Signal in 信號的處理

        Signal in 信號的處理通過TimeDo函數(shù)來實現(xiàn)。TimeDo函數(shù)中,每500ms掃描一次signal in信號,如果signal in信號來自RESET銅柱,那么保存銅柱位置,關(guān)閉蜂鳴器,并且點(diǎn)亮第一個螺絲位置的指示燈;如果signal in信號來自第1-47個螺絲,那么置位SET信號,關(guān)閉蜂鳴器,開啟電動起子開始鎖緊螺絲,如果signal in信號來自第48個螺絲,就點(diǎn)亮RESET銅柱位置的指示燈;另外,從硬件設(shè)計中我們可知,Signal in 信號是當(dāng)電動起子碰觸治具板上螺絲孔位置的銅柱產(chǎn)生的,如果電動起子碰觸錯誤位置的螺絲孔位置的銅柱則開啟蜂鳴器發(fā)出報警提示的聲音,比如,當(dāng)前待打螺絲位置為2,如果電動起子碰觸螺絲孔2位置以外的銅柱,則蜂鳴器發(fā)出報警提示音,提醒操作人員打錯螺絲位置。其程序流程圖如圖2所示。

        1.5 BZ信號的處理流程

        BZ信號的處理流程如圖2所示。螺絲鎖緊到位后電動起子控制器發(fā)出BZ信號,MCU控制模塊接受到BZ信號后進(jìn)入中斷處理子程序中,中斷處理程序包括關(guān)中斷、SET信號清零、關(guān)閉電動起子,如果鎖緊的螺絲是1-47個,那么點(diǎn)亮下一個位置螺絲的指示燈,如果鎖緊的螺絲是最后一個即第48個,那么點(diǎn)亮RESET指示燈,然后開中斷為下一個signal in信號的讀取做好準(zhǔn)備。

        1.6 74HC595數(shù)據(jù)存儲器數(shù)據(jù)的讀取

        通過HC595SendData函數(shù)可發(fā)送1到6個字節(jié)的數(shù)據(jù),這些數(shù)據(jù)用來點(diǎn)亮和關(guān)閉對應(yīng)個螺絲位置的指示燈、獲取某個位置螺絲是否有電動起子的輸入信號,最終將串行輸入數(shù)據(jù)并行輸出。傳送1個字節(jié)的流程如圖3所示。

        2 程序下載調(diào)試

        本設(shè)計所使用的編譯環(huán)境是ST Visual Develop,編譯環(huán)境開發(fā)界面如圖4所示。程序使用ST-LINK工具下載,下載軟件是ST Visual Programmer,程序下載界面如圖5所示。

        程序調(diào)試過程中,還有個bug在里面,BUG: 當(dāng)打完第一個銅柱對應(yīng)的螺絲的時候,在打第二個螺絲時出現(xiàn)告警提示音,通過DEBUG程序發(fā)現(xiàn),在處理完前面打螺絲流程時遺漏了保存當(dāng)前所打螺絲銅柱位置信息,導(dǎo)致后面判斷中出現(xiàn)位置錯誤而開啟蜂鳴器進(jìn)行告警提示。

        3 結(jié)束語

        本文以C語言為編程語言,圍繞以STM8S903K3為主的硬件電路功能,對序列打螺絲夾具中功能的設(shè)定、螺絲鎖緊的選擇、信息數(shù)據(jù)的處理存儲、加工信息的顯示、工作數(shù)據(jù)通信、報警等一系列功能進(jìn)行了軟件設(shè)計說明。該軟件設(shè)計在硬件設(shè)計的基礎(chǔ)上進(jìn)行了實驗調(diào)試和實際操作,并已投入實際應(yīng)用中,實際解決了螺絲數(shù)量較多時按統(tǒng)一順序鎖緊,防止錯打、漏打的問題并且具備提示、報警等功能,從實踐結(jié)果和參數(shù)來看,該裝置很好地解決了生產(chǎn)中的實際問題,具備很大的推廣價值。

        參考文獻(xiàn):

        [1] 王雷. 基于STM8S903K3的電動自行車控制器設(shè)計與實現(xiàn)[D]. 南京: 南京理工大學(xué), 2014.

        [2] 陳方里, 欽仿仿. 基于STM8S的大功率BLDC驅(qū)動系統(tǒng)設(shè)計[J]. 技術(shù)與市場, 2015(10):9-10.

        [3] 王強(qiáng). 無刷直流電機(jī)無位置傳感器起動控制與逆變器故障診斷研究[D]. 南京: 南京航空航天大學(xué), 2015.

        [4] 譚浩強(qiáng). C語言程序設(shè)計[M].2版.北京: 清華大學(xué)出版社, 1999.

        [5] STM8S903手冊[Z]. June 2009.

        [6] 74HC595 手冊[Z]. 2003 Jun 25.

        [7] A7C系列小型撥碼開關(guān)參數(shù)手冊[Z].

        人妻av不卡一区二区三区| 久久久久久久无码高潮| 人伦片无码中文字幕| av成人资源在线播放| 亚洲精品第一页在线观看| 久久青青草原亚洲av无码麻豆| 日韩在线无| 加勒比熟女精品一区二区av| 亚洲一区二区三区偷拍厕所| 亚洲加勒比久久88色综合 | 少妇夜夜春夜夜爽试看视频| 最新国产av无码专区亚洲| 中文无码日韩欧免费视频| av在线一区二区三区不卡| 老子影院午夜伦不卡| 曰本女人与公拘交酡免费视频 | 狠狠躁日日躁夜夜躁2022麻豆| 青青草原精品99久久精品66| 不卡国产视频| 亚洲av成人永久网站一区| а√中文在线资源库| 中文字幕影片免费在线观看| 一本久久精品久久综合桃色| 国产免费在线观看不卡| 国产av永久无码天堂影院| 欧美视频九九一区二区 | 国产办公室沙发系列高清| 国产福利酱国产一区二区| 开心五月激动心情五月| 久久精品国产亚洲av麻豆长发| 中文字幕人妻中文av不卡专区 | 日本av一区二区三区四区| 色狠狠色狠狠综合天天| 日本少妇人妻xxxxx18| 中文字幕人成乱码中文乱码| 美女午夜福利视频网址| 思思久久96热在精品国产 | 成全高清在线播放电视剧| 亚洲www视频| 青青草手机在线观看视频在线观看 | 草草网站影院白丝内射|