單片機在微型打印機中的應用
3.3.2 89C52對聯(lián)絡(luò )信號實(shí)施控制的電路電路圖如圖6所示。
上電復位時(shí)D觸發(fā)器(U1)的Q輸出端為1,無(wú)論P3.0為何值,經(jīng)過(guò)“或”門(mén)(6)后,BUSY=1,不接收數據。
當89C52的P2.7=0時(shí),即有6116(數據存貯器)的CE為低電平,表示選中了6116,由圖3可知當P2.7=0時(shí),經(jīng)過(guò)反相器(3)再經(jīng)過(guò)“或”門(mén)(8),此時(shí)無(wú)論P3.7為何值74ALS374的片選端CE總為高電平,即沒(méi)有選中,這樣就保證了外部的數據與數據存貯器的數據分別進(jìn)行傳輸與接收而不至發(fā)生混亂。從上面的分析,當P2.7=0時(shí),表示選中了6116,而沒(méi)有選中74ALS374,此時(shí)主機不應有數據送入打印機,即有BUSY=`,=1,下面來(lái)看是否滿(mǎn)足這點(diǎn):當P2.7=0時(shí),經(jīng)過(guò)反相器(3)一路經(jīng)D觸發(fā)器(U2)的Q輸出為1即
=1,另一路經(jīng)過(guò)“或”門(mén)(8),這時(shí)無(wú)論P3.7為何值,輸出總為1,再經(jīng)D觸發(fā)器(U1)的Q輸出也為1,經(jīng)“或”門(mén)(6)后,BUSY=1,顯然滿(mǎn)足要求。
當P2.7=1時(shí),通過(guò)“非”門(mén)(3)后變?yōu)?,若此時(shí)單片機準備讀取數據(即P3.7=0),他們經(jīng)過(guò)“或”門(mén)(8)后,一路到74ALS374的片選端(CE),一路到D觸發(fā)器(U1)的清除端,使D觸發(fā)器的Q輸出端為0,即有74ALS374(CLK)為0,表示74ALS374的D0-D7端已有數據(同時(shí),即P3.5=1,,這樣通過(guò)檢測單片機的P3.5就可知道是否有數據輸入),此時(shí)若89C52的P3.0=0,經(jīng)過(guò)“或”門(mén)(6)后輸出為0,即BUSY=0,又由于P2.7經(jīng)過(guò)“非”門(mén)(3)后為0,他輸出到D觸發(fā)器(U2)的D端,當P3.6(
)從低電平變?yōu)楦唠娖綍r(shí)使D觸發(fā)器(U2)的Q輸出端為0即
=0,這時(shí)當主機發(fā)出
脈沖時(shí),在
脈沖上升沿到來(lái)時(shí)打印機開(kāi)始從74ALS374中讀入數據。
4 軟件設計
系統控制軟件主要包括:主程序、打印機是否在線(xiàn)的子程序、判斷是何種機型的子程序、判斷滑架到達最左端的子程序、讀取數據的子程序和走紙與打印的子程序等,其主程序流程框圖如圖7所示,其他子程序由于篇幅所限,在此不再詳細介紹。
評論