欢迎来到深圳中鲁粤科技有限公司网站!

收藏本页 | 常见问答 | 在线留言 | 网站地图

科技资讯

日本加野麦克斯Kanomax
专注某某行业十余年
咨询热线13800000000

热门关键词:示例页面

科技资讯

1元涨1000粉丝网站_秒赞网_pdd砍价卡盟

文章分类:文章中心人气:45 次访问时间:2024-05-19 21:05

自助下单地址(拼多多砍价,ks/qq/dy赞等业务):点我进入

1 简介

电压表作为电子应用领域不可或缺的工具液晶电表控制器原理,其性能越来越受到人们的关注。 传统的模拟电压表设计复杂、精度低,不适合一般应用[1]。 数字电压表是许多数字仪表的核心和基础。 电压表的数字化就是把直流电压等连续的模拟量转换成不连续的离散数字形式并显示出来。 该阅读方法避免了阅读的视差和视觉疲劳[2]。

采用单片机设计的数字电压表以其精度高、抗干扰能力强、可扩展性强、集成方便、价格低廉等优点得到广泛应用[3]。 其内部核心部件是A/D转换器,转换器的精度极大地影响着数字万用表的精度[4]。整流器

本文采用A/D转换器TLC549将电压测量电路测量的输入模拟信号转换为电压值,控制核心AT89S52对转换结果进行计算处理,最后驱动输出显示器件LCD1602显示数字电压信号[5]。

2 系统硬件设计

系统硬件采用模块化设计,以单片机主控制器为核心,由LCD显示电路和A/D转换电路组成的数字电压表控制系统。 主要包括单片机主控模块、LCD显示模块、A/D模块等。 其中,单片机主控模块主要完成外围硬件的控制和计算功能; 液晶显示模块完成字符和数字的显示功能; A/D模块通过A/D芯片实现A/D转换,输出电压的数字量通过LCD显示。 系统硬件组成框图如图1所示[5]。 IGBT

2.1 主控模块设计

在大多数工业控制或测控设备中,8位的MCS-51系列单片机可以满足大部分的控制要求,而MCS-51系列单片机的价格优势使得MCS-51系列单片机成为单片机应用的主流。 AT89S52是目前应用广泛的MCS-51系列兼容单片机的代表产品。 鉴于此,本系统选用AT89S52单片机作为主控制器。

2.2 LCD显示模块设计

字符液晶显示模块是专门用来显示字母、数字、符号等的点阵液晶显示器,目前有16×1、16×2、20×2、40×2行模块。本系统采用1602字符液晶显示模块,其控制器为日立公司生产的HD44780,可用于显示数字、字符等晶闸管。

2.3 A/D转换模块设计

A/D模块由A/D芯片和电压测量电路组成。 输入电压由电压测量电路测量并转换为0-5V的标准信号。 本系统选用TI公司生产的低成本、高性能的8位A/D芯片TLC549。 其工作时序如图2所示。

系统硬件电路原理图如图3所示。

3 系统软件设计

系统软件设计采用C51编程,采用模块化设计方法,主要由主函数、定时器T0中断服务函数、A/D转换函数、计算A/D转换值函数、LCD显示函数、LCD显示A /D转换值函数等模块,系统软件结构框图如图4所示[5]。

3.1 算法设计

根据A/D转换芯片TLC549的工作时序,可以20ms进行一次A/D采样转换。 定时器T0 可用于计时。 基本定时时间为5ms。 此时会产生定时器T0中断,在定时器T0中断服务函数中调用A/D转换函数进行A/D采样转换,然后调用计算A/D转换值的函数将A/D转换值转换成对应的ASCII码最后通过LCD显示A/D转换值功能将输出电压(0-5V)转换后的数字值显示在液晶LCD1602上,数字值显示范围是 0-255。

3.2 数据结构设计

数据结构设计如表1所示。

3.3 程序设计

(1) 主要功能设计

main函数主要完成硬件初始化、数据初始化、函数调用等功能。

①初始化。 首先将定时软计数器keytime值初始化为4。调用LCD初始化函数,调用write display data to LCD1602函数将LCD的DDRAM地址设置为00H,调用delay函数,调用write display data to LCD1602函数在 LCD 上显示字符数据“ADC:”。

② 定时初值计算。 定时器T0的计时时间为5ms,系统使用的石英晶体振荡频率为11.0592 MHz。 因此,1个机器周期=1/石英频率×12,即12/11.059 2 ms,定时器工作模式设置为模式1,计算初值如下:

