找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

PO為什么輸出不了高電平?

[復制鏈接]
跳轉到指定樓層
樓主
ID:5642 發(fā)表于 2008-9-28 11:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

我用下面那段程序燒,但P0端口沒有高電平輸出,只有底電平,什么原因?幫分析一下,謝謝
FIRST EQU P2.7 ;第一位數碼管的位控制

SECOND EQU P2.6 ;第二位數碼管的位控制

DISPBUFF EQU 5AH ;顯示緩沖區(qū)為5AH和5BH

ORG 0000H

AJMP START

ORG 30H

START:

MOV SP,#5FH ;設置堆棧

MOV P1,#0FFH

MOV P0,#0FFH

MOV P2,#0FFH ;初始化,所顯示器,LED滅

MOV DISPBUFF,#0 ;第一位顯示0

MOV DISPBUFF+1,#1 ;第二握顯示1

LOOP:

LCALL DISP ;調用顯示程序

AJMP LOOP

;主程序到此結束

DISP:

PUSH ACC ;ACC入棧

PUSH PSW ;PSW入棧

MOV A,DISPBUFF ;取第一個待顯示數

MOV DPTR,#DISPTAB ;字形表首地址

MOVC A,@A+DPTR ;取字形碼

MOV P0,A ;將字形碼送P0位(段口)

CLR FIRST ;開第一位顯示器位口

LCALL DELAY ;延時1毫秒

SETB FIRST ;關閉第一位顯示器(開始準備第二位的數據)

MOV A,DISPBUFF+1 ;取顯示緩沖區(qū)的第二位

MOV DPTR,#DISPTAB

MOVC A,@A+DPTR

MOV P0,A ;將第二個字形碼送P0口

CLR SECOND ;開第二位顯示器

LCALL DELAY ;延時

SETB SECOND ;關第二位顯示

POP PSW

POP ACC

RET

DELAY: ;延時1毫秒

PUSH PSW

SETB RS0

MOV R7,#50

D1: MOV R6,#10

D2: DJNZ R6,$

DJNZ R7,D1

POP PSW

RET

DISPTAB:DB 28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H

END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:5415 發(fā)表于 2008-9-29 19:49 | 只看該作者
   喂,大哥;

MOV P0,A ;將字形碼送P0位(段口)

你的P0口設為數碼管的位顯示,哪里有高低電平呀!
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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