欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4338|回復: 2
打印 上一主題 下一主題
收起左側

跪求呀~~誰能帶我看看我那程序錯哪了,在線等

[復制鏈接]
跳轉到指定樓層
樓主
ID:39804 發表于 2012-5-6 22:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
ORG 0000H SJMP MAIN ORG 000BH LJMP DVT0 ;定時器T0中斷 ORG 0030H MAIN:MOV SP ,#50H ;設置堆棧區 MOV 31H,#0 MOV 30H,#0 ;計數單元清零 MOV 7AH,#10 MOV 7BH,#10 MOV 7CH,#10 MOV 7DH,#10 ;復位狀態字型碼送緩沖區 MOV 01H,#14H MOV TMOD,#51H ;設置T0、T1工作方式字 MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#0 MOV TL1,#0 ;T0、T1置初值 LOOP1:LCALL DISPLAY ;重復顯示、查鍵 LCALL KEY CLR C CJNE A,#0FH,LOOP2 LOOP2:JNC LOOP1 CJNE A,#00H,LOOP3 ;啟動鍵沒被按下 SETB ET0 SETB TR0 SETB EA SETB TR1 LJMP LOOP1 LOOP3:CJNE A,#01H,LOOP4 ;停止鍵沒被按下 CLR TR1 CLR TR0 CLR ET0 CLR EA LJMP LOOP1 LOOP4:CJNE A,#02H,LOOP1 ;復位鍵沒被按下 LJMP MAIN DVT0:PUSH PSW ;T0中斷程序 PUSH ACC ;相關內容入棧保護 MOV TH0,#3CH MOV TL0,#0B0H ;T0重裝初值 DJNZ 01H,RTN ;1s定時未到 MOV 01H,#14H CLR ET0 CLR TR1 CLR EA CLR TR0 MOV 31H,TH1 MOV 30H,TL1 MOV TH1,#0 MOV TL1,#0 ;計數器T1清零,準備下一輪計數 LCALL HEX_BCD LCALL DISPLAY SETB ET0 SETB TR1 SETB EA SETB TR0 RTN: POP ACC POP PSW RETI HEX_BCD: ;數碼轉化子程序 PUSH PSW SETB RS0 SETB RS1 MOV A,30H MOV B,#60 MUL AB MOV 31H,B MOV 30H,A LCALL EXCH ;二進制到BCD碼的轉化 MOV A,33H ;以下是將轉化后的BCD碼存入相應緩沖區 ANL A,#0FH MOV 7BH,A MOV A,33H SWAP A ANL A,#0FH MOV 7AH,A MOV A,32H ANL A,#0FH MOV 7DH,A MOV A,32H SWAP A ANL A,#0FH MOV 7CH,A CLR RS0 CLR RS1 POP PSW RET EXCH:MOV 40H,#0 MOV 41H,#0 MOV R7,#10H LP1: MOV R0,#30H MOV R6,#2 CLR C LP2: MOV A,@R0 RLC A MOV @R0,A INC R0 DJNZ R6,LP2 MOV R1,#41H MOV R5,#02H LP3: MOV A,@R1 ADDC A,@R1 DA A MOV @R1,A DEC R1 DJNZ R5,LP3 DJNZ R7,LP1 MOV 33H,40H MOV 32H,41H RET KEY:PUSH PSW ; 按鍵掃描子程序 JB P3.0,X1 LCALL DISPLAY ;延時去抖 JB P3.0,X1 MOV A,#0 SJMP X4 X1:JB P3.1,X2 LCALL DISPLAY JB P3.1,X2 MOV A,#1 SJMP X4 X2:JB P3.2,X3 LCALL DISPLAY JB P3.2,X3 MOV A,#2 SJMP X4 X3:MOV A,#0FH X4:POP PSW RET DISPLAY:PUSH ACC ;顯示子程序 PUSH PSW ;A,PSW入棧 SETB RS1 SETB RS0 MOV DPTR,#TAB MOV R0,#7AH MOV R6,#0FEH ;掃描顯示初始化 NEXT:MOV A,@R0 ;四位輪流掃描顯示 MOVC A,@A+DPTR MOV P0,A MOV A,R6 MOV P2,A LCALL DELAY MOV P2,#0FFH ;顯示中的消隱處理 INC R0 RL A MOV R6,A CJNE R6,#0EFH,NEXT POP PSW POP ACC RET DELAY:MOV R4,#4 ;軟件延時1ms DLY:MOV R7,#123 DJNZ R7,$ DJNZ R4,DLY RET TAB: DB 0C0H ;0 ;字形編碼表 DB 0F9H ;1 DB 0A4H ;2 DB 0B0H ;3 DB 99H ;4 DB 92H ;5 DB 82H ;6 DB 0F8H ;7 DB 80H ;8 DB 90H ;9 DB 0BFH ;- END
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2012-5-8 19:53 | 只看該作者

