当前位置:首页 >> 信息与通信 >>

基于51单片机的ADC0809c程序代码


#include <at89c51.h> #define uchar unsigned char #define uint unsigned int //ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零; //下跳沿时,开始进行 A/D 转换;在转换期间,ST 应保持低电平 sbit oe=P3^1; // OE 为输出允许信号,用于控制三条输出锁存器向

//单片机输出转换得到的数据,OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻 状态 sbit eoc=P3^0; //EOC 为转换结束信号。当 EOC 为高电平时,表明转 //换结束;否则,表明正在进行 A/D 转换 uchar code tab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};// 数码管显示段码 uchar code td[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};// 通道先择数组 uint ad_0809,ad_data1,ad_data2,ad_data3,ad_data0; uchar m,number; sbit st=P3^2; uchar x[8];//八通道数据待存数组 void delaynms(uint x);//nms 延时程序 void display();//显示程序 void ad0809();//芯片启动程序 void key();//键扫描程序 void main() { number=1; P1=0x00; while(1) { ad0809();//调 AD0809 启动子程序 key();//调按键子程序 ad_0809=x[number];//把相关通道数据给 ad_0809 display();//调显示 }} //nms 延时程序 void delaynms(uint x) { uchar i; while(x-->0) { for(i=0;i<125;i++) {;} }} void display() { uchar a; ad_data1=(ad_0809*49/25)/100; 百位

// 读得的数据乘以 2 再乘以 98%除以 100 得

ad_data2=((ad_0809*49/25)%100)/10; ad_data3=(((ad_0809*49/25)%100)%10); for(a=0;a<10;a++) { P0=tab[ad_data3]; P2=0x07; delaynms(3); P0=tab[ad_data2]; P2=0x0b; delaynms(3); P0=tab[ad_data1]; P0_7=0; P2=0x0d; delaynms(3); P0=tab[number]; P2=0x0e; delaynms(3); }} void ad0809() { uchar i,m=1; for(i=0;i<8;i++) { P0=td[i]; oe=0; st=0; st=1; st=0; delaynms(1); while(!eoc); oe=1; x[m]=P2; oe=0; m++; }} void key() { if(!P3_5) { delaynms(20); if(!P3_5) { while(!P3_5); number++;

// 读得的数据乘以 2 再乘以 98%再分出十位 // 读得的数据乘以 2 再乘以 98%再分出个位

//送小数点后第二位显示 //选通第一个数码管 //送小数点后第一位显示 //选通第二个数码管 //送整数显示 //点亮第三个数码管小数点 // 选通第三个数码管 //送通道号显示

//选通通道 //以下三条指令为起动 AD0809

//等待转换结束 //取出读得的数据 //送相关通道数组

//P3.5 是否按下 //延时判误 //再一次判断 P3。5 是否按下 //等待 P3。5 为高电平 //通道号显示加一

if(number>8)number=1; } } }

//八通道


相关文章:
基于51单片机的ADC0809c程序代码
基于51单片机的ADC0809c程序代码_信息与通信_工程科技_专业资料。基于51单片机的ADC0809c程序代码 #include <at89c51.h> #define uchar unsigned char #define ...
基于51单片机和ADC0809数模转换的C程序
基于51单片机ADC0809数模转换的C程序_信息与通信_工程科技_专业资料。#include<reg52.h> #include<math.h> #define uchar unsigned char #define uint unsigned...
基于51单片机和ADC0809的数据采集系统
基于51单片机ADC0809的数据采集系统_文学_高等教育_教育专区。51单片机的模数转换...总的 C 语言程序如下所示,由 LED 显示模块,进制转换模块,ADC 模块,主函数...
51单片机控制ADC0809实现A
51 单片机控制 ADC0809 实现 A/D 转换 C 程序(转) 2009-10-13 10:22 ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控 制逻辑的 ...
51单片机AD0809及数字电压表 正弦波的函数发生器的c代码
51单片机AD0809及数字电压表 正弦波的函数发生器的c代码_电子/电路_工程科技_...4. 程序设计内容 i. 由于 ADC0809 在进行 A/D 转换时需要有 CLK 信号,而...
基于51单片机和ADC0809多通道模数转换的设计与实现
基于51单片机ADC0809多通道模数转换的设计与实现_电子/电路_工程科技_专业资料...图6 ADC0809的工作时序图 2.2.3 ADC0809与 AT89C52单片机的接口电路 ADC...
ADC0809与51单片机接口电路及应用程序
基于51单片机的ADC0809多... 4页 1下载券 51单片机...A​D​C​0​8​0​9​与​5​...ADC0809 与 51 单片机接口电路及应用程序最近研究了...
基于ADC0809和51单片机的多路数据采集系统设计
基于ADC080951单片机的多路数据采集系统设计_理学_高等教育_教育专区。数据采集系统今日推荐 180份文档 CET四六级高分通关宝典 2014年6月大学英语六级考试真题及答案...
ADC0809程序
ADC0809程序_工学_高等教育_教育专区。基于51单片机的应用ADC0809C语言程序,把AD转换的光强数据用液晶12864显示出来并做出响应的程序。/...
51单片机 adc0809 lcd1602
51单片机 adc0809 lcd1602_电子/电路_工程科技_专业...开发板/学习板/实验板LY5A-L2A板 STC89C52(AT89...LCD1602单片机51程序 2页 免费 基于51单片机LCD1602...
更多相关标签:
adc0809 单片机 | adc0809与单片机连接 | adc0809与单片机c程序 | 89c51和adc0809电路图 | adc0809与89c51的连接 | adc0809 51 | adc0809和51的连接图 | ad0809 51单片机程序 |