L結構處理器編程及應用 《第一版》
長沙理依信息科技有限公司
二OO六年十月
前言
L結構處理器是采用新型體系結構(L計算機處理器體系結構)的、具有多任務處理功能的系列嵌入式處理器的總稱,統稱為LSSP,可廣泛用于生產過程控制、自動檢測、數據采集與處理、科技計算、商業管理和辦公室自動化等方面。它除了具有體積小、重量輕、可靠性高、通用性強等優點外,尤其是極具特色的快速多任務處理可廣泛用于衛星定向、汽車火花控制、音頻與視頻控制、交通自動管理、微波爐控制、中央空調控制、溫控和濕控等專用控制上。
L結構處理器所構成的計算機應用系統特點是:
L結構處理器芯片所構成的應用系統有較大的可靠性。
系統擴展和系統配置規范,容易構成各種規模的應用系統。
構成極具特色的多任務計算機系統,相當多的測試和控制功能由軟件實現,故具有很強的柔性特點.有優異的性能價格比。
目前的嵌入式處理器應用技術是使用嵌入式處理器和可編程邏輯器件相結合構成的新一代電子應用技術,這是工程應用技術發展的一個新趨勢,L結構處理器正是這種新技術的最佳結果。選擇L結構處理器就意味著選擇了最新技術。
現有的L結構處理器是字長為16位的嵌入式處理器,其最具特色是不用中斷而用事件觸發;不用軟件編程形成的時間復用方式的多任務而用芯片內部硬件自動實現的多道程序并發機制來完成多任務的處理。
為了讓編程人員掌握L結構處理器應用系統軟件編程和設計,編寫了本分文檔,為了節省篇幅,突出重點,對于L結構處理器的結構和基本原理不作介紹。
文檔共分成7部分:
第1部分強調L結構處理器的軟件設計要點。
第2部分介紹多任務設計方法。介紹了不相關聯的多個任務分別通過相應的道程序并發執行各個任務;對于具有相同的程序段,只是程序參數和運算結果不同時,分解成多個任務由各個道程序并發運行;子程序在多任務情況下的調用、0道程序的處理及數據存儲單元的分配。
第3部分介紹了多道程序運行時的同步和互斥問題。用了一個背包加密和解密設計項目,通過11個步驟,用數據標志位或同步標志位控制道程序之間的同步和互斥。
第4部分介紹了外部事件的處理。6個外部事件與通過外部事件激活的道程序的處理方式中,給出了同一個外部事件多次激活道程序的執行程序,闡述了多個外部事件多次激活道程序的方法。
第5部分介紹了系統硬件接口程序。包括人機對話通道接口程序如鍵盤、顯示器及計數/定時器等接口程序。
第6部分總線設計介紹了幾種常用的總線標準及芯片接口程序。如I2C接口程序、SPI接口處理程序及一總線接口處理程序等。
第7部分為通用軟件設計方法。介紹了程序語言編寫方法,L結構處理器的匯編語言編程技巧等。
由于作者開發設計L結構處理器應用軟件的時間不長,文檔中的錯誤與不妥之處在所難免,敬請諒解且請批評指正。
目錄
一、程序設計的要點 3
二、最簡硬件系統及其軟件設計框架 3
1、硬件系統最簡構成方案 3
2、軟件設計最基本框架 3
三、多任務 3
1、不相關聯的多任務 3
2、相同的運算程序段用多道程序處理 3
3、子程序在多道程序中的調用 3
4、多任務處理應以0道程序為基準 3
5、多任務中應建立好道程序的存儲數據區和共享數據區 3
四、多道程序間的同步與互斥 3
一)、多道程序同步與互斥 3
1. 由私人密鑰產生公開密鑰 3
2. 加密 3
3. 解密 3
4. 程序流程及密鑰求解 3
5. 同步方式與互斥方式細化多道程序的任務 3
6.啟動0道程序且數據初始化同時分發各道程序 3
7.1~30道程序中的同步與互斥處理 3
8.輸入明文 3
9. 同步并發1~15道加密程序 3
10. 同步并發16~30道解密程序 3
11. 輸出明文 3
二)、設置同步標志位 3
1.同步標志初始化 3
2.加密后開啟同步標志 3
3.同步標志啟動解密道程序 3
五、事件處理 3
1、多個不同事件的處理 3
2、同一事件多次發生的處理 3
3、多個不同事件的多次發生處理 3
六、硬件接口程序設計 3
1、 定時器程序設計方法及實例 3
2、 鍵盤設計 3
1)、簡單行列結構鍵盤設計 3
2)、外部事件觸發定時掃描行列鍵盤的設計 3
3)、編碼鍵盤 3
3、 顯示程序設計方法及實例 3
1)、串行接口8位共陰極LED驅動器MAX7219與LSSP的接口電路 3
2)、段式LCD顯示器與LSSP連結的驅動接口 3
七、總線標準常用芯片及程序設計 3
1、 I2C總線及接口程序設計 3
2、 SPI總線及接口程序設計 3
3、 一總線接口及程序設計 錯誤!未定義書簽。
八、常用程序的設計方法 3
1、 程序流程圖的畫法 3
2、 簡單程序 3
3、 分支程序 3
4、 循環程序 3
5、 查表程序 3
6、 子程序 3
7、 散轉程序 3
(1)、使用轉移指令表的散轉程序 3
(2)、使用地址偏移量的散轉程序 3
(3)、使用轉向地址表的散轉程序 3
(4)、使用轉向地址偏移量表的散轉程序 3
一、程序設計的要點
1. LSSP最多可支持32道程序的并發執行,程序道號依次為#0 - #31;
2. 0道程序應作為程序設計的基礎: 啟動或復位后,系統首先啟動0道執行。這樣在程序設計時,必須以0道程序為基礎,整個程序的規劃應以0道程序為基準。
3. 數據的共享:在設計多道程序中的一個主要問題是確定多道程序的數據共享,每道程序除了要完成本道的程序任務外,還要實現其它道程序之間的數據共享。在L結構處理器中,共享數據是通過定義共享數據(PD … ENDS)段實現的。
4. 0道程序負責共享數據的初始化:多道程序的共享數據一般由0道程序負責進行初始化,以保證多道程序的正常運行。
5. 0道程序根據系統設計的要求激活相應道的程序:每道程序都由0道程序激活執行,也只有0道程序才能激活其它道程序。
6. 0道程序激活某道程序后,在該道程序處于執行狀態時,0道程序不得再次激活該道程序;只有當該道程序執行結束且退出后,0道程序才能再次激活該道程序。
7. 其它道程序不能激活程序。
8. 程序存儲單元的區域范圍為0000H—7FFF,每個存儲單元為32位二進制的數。
9. 數據存儲單元的區域范圍為0000H—3FE0,每個存儲單元為16位二進制的數。
10. 每道程序都有各自獨立的16個通用寄存器。
11. 由22個特殊寄存器,用于訪問外部EEPROM和RAM的地址寄存器、訪問外部EEPROM和SRAM的數據寄存器、用戶可編程的I/O以及Watchdog寄存器等。具體使用方式,請詳見《說明書》。
二、最簡硬件系統及其軟件設計框架
1、硬件系統最簡構成方案
LSSP芯片有100個腳位,它與AT28LV010芯片相連可組成最簡的LSSP硬件應用系統。AT28LV010是一款擁有1Mbit電可擦除的只讀存儲器。LSSP系統每條匯編指令占32位,有220
評論