单片机-双机通信

该博客详细介绍了使用89C51单片机实现双机通信的过程,通过P31与P30进行相互控制电位器模块的开闭。文中涉及AD模数转换电路原理,包括分辨率、量化误差、偏移误差等关键技术指标的解释,并阐述了控制字的设定和时序图。博主提供了C语言代码段,包括主函数、延时函数、数据接收转换函数和数码管显示函数,以帮助读者理解实现细节。
摘要由CSDN通过智能技术生成

**实现功能:**双机都能控制彼此的电位器模块开启与关闭(单片机为普中科技89C51单片机)
**连线:**P31接P30,P30接P31;
实验原理:
1.AD模数转换电路原理图:

2.AD模数转换器的主要技术指标:
①分辨率
ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。
②量化误差
ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。
③偏移误差
偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。

④满刻度误差
满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。
⑤线性度
线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。
⑥绝对精度
在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。
⑦转换速率
ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。
3.控制字描述:

即在本次实验中,我要检测转换电位器模拟信号,控制字命令寄存器值为0X94。
4.时序图:

在时序图中可以看出,我们要先写入再读取,写入前要将时钟信号拉低,并且读取的是12bit的数据;
C语言代码:

①shuangji.c
#include "reg52.h"			 
#include"XPT2046.h"	

#define uchar unsigned char
#define uint unsigned int

sbit LSA=P2^2;//数码管使能
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit K3=P3^2; //独立按键
sbit K4=P3^3;
uchar flag;   //存储接受的指令

uchar disp[4];
uchar code smgduan[10]={
   0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管显示

void delay(uint i)
{
   
	while(i--);	
}

void datapros()
{
   
	uint temp;
	static uchar i;
	if(i==50)
	{
   
		i=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值