ORG 0000H
SJMP MAIN
ORG 000BH
LJMP DVT0 ;定時器T0中斷
ORG 0030H
MAIN:
MOV SP ,#50H ;設置堆棧區
MOV 31H,#0
MOV 30H,#0 ;計數單元清零
MOV 7AH,#10
MOV 7BH,#10
MOV 7CH,#10
MOV 7DH,#10 ;復位狀態字型碼送緩沖區
MOV 01H,#14H
MOV TMOD,#51H ;設置T0、T1工作方式字
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TH1,#0
MOV TL1,#0 ;T0、T1置初值
LOOP1:
LCALL DISPLAY ;重復顯示、查鍵
LCALL KEY
CLR C
CJNE A,#0FH,LOOP2
LOOP2:
JNC LOOP1
CJNE A,#00H,LOOP3 ;啟動鍵沒被按下
SETB ET0
SETB TR0
SETB EA
SETB TR1
LJMP LOOP1
LOOP3:
CJNE A,#01H,LOOP4 ;停止鍵沒被按下
CLR TR1
CLR TR0
CLR ET0
CLR EA
LJMP LOOP1
LOOP4:
CJNE A,#02H,LOOP1 ;復位鍵沒被按下 .
LJMP MAIN
DVT0:
PUSH PSW ;T0中斷程序
PUSH ACC ;相關內容入棧保護
MOV TH0,#3CH
MOV TL0,#0B0H ;T0重裝初值
DJNZ 01H,RTN ;1s定時未到
MOV 01H,#14H
CLR ET0
CLR TR1
CLR EA
CLR TR0
MOV 31H,TH1
MOV 30H,TL1
MOV TH1,#0
MOV TL1,#0 ;計數器T1清零,準備下一輪計數
LCALL HEX_BCD
LCALL DISPLAY
SETB ET0
SETB TR1
SETB EA
SETB TR0
RTN:
POP ACC
POP PSW
RETI

HEX_BCD: ;數碼轉化子程序
PUSH PSW
SETB RS0
SETB RS1
MOV A,30H
MOV B,#60
MUL AB
MOV 31H,B
MOV 30H,A
LCALL EXCH ;二進制到BCD碼的轉化
MOV A,33H ;以下是將轉化后的BCD碼存入相應緩沖區
ANL A,#0FH
MOV 7BH,A
MOV A,33H
SWAP A
ANL A,#0FH
MOV 7AH,A
MOV A,32H
ANL A,#0FH
MOV 7DH,A
MOV A,32H
SWAP A
ANL A,#0FH
MOV 7CH,A
CLR RS0
CLR RS1
POP PSW
RET EXCH:
MOV 40H,#0
MOV 41H,#0
MOV R7,#10H
LP1:
MOV R0,#30H
MOV R6,#2
CLR C
LP2:
MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ R6,LP2
MOV R1,#41H
MOV R5,#02H
LP3:
MOV A,@R1
ADDC A,@R1
DA A
MOV @R1,A
DEC R1
DJNZ R5,LP3
DJNZ R7,LP1
MOV 33H,40H
MOV 32H,41H
RET KEY:
PUSH PSW ; 按鍵掃描子程序
JB P3.0,X1
LCALL DISPLAY ;延時去抖
JB P3.0,X1
MOV A,#0
SJMP X4
X1:
JB P3.1,X2
LCALL DISPLAY
JB P3.1,X2
MOV A,#1
SJMP X4
X2:
JB P3.2,X3
LCALL DISPLAY
JB P3.2,X3
MOV A,#2
SJMP X4
X3:
MOV A,#0FH
X4:
POP PSW
RET
DISPLAY:
PUSH ACC ;顯示子程序
PUSH PSW ;A,PSW入棧
SETB RS1
SETB RS0
MOV DPTR,#TAB
MOV R0,#7AH
MOV R6,#0FEH ;掃描顯示初始化
NEXT:
MOV A,@R0 ;四位輪流掃描顯示
MOVC A,@A+DPTR
MOV P0,A
MOV A,R6
MOV P2,A
LCALL DELAY
MOV P2,#0FFH ;顯示中的消隱處理
INC R0
RL A
MOV R6,A
CJNE R6,#0EFH,NEXT
POP PSW
POP ACC
RET
DELAY:
MOV R4,#4 ;軟件延時1ms
DLY:
MOV R7,#123
DJNZ R7,$
DJNZ R4,DLY
RET
TAB:
DB 0C0H ;0 ;字形編碼表
DB 0F9H ;1
DB 0A4H ;2
DB 0B0H ;3
DB 99H ;4
DB 92H ;5
DB 82H ;6
DB 0F8H ;7
DB 80H ;8
DB 90H ;9
DB 0BFH ;-
END 

 

 

這是不是你自己寫的程序?

 

把里面的全角標點逗號(,)、分號(;)都換過來,變成半角符號。可以使用“查找、替換”方法,免得有遺漏。

 

CLR RS0
CLR RS1
POP PSW
PSW入棧保護,RS0、RS1沒有必要再恢復。PSW出棧就已經恢復了。


回復

使用道具 舉報

板凳
ID:7485 發表于 2012-5-11 16:46 | 只看該作者
解決了嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表