找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2110|回復(fù): 3
收起左側(cè)

stc89c51單片機怎么通過串口將數(shù)據(jù)發(fā)送到電腦端顯示,printf函數(shù)有什么需要增添的...

[復(fù)制鏈接]
ID:837970 發(fā)表于 2021-4-20 17:14 | 顯示全部樓層 |閱讀模式
#include <reg51.h>
sbit Awei = P1^0;
sbit Bwei = P1^1;
sbit Cwei = P1^2;
sbit Dwei = P1^3;

void jisuan();
void delay(int x);
int change(int x);


#define SHU_0 0X3F;
#define SHU_1 0X06;
#define SHU_2 0X5B;
#define SHU_3 0X4F;
#define SHU_4 0X66;
#define SHU_5 0X6D;
#define SHU_6 0X7D;
#define SHU_7 0X07;
#define SHU_8 0X7F;
#define SHU_9 0X6F;

int ge=0, shi=0, bai=0, qian=0;
int count = 0, i = 0;
int freq = 0;
int main()
{         
        ge = 0; shi = 0; bai = 0; qian = 0;

        TMOD        = 0X15;
        TH0 = 0;
        TL0 = 0;
        TH1 = (65535 - 50000)/256;
        TL1 = (65535 - 50000)%256;
        IT0 = 1;
        EX0 = 1;
        EA = 1;
        ET0 = 1;
        ET1 = 1;
        TR0 = 1;
        TR1 = 1;
        while(1)
        {
        jisuan();
                Awei = 1; Bwei = 1; Cwei = 1; Dwei = 0;
                P2 =  change(ge);
                delay(10);
                P2 = 0X00;
                Awei = 1; Bwei = 1; Cwei = 0; Dwei = 1;
                P2 =  change(shi);
                delay(10);
                P2 = 0X00;
                Awei = 1; Bwei = 0; Cwei = 1; Dwei = 1;
                P2 =  change(bai);
                delay(10);
                P2 = 0X00;
                Awei = 0; Bwei = 1; Cwei = 1; Dwei = 1;
                P2 =  change(qian);
                delay(10);
                P2 = 0X00;
        
        }
}
void service_timer0() interrupt 1 using 1
{
    TH0 = 0;
    TL0 = 0;
}
void service_timer1() interrupt 3 using 3
{
            TH1 = (65535 - 50000)/256;
        TL1 = (65535 - 50000)%256;
        i++;
        if (i == 20)
        {
                freq =TL0 + TH0*256;
                i = 0;
                TH0 = 0;
                    TL0 = 0;        
        }
}

void jisuan()
{
        qian = freq /1000;
        bai = (freq%1000)/100;
        shi = (freq%100)/10;
        ge = freq%10;
}
void delay(int x)
{
        int i, j;
        for(i = 0; i < x; i++)
                for(j = 0; j < 100; j++);
}
int change(int x)
{
        int shu;
        switch(x)
        {
                case 0: shu = SHU_0; break;
                case 1: shu = SHU_1; break;
                case 2: shu = SHU_2; break;
                case 3: shu = SHU_3; break;
                case 4: shu = SHU_4; break;
                case 5: shu = SHU_5; break;
                case 6: shu = SHU_6; break;
                case 7: shu = SHU_7; break;
                case 8: shu = SHU_8; break;
                case 9: shu = SHU_9; break;
        }
        return shu;
}


回復(fù)

使用道具 舉報

ID:390416 發(fā)表于 2021-4-20 22:51 | 顯示全部樓層
串口1打印程序 可以打印3個十六位的變量 波特率9600 http://www.torrancerestoration.com/bbs/dpj-201660-1.html

串口發(fā)送 不需要while死等 串口接收執(zhí)行軟件復(fù)位 http://www.torrancerestoration.com/bbs/dpj-200927-1.html
回復(fù)

使用道具 舉報

ID:889094 發(fā)表于 2021-4-21 07:54 來自手機 | 顯示全部樓層
沒看到串口中斷函數(shù)
回復(fù)

使用道具 舉報

ID:837970 發(fā)表于 2021-4-26 23:21 | 顯示全部樓層
人人學會單片機 發(fā)表于 2021-4-20 22:51
串口1打印程序 可以打印3個十六位的變量 波特率9600 http://www.torrancerestoration.com/bbs/dpj-201660-1.html

串口 ...

不好意思,最近一直有事未能及時回復(fù)您的消息,感謝您的幫助,同時我也需要先學習了解一下,如有問題可能還需打擾了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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