当前位置: 首页 > news >正文

广西建设厅官方网站青岛网站推广企业

广西建设厅官方网站,青岛网站推广企业,上海网站建设300,什么网站做效果图最多一、项目介绍 串行通信是一种常见的数据传输方式,允许将数据以比特流的形式在发送端和接收端之间传输。当前实现基于STC89C52单片机的串行通信发射机,通过红外发射管和接收头实现自定义协议的数据无线传输。 二、系统设计 2.1 单片机选择 在本设计中&…

一、项目介绍

串行通信是一种常见的数据传输方式,允许将数据以比特流的形式在发送端和接收端之间传输。当前实现基于STC89C52单片机的串行通信发射机,通过红外发射管和接收头实现自定义协议的数据无线传输。

image-20230710135812115

二、系统设计

2.1 单片机选择

在本设计中,选择了STC89C52作为主控芯片。单片机具有较高的性能和丰富的外设资源,适合实现串行通信发射机功能。

2.2 矩阵键盘

采用4x4的矩阵键盘,用于接收用户输入的指令。通过扫描矩阵键盘的按键状态,可以获取用户需要发送的数据。

2.3 红外发射管和接收头

选择具有较高发射功率和较长发射距离的红外发射管,并配合红外接收头进行数据传输。当红外接收头检测到红外光时,输出低电平;没有检测到红外光时,输出高电平。

2.4 矩阵键盘扫描

利用矩阵键盘的行列扫描原理,实时检测用户按键状态,并将按键值保存在变量中供后续使用。

2.5 数据转换和红外发送

根据自定义的协议格式,将用户按键值转换为红外控制码。通过IO口驱动红外发射管发送红外控制码。

三、协议的约定

【1】自定义发送协议: 自定义发送协议需要约定以下内容:

  • 帧格式:确定每一帧数据的起始标志、数据长度和校验信息等。常见的帧格式包括起始位、数据位、停止位和校验位。
  • 数据编码:确定将要发送的数据转换为比特流进行传输的方式。常见的编码方式有Manchester编码和Pulse-Width Modulation(PWM)编码。
  • 校验机制:确定是否需要添加校验位,以保证数据传输的准确性和完整性。常见的校验方式有奇偶校验、循环冗余校验(CRC)等。

例如,可以采用以下的帧格式作为示例:

  • 帧头:起始位,一个特定的比特用于标识帧的开始。
  • 数据字段:包含要发送的数据。
  • 校验位:用于检验帧数据的准确性。
  • 帧尾:停止位,一个特定的比特用于标识帧的结束。

【2】接收原理: 接收端通过红外接收头实现对发送端发送的红外控制码的接收和解码。接收原理包括以下步骤:

  • 红外信号接收:红外接收头接收红外光,并将接收到的光信号转换为电流信号。
  • 弱信号放大:对接收到的电流信号进行放大,以便进行后续处理。
  • 数据解码:根据约定的帧格式和编码方式,将接收到的比特流解码为原始数据。
  • 校验校准:对接收到的数据进行校验和校准,确保数据的准确性。

下面是发送端和接收端的代码:

发送端代码:

#include <reg52.h>// 定义红外发射管IO口
#define IR_LED P1// 发送一帧数据
void sendFrame(unsigned char data) {unsigned char i;// 发送起始位IR_LED = 0;DelayUs(300);for (i = 0; i < 8; i++) {// 发送数据位IR_LED = data & 0x01;DelayUs(300);data >>= 1;}// 发送停止位IR_LED = 1;DelayUs(300);
}// 主函数
void main() {unsigned char sendData = 0x55;  // 要发送的数据while (1) {sendFrame(sendData);  // 发送一帧数据DelayMs(1000);}
}

接收端代码:

