<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CPLD和Embedded System的LED點(diǎn)陣顯示

基于CPLD和Embedded System的LED點(diǎn)陣顯示

作者: 時(shí)間:2011-07-07 來(lái)源:網(wǎng)絡(luò ) 收藏

2 軟件設計和編寫(xiě)
2.1 主控電路芯片設計與調試

主控電路的功能是讀取雙口RAM中的數據并通過(guò)譯碼邏輯電路將數據屏的特定位置上。因為只用到單片機的一部分功能,所以使用芯片將MCU中的總線(xiàn)讀控制器及其外圍譯碼邏輯電路集成在一起。如若采用傳統方案,就必須采用多片芯片;而使用后,只用一片芯片就可以實(shí)現所要的功能??偩€(xiàn)讀控制器是產(chǎn)生時(shí)序的電路,需根據內存的讀時(shí)序進(jìn)行設計,只有保證正確的時(shí)序才能讀出數據。雙口RAM的讀寫(xiě)時(shí)序和普通RAM的讀寫(xiě)時(shí)序基本相同,如圖5所示。 CE(芯片使能)是片選信號,在片選信號從高變低之前必須輸出地址信號給雙口RAM,然后再用讀信號去控制OE(輸出使能)端,在OE信號由高變低后,數據總線(xiàn)上的數據有效,即可控制讀出數據并譯碼輸出。

復雜的時(shí)序電路用硬件描述語(yǔ)言描述,一般是用有限狀態(tài)機來(lái)描述。有限狀態(tài)機是時(shí)序電路通用模型,任何時(shí)序電路都可以表示成有限狀態(tài)機。從本質(zhì)上講,有限狀態(tài)機是由寄存器與組合邏輯構成的時(shí)序電路,各個(gè)狀態(tài)之間的轉移總是在時(shí)鐘的觸發(fā)下進(jìn)行的。針對圖5所示的讀時(shí)序,可列出如圖6所示的各種狀態(tài)的轉換圖。用Verilog HDL語(yǔ)言描述時(shí)可用帶有always語(yǔ)句的case語(yǔ)句建模,狀態(tài)信息存儲在寄存器中,case語(yǔ)句的多個(gè)分支包含每個(gè)狀態(tài)的行為。在這里將讀時(shí)序分為S0、S1、S2、S3四個(gè)狀態(tài),其工作方式如下:

步驟S0在RAM的片選CE 使能之前輸出地址;

步驟S1選中RAM,輸出讀信號;

步驟S2行計數器輸出,讀出RAM的數據并反相輸出;

步驟S3片選禁止,讀禁止,地址計數器加1。

譯碼輸出邏輯電路主要是提取地址計數器的計數輸出。在某個(gè)狀態(tài)下,行地址計數器輸出低5位數據,位譯碼輸出高4位數據并譯碼輸出16個(gè)位選信號。

時(shí)序電路中一般留有復位信號,當復位端為1時(shí),地址計數器復零,地址輸出復零,片選。讀控制信號置1,使狀態(tài)機回到狀態(tài)S0。

2.2 行譯碼CPLD芯片設計
行譯碼器的功能較主控電路來(lái)講相對簡(jiǎn)單,它是將主控電路的行計數器輸出的6位二進(jìn)制數據譯成32行的行選通信號,去控制行驅動(dòng)管驅動(dòng)行輸出。這是一個(gè)純組合邏輯電路,使用Verilog HDL 語(yǔ)言描述的always語(yǔ)句和case 多分支語(yǔ)句即可實(shí)現此功能。

2.3 單片機的C程序設計
在本系統中,單片機的功能主要是負責通信與數據處理。通信即通過(guò)串口接收來(lái)自PC機的數據并存儲在EEPROM中;數據處理即從EEPROM中取出數據并根據要的效果進(jìn)行軟件處理,再存放在雙口RAM中。在本系統中,因單片機及外圍電路只負責通信和數據處理,對實(shí)時(shí)性要求不高,因此用前后臺系統進(jìn)行軟件設計就能達到要求。本系統采用嵌入式操作系統RTX51TNY(KEIL C平臺自帶的免費的微實(shí)時(shí)內核)。軟件主要由PROCESS.C和SERIAL.C兩個(gè)檔組成。PROCESS.C包含三個(gè)任務(wù):任務(wù)0,初始化;任務(wù)1,靜態(tài)顯示;任務(wù)2,左移顯示。 SERIAL.C是串口中斷程序$靜態(tài)顯示的算法較簡(jiǎn)單,只要將EEPROM中的字模數據存放到雙口RAM中的特定位置即可。左移顯示則需要將字模數據每個(gè)字節左移,然后存放在雙口RAM的特定位置。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>