一 : 串口接受并显示
************************************************/
#include <reg52.h>
#include "51hei.H"
#define uchar unsigned char
sbitdula=P2^6;
sbitwela=P2^7;
sbitlaba=P2^2;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char ch;a;
bitread_flag= 0 ;
voidinit_serialcom( void )
{
SCON = 0x50 ;
PCON |= 0x80 ; //SMOD=1;
TH1 = 0xFA ; //Baud:9600 fosc=11.0592MHz
IE |= 0x90 ;
TR1 = 1 ;
TI=1;
}
uchar show[2]={0,0};
void delay(uchari)
{
ucharj,k;
P0=0xFF; //消隐
wela=1;
wela=0;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void display()
{
接受并 串口接受并显示
P0=table[show[0]];
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
delay(1);
P0=table[show[1]];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(1);
}
//
{
if (RI)
{
RI = 0 ;
}
}
/*演示主程序*/
void main(void)
{
unsignedint a;
guandz();
init_serialcom(); //初始化串口
while ( 1 )
{
if (read_flag) //如果取数标志已置位,就将读到的数从串口发出
接受并 串口接受并显示
{ read_flag= 0 ; //取数标志清0 Im[2]=ch; }
show[1]=Im[2] & 0x0F; //取键码的低四位
show[0]=Im[2] >> 4;
for(a=10;a>0;a--)
{
display();
}
}
}
51.h 文件
//51hei单片机开发板常用功能通用包含文件
//防止被重复定义引用
#ifndef __51hei_H__
sfr AUXR = ALE (不可位寻址) 如调用AUXR=0x01;,
P2^4
用P2^5
#define uchar unsigned char
sbitduan_x=P2^6; 的锁存LE端 U1 数码管的段选端
sbitwei_x=P2^7; 的锁存LE端 U2 数码管的位选端
// 函数名称:out_simuseri
// 输入参数:data_buf
// 输出参数:无
// 功能说明:8位同步移位寄存器74hc164,将data_buf的数据逐位输出到simuseri_1_DATA //--------------------------------------------------------------------------------------------------------
voidout_simuseri(uchardata_buf)
{
uchari;
i=8;
ACC=data_buf;
接受并 串口接受并显示
do
{
simuseri_1_CLK=0;
simuseri_1_DATA=accde7j;
simuseri_1_CLK=1;
ACC=ACC<<1;
}
while(--i!=0);
}
//--关闭点阵输出,在每个程序的开头调用一下可防止点阵时不时出现几个亮条.
voidguandz()
{
out_simuseri(0x00) ;
}
//--让所有led不亮
voidguanled()
{
duan_x=1; //让u1 74hc57301输出也是1
P0=0x00; //P0,
duan_x=0;
wei_x=1; //0,输出也是0,输入1输出也是1
//P0
wei_x=0; //
}
#endif
二 : 程序匠人的《串口猎人》多通道多数据显示波形方法
最近一直在研究陀螺仪和加速度计的滤波问题,在使用《串口猎人》的过程中发现很多人跟我一样不会使用多通道多数据显示波形,查了很多的资料,终于发现了使用方法,鉴于网上资料不好找,现重新整理一下 跟大家分享 : 在串口程序的发送过程中将所有数据依次通过串口发送出去,记下发送的串口字节长度 在多通道页面下 字节长度里 填充 ,举个例子 发送2个16位的数据,应该是以四个字节的长度发出,先发第一数据的高字节,然后第一数据的低字节,然后第二数据的高字节,最后是第二数据的低字节,一共是四个字节的长度,在波形显示界面中显示2个数据的波形,在0通道中设置 数据地址0 数据长度 双字节 在1通道中设置 数据地址2 数据长度双字节 这样就能在波形显示三 : 利用字符串资源显示MessageBox
C++代码61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1