定時(shí)數(shù)碼管顯示實(shí)驗(yàn)_第1頁(yè)
定時(shí)數(shù)碼管顯示實(shí)驗(yàn)_第2頁(yè)
定時(shí)數(shù)碼管顯示實(shí)驗(yàn)_第3頁(yè)
定時(shí)數(shù)碼管顯示實(shí)驗(yàn)_第4頁(yè)
定時(shí)數(shù)碼管顯示實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、定時(shí)數(shù)碼管顯示實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)器材硬件接線軟件功能備注說(shuō)明1實(shí)驗(yàn)?zāi)康模篖CD與定時(shí)中斷的聯(lián)合編程,顯示時(shí)鐘2實(shí)驗(yàn)器材:1.SD-1型在線編程實(shí)驗(yàn)儀2.導(dǎo)線若干3硬件接線:使用實(shí)驗(yàn)板固定接線(PTB0,1,2,3,4,5,6,7分別接LA,LB,LC,LD,LE,LF,LG,LDP PTC0,1,2,3分別接L11,L12,L13,L14)4軟件功能:手動(dòng)設(shè)置當(dāng)前時(shí)間顯示時(shí)鐘5程序清單:口地址定義寄存器地址內(nèi)存變量定義主程序掃描子程序轉(zhuǎn)碼子程序顯示子程序延時(shí)子程序定時(shí)器1溢出中斷子程序中斷矢量6軟件功能:運(yùn)行時(shí)請(qǐng)與標(biāo)準(zhǔn)時(shí)間進(jìn)行校對(duì)7口地址定義PTA EQU $0000 ;A口數(shù)據(jù)寄存器DDRA

2、EQU $0004 ;A口數(shù)據(jù)方向寄存器PTB EQU $0001 ;B口數(shù)據(jù)寄存器DDRB EQU $0005 ;B口數(shù)據(jù)方向寄存器PTC EQU $0002 ;C口數(shù)據(jù)寄存器DDRC EQU $0006 ;C口數(shù)據(jù)方向寄存器PTD EQU $0003 ;D口數(shù)據(jù)寄存器DDRD EQU $0007 ;D口數(shù)據(jù)方向寄存器PTDPUE EQU $000F 8寄存器地址T1SC EQU $0020 ;定時(shí)器1狀態(tài)和控制寄存器T1CNTHEQU $0021 ;定時(shí)器1計(jì)數(shù)寄存器(高位)T1CNTLEQU $0022 ;定時(shí)器1計(jì)數(shù)寄存器(低位)T1MODHEQU $0023 ;定時(shí)器1模數(shù)寄存器(高

3、位)T1MODLEQU $0024 ;定時(shí)器1模數(shù)寄存器(低位)RAMstartAddr equ $0040 ;RAM的起始地址(因芯片不同可以更改)FlashStartAddr equ $8000 ;程序開(kāi)始地址(因芯片不同可以更改)9內(nèi)存變量定義 ORG RAMstartAddrShow_Buffer RMB 8 ;存放待顯示的數(shù)據(jù)Cs RMB 1 ;位選信號(hào)Sec RMB 1Min RMB 1Hou RMB 1I1 RMB 110主程序*-主程序- ORG FlashStartAddr ;初始化NOP ;初始化 SEI ;禁止所有中斷 LDHX #$023F ;堆棧初始化,放入GP32的

4、RAM最高端 TXS ;系統(tǒng)初始化 MOV #%00000001,$001E ;初始化CONFIG2,內(nèi)部總線時(shí)鐘用作SCI的時(shí)鐘 MOV #%00111101,$001F ;初始化CONFIG1,允許LVI復(fù)位信號(hào), ;禁止LIV模塊的電源,LIV工作在5V, ;經(jīng)過(guò)32個(gè)周期退出STOP模式,禁止COP模塊 CLR $0036 ;清零,初始化PCTL, MOV #$01,$0036 MOV #$01,$0038 MOV #$2C,$0039 MOV #$80,$003A BSET 5,$0036 BSET 7,$0037 ;自動(dòng)方式 BSET 4,$0036 ;選擇PLL為系統(tǒng)時(shí)鐘源11主

