1 引言
單片機(jī)步進(jìn)電機(jī)控制系統(tǒng)在工業(yè)上具有廣泛的用途,但是大多數(shù)的應(yīng)用都采取固定速度分級調(diào)速,而對于一些要求連續(xù)調(diào)速的設(shè)備,特別是中小型流水線,為了提高工效,應(yīng)經(jīng)常性 地調(diào)節(jié)速度,為此就需要有一種比較經(jīng)濟(jì)、小型、高效的控制器來驅(qū)動步進(jìn)電機(jī)系統(tǒng)。鑒此我們研制成功了采用單片機(jī)技術(shù)并具有4位數(shù)碼顯示、可連續(xù)調(diào)頻的方波脈沖發(fā)生器 。
2 系統(tǒng)設(shè)計思想
我們對本單片機(jī)低頻脈沖發(fā)生器的設(shè)計原則是:在保證系統(tǒng)可靠工作、頻率穩(wěn)定的條件下,力圖減小尺寸、降低成本。系統(tǒng)的工作過程如下:
·上電,系統(tǒng)開始工作;
·啟停按鈕控制系統(tǒng)輸出脈沖 clk;
·通過上升和下降鍵調(diào)節(jié)頻率;
·按鍵一次頻率變化1 hz,按鍵超過1s頻率變化10hz;
·數(shù)碼管顯示頻率從0000 hz~9999hz;
·正反向按鈕切換方向指示和方向輸出控制信號cw。
根據(jù)以上的系統(tǒng)工作過程和需要完成的功能,在系統(tǒng)設(shè)計上我們采取了以下方案:
·采用89 c 51單片機(jī)最小應(yīng)用系統(tǒng),以降低成本、縮小體積;
·采用82c54定時/計數(shù)器作為脈沖輸出定時器,并用cpu主頻作為其clk輸入,比cpu內(nèi) 部定時/計數(shù)器工作頻率高六倍,以減少輸出脈沖與顯示頻率的誤差;
·為降低成本,把p3口作為一個8位并行口使用,利用p3口讀取按鍵信息、控制82 c 54的寫 操作;
·按鍵輸入的頻率,分別以二進(jìn)制和十進(jìn)制形式存放,前者用于82 c 54計數(shù)次數(shù)的多字節(jié)二進(jìn)制數(shù)除法運(yùn)算,后者用于數(shù)碼管顯示十進(jìn)制數(shù)頻率。
3 硬件結(jié)構(gòu)及原理
系統(tǒng)硬件原理示意圖如圖1所示。下面針對系統(tǒng)各部分作一簡單描述:
·單片計算機(jī)
選用98 c 51單片計算機(jī)最小應(yīng)用系統(tǒng)。
·顯示電路
采用動態(tài)顯示方法。p0口數(shù)據(jù)總線輸出bcd碼,經(jīng)74 ls 48 譯碼,作為四個數(shù)碼管的 段選信號;p1口高四位和p2.0選通信號經(jīng)與非門作位選信號。
·控制按鈕
s1、s2為頻率增減按鍵;s3、s4為開始輸出和正反向控制開關(guān)。按鍵通過上拉電阻接到p3口。
·計數(shù)器電路
計數(shù)器采用82 c 54,其時鐘信號由晶振經(jīng)反相器引入以獲得最高輸入頻率,提高計數(shù)精度。為減少接口芯片,計數(shù)器的初值輸入采用p3口電平方式控制讀寫線和片選線。由于主頻為 6m,82 c 54的每個計數(shù)器為16位(65535次),當(dāng)輸出最低頻率為1 hz時需記數(shù)6m次,故采 用二級計數(shù)方式。當(dāng)軟件判斷出設(shè)定頻率小于171 hz時,第一級計數(shù)器初值固定為007 fh( 127次),再用實(shí)際需計數(shù)次數(shù)除127得到第二級計數(shù)器初值;當(dāng)頻率大于170時,實(shí)際計數(shù)次數(shù)小于600000/170=35294次,故第二級計數(shù)器初值設(shè)定為2,實(shí)際計數(shù)次數(shù)除2得到第一級 計數(shù)器初值。
·輸出電路
82 c 54輸出和正反向指示輸出采用9013晶體管整形放大后輸出。
4 軟件系統(tǒng)
系統(tǒng)主程序流程圖如圖2和圖3所示。
軟件系統(tǒng)分主程序(含初始化、讀鍵、按鍵去抖動、正反向指示和輸出指示)、顯示子程序、頻率上升子程序、二十進(jìn)制加法子程序、頻率下降子程序、二十進(jìn)制減法子程序、 輸出脈沖子程序、延時子程序、除法子程序、82 c 54初始化子程序等。