找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3816|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機制作—PC控制單片機數(shù)碼管顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:85192 發(fā)表于 2015-7-10 02:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式



51匯編:E:\D[J\PCTO51數(shù)碼管\PCTO51.ASM

ORG        00H
AJMP        MAIN
ORG        23H
AJMP        UART
ORG        30H
MAIN:
MOV        TMOD,#20H
MOV        TH1,#0FDH
MOV        TL1,#0FDH
MOV        SCON,#50H
MOV        DPTR,#TAB
SETB        EA
SETB        ES
SETB        TR1
AJMP        $

UART:        
MOV        A,SBUF
JNB RI,$
CLR RI     ;這2 條放在A,SBUF前而且用JB  RI,$也可以收,便還是這樣寫合理 。

MOVC      A,@A+DPTR
MOV        P0,A
RETI

TAB:
DB           0C0H;0
DB           0F9H;1
DB           0A4H;2
DB           0B0H;3
DB           099H;4
DB           092H;5
DB           082H;6
DB           0F8H;7
DB           080H;8
DB           090H;9

END








51c: E:\DPJ_C\PCTO51數(shù)碼管\PCTO51.C

#include <reg51.h>
#define uchar unsigned char

uchar code tab[ ]={0xC0,0xF9,0xA4,0xB0,0x99,
                              0x92,0x82,0xF8,0x80,0x90};                                 

void initUART(void)
{
        TMOD=0x20;
        SCON=0x50;
        TH1=0xfd;
        TL1=0xfd;
        EA=1;
        ES=1;
        TR1=1;
}

void main( )
{
         initUART( );
}

void uartinterrupt(void)  interrupt 4
{  
         uchar a;
         a=SBUF;
         P0=tab[a];
         if(RI)       //這2 條放在a=SBUF 前也可以。但放在后面更合理 。
         RI=0;   
           
}

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

相關(guān)帖子

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表