基于軟件開(kāi)發(fā)的LED顯示控制系統
LED顯示控制系統設計是采用單片機AT89C51作為主控制器,采用LED行列陣顯示及鍵盤(pán)同步中斷請求顯示的2種模式,實(shí)現串口通信并進(jìn)行2種模式下的切換控制。系統成功地實(shí)現對I/O口通道控制以及鍵盤(pán)的中斷請求等功能控制。系統仿真環(huán)境的搭建是基于Proteus與Keil μVision 3軟件在聯(lián)合開(kāi)發(fā)平臺中調試完成的。在調試的過(guò)程中,可以從多個(gè)方面直接觀(guān)察程序運行情況和電路工作分析,簡(jiǎn)化了理論程序和設計實(shí)驗等過(guò)程,大大減少了代碼的開(kāi)發(fā)周期,降低了硬件成本。
本文引用地址:http://dyxdggzs.com/article/201710/367152.htm1 Keil μVision 3與protues簡(jiǎn)介
Keil μVision 3是美國Keil SOFtware公司出品的C51系列兼容單片機C語(yǔ)言軟件開(kāi)發(fā)系統,其生成目標代碼的效率非常高,多數語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現高級語(yǔ)言的優(yōu)勢。
Proteus是英國Labcenter electonICs公司研發(fā)的電子設計自動(dòng)化(EDA)系統,主要由ISIS電路設計與仿真平臺、Peospite模/數混合仿真器、VSM單片機/嵌入式系統協(xié)同仿真和ARES PCB設計構成。在編譯調試方面,支持Keil μVision 3和MPLAB等第三方開(kāi)發(fā)工具。
2 系統設計
2.1 系統開(kāi)發(fā)框架
LED顯示控制系統設計由系統原理設計、系統代碼開(kāi)發(fā)、硬件電路模擬仿真、軟硬件聯(lián)合調試、實(shí)物移植等組成。其中,代碼開(kāi)發(fā)仿真模擬通過(guò)Proteus軟件與Keil μVision 3軟件之間相互聯(lián)合仿真進(jìn)行設計。系統開(kāi)發(fā)設計框架如圖1所示。
2.2 硬件結構設計
系統硬件由單片機AT89C51系統和行列陣LED顯示模塊、上位機、串行顯示鍵盤(pán)模塊、晶振電路和存儲器模塊等構成。系統硬件結構如圖2所示。
硬件模塊主要完成的功能有:顯示屏的驅動(dòng),是通過(guò)與上位機間的串口通信接收文件信息并保存,通過(guò)行列驅動(dòng)器控制完成LED的驅動(dòng)。串行顯示鍵盤(pán),為實(shí)現鍵盤(pán)輸入與顯示屏輸出實(shí)現同步,進(jìn)行串口輸出模式切換,完成對LED的驅動(dòng),但由于系統中并行口的I/O資源不夠,而串行口又沒(méi)有其他作用,通過(guò)用數據鎖存模塊74LS164來(lái)擴展并行I/O口,節約單片機資源。將AT89C51串行通信口輸出的串行數據譯碼在其并口線(xiàn)上輸出,將顯示的數據直接送串口發(fā)送緩沖器,等待串行中斷即可。
2.2.1 LED顯示模塊
顯示部分采用動(dòng)態(tài)掃描方式,實(shí)現漢字、圖像、數字字符等數據信息的控制以及顯示等功能。采用行掃描方式,當選通第1行LED點(diǎn)陣時(shí),對應列數據,由于74HC595器件的特殊性,通過(guò)將每個(gè)器件的串行數據輸入引腳14與下一個(gè)器件的串行數據輸出引腳9級聯(lián),可以把需要顯示的數據信息依次存入74HC595器件內,通過(guò)其鎖存器功能將數據鎖存,待40列數據都存入74HC595器件內時(shí),把輸出有效引腳13置為低電平,則40列數據一起輸出,達到一行顯示的效果。依次類(lèi)推,實(shí)現整個(gè)顯示屏的顯示功能。
2.2.2 串行顯示鍵盤(pán)
該模塊用于與人機交互和顯示,行列式鍵盤(pán)即矩陣式鍵盤(pán),由行和列組成,在每個(gè)行列的交叉點(diǎn)上放置一個(gè)按鍵。包括8只控制LED的位驅動(dòng)晶體管,控制數碼顯示的數據由控制燈亮滅信號和控制位顯示的控制信號兩部分組成。
2.2.3 串口通信
串口接口通過(guò)RS 232實(shí)現上位機與單片機傳輸信息。當模塊進(jìn)入串行傳輸方式,上位機通過(guò)同步時(shí)鐘線(xiàn)SCLK和串行數據線(xiàn)完成數據的傳輸。在A(yíng)T89C51片選引腳CS為高電平時(shí),主機時(shí)鐘線(xiàn)上的時(shí)鐘信號才能被液晶顯示模塊接受,當引腳CS為低電平時(shí),顯示模塊內部寄存器將被復位,即終止數據傳輸。
2.3 軟件設計
整個(gè)系統軟件設計語(yǔ)言采用C語(yǔ)言,進(jìn)行中斷控制,其中代碼開(kāi)發(fā)編寫(xiě)測試則通過(guò)Keil μVision 3軟件與Proteus軟件之間完成。
軟件實(shí)現代碼流程如圖3所示。
由于軟件開(kāi)發(fā)代碼復雜,現給出鍵盤(pán)輸入程序部分代碼如下:
3 Proteus與Keil軟件的聯(lián)調設置
系統采用Keil μVision 3與Proteus聯(lián)調的方式來(lái)實(shí)現。首先需要安裝Keil驅動(dòng)軟件vDMAgdi.exe,然后Keil目錄下的bin中的VDM51. dll拷貝到Proteus下面的bin中,打開(kāi)Keil UVision 3軟件,創(chuàng )建項目,并單擊option for targetl,在打開(kāi)對話(huà)框,選擇output選項卡,在creat hex file前面打勾,以便產(chǎn)生HEX文件,同時(shí)在debug選項卡中選擇proteus vsmsimulator,將Keil生成。HEX文件如圖4所示。
在Proteus軟件中,雙擊AT89C51單片機,在其屬性下面的Program file中加載由Keil μVision 3產(chǎn)生的。HEX文件,然后點(diǎn)擊ok退出,同時(shí)在debug菜單下面選擇use remote debug monitor,這樣就完成了Proteus與Keil的聯(lián)調準備工作如圖5所示。
4 結語(yǔ)
由仿真結果表明,在該模式開(kāi)發(fā)環(huán)境下,有利于各個(gè)環(huán)節參數變量的調節設定,使得系統軟件開(kāi)發(fā)更加容易實(shí)現,大大提高了代碼開(kāi)發(fā)周期和進(jìn)度,簡(jiǎn)化了開(kāi)發(fā)流程。
評論