5、程序續(xù)LDA #$FF ;定義A口為輸出 STA DDRA LDA #$FF ;定義B口為輸出 STA DDRB LDA #$FF ;定義C口為輸出 STA DDRC LDA #$00 ;定義A口之前復(fù)位PTA STA PTD ;D口 STA DDRD ;輸入 LDA #$FF ;定義D口有上拉電阻 STA PTDPUE ;STA PTD ;定時(shí)器1初始化 LDA #%01100110 ;允許溢出中斷、不啟動(dòng)計(jì)數(shù)、分頻因子=64 STA T1SC LDHX #$0000 ;計(jì)數(shù)寄存器初值=$0000 STHX T1CNTH LDHX #$9600 ;設(shè)1秒產(chǎn)生1次溢出中斷 STHX T1MOD

6、H ;模數(shù)寄存器設(shè)定值=1(2457600/64)=$9600 ;設(shè)置初始時(shí)間 MOV #$7F,Show_Buffer+2 MOV #$7F,Show_Buffer+5 MOV #$00,Sec12主程序續(xù) MOV #$00,Min MOV #$00,Hou ;- 設(shè)置當(dāng)前時(shí)間-SetUp: JSR Scan SetSec: BRSET 0,PTD,SetMin INC Sec LDA Sec CMP #!59 BNE SetMin MOV #!0,SecSetMin: BRSET 1,PTD,SetHou INC Min LDA Min CMP #!59 BNE SetHou MOV #!

7、0,Min13主程序續(xù)SetHou: BRSET 2,PTD,SetExit INC Hou LDA Hou CMP #!23 BNE SetExit MOV #!0,Hou SetExit: BRCLR 3,PTD,SetExit2 Mov #$FF,I1ScanDlay: JSR SCAN DBNZ I1,ScanDlay JMP SetUpSetExit2: BCLR 5,T1SC ;允許定時(shí)器1計(jì)數(shù)寄存器計(jì)數(shù) CLI 14掃描子程序Scan: LDA Hou LDHX #Show_Buffer JSR Trans1 LDA Min LDHX #Show_Buffer+3 JSR Tra

8、ns1 LDA Sec LDHX #Show_Buffer+6 JSR Trans1 JSR Show_Num ;顯示起始數(shù)據(jù) RTS15轉(zhuǎn)碼子程序Trans1: PSHA PSHH PSHX LDHX #$000A DIV LDHX #$0000 TAX LDA Table,X PULX PULH STA ,X AIX #$1 PULA16轉(zhuǎn)碼子程序續(xù) PSHH PSHX LDHX #$000A DIV PSHH PULA LDHX #$0000 TAX LDA Table,X PULX PULH STA ,X RTS Table FCB $C0,$F9,$A4,$B0,$99,$92,$8

9、2,$F8,$80,$90,$40,$4F,$24,$30,$19,$12,$02,$78,$00,$10,$7f ;顯示碼表 0 1 2 3 4 5 6 7 8 9 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. . ; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 17顯示子程序Show_Num: PSHH ;進(jìn)棧,保存HX,A中內(nèi)容 PSHX PSHA LDHX #$0000 ;清空緩沖區(qū) MOV #$01,CS ;先取第一個(gè)數(shù)Show_Num_Loop: LDA Show_Buffer,X ;取出Show_Buff

10、er中一個(gè)字符放入A STA PTB PSHX PSHH AIX #$4 LDA Show_Buffer,X ;取出Show_Buffer中一個(gè)字符放入A STA PTA 18顯示子程序續(xù)LDA CS ;將A中第一個(gè)數(shù)存入C中輸出 STA PTC LDA #!100 ;延時(shí)100毫秒 JSR Delay_ns ASL CS ;算術(shù)左移,修改位選信號(hào) PULH PULX AIX #!1 CPX #!4 ;判斷掃描是否完畢 BLO Show_Num_Loop ;小于4則循環(huán) ;- PULA ;出棧 PULX PULH RTS 19延時(shí)子程序1Delay_ms: LDA #!248 ;0.5ms J

11、SR Delay_ns LDA #!248 ;0.5ms JSR Delay_ns AIX #-!1 CPHX #!0 BNE Delay_ms ;4Cycles RTS ;4Cycles20延時(shí)子程序2Delay_ns: NOP ;1Cycles NOP ;1Cycles DBNZA Delay_ns ;3Cycles RTS ;4Cycles21定時(shí)器1溢出中斷子程序Timer1OvF: INC Sec LDA Sec CMP #!60 BLO Tim1OvF_Exit CLR Sec INC Min ;一分到 LDA Min CMP #!60 BLO Tim1OvF_Exit CLR Min I

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論