标题:
单片机串口 - 数码管显示 - ‘a’结束符源程序
[打印本页]
作者:
1061700625
时间:
2017-12-5 17:25
标题:
单片机串口 - 数码管显示 - ‘a’结束符源程序
串口 - 数码管显示 - ‘a’结束符
单片机源程序如下:
#include "stc15.h"
#include "intrins.h"
#include "gpio.h"
#include "uart.h"
#include "595hc.h"
#include "stdlib.h"
u16 counter = 0;
u8 i=0,j,k;
u8 number;
///********************** Timer0初始化 ************************/
void Timer0Init(void) //1毫秒 @11.0592MHz
{
AUXR = 0x80; //定时器时钟1T模式
TMOD = 0x00; //设置定时器模式
TL0 = 0xCD; //设置定时初值
TH0 = 0xD4; //设置定时初值
EA = 1; //开启总中断
ET0 = 1; //允许定时器0中断
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
///********************** Timer0中断函数 ************************/
void timer0 (void) interrupt 1
{
counter++;
DisplayScan();
}
void main(void)
{
GPIO();
Timer0Init();
UART1_config(); // 使用Timer2做波特率.
EA = 1; //允许全局中断
printf1("********Welcome!********\r\n");
for (k = 0; k < 8; k++) LED8[k] = 17;
while (1)
{
number = 0;
if((TX1_Cnt != RX1_Cnt) && (!B_TX1_Busy)) //收到数据, 发送空闲
{
if(RX1_Buffer[TX1_Cnt] != 'a')//以字符"a"作为结束符
{
SBUF = RX1_Buffer[TX1_Cnt];
B_TX1_Busy = 1;
/********************************************************/
if(i < 8) //数码管显示
{
LED8[i++] = RX1_Buffer[TX1_Cnt] - 48;
}
else
{
i = 0;
LED8[i++] = RX1_Buffer[TX1_Cnt] - 48;
}
/********************************************************/
if(++TX1_Cnt >= UART1_BUF_LENGTH) TX1_Cnt = 0;
}
else
{
for (k = TX1_Cnt; k < 8; k++) LED8[k] = 17;
TX1_Cnt = 0;
RX1_Cnt = 0;
i = 0;
}
}
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
串口 - 数码管显示 - ‘a’结束符.rar
(33.08 KB, 下载次数: 7)
2017-12-5 17:24 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
lyh一点点
时间:
2018-1-22 16:33
编译都不成功 想问下 什么问题
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1