③ 定时器设置。 设置定时器T0的工作模式:定时器,模式1,即TMOD=01H。 启动定时器T0,即TR0=1。 打开定时器T0中断和总中断,即设置IE=82H。

④ 等待中断。

定时器T0开始计时后,CPU等待计时中断的到来。 当定时器T0固定5ms时,进入定时器T0中断服务函数。

主要功能设计流程图如图5所示。

(2)定时器T0中断服务函数设计

当定时器T0固定5ms时,进入定时器T0中断服务函数。

首先重载定时器T0的初值,即TH0=0xee,TL0=0x00。 每5ms一次,软计数器KEYTIME的值减1。然后判断软计数器的keytime值是否为0: ①如果keytime值不为0,则表示20ms(20ms采样一次)时间还没来,则T0中断函数返回主函数继续计时。 ②如果keytime值为0,表示20ms(每20ms采样一次)时间到了,将软计数器keytime初值重置为4,准备下一次计时,然后调用A/D转换函数进行A/D采样转换,得到A/D采样转换值adbl,调用计算A/D转换值ASCII码函数计算A/D采样转换值adbl对应的ASCII码,调用函数LCD显示A/D转换值输入模拟输入电压(0~5V) 转换后的数字量显示在液晶LCD1602上,数字量显示值范围为0~255。最后T0中断函数返回主函数进行下一次A/D采样转换[5]。

液晶电表控制器原理_液晶电表偷电遥控器_液晶电表干扰器

定时器T0中断服务函数设计流程图如图6所示。

(3) A/D采样转换功能设计

根据A/D转换芯片TLC549的工作时序,片选信号CS为高电平时,数据输出DATA OUT端为高阻态液晶电表控制器原理,时钟信号I/O CLOCK不工作此时,无法进行 A/D 转换。 将片选信号CS设置为低电平,内部电路检测到CS的下降沿后,等待内部时钟的两个上升沿和一个下降沿,再确认这一变化。

首先定义变量i(代表A/D采样转换位数),将芯片TLC549的片选信号AD_CS设置为低电平,选择芯片。

将A/D采样转换值adbl初始化为0,变量i(A/D采样转换位)初始化为0。

判断A/D转换位i是否小于8。

①如果i小于8,则将芯片TLC549时钟信号AD_CK置高电平,将A/D采样转换值adbl左移一位。 然后判断A/D采样转换串行数据输出信号AD_OUT是否为1:如果AD_OUT为1,则A/D采样转换值adbladbl加1。 如果AD_OUT为0,A/D采样转换值adbladbl保持不变。

然后设置芯片TLC549时钟信号AD_CK为低电平。 最后将A/D转换次数i加1,再次转向上述判断A/D转换次数i是否小于8。

②如果i不小于8,将芯片TLC549的片选信号AD_CS置高电平,结束A/D采样转换,退出A/D采样转换功能。

A/D采样转换功能设计流程图如图7所示。

(4) A/D转换值的计算ASCII码功能模块设计

要在LCD上显示AD转换值adbl,需要将其转换成对应的ASCII码。

先计算A/D转换值的百位ASCII码:A/D转换值adbl除以100得到商和0x30(因为0~9的字符数与其对应的ASCII码之差为30 小时)。 然后计算A/D转换值的十位ASCII码:将A/D转换值adbl除以100得到的余数再除以10,得到的商为0x30(因为与字符编号 0~9 及其对应的 ASCII 码为 30H ) 相互关联。 然后计算A/D转换值的个位ASCII码:A/D转换值adbl除以10,余数为0x30(因为0~9的字符数与其对应的ASCII码相差30H) . 最后函数返回。 计算A/D转换值ASCII码函数设计流程图如图8所示。

(5) LCD显示功能设计

LCD显示功能模块包括LCD初始化函数、写命令数据到LCD函数、写显示数据到LCD函数、LCD显示A/D转换值函数、延时函数等模块。

4。结论

详细介绍了系统的总体结构、硬件设计和软件设计。 着重阐述了利用AT89S52单片机和A/D转换器TLC549对电压测量电路信号进行处理,最终驱动输出显示器件LCD1602显示数字电压信号。 该系统具有精度高、抗干扰性强、速度快、性能稳定等特点。 适用于一般电子系统的电压测量,具有很好的使用价值。

热销产品