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

电子商务网站建设选择服务器要考虑的因素有提高百度快速排名

电子商务网站建设选择服务器要考虑的因素有,提高百度快速排名,成都企业网站的建立,access数据库做网站1、ADC0808 芯片介绍 ADC0808是一款集成的CMOS设备,包含8位模拟至数字转换器、8通道多路复用器和与微处理器兼容的控制逻辑。8位A/D转换器采用逐次逼近作为转换技术。转换器特点包括高阻抗斩波稳定比较器、256R电压分压器、模拟开关树和逐次逼近寄存器。8通道多路复…

1、ADC0808 芯片介绍

        ADC0808是一款集成的CMOS设备,包含8位模拟至数字转换器、8通道多路复用器和与微处理器兼容的控制逻辑。8位A/D转换器采用逐次逼近作为转换技术。转换器特点包括高阻抗斩波稳定比较器、256R电压分压器、模拟开关树和逐次逼近寄存器。8通道多路复用器可以直接访问8个单端模拟信号。

        该设备消除了外部零点和满量程调整的需要。通过锁存和解码的多路复用器地址输入以及锁存的TTL TRI-STATE®输出,提供了与微处理器的简易接口。

        ADC0808的设计通过结合几种A/D转换技术的最理想方面进行了优化。ADC0808和ADC0809提供高速、高精度、温度依赖性小、长期精度和重复性极佳,并且功耗极低。这些特点使得该设备非常适合从过程和机器控制到消费和汽车应用的应用。 

特点
  • 易于与所有微处理器接口

  • 可以比率计量操作或使用5 Vpc或模拟跨度调整的电压参考

  • 不需要零点或满量程调整

  • 8通道多路复用器,带地址逻辑

  • 输入范围0V至5V,单5V电源供电

引脚定义

IN0~IN7:8路模拟量输入端。

D0~D7:8位数字量输出端。

ADDA、ADDB、ADDC:3位地址输入线,用于选择8路模拟通道中的一路,选择情况见表。

ALE:地址锁存允许信号,输入,高电平有效。

START:A/D转换启动信号,输入,高电平有效。

EOC:A/D转换结束信号,输出。当启动转换时,该引脚为低电平,当A/D转换结束时,该线脚输出高电平。

OE:数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,输出锁存器的数据从D0~D7送出。

CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ. REF+、REF-:基准电压输入端。

 时序图

典型电路 

 2、仿真电路

电路中,12位的max1241和adc0808电压采样结果形成对比,红色数码管显示的是 adc0808,蓝色数码管显示的是max1241的采样结果,结果表明,两者误差相差10倍以上。

3、软件代码

ADC0808.c
/********************************************************************** 模块名称: Adc0808.h* 模块名:ADC0808控制模块* 功能描述: 该模块定义了与ADC0808进行通信所需的宏和函数原型* 创 建 人:bianjingyuan * 日期:2024-10-30* 编译环境:Windows XP + MPLAB IDE 8.83 + Picc 9.60* 版本号:1.0* 修改记录:*********************************************************************/
// 数据类型定义
#define 	uchar 	unsigned char
#define 	uint  	unsigned int
#define 	ulong 	unsigned long
#define 	nop		asm("NOP")
#define 	sleep  	asm("sleep")
//**************************新增模块的相关定义**********************************/
// 定义0808通信端口
/*解析:
START、EOC 和 OE 是用于0808通信的端口信号。
TRISD3 = 0 配置RD3为输出,表示在代码中START信号将由微控制器驱动。
TRISD4 = 1 配置RD4为输入,表示在代码中EOC信号为微控制器从外部设备读取的信号。
TRISA0 = 0 配置RA0为输出,表示在代码中OE信号将由微控制器驱动。
*/
#define START   RD3   	// RD3作为输出
#define EOC     RD4   	// RD4作为输入
#define OE      RA0   		// RA0作为输出// 宏定义 - 这里定义了PORTC为某个特定的硬件寄存器
#define ADC_DATA_PORT PORTC//**************************本模块的函数定义**********************************/
uchar ad_result=0;
extern void delayus(uchar a);// 延时10us最准
/********************************************************************** 函数名: Adc0808_Read* 功能描述: 读取ADC0808的转换结果* 调用函数: delayus()* 全局变量: ad_result, START, EOC, OE* 输    入: 无* 返    回: ADC转换结果(无符号字符)*********************************************************************/
uchar Adc0808_Read(void)
{// 首先是START信号,由低变高再变低START = 0;START = 1; // 清空ADC0808的内部寄存器值delayus(10);START = 0; // 下降沿开始AD转换// 然后看EOC信号,由高到低while (EOC == 0); // 等待EOC信号为0,表示转换完成// OUTPUT ENABLE(OE)信号变高,然后读取输出信号OE = 1;           // 使能输出ad_result = ADC_DATA_PORT; // 使用宏定义来读取数据OE = 0;           // 关闭输出return ad_result; // 返回ADC转换结果
}
main.c
//********************************************************************
//*  文件名:main.c
//*  文件描述:单片机主程序,负责系统初始化和电压显示
//*  编译环境: Windows XP + MPLAB IDE 8.83 + Picc 9.60
//*  编程者: bianjingyuan
//*  编程日期: 2024-11-06
//*  版本号:1.0
//*  修改记录:无
//********************************************************************
void main()
{Initial_System();     // 初始化系统设置ad_init();            // 初始化AD转换功能Set_Port_IO();        // 设置端口IO方向max7219_int();        // 初始化MAX7219显示驱动di();                 // 禁用全局中断TRISD0 = 1;           // RD0为转换结果输入TRISD4 = 1;           // 配置RD4为输入TRISC = 0b11111111;   // 配置RC端口为输入max1241_init_io();    // 初始化MAX1241模块add3 = 0; add2 = 0;  // 清除显示数据add1 = 0; add0 = 0;redo:counter = 0;for (k = 10; k > 0; k--)  // 进行10次采样,以获得5.115V电压基准{max1241_read_io();    // 读取MAX1241转换结果counter = counter + adre_1241; // 累加转换结果}cal_hex(counter >> 3);   // 计算结果并转为十六进制send(0x05, add3 + 128);  // 发送小数点相关数据,用于显示电压send(0x06, add2);send(0x07, add1);send(0x08, add0);counter = 0;for (k = 20; k > 0; k--)  // 进行20次采样,以获得ADC0808转换结果{Adc0808_Read();       // 读取ADC0808的转换结果counter = counter + ad_result; // 累加ADC转换结果}cal_hex(counter);        // 计算并转为十六进制send(0x01, add3 + 128); // 发送ADC结果send(0x02, add2);send(0x03, add1);send(0x04, add0);delay1s();              // 延时1秒delayms(100);           // 延时100毫秒delayus(10);            // 延时10微秒delay1s();              // 再次延时1秒goto redo;              // 循环返回到redo标签
}

