標(biāo)題:
單片機串口 - 數(shù)碼管顯示 - ‘a(chǎn)’結(jié)束符源程序
[打印本頁]
作者:
1061700625
時間:
2017-12-5 17:25
標(biāo)題:
單片機串口 - 數(shù)碼管顯示 - ‘a(chǎn)’結(jié)束符源程序
串口 - 數(shù)碼管顯示 - ‘a(chǎn)’結(jié)束符
單片機源程序如下:
#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; //設(shè)置定時器模式
TL0 = 0xCD; //設(shè)置定時初值
TH0 = 0xD4; //設(shè)置定時初值
EA = 1; //開啟總中斷
ET0 = 1; //允許定時器0中斷
TF0 = 0; //清除TF0標(biāo)志
TR0 = 1; //定時器0開始計時
}
///********************** Timer0中斷函數(shù) ************************/
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)) //收到數(shù)據(jù), 發(fā)送空閑
{
if(RX1_Buffer[TX1_Cnt] != 'a')//以字符"a"作為結(jié)束符
{
SBUF = RX1_Buffer[TX1_Cnt];
B_TX1_Busy = 1;
/********************************************************/
if(i < 8) //數(shù)碼管顯示
{
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黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
串口 - 數(shù)碼管顯示 - ‘a(chǎn)’結(jié)束符.rar
(33.08 KB, 下載次數(shù): 7)
2017-12-5 17:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
lyh一點點
時間:
2018-1-22 16:33
編譯都不成功 想問下 什么問題
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1