劉磊 金亞玲 沈陽工學(xué)院
引言:C語言是一門通用計算機(jī)編程語言,應(yīng)用廣泛。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平臺上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級電腦等作業(yè)平臺。特點如下:
(1)C語言是一個有結(jié)構(gòu)化程序設(shè)計、具有變量作用域(variable scope)以及遞歸功能的過程式語言。
(2)C語言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
(3)不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。
(4)只有32個保留字(reserved keywords),使變量、函數(shù)命名有更多彈性。
(5)部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。
(6)通過指針(pointer),C語言可以容易的對存儲器進(jìn)行低級控制。
(7)預(yù)編譯處理(preprocessor)讓C語言的編譯更具有彈性。
購物流程如下:
(1)消費者將錢幣投入錢幣器(硬幣器或紙幣器),錢幣識別器對錢幣進(jìn)行識別。檢測到假幣則進(jìn)行數(shù)據(jù)記錄并吐出。
(2)錢幣識別后,根據(jù)金額,顧客按鍵選購商品。金額不足則無法購買相應(yīng)商品。
(3)傳感器接收到按鍵信息,驅(qū)動相關(guān)部件。商品被送到取貨口。
(4)顧客可根據(jù)余額繼續(xù)購買或退款。若顧客在15秒內(nèi)無動作,自動售貨機(jī)將自動退幣。
(5)顧客取貨,完成購物。
自動售貨機(jī)是能根據(jù)投入的錢幣自動付貨的機(jī)器。主要構(gòu)成部分有:機(jī)體外殼、商品存貨柜、控制主板、錢幣識別器、傳感器、整機(jī)電源和照明系統(tǒng)、制冷制熱系統(tǒng)、互聯(lián)網(wǎng)終端、可編程控制器(PLC)。其中,最主要的是可編程控制器(PLC),它協(xié)調(diào)整個自動售貨機(jī)的運(yùn)行??删幊炭刂破饕晕⑻幚砥鳛楹诵?,將繼電器控制系統(tǒng)與計算機(jī)技術(shù)結(jié)合,便捷實用,易于編程。
計算機(jī)網(wǎng)絡(luò)中為取得數(shù)據(jù)交換而建立協(xié)議。自動售貨機(jī)也一樣,可編程控制器、主控制板、錢幣識別器均遵循一定的通訊協(xié)議。目前國內(nèi)的自動售貨機(jī)普遍采用歐美系列(“MDB”)協(xié)議和日韓系列(“VCCS”)協(xié)議。
基于C語言的主要程序設(shè)計如下:
利用可定時控制器、置位控制器、復(fù)位控制器為磨線控制系統(tǒng)編寫了C語言控制程序,實現(xiàn)輸入金額的不同,選擇飲品的不同進(jìn)行售賣和找錢的功能。