資料介紹
目標:本實驗專門用于介紹PSoC CPU 的中斷句柄。注意這個實驗分成7 個部分:LAB2A 到LAB 2G 。在繼續下一個實驗前,要成功地完成每一個部分。
?
完成這個實驗后,讀者應能做到:
用C 語言寫控制程序;
理解如何處理一個發布的中斷;
理解如何處理一個未處理的中斷;
將CPU 設置在休眠模式,然后用休眠定時器未處理的中斷喚醒它;
使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
在中斷向量表空間中,放置一個小的中斷服務程序ISR。
?
假設:
所有先前實驗的假設;
使能編譯器用于開發系統。
?
要求的材料:
CY3210 PSoCEval1 板子;
面包板線。
?
要求的設備:
?無。
?
相關的參考資料
所有前面實驗的參考資料;
Cypress C 語言編譯器用戶指南。
?
中斷控制器為PSoC 混合信號陣列內的不同硬件資源提供了一種機制,可以將程序的執行改變到新的地址,而不需要考慮當前正在執行的任務。圖1.13 給出了中斷處理的方塊圖。
?
對于CPU,要識別一個特殊資源的中斷,下面必須是真(有效)的:
必須設置它的中斷使能屏蔽;
?
圖1.13 中斷處理
它必須是所有未處理中斷中,級別最高的;必須設置全局中斷使能。CPU 通過下面響應這個請求:將當前程序計數器的值保存起來;將當前標志寄存器的值保存起來。跳轉到指定的中斷向量地址。對于27x 系列的器件,有18 個不同的中斷源。
?
表1.2 從最高優先級到最低優先級,給出了每個中斷源和它的向量地址。
?
表1.2?中斷向量表
?
在中斷服務程序的末尾,先前程序計數器和標志寄存器的值被恢復到它們原來的值,原先的程序從離開它的地方繼續。
?
練習2A-1 :假設正確的使能全局中斷和中斷屏蔽,可能永遠不能服務較低優先級的中斷。這是為什么?
1.2.1 實驗2A—發布中斷
使用INT_CLRx 寄存器訪問發布的中斷。通過INT_CLR0 寄存器的第6 比特位來控制休眠定時器發布中斷。當該位的值為“1”時,將發布一個定時器的中斷。將該位設置為“0”時,將清除所發布的中斷。
步驟1:創建新的工程。
工程名字為Lab2A
—選擇C 選項;
—用于器件類型及其設置的標準實驗設置;
—轉到互聯界面,將全局參數Sleep_Timer 設置為1Hz (這將使得休眠定時器每一秒鐘產生一個等待處理的中斷);
—按表1.3 設置四個端口引腳。
表1.3 端口驅動設置
名字(Name)端口(Port)選擇(Select)驅動(Drive)
LedOut1P1[0]StdCPUStrong
LedOut2P1[1]StdCPUStrong
LedOut3P1[2]StdCPUStrong
LedOut4P1[3]StdCPUStrong
步驟2:在Eval1 板子上添加跳線。
使用跳線進行下面的連接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成應用。步驟3:寫軟件。·轉到應用程序編輯器,打開如圖1.14 所示的main.c 文件。如圖1.15 所示,添加代碼。該程序應注意:bShadow 定義成一個全局單字節變量。INT_CLR0 寄存器用來監視和清除休眠定時器已經發布的中斷。
?
完成這個實驗后,讀者應能做到:
用C 語言寫控制程序;
理解如何處理一個發布的中斷;
理解如何處理一個未處理的中斷;
將CPU 設置在休眠模式,然后用休眠定時器未處理的中斷喚醒它;
使用匯編語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
使用C 語言編寫的中斷句柄,來操作在C 程序里聲明的一個全局變量;
在中斷向量表空間中,放置一個小的中斷服務程序ISR。
?
假設:
所有先前實驗的假設;
使能編譯器用于開發系統。
?
要求的材料:
CY3210 PSoCEval1 板子;
面包板線。
?
要求的設備:
?無。
?
相關的參考資料
所有前面實驗的參考資料;
Cypress C 語言編譯器用戶指南。
?
中斷控制器為PSoC 混合信號陣列內的不同硬件資源提供了一種機制,可以將程序的執行改變到新的地址,而不需要考慮當前正在執行的任務。圖1.13 給出了中斷處理的方塊圖。
?
對于CPU,要識別一個特殊資源的中斷,下面必須是真(有效)的:
必須設置它的中斷使能屏蔽;
?
圖1.13 中斷處理
它必須是所有未處理中斷中,級別最高的;必須設置全局中斷使能。CPU 通過下面響應這個請求:將當前程序計數器的值保存起來;將當前標志寄存器的值保存起來。跳轉到指定的中斷向量地址。對于27x 系列的器件,有18 個不同的中斷源。
?
表1.2 從最高優先級到最低優先級,給出了每個中斷源和它的向量地址。
?
表1.2?中斷向量表
中斷源 | 向量位置 |
硬件復位 | 0x0000 |
供電監視器 | 0x0004 |
模擬列0 | 0x0008 |
模擬列1 | 0x000c |
模擬列2 | 0x0010 |
模擬列3 | 0x0014 |
VC3 | 時鐘 |
GPIO | 0x001c |
數字塊00 | 0x0020 |
數字塊01 | 0x0024 |
數字塊02 | 0x0028 |
數字塊03 | 0x002c |
數字塊10 | 0x0030 |
數字塊11 | 0x0034 |
數字塊12 | 0x0038 |
數字塊13 | 0x003c |
I2C | 0x0060 |
休眠定時器 | 0x0064 |
在中斷服務程序的末尾,先前程序計數器和標志寄存器的值被恢復到它們原來的值,原先的程序從離開它的地方繼續。
?
練習2A-1 :假設正確的使能全局中斷和中斷屏蔽,可能永遠不能服務較低優先級的中斷。這是為什么?
1.2.1 實驗2A—發布中斷
使用INT_CLRx 寄存器訪問發布的中斷。通過INT_CLR0 寄存器的第6 比特位來控制休眠定時器發布中斷。當該位的值為“1”時,將發布一個定時器的中斷。將該位設置為“0”時,將清除所發布的中斷。
步驟1:創建新的工程。
工程名字為Lab2A
—選擇C 選項;
—用于器件類型及其設置的標準實驗設置;
—轉到互聯界面,將全局參數Sleep_Timer 設置為1Hz (這將使得休眠定時器每一秒鐘產生一個等待處理的中斷);
—按表1.3 設置四個端口引腳。
表1.3 端口驅動設置
名字(Name)端口(Port)選擇(Select)驅動(Drive)
LedOut1P1[0]StdCPUStrong
LedOut2P1[1]StdCPUStrong
LedOut3P1[2]StdCPUStrong
LedOut4P1[3]StdCPUStrong
步驟2:在Eval1 板子上添加跳線。
使用跳線進行下面的連接—P10 到LED1 —P11 到LED2 —P12 到LED3
P13 到LED4 。生成應用。步驟3:寫軟件。·轉到應用程序編輯器,打開如圖1.14 所示的main.c 文件。如圖1.15 所示,添加代碼。該程序應注意:bShadow 定義成一個全局單字節變量。INT_CLR0 寄存器用來監視和清除休眠定時器已經發布的中斷。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- [IC]淺談嵌入式MCU軟件開發之中斷優先級與中斷嵌套
- 嵌入式雜談之中斷向量表
- 【嵌入式】按鍵中斷控制 LED 及蜂鳴器實驗
- 嵌入式軟件開發基礎實驗報告中斷實驗
- ucosII嵌入式實時操作系統實驗
- Microchip嵌入式電源和混合信號技術
- 嵌入式外中斷c語言代碼
- 嵌入式系統實驗——Keil使用教程 22次下載
- 如何使用嵌入式ARM實現信號采樣及QT圖形顯示 17次下載
- 四個嵌入式系統設計的實驗指導書資料免費下載 5次下載
- ARM嵌入式系統教程之ARM嵌入式系統的四個實驗介紹 20次下載
- 是德科技使用混合信號示波器調試嵌入式混合信號設計 12次下載
- 使用泰克混合信號示波器調試混合信號嵌入式設計應用指南 17次下載
- 泰克嵌入式系統及混合信號電路測試解決方案
- 用混合信號示波器調試嵌入式混合信號設計
- 嵌入式fpga是什么意思 992次閱讀
- fpga是嵌入式嗎 1767次閱讀
- 什么是嵌入式系統?嵌入式系統的具體應用 2096次閱讀
- 嵌入式到底是什么?如何學習嵌入式比較好 3675次閱讀
- 淺談嵌入式MCU的中斷處理 8871次閱讀
- 關于嵌入式系統以及嵌入式平臺下的學科分工詳解 1855次閱讀
- 一種通過嵌入式互聯網技術控制在線嵌入式設備的遠程監控系統設計 3641次閱讀
- 關于嵌入式串口同步幀數方法解析知識你知道多少?該怎么樣才能學好嵌入式技術? 1395次閱讀
- 關于以Cortex-A8內核為基礎的嵌入式實驗平臺方案設計詳解 1788次閱讀
- 一文知道UltraFast嵌入式設計方法指南 2452次閱讀
- 嵌入式行業發展狀況_嵌入式行業人才需求_嵌入式系統就業前景分析 2.3w次閱讀
- 嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 1566次閱讀
- PCI總線的中斷信號與中斷控制器的連接關系 6398次閱讀
- 嵌入式系統的信號完整性理論分析 1220次閱讀
- 典型的嵌入式系統設計 2650次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多