找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 3855|回复: 0
收起左侧

单片机制作—PC控制单片机数码管显示

[复制链接]
ID:85192 发表于 2015-7-10 02:34 | 显示全部楼层 |阅读模式



51汇编:E:\D[J\PCTO51数码管\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数码管\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;   
           
}

回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表