要求
用两片单片机进行通信,其中甲机外接0809芯片进行AD转换,将AD转换结果送至P0端口用4位数码管显示,并将数据发送至乙机;乙机接收甲机发送的数据,和甲机同步显示AD转换结果。
ADC0809芯片
由于芯片介绍篇幅过大这里就,不做详细描述。详情请见ADC0809芯片简介
硬件及连线
甲机(发射机)代码:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
int display[]= {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int show[4]={
0,1,2,3};
sbit OE=P3^4;
sbit EOC=P3^5;
sbit ST=P3^6;
sbit CLK=P3^7;
sbit L1=P2^0;
sbit L2=P2^1;
sbit L3=P2^2;
sbit L4=P2^3;
uint num;
void delay(int x)
{
int i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void xianshi(uint x) //显示函数
{
int i,p_2;
x=x*100/51; //AD转换值换算为相应电压值