完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
您好,我在LCD与PIC16F1937的接口和阅读ADC方面有困难吗?有人能帮忙吗?当模拟变形时,上面写着“控制器在忙的时候收到数据”,我想在LCD上显示读到的不同参数。请在这里找到我关心的细节。谢谢。
|
|
相关推荐
9个回答
|
|
|
你仍然试图在汇编程序中编写一个复杂的实时系统吗?如果是这样,您将很难与诸如HD44780兼容的智能字符LCD之类的东西进行接口,因为它们相当慢,并且您的代码必须在每次命令或数据传输之后轮询LCD的忙位,或者在下一次命令或数据传输之前使用延迟来确保不发送ne。为三相纯正弦反相器VF驱动器(参见edaboard线程和[这里])维护并发的PWM更新将是*DIFICULT*,并且您已经在其他线程中演示了您不能处理抽象级别成功所需的模块化设计,并且不能以有意义的方式结合其他人给你的任何想法、概念和子例程,除非有人付给我一大笔钱(可能数量级),否则我不会在汇编程序中处理你的整个项目比C实现的费用要高),并且只有在指定了PIC18或PIC24时,才会接受该任务,以便硬实时任务可以以比系统其余部分更高的中断优先级运行。
|
|
|
|
|
|
因此,在一个顺序中,你只想用ADC读取电压并输出到LCD?首先,一旦你初始化和配置了ADC,你可以选择和移动模拟输入通道,对应于PIC上的引脚。要读取多个值,只需选择所需的通道、设置GO/DONE位、等待其完成、在重复之前将ADRES移动到GPR。然后您希望将它们输出到LCD,这意味着数字电压读数应该转换为人工接口格式:例如,如果ADC正参考电压是3伏,0xFF的数字值就意味着大约3伏。因此,0xFF应该是显示器上的“3”。如何实现这种转换是个人选择的问题。与外部LCD控制器通信则是读取该控制器的数据表和提供显示所需字符的请求的问题。通常,uart或mssp可以执行适当格式的数据发送。阅读你的edaboard帖子,似乎你也在寻找一个由PIC控制的“电力逆变器”:所有基本的12v直流到230v交流逆变器所做的就是通过升压变压器使12v振荡。Google在“逆变电路”中有很好的参考资料。简单来说,PIC可以输出50hz的信号,该信号使用许多不同的晶体管范式对通过变压器的电流进行门控。它也可以通过控制晶闸管来改变交流的占空比。你可能希望阐明你打算使用每个PWM的具体用途,因为从外观上看,这个项目似乎是一个简单的太阳能系统,带有电源转换。
|
|
|
|
|
|
亲爱的Bluedelta,我正在实施DC-AC逆变器,但是我想显示电压,正如你注意到的,如果你按照我在65283;1中张贴的链接操作,PIC的PWM信号是用来控制我的H桥的。我很高兴能理解所有的事情是如何通过组装完成的,当然,我会找到很好的时间来有效地学习。这里我不是在实现速度控制器,而是DC-AC变换器单相48VDC到220VAC,但是LCD现在很令人不安,因为我没有阅读我所期望的内容。基于电压值,我想决定当例如电池在40V时低电量时系统是继续工作还是停止,而且我想实现反馈,以便输出电压在运行期间保持几乎固定。ILS的我的项目:请帮助液晶显示器的ADC值和反馈,以维持交流输出电压几乎固定。
|
|
|
|
|
|
你可以用比较器来检测低电压没有问题,PIC16F1937有一个。你只需将电池电压分割到PIC的无害范围。现在保持恒定的输出电压取决于“负载”是什么:检查电学公式P=IV和V=IR。你会注意到,绘制多少电流将是一个主要因素。一个电池“静止”的端子电压和“负载下”的端子电压不同,这与它能够提供多少电流有关。我建议阅读“最大功率点定理”,以便进行有效的太阳能和电池设计。至于您可能看到的ADC值,您是否使用适当的值?TE分压器?用电阻将48除以10,你应该在ADC上看到4.8,然后如果你的参考值为5,你应该看到ADC的分辨率大约为4.8/5的二进制值。
|
|
|
|
|
|
单相固定频率固定振幅将比之前的三相VFD更容易处理,如果你也愿意考虑使用像C这样的HLL,你的成功几率也会提高。你到项目细节的链接没有出现,所以请用代码重新发布。标签。如果您告诉我们您正在使用的LCD的制造和型号,确切地说是如何将它连接到您的PIC并显示您正在使用的代码,我们几乎可以肯定地解释您为什么得到Proteus错误消息以及您需要修复什么。
|
|
|
|
|
|
您好,我使用的液晶显示器是HD44780,详细信息链接是在我使用PIC16F1936之前提到的Tahmid博客,但是我改变了,以便能够将LCD和不同的测量能力与模拟输入相连,所以我移动到PIC16F1937,这也增强了。D中频PIC,它有3个ECCP模块,有助于产生PWM信号容易。
|
|
|
|
|
|
Edabad链接是同一主题的同一页,您以前提供的。在那个页面上,我没有看到任何来自您的示意图或代码,并且我不打算在edaboard注册,以查明是否有任何成员仅存在附件。如果您需要帮助,这里没有发布的文档应该直接链接起来,并且可以通过锁定的浏览器轻松访问。面对,所以与你在上面第一篇文章中所提的问题没有关系。我不会重复自己询问细节来让我们回答你的问题,所以我只向您推荐以下资源,如果您足够努力地学习这些资源,您应该能够回答您自己的LCD问题。HD44780初始化序列在这里有些详细:http://www..hip.com/for./m825050.aspx(抓取我在该主题的后#8中链接的数据表,如果您还没有的话,您将需要它)。L.C.D.S第一部分和第二部分由Julyan Ilett,每日实用电子学,1997
|
|
|
|
|
|
我使用PIC16F1936与LCD和ADC接口。我使用PARA PIN RA0作为模拟,我不使用VCAP。我的程序在Proteus上运行良好。有一个奇怪的问题,RA0将在3.2V高,但我清楚地在软件中。当我用多表探针触摸IC管脚时,程序工作………………………………………。我的acd代码和LCD代码与其他IC工作正常。我正在使用频率为4Mhz的内部振荡器。我的配置位和程序初始化段如下://CONFIG1#pragma config FOSC=0b100;//振荡器选择(INTOSC振荡器:CLKIN管脚上的I/O功能)pragma配置WDTE=OFF//看门狗定时器启用(WDT禁用)pragma配置PWRTE=OFF//上电定时器启用(PWRT禁用)pragma配置MCLRE=ON//MCLR管脚功能选择(MCLR/VPP管脚功能是MCLR)#pragma config CP=OFF//Flash程序内存代码保护(程序内存代码保护被禁用)#pragma config CPD=OFF//数据内存代码保护(数据内存代码保护被禁用)#pragma config BOREN=OFF//Brown-out Reset Enable(BrownOutReset禁用)#pragma con图CKOUTUN = OF//时钟输出使能(CKOUT功能被禁用)。CLKOUT管脚上的I/O或振荡器功能)#pragma config IESO=OFF//Internal/External Switchover(启用内部/外部切换模式)pragma config FCMEN=OFF//Fail-Safe Clock Monitor Enable(启用故障安全时钟监视器)//CONFIG2#pragma config WRT=OFF//Flash Memory Self-Write.(写保护)#pragma config VCAPEN=0b11;//电压调节器电容器启用(所有VCAP引脚功能被禁用)ra5#pragma config PLLEN=OFF//PLL Enable(4x PLL禁用)#pragma config STVREN=ON//Stack Overflow/Underflow Reset Enable(堆栈溢出/下溢)上的vcap流或下溢将导致复位)//#pragma配置BORV=LO//Brown超出复位电压选择(Brown超出复位电压(Vbor),选择低跳闸点。#pragma配置LVP=OFF//低压编程使能(MCLR/VPP上的高压必须用于编程)无效主电路({APFCON=0x20);OSCTUNY=0x00;//振荡器模块在工厂校准频率下运行。OSCCON=0x6B;//4mhzintosc与4xpll禁用4xpll禁用CCP2SEL=0;//CCP2/P2A功能在RC1/T1OSI/CCP2/P2A/P2A ANSELA上为RC1/T1OSI/CCP2A ANSELA=0x0F;ANSELB=0x00;//端口b不是模拟LCDCON=0x03;//缺省值INTCON=0x00;LCDSE0=0x00;LCDSE0=0x00;LCDSE0=0x00;LCDSE0=0x00;LCDSE1=0XE1=0x00;T4CON=0XE1=0x00;T4CON=0x00;T4CON 0x00;T2CON=0x07;CCP4CON=0x00;CCP5CON=0x0CCP3CON=0x00;SSPCON3=0x00;SSPCON3=0x00;SSPCON2=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;SSPCON1=0x00;RCSTA=0x00;RCSTA=0xSTA;RCSTA=0x00;TXSTA=0xSTA=0x00;TXSTA;XSTA=0xSTA=0x00;SRCON0=0x00;SRCON0=0x00;SRCON0=0x00;SRCONN:改变中断负边寄存器TRISA=0x0F;TRISC= 0x00;LATA= 0x00;LATB= 0x00;LATC= 0x00;TrISB= 0x00;PORTB= 0x00;PORTC=0x00;PORTA=0x00;}
|
|
|
|
|
|
最好启动一个新的线程,请使用代码标记:
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:37 , Processed in 0.909195 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7075