如何通过串口通信来改变数码管的所显示的东西

2019-03-24 17:19发布

在这个代码中,我想用串口助手来控制数码管的显示,但是我并不想让显示的程序放在   interrupt   4   中(也就是说想在主函数中来控制数码管的该变)


#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned int
sbit du=P2^6;
sbit we=P2^7;
uchar a;
char code table []={0x3f,0x06,0x5b,0x4f,0x66,0x6d,     0x7d,0x07,0x7f,0x6f,0x77,0x7c,     0x39,0x5e,0x79,0x71};

void main()
{
        SCON=0X50;
        PCON=0x00;
        TMOD=0X20;
        EA=1;
        ES=1;
        TL1=0Xfd;
        TH1=0Xfd;
        TR1=1;
        du=0;
        we=0;       

        while(1) ;
/*        {
                we=1;
                P0=0x00;
                we=0;       
                P0=0x00;
                du=1;
                P0=table[a];
                du=0;
        }           */
}

void zhongduan() interrupt 4
{
                ES=0;
                RI=0;
                a=SBUF;
                we=1;
                P0=0x00;
                we=0;
                P0=0xff;
                du=1;
                P0=table[a];
                du=0;
                EA=1;
}



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
maychang
1楼-- · 2019-03-24 21:18
 精彩回答 2  元偷偷看……
maychang
2楼-- · 2019-03-25 02:38
其实,如果需要显示的是串口送来的内容,显示程序放在串口中断里面是正常的作法。
suoma
3楼-- · 2019-03-25 05:45
             我做过
shihuntaotie
4楼-- · 2019-03-25 06:14
 精彩回答 2  元偷偷看……
胡豆豆的春天
5楼-- · 2019-03-25 10:10
maychang 发表于 2017-4-1 19:13
想在主函数中改变显示,中断必须通知主函数改变显示内容。为此中断必须建一个标志,主函数必须检测这个标志 ...

那么那个标志应该如何建立呢?而主函数有应该如何检测到那个标志呢?
胡豆豆的春天
6楼-- · 2019-03-25 14:24
shihuntaotie 发表于 2017-4-1 19:44
建个数组,主程序里显示数组里的数,中断里修改数组

我这个程序就是用的数组,但是用数组的话也应该从       interrupt  4   中向主函数中传输数组的下标呀,应该如何传输那个下标呢?

一周热门 更多>