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