版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于TMS320LF2407按鍵計(jì)數(shù)器設(shè)計(jì)一說明在控制電路中,通常需要以按鍵來控制程序執(zhí)行流程或是輸入數(shù)據(jù)。在圖4.1中,4個(gè)按鍵K1K4分別對應(yīng)TMS320LF2407芯片的引腳IOPF3IOPF4作為I/O端口 的輸入,8只發(fā)光二極管LED1I LED8通過SW-DIP8撥碼開關(guān)和74HC273鎖存器 芯片分別對應(yīng)TMS320LF2407芯片的引腳IOPF0IOPF7作為I/O端口的輸出。本 設(shè)計(jì)僅使用一條I/O引腳,借助軟件查詢方法點(diǎn)亮8只發(fā)光二極管。本設(shè)計(jì)中的K1鍵對應(yīng)的TMS320LF2407輸入I/O弓I腳為I0PF3,當(dāng)按下K1鍵, 則將所對應(yīng)的端口 F數(shù)據(jù)和方向控制寄存器(PF
2、DATDIR )的第3位為(I0PF3引 腳)0,同時(shí)點(diǎn)亮發(fā)光二極管。二.內(nèi)容1.設(shè)計(jì)并調(diào)試用于TMS320LF2407芯片的計(jì)數(shù)程序,要求由按鍵 K1作輸入并對 其進(jìn)行計(jì)數(shù),計(jì)數(shù)的結(jié)果由LED7LED0發(fā)光二極管以二進(jìn)制方式顯示。2. 對程序稍作改動(dòng),用K4按鍵完成上述功能。hl HL&hU1 fKta1 c 11f1 -1屮1 LI!E> 1t I F3T 1H 1rMilJ 1三.硬件電路111 r iiB圖4.1 TMS320LF2407與鍵盤、LED接口電路四.參考程序清單通過編程,設(shè)計(jì)一個(gè)按鍵計(jì)數(shù)器,要求剛接通電源時(shí),8只發(fā)光二極管都不亮,表示計(jì)數(shù)器的初始值為0,即二
3、進(jìn)制數(shù)的00000000B;當(dāng)按下K1鍵時(shí),計(jì)數(shù)器的值 加1,發(fā)光二極管LED0點(diǎn)亮,表示二進(jìn)制數(shù)的00000001B,然后松開按鍵;再次 按下K1鍵時(shí),計(jì)數(shù)器的值又加1,發(fā)光二極管LED1點(diǎn)亮,表示二進(jìn)制數(shù)的 00000010B,然后再松開按鍵;依次類推。直到按動(dòng)了255次按鍵時(shí),發(fā)光二極管LED7LED0會(huì)全部點(diǎn)亮,其后的一次K1鍵按下時(shí)將使計(jì)數(shù)器回0,就這樣循環(huán) 往復(fù)。C語言程序(1)所需的復(fù)位和中斷向量定義文件“vectors.asm同于前。在這以后的所有例程中,如果沒有特別說明,vectors.asm 都是相同的。(2主程序源程序代碼:#include "register&
4、quot;" int m=OxOOO1;initial( asm(" setc SXM"asm(" clrc OVM"asm(" clrc CNF"*SCSR1=0x81FE;*WDCR=0x0E8;*IMR=0x0000;*IFR=0x0FFFF;*MCRA=*MCRA&0x0FF;*P FDATDIR=* PFDATDIR|0x0400;*P BDATDIR=* PBDATDIR|0x0FF00;*P FDATDIR=* PFDATDIR|0x0404;*P FDATDIR=* PFDATDIR&0 xF
5、FFB;void inline disable( asm(" setc INTM"int keyscan( int k,j;k=* PFDATDIR&0X0008;if(k=0x0008 k=0;elsek=1;if(k=1for(j=30000;j>0;j-j=j;k=* PFDATDIR&0x0008;if(k=0x0008k=0;elsek=1;retum(k;int keyserve(int k;k=* PFDATDIR&0x0008;if(k=0x0000*P BDATDIR=(* PBDATDIR&0xFF00+m+;els
6、e*P BDATDIR=* PBDATDIR;*P FDATDIR=* PFDATDIR|0x0404;*P FDATDIR=* PFDATDIR&0 xFFFB;main(disable(;initial(;while(1 int i;i=0;i=keyscan(;if(i=1 keyserve(;void interr upt nothing( return;匯編程序;鍵盤與發(fā)光二極管配合使用程序 st0_te mp .usect ".b20",1 ;60 st1_te mp .usect ".b20",1 ;61 context .usec
7、t ".b20",7 ;62-68STACK .usect ".stack",40IOSFT_REG .usect ".data0",1 ;顯示數(shù)據(jù)移位寄存器IO_COUNT .usect ".data0",1 ;延時(shí)計(jì)數(shù)寄存器IO_DATA .usect ".data0",1 ;I/O 臨時(shí)數(shù)據(jù)緩沖區(qū)LEDXS .usect ".data0",1 ;LED 顯示的數(shù)據(jù)LEDFLAG .usect ".data0",1 ;LED 顯示標(biāo)志寄存器K1FLAG
8、 .usect ".data0",1 ;K1 標(biāo)志寄存器KEYDATA .usect ".data0",1 ;讀得鍵盤值存放寄存器DP USER .set 5.def c into;(1)建立中斷向量表 .sect ".vectors"定義主向量段RSVECT B _c_intO ;PM 0 Reset Vector 1INT1 B PH ANTOM ;PM 2 Int level 1 4INT2 B GISR2 ;PM 4 Int level 2 5INT3 B PH ANTOM ;PM 6 Int level 3 6INT4 B
9、PH ANTOM ;PM 8 Int level 4 7INT5 B PH ANTOM ;PM A Int level 5 8INT6 B PH ANTOM ;PM C Int level 6 9RESERVED B PH ANTOM ;PM E (Analysis Int 10SW_INT8 B PH ANTOM ;PM 10 User S/W intSW_INT9 B PH ANTOM ; PM 12 User S/W int -SW_INT10 B PH ANTOM ; PM 14 User S/W int -SW_INT11 B PH ANTOM ; PM 16 User S/W in
10、t -SW_INT12 B PH ANTOM ; PM 18 User S/W int -SW_INT13 B PH ANTOM ; PM 1A User S/W int -SW_INT14 B PH ANTOM ; PM 1C User S/W int -SW_INT15 B PH ANTOM ; PM 1E User S/W int -SW_INT16 B PH ANTOM ; PM 20 User S/W int -TRA P B PH ANTOM ; PM 22 Trap vector -NMI B PH ANTOM ; PM 24 Non maskable Int3EMU_TRA P
11、 B PH ANTOM ; PM 26 Emulator Trap2SW_INT20 B PH ANTOM ; PM 28 User S/W int -SW_INT21 B PH ANTOM ; PM 2A User S/W int -SW_INT22 B PH ANTOM ; PM 2C User S/W int -SW_INT23 B PH ANTOM ; PM 2E User S/W int -SW_INT24 B PH ANTOM ; PM 30 User S/W int -SW_INT25 B PH ANTOM ; PM 32 User S/W int -SW_INT26 B PH
12、ANTOM ; PM 34 User S/W int -SW_INT27 B PH ANTOM ; PM 36 User S/W int -SW_INT28 B PH ANTOM ; PM 38 User S/W int -SW_INT29 B PH ANTOM ; PM 3A User S/W int -SW_INT30 B PH ANTOM ; PM 3C User S/W int -SW_INT31 B PH ANTOM ;PM 3E User S/W int沖斷子向量入口定義 p vecs .sect ". pvecs"定義子向量段PVECTORS B PHANTO
13、M ;保留向量地址偏移量 -OOOOhB PHANTOM ;保留向量地址偏移量-0001hB PHANTOM ;保留向量地址偏移量-10B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-05B PH ANTOM ; SCI_RX_ISR; 保留向量地址偏移量B PH ANTOM ; SCI_TX_ISR ; 保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量
14、B PHANTOM ;保留向量地址偏移量-0AB PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-15B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向
15、量地址偏移量B PHANTOM ;保留向量地址偏移量-1AB PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-20B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-25B PHANTOM ;保留向量地址偏移量-0026hB T1GP_ISR ;保留向量地址偏
16、移量-0027h T1PINT 中斷B PHANTOM ;保留向量地址偏移量-0028hB PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-2AB PHANTOM ;保留向量地址偏移量B PH ANTOM ;保留向量地址偏移量B PH ANTOM ;保留向量地址偏移量B PH ANTOM ; pvector addr offset 0x02f - T3PINTB PHANTOM ;保留向量地址偏移量-30B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B
17、 PHANTOM ;保留向量地址偏移量-35B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-3AB PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-3FB PH ANTOM ; CANMBX_ISR ; 保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-0041h;(2)主程序 .te
18、xtc int0CALL SYSINIT ;調(diào)系統(tǒng)初始化程序CALL KEYLEDINIT ; 調(diào)鍵盤和LED初始化程序LDP #DPUSER ;指向 0280h0300h 區(qū)SPLK #01H,IOSFT_REG ;寄存器和標(biāo)志初始化SPLK #00H,IO_COUNTSPLK #001H,IO_DATASPLK #001H,LEDXSSPLK #00H,LEDFLAG ;LEDFLAG.0=1 表示 K1,K2,K3 按下;LEDFLAG.0=0 表示 K4 按下SP LK #01H,K1FLAGCLRC INTM ;開總中斷LOOP: CALL KEY ;調(diào)鍵盤程序,即掃描鍵盤LDP #
19、DP USERBIT LEDFLAG,15BCND LEDBD1,TCLACL IO COUNTSUB #03E8HBCND WAIT,LEQ ;判 10 s 延時(shí)到否LEDBD1: SPLK #00H,IO_COUNTLDP #DP PF2LACL P FDATDIROR #0404H ;IO PF2=1SACL PFDATDIR ;開 74HC273 片選信號LDP #DP USERLACL LEDXSOR #0FF00H ;IOPB 口為輸出方式LDP #DP PF2SACL PBDATDIR ;送要顯示的數(shù)據(jù)到lOPB 口LACL P FDATDIRAND #0FFFBH ;IO PF
20、2=0SACL PFDATDIR ;關(guān) 74HC273 片選信號LDP #DP USERBIT LEDFLAG,15BCND LEDBD2,TCLACL LEDXSSFLSACL LEDXSLACL lOSFT REGSFLSACL lOSFT REGBIT IOSFT_REG,BIT8 ;判是否循環(huán)完一次BCND LOOP 1,TCB WAITLOOP 1: LDP #DP USERSPLK #01H,IOSFT_REG ;賦初值LEDBD2: LACL IO DATASACL LEDXSWAIT: NOPB LOOP;(3)系統(tǒng)初始化程序SYSINIT:SETC INTMCLRC SXMC
21、LRC OVMCLRC CNF ;B0區(qū)被配置為數(shù)據(jù)空間LDP #0E0H ;指向 7000h 7080h 區(qū)SPLK #81FEH,SCSR1 ;時(shí)鐘 4 倍頻,CLKIN=6 M,CLKOUT=24 MSPLK #0E8H,WDCR ;不使能 WDTLDP #0SPLK #02H,IMR ;使能中斷優(yōu)先級INT2SPLK #0FFFFh,IFR ;清中斷標(biāo)志LDP #DP_EVA ;指向 7400h 7480h 區(qū)SPLK #80H,EVAIMRA ;使能 T1PINT 中斷SPLK #0FFFFh,EVAIFRA ;清 EVA 中斷標(biāo)志SPLK #0,G PTCONASPLK #0EA6
22、H,T1 PR ;使定時(shí)器每10 ms產(chǎn)生一次中斷SPLK #0,T1CNTSPLK #0164CH,T1CON ;設(shè)置通用定時(shí)器1RET;(4)鍵盤和發(fā)光二極管初始化程序KEYLEDINIT:LDP #DP PF2LACL MCRCAND #083FFH ;IOPF2,IOPF3 6配置為一般的 I/O 口SACL MCRCLACL MCRAAND #000FFH ;IOPB0 7配置為一般的 I/O 口SACL MCRALACL P FDATDIROR #0400H ;IOPF2為輸出方式AND #08787H ;IOPF3 6為輸入方式SACL P FDATDIRLACL P BDATD
23、IROR #0FF00H ;IOPB07為輸出方式SACL P BDATDIRRET;(5)鍵盤程序KEY:CALL READKEY ;調(diào)讀鍵程序LACL KEYDATABCND KEYRET,EQ ;ACC=O?CALL KEYDELAY材料:玉米粒50克,胡蘿卜30克,生菜30克,雞蛋3個(gè),面粉100克椒粉各少許;做法:1.先將雞蛋打散成蛋液,加入少許胡椒粉拌勻,胡蘿卜洗凈切瀝干切碎,蔥切花;2.將胡蘿卜粒和玉米粒放入沸水中煮熟后瀝干待用;3. 面粉中加入適量的鹽,再倒入雞蛋液,加入適量的水?dāng)嚢璩?. 放入瀝干的胡蘿卜粒和玉米粒、生菜、蔥花,再加入少許芝;再一次讀鍵值LACL KEYDAT
24、ABCND KEYRET,EQLDP #DPUSER ;判斷按鍵情況BIT KEYDATA,15BCND KEYRET,NTCCALL K1 ; "+"鍵按下B KEYRETKEYRET: LACL KEYDATAAND #OFFFOH ;清讀取的鍵值寄存器SACL KEYDATARET;(6)讀鍵子程序READKEY:LDP #DP PF2LACL PFDATDIR ;取出鍵值 PFDATDIR.3 PFDATDIR.6RPT #2SFR ;右移3位OR #OFFFOH ;屏蔽高4位(用到4個(gè)鍵)CMPLLDP #DP USERSACL KEYDATA ;存放鍵值RET;(7)用軟件延時(shí)30mS消抖動(dòng)KEYDELAY:LACC #6000KEYD1: SUB #1RPT #80NOPBCND KEYD1,NEQRET;(8)鍵子程序K1: ;"+"鍵子程序READK1: CALL KE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024美團(tuán)商家入駐平臺合作協(xié)議及客戶服務(wù)承諾3篇
- 2024熟石灰采購合同范本
- 二零二五版高端個(gè)性化二婚離婚補(bǔ)償協(xié)議定制合同
- 2025年度金融科技產(chǎn)品服務(wù)水平協(xié)議2篇
- 2024年項(xiàng)目性勞動(dòng)合同
- 2025版公立醫(yī)療機(jī)構(gòu)與學(xué)校醫(yī)務(wù)室共建項(xiàng)目合同3篇
- 二零二五版民品典當(dāng)借款合同法律適用說明4篇
- 租賃合同(2025年度):魚池場地租賃、養(yǎng)殖技術(shù)指導(dǎo)及分成3篇
- 長白山職業(yè)技術(shù)學(xué)院《漢字及其教學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)生體育活動(dòng)中的團(tuán)隊(duì)協(xié)作能力培養(yǎng)
- 海外資管機(jī)構(gòu)赴上海投資指南(2024版)
- 山東省青島市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 墓地銷售計(jì)劃及方案設(shè)計(jì)書
- 從偏差行為到卓越一生3.0版
- 優(yōu)佳學(xué)案七年級上冊歷史
- 鋁箔行業(yè)海外分析
- 紀(jì)委辦案安全培訓(xùn)課件
- 超市連鎖行業(yè)招商策劃
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 【公司利潤質(zhì)量研究國內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國地區(qū)碼
評論
0/150
提交評論