登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
51单片机论坛
›
单片机串口通信程序(帮忙检查错误)
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版
单片机串口通信程序(帮忙检查错误)
[复制链接]
1231
0
ad***
管理员
发表于 2012-9-3 01:23:07
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
[font=宋体各位大侠有空帮我看看程序,我自己编的,检查N遍了,找不出错误,但是用proteus仿真时数码管不显示,当我按下发送开关时可以看到两个
单片机
的串口电平有变化,但数码管直接显示F,过段时间就消失然后什么也不显示。我程序的意思是,单片机A发送数据给单片机B,B接收到了用数码管显示出来。程序通过了Keil C编译。程序如下
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
sbit D1=P1^0;//定义发送标志
sbit D2=P1^1;//接收的应答信号标志
void delay()
{
uint x,y;
for(x=110;x>0;x--)
for(y=1000;y>0;y--);
}
/*******发送程序*******/
void send()
{
uchar i,sum;
do{
SBUF=0xaa;//发送准备信号
while(!TI);
TI=0;
while(!RI);
RI=0;
D2=1;//应答标志,用LED亮表示B应答
}while((SBUF^0xbb)!=0);//判断B是否准备好
do{
for(i=0;i<16;i++)//发送数据表
{
SBUF=table[i];
sum+=table[i];//计算校验和
while(!TI);TI=0;
}
SBUF=sum;//发送校验和
while(!TI);TI=0;
while(!RI);RI=0;
}while((SBUF^0x00)!=0);//判断B接收的数据是否有误,有误重发
}
/***********接收程序**************/
void reveice()
{
uchar i,sum=0;
uchar shuju[16];
do{
while(!RI);//接收A的准备信号
RI=0;
SBUF=0xbb;//发送应答信号
while(!TI);
TI=0;
}while((SBUF^0xaa)!=0);//A是否发送准备信号
while(!RI);RI=0;
for(i=0;i<16;i++)//接收A的数据
{
shuju[i]=SBUF;
sum+=shuju[i];//计算接收数据的校验和
}
while(!RI);RI=0;//接收A的校验和
if((SBUF^sum)!=0)//判断校验和是否一致
{
SBUF=0xff;//校验和不一致发送0xff
while(!TI);TI=0;
}
else
{
SBUF=0x00;//校验和一致发送0
while(!TI);TI=0;
for(i=0;i<16;i++)//接收到的数据给P1口
{
P1=shuju[i];
delay();
}
}
}
void main()
{
D1=1;
D2=0;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
if(D1==0) send();
}
]
单片机
,
数码管
相关帖子
怎么可以使51单片机和STC11系列的程序兼容呢
云龙51单片机视频教程,目前国内公认的最好的入门视频教程
求助!TX-1C开发板51串行中断 if 语句无法执行问题(看起来很简单,但不知为何总调不过去
求助
关于51单片机处理串口所接收到的数据的判断
国产单片机推荐:无锡矽杰微电子XC8P8600
51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)
51单片机(STC8H8K64U/STC8051U34K64)_RA8889_8080参考代码(v1.3)
51单片机(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4参考代码(v1.3) 硬件SPI方式
单片机驱动彩屏最简方案:单片机_RA8889最小开发板驱动控制TFT彩屏介绍(一)
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
数显驱动器原厂-数显LED显示驱动芯片VK1620
VK1620B是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、 数据锁
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
产品品牌:永嘉微电/VINKA 产品型号:VK1618 封装形式:SOP18/DIP18 概述 VK161
更多
精华推荐
数显屏驱动原厂-VK1668 SOP24抗干扰数显LED
抗干扰LED数码管显示屏驱动芯片/3线串行接
抗干扰能力强/点阵数显LED屏驱动/数码管驱
可支持14×4的点阵LED显示面板数码管LED驱
数显驱动器原厂-数显LED显示驱动芯片VK1620
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
VK1616 SOP16/DIP16点阵LED数显驱动芯片/数
点阵数显驱动芯片/LED数码管显示屏驱动VK16
更多
社区学堂
抗干扰LED数码管显示屏驱动芯片/3线串
抗干扰能力强/点阵数显LED屏驱动/数码
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表