4、代码解析

        该代码实现了对 ADC0808 的控制与数据读取。ADC0808 是一种8位模数转换器,具有8通道的多路复用输入。代码通过定义宏、设置引脚以及实现读取函数,实现与 ADC0808 的通信。模块的主要功能包括:

  1. 定义数据类型及控制信号

    • 使用宏定义了一些常用的数据类型缩写及控制信号,如 STARTEOC 和 OE,分别用于启动转换、检测转换结束和使能数据输出。
    • 定义 ADC_DATA_PORT 为数据读取端口。
  2. 读取转换结果

    • Adc0808_Read() 函数用于执行模数转换并读取转换结果。通过控制引脚信号顺序,实现对 ADC0808 的启动、转换完成检测,以及数据读取。

 5、硬件资源分配表 

序号引脚类别方向功能定义功能内容相关寄存器及配置
1RD3数字IO输出START启动信号TRISD3 = 0
2RD4数字IO输入EOC转换完成信号TRISD4 = 1
3RA0数字IO输出OE输出使能信号TRISA0 = 0
4PORTC数据端口输入ADC_DATA_PORT读取ADC数据数据端口(PORTC)

6、软件流程图


        在这个流程图中:

  • 启动ADC转换过程:流程的起点,开始ADC的转换过程。
  • 设置START信号由低变高再变低:设置ADC的START信号,通常是一个脉冲信号,用于启动ADC转换。
  • 等待EOC信号变高:等待转换结束信号EOC(End of Conversion)变为高电平,表示转换完成。
  • 使能输出(OE)读取转换结果:使能输出使能信号(OE),准备读取转换结果。

7、仿真运行结果

 

 

http://www.dinnco.com/news/18559.html

相关文章:

  • 模板做图 网站玄幻小说百度风云榜
  • 一级a做爰片免费网站神马电影全网营销软件
  • 合肥网站建设兼职今日国际新闻10条
  • 网站运营教程打开网站搜索
  • html5 手机网站开发叫才西安市网站
  • 网络推广专员任职要求优化网站排名如何
  • 网站建设推广方案seo搜索引擎专员
  • 外贸网站 在线客服百度搜索app
  • phpcms网站模版搜索关键词排名工具
  • 鄂尔多斯网站建设免费网站推广群发软件
  • 公司网站怎么做百度竞价简单网页制作
  • wordpress评论已关闭免费seo网站诊断免费
  • 什么网站做美式软装设计方案个人网站设计模板
  • 郑州阿里巴巴网站建设关键词优化价格表
  • 网站制作的销售对象在线优化网站
  • 章丘网站开发培训建立网站的流程
  • 云南网站建设费用泉州seo按天收费
  • 专注河南网站建设新人跑业务怎么找客户
  • 导购网站建设需求模版黑客入侵网课
  • 网站建设官网型好呢还是商城型百度游戏官网
  • 开锁在百度上做网站要钱吗查关键词
  • php网站语言切换功能如何做免费二级域名分发网站源码
  • iOS开发 隐私政策网站怎么做百度关键词竞价查询系统
  • 南宁市两学一做网站电商网站分析
  • 广告网站怎么做的北京seo排名服务
  • 触屏网站模板站长之家网站模板
  • 西部数码 空间做2个网站推广营销软件app
  • 做app和网站哪个行业关键词查询
  • 网站建设发票属于增值税肇庆百度快速排名
  • php做动态网站建设基本seo