⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 out.c

📁 文件系统,运行硬件环境:单片机,软件环境:keilc
💻 C
字号:
#include    <reg52.h>

/*#pragma NOAREGS*/
#define send_a_byte(a_byte)  TI=0;SBUF=a_byte;while(!TI);
void com_init(void)
{
    SCON=0x50;                          /*串口工作在模式1*/
    REN=1;                              /*允许接收*/
    ES=0;                               /*禁止串行中断*/
    TMOD=(TMOD & 0x0F)|0x20;            /*定时器1工作在模式2*/
    TR1=1;
    PCON|=0x80;
    TL1=0xF3;
    TH1=0XF3;
}/*串口初始化函数,使用24M晶体(波特率9600)*/

unsigned char get_a_byte(unsigned char c)
{
    unsigned char temp;
    do
    {
        if(RI)
        {
            temp=SBUF;
            RI=0;
            return temp;
        }
        if(c!=0)
        {
            --c;
            if(!c) return 0xff;        //约定为无效命令
        }
    }
    while(1);
}//从串口接收一字节数据,c=0时死等,c!=0时判断 c 次数就跳出*/

void com_prints(void *p,unsigned char en)
{
unsigned char *temp;

    temp =p;
    while(*temp !=0)
    {
        send_a_byte(*temp);
        temp++;;
    }
    if(en)
    {
        send_a_byte(13);
        send_a_byte(10);
    }
}/*发送一个字符串,en为非0则换行*/

void com_send_number(unsigned char i )
{
unsigned char j;
unsigned char k;

    j=i&0xf;
    if(j>=0x0a)
    {
        j=0x37+j;
    }
    else
    {
        j+=0x30;
    }

    k=i>>4;
    if(k>=0x0a)
    {
        k=0x37+k;
    }
    else
    {
        k+=0x30;
    }
    send_a_byte(k);
    send_a_byte(j);
}/*发送一个数字*/

void com_send_arry(void *p,unsigned short length,unsigned char en)
{
unsigned char *temp;

    temp =p;
    while(length)
    {
        com_send_number(*temp);
        send_a_byte(32);            /*加入空格*/
        temp++;
        --length;
    }
    if(en)
    {
        send_a_byte(13);
        send_a_byte(10);
    }
}/*发送在任意空间连续的数据(*p为开始地址,length为发送的字节数,en为非0则换行)*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -