找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1990|回复: 0
打印 上一主题 下一主题
收起左侧

单片机与pc机串口通讯仿真

[复制链接]
跳转到指定楼层
楼主
ID:356673 发表于 2018-6-22 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED1 = P1^0;
sbit LED2 = P1^3;
sbit K1 = P1^7;
uchar Operation_NO = 0;
uchar code DSY_CODE[]=
{
        0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};

void Delay(uint x)
{
        uchar i;
        while(x--)
        {
                 for(i=0;i<120;i++);
        }
}

void putc_to_SerialPort(uchar c)
{
        SBUF = c;
        while(TI == 0);
        TI = 0;
}

void main()
{
        LED1=LED2=1;
        P0 = 0x00;
        SCON = 0x50;
        TMOD = 0x20;
        PCON = 0x00;
        TH1  = 0xfd;
        TL1  = 0xfd;
        TI   = 0;
        RI   = 0;
        TR1  = 1;
        IE   = 0x90;
        while(1)
        {
                 Delay(100);
                if(K1 == 0)
                {
                         while(K1==0);
                        Operation_NO=(Operation_NO+1)%4;
                        switch(Operation_NO)
                        {
                                 case 0:
                                                putc_to_SerialPort('X');
                                                LED1=LED2=1; break;
                                case 1:
                                                putc_to_SerialPort('A');
                                                LED1=0;LED2=1;break;
                                case 2:
                                                putc_to_SerialPort('B');
                                                LED2=0;LED1=1;break;
                                case 3:
                                                putc_to_SerialPort('C');
                                                LED1=0;LED2=0;break;
                        }
                }
        }
}

void Serial_INT() interrupt 4
{
        if(RI)
        {
                 RI = 0;
                if(SBUF>=0&&SBUF<=9)
                        P0 = DSY_CODE[SBUF];
                else
                        P0 = 0x00;
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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