基于PIC單片機(jī)的墨斗操作臺(tái)系統(tǒng)的設(shè)計(jì)
在本系統(tǒng)中每個(gè)顯示驅(qū)動(dòng)與鍵盤掃描模塊由一個(gè)BC7281芯片與兩個(gè) 74LS174移位寄存器配合,控制三組按鍵與顯示單元,系統(tǒng)中一共用到 8個(gè)顯示驅(qū)動(dòng)與鍵盤掃描模塊。 BC7281與 PIC單片機(jī)之間的通訊是采用 2線高速串行接口,這兩個(gè)連線分別是數(shù)據(jù)線 DAT和同步時(shí)鐘線 CLK,其中 DAT為雙向數(shù)據(jù)傳輸線,BC7281既用該線從 PIC單片機(jī)接收數(shù)據(jù),也用該線向 PIC單片機(jī)發(fā)送數(shù)據(jù)。BC7281的 DAT引腳為漏極開路輸出結(jié)構(gòu),使用時(shí)須在該線上加 20K?左右的上拉電阻[5]。CLK引腳為串行時(shí)鐘接口的同步時(shí)鐘,由 PIC單片機(jī)控制,下降沿有效。
BC7281芯片的按鍵指示線 KEY與 PIC單片機(jī)的管腳直接相連,正常工作時(shí),如果有按鍵發(fā)生則 KEY線輸出低電平,PIC單片機(jī)檢測到 KEY線為低電平時(shí),從 BC7281內(nèi)的鍵值鎖存器讀出數(shù)值即可判斷發(fā)生的按鍵。
墨斗操作臺(tái)控制系統(tǒng)中 PIC單片機(jī)與 BC7281芯片之間的串行通訊采用軟件模擬的方式,對 BC7281芯片的寫數(shù)據(jù)操作是一次寫入 2個(gè)字節(jié),第一個(gè)字節(jié)是地址信息,第二個(gè)字節(jié)是數(shù)據(jù)信息。對 BC7281讀取數(shù)據(jù)操作由一個(gè)字節(jié)的寫入操作和一個(gè)字節(jié)的數(shù)據(jù)讀取操作兩部分組成,字節(jié)寫入時(shí)寫入地址信息,數(shù)據(jù)讀取時(shí)讀取相應(yīng)地址內(nèi)的數(shù)據(jù)。BC7281芯片在驅(qū)動(dòng)數(shù)碼管顯示和監(jiān)測按鍵前需要進(jìn)行初始化,即對 BC7281芯片的工作模式控制寄存器(地址 12H)進(jìn)行設(shè)置,本系統(tǒng)根據(jù)需要,在初始化時(shí)把 BC7281的工作模式控制寄存器設(shè)置為 0X8C,即移位寄存器模式設(shè)置為普通移位寄存器模式;鍵盤掃描模式設(shè)置為 KEY電平隨按鍵情況變化,有按鍵時(shí) KEY為低電平,無按鍵時(shí) KEY為高電平;閃爍模式設(shè)置為擴(kuò)展模式;顯示關(guān)閉模式設(shè)置為打開;掃描使能模式設(shè)置為掃描使能。
墨斗操作臺(tái)控制系統(tǒng)的主程序控制流程圖如圖 4所示:
系統(tǒng)上電后,首先進(jìn)行系統(tǒng)初始化,系統(tǒng)初始化包括各個(gè) I/O端口的初始化、中斷初始化、CAN總線初始化、BC7281芯片的初始化、與其他系統(tǒng)的通訊測試及向電機(jī)控制系統(tǒng)讀取各個(gè)墨鍵的位置并顯示等,然后系統(tǒng)進(jìn)入循環(huán)等待,如果有按鍵發(fā)生,則 PIC單片機(jī)從 BC7281的鍵值鎖存器中讀取按鍵信息,根據(jù)按鍵信息判斷按鍵種類并進(jìn)行相應(yīng)的處理,將新的墨鍵位置信息顯示于操作臺(tái)面板上,并通過 CAN總線傳遞給其他系統(tǒng),系統(tǒng)繼續(xù)進(jìn)入循環(huán)等待狀態(tài)。
4 總結(jié)
由墨斗操作臺(tái)控制系統(tǒng)、上位機(jī)系統(tǒng)和電機(jī)控制系統(tǒng)組成的墨斗控制系統(tǒng)已經(jīng)成功應(yīng)用到北人集團(tuán)生產(chǎn)的膠印機(jī)上,實(shí)際工作表明,膠印機(jī)的生產(chǎn)效率和生產(chǎn)質(zhì)量等得到了很大提高,墨斗操作臺(tái)控制系統(tǒng)表現(xiàn)出較好的性能。整個(gè)系統(tǒng)成本較低,具有很好的市場應(yīng)用前景。
評論