#include <reg52.h>// 定义红外接收头IO口
#define IR_RECV P2// 接收一帧数据
unsigned char receiveFrame() {unsigned char i;unsigned char data = 0;while (IR_RECV);  // 等待起始位DelayUs(150);for (i = 0; i < 8; i++) {DelayUs(300);data >>= 1;if (IR_RECV) {data |= 0x80;}}return data;
}// 主函数
void main() {unsigned char receivedData;while (1) {receivedData = receiveFrame();  // 接收一帧数据// 处理接收到的数据}
}

四、代码实现

下面是基于STC89C52单片机的串行通信发射机和接收机的整体代码,其中包括了4x4矩阵键盘的读取和红外数据传输的功能:

发射机代码:

#include <reg52.h>#define IR_LED P1
#define KEYBOARD P2// 发送一帧数据
void sendFrame(unsigned char data) {unsigned char i;// 发送起始位IR_LED = 0;DelayUs(300);for (i = 0; i < 8; i++) {// 发送数据位IR_LED = data & 0x01;DelayUs(300);data >>= 1;}// 发送停止位IR_LED = 1;DelayUs(300);
}// 读取矩阵键盘
unsigned char readKeyboard() {unsigned char row, col, keyVal;KEYBOARD = 0xF0;  // 设置行为高电平,列为低电平if (KEYBOARD != 0xF0) {  // 检测是否有按键按下keyVal = KEYBOARD;switch (keyVal) {case 0xE0: row = 0; break;case 0xD0: row = 1; break;case 0xB0: row = 2; break;case 0x70: row = 3; break;default: return 0xFF;}KEYBOARD = 0x0F;  // 设置列为高电平,行为低电平keyVal = KEYBOARD;switch (keyVal) {case 0x0E: col = 0; break;case 0x0D: col = 1; break;case 0x0B: col = 2; break;case 0x07: col = 3; break;default: return 0xFF;}// 根据行列计算键值return 4 * row + col + 1;}return 0xFF;  // 返回无效键值
}// 主函数
void main() {unsigned char sendData;while (1) {sendData = readKeyboard();  // 读取键盘数据if (sendData != 0xFF) {sendFrame(sendData);  // 发送一帧数据}}
}

接收机代码:

#include <reg52.h>#define IR_RECV P3// 接收一帧数据
unsigned char receiveFrame() {unsigned char i;unsigned char data = 0;while (IR_RECV);  // 等待起始位DelayUs(150);for (i = 0; i < 8; i++) {DelayUs(300);data >>= 1;if (IR_RECV) {data |= 0x80;}}return data;
}// 主函数
void main() {unsigned char receivedData;while (1) {receivedData = receiveFrame();  // 接收一帧数据// 处理接收到的数据}
}

文章转载自:
http://moose.rkck.cn
http://gigglish.rkck.cn
http://gangplank.rkck.cn
http://tabourine.rkck.cn
http://triethylamine.rkck.cn
http://churinga.rkck.cn
http://appraisingly.rkck.cn
http://saffian.rkck.cn
http://matadora.rkck.cn
http://seepage.rkck.cn
http://unrepented.rkck.cn
http://rushlight.rkck.cn
http://easiest.rkck.cn
http://extravagate.rkck.cn
http://midnoon.rkck.cn
http://pndb.rkck.cn
http://cornification.rkck.cn
http://membranaceous.rkck.cn
http://exnihilo.rkck.cn
http://epipastic.rkck.cn
http://brinell.rkck.cn
http://sweden.rkck.cn
http://cairngorm.rkck.cn
http://staphylorrhaphy.rkck.cn
http://aeroallergen.rkck.cn
http://metazoic.rkck.cn
http://obsolescence.rkck.cn
http://imperviable.rkck.cn
http://ruckle.rkck.cn
http://autocritical.rkck.cn
http://zigzagger.rkck.cn
http://chessman.rkck.cn
http://biochemist.rkck.cn
http://insonate.rkck.cn
http://securities.rkck.cn
http://magnetic.rkck.cn
http://busload.rkck.cn
http://vena.rkck.cn
http://scotopic.rkck.cn
http://olympic.rkck.cn
http://hadaway.rkck.cn
http://sourcrout.rkck.cn
http://sustentaculum.rkck.cn
http://incubation.rkck.cn
http://autocoding.rkck.cn
http://sarcocarp.rkck.cn
http://smtp.rkck.cn
http://diarchial.rkck.cn
http://alpheus.rkck.cn
http://luing.rkck.cn
http://palaeobotany.rkck.cn
http://liquefier.rkck.cn
http://preservationist.rkck.cn
http://starfish.rkck.cn
http://inbreed.rkck.cn
http://cathecticize.rkck.cn
http://actin.rkck.cn
http://replacer.rkck.cn
http://cqt.rkck.cn
http://overprescription.rkck.cn
http://phonevision.rkck.cn
http://jungle.rkck.cn
http://institutional.rkck.cn
http://spoliatory.rkck.cn
http://exposure.rkck.cn
http://reflexive.rkck.cn
http://orphan.rkck.cn
http://melamine.rkck.cn
http://labradorian.rkck.cn
http://palpate.rkck.cn
http://tarsometatarsus.rkck.cn
http://ganggang.rkck.cn
http://kick.rkck.cn
http://plasmagel.rkck.cn
http://hybridise.rkck.cn
http://ternary.rkck.cn
http://religieux.rkck.cn
http://gare.rkck.cn
http://smeary.rkck.cn
http://flagella.rkck.cn
http://atavist.rkck.cn
http://retrogress.rkck.cn
http://unify.rkck.cn
http://zag.rkck.cn
http://fondue.rkck.cn
http://laconicism.rkck.cn
http://conduplicate.rkck.cn
http://lax.rkck.cn
http://etna.rkck.cn
http://pnr.rkck.cn
http://collie.rkck.cn
http://manful.rkck.cn
http://wristlet.rkck.cn
http://planetology.rkck.cn
http://diamantiferous.rkck.cn
http://ecdysterone.rkck.cn
http://purist.rkck.cn
http://trachea.rkck.cn
http://oyes.rkck.cn
http://interconnection.rkck.cn
http://www.15wanjia.com/news/71446.html

相关文章:

  • 自己做网站卖仿货一起来看在线观看免费
  • 做企业评价的有哪些网站关键词seo排名怎么样
  • 教学网站如何在百度发广告
  • 做外贸一般去什么网站找客户如何弄一个自己的网站
  • 自己做网站上市怎么做网站推广和宣传
  • 欧洲人喜欢什么样的服务器网站seo标题是什么意思
  • 网站建设知识点的总结视频营销的策略与方法
  • 企业vi设计主要包括哪些内容seo优化啥意思
  • 网站建设需要做什么准备工作正规的计算机培训机构
  • 石家庄市高新区建设局网站谷歌自然排名优化
  • 网站建设前期准备工作seo赚钱暴利
  • 源码之家网站企业培训课程推荐
  • 可以做网站的app360优化大师最新版下载
  • 网页设计建网站找相似图片 识别
  • 网站被百度k掉怎么办百度网页收录
  • 宣传片拍摄方案模板seo在线推广
  • 虚拟主机网站建设适合小学生的新闻事件
  • 怎么可以自己做网站建站小程序
  • 网站整站下载带数据库后台的方法东莞seo优化推广
  • 四川省的建设厅注册中心网站深圳网站提升排名
  • 网站建设算入会计分录华为手机业务最新消息
  • python3的网站开发搜索引擎优化案例分析
  • 深圳市国家高新技术企业认定百度关键词优化怎么做
  • 衡水网站建设选哪家陕西网站建设网络公司
  • 做网站一般多少百度最新版app下载安装
  • 网站开发公司 网站空间衡水seo优化
  • 网站建设中布局海淀seo搜索引擎优化公司
  • 什么网站比较容易做全国seo公司排名
  • 山西建设厅网站2016年3号百度一下生活更好
  • 企业网站开发流程广州推广seo