Questions tagged «pic»

PIC是Microchip生产的8位,16位和32位RISC微控制器品牌。“ PIC”最初是“ Peripheral Interface Controller”的缩写。

5
两个芯片可以读写的SRAM
我正在寻找一个32KB左右的小型SRAM设备,以便两个MCU可以读取或写入(在两个不同的时间;我不需要同时进行读取/写入。)如果它也使用串行接口,那就太好了。 我要解决的问题是在两个设备之间发送数据,而另一个设备不必暂停接收数据。我将音频样本传输到缓冲区中,然后根据需要另一个芯片将音频读出,并对其进行处理。 我发现串行SRAM类似于Microchip的23A256 / 23K256,但是,它们似乎只有一个串行接口。有什么办法让两个芯片访问这个? 此外,接收设备仅具有2KB的可用数据存储器(最大),因此看起来似乎无法使用DMA或通过I2C或其他接口进行的类似传输机制。
9 pic  memory  sharedbus 


5
我需要将我的代码放入微控制器吗?
我学习了有关编码控制器的知识,但从未真正将代码放在物理设备上。我试图弄清楚开始开发基本的嵌入式系统所需的条件。 例如,如果我有PIC18F1330,则我有MPLAB IDE和XC8编译器。太好了,所以我已经编译了代码,现在可以将其放到控制器上了。将PC上已编译的代码传输到控制器上,我需要做什么? 我看过诸如在线调试器和PIC套件之类的东西。我现在迷路了。

1
使用ADC测量PIC自己的VDD-in电压
处理器:PIC18F66K22 编译器:C18(XC8也可以) 我刚刚编写(并成功测试)代码以测量AN4模拟引脚上的电压。 现在,我想尝试其他方法,不确定在理论上是否可行。 我的测试板上有一个PIC处理器,其VDD,AVVD连接到电源(范围从0(如果电池为空/已断开)到4,2(充满电)。 我可以使用ADC测量电路板的VDD(-in)吗? 为什么不?: 它不是ANx引脚,不确定如何使ADC测量它吗?(渠道?) 如果VDD(-in)上的电压下降,我的ADC参考电压也会下降吗?(因此,当我的PIC仅获得3.3V电压时,ADC仍会说它是100%(作为芯片上的最大电压,参考电压也是3.3V)。 你为什么/问什么? 我可以测量通道30(VDDCORE)吗? 我可以将Vref设置为Vdd并使用A / D转换器测量精密基准电压吗?(不确定如何) 或者我可以添加一条从VDD-in到ANx引脚的导线? 当VDD-in约为3,4V时,内部VREF +(4.096V)会保持4 + V吗?有某种转化器可以做到吗? 内部VREF +(4.096V)低于电池的最高电压(4.2V),这是否意味着我会损坏ADC?或仅当电池充满时,结果将达到最大值。(4,096V中的4,2V) 请注意,我对电子学的知识是“低”的。我在学习过程中已经了解了更多有关软件部分的方法,但是我想了解更多有关(嵌入式)电子产品的信息,因为它是嵌入式工程中的关键部分。(可悲的是我的学校怎么没看到这个。)
8 pic  adc 

2
选择并偏置由微控制器控制的MOSFET,电流重要吗?
我需要为这里介绍的电路选择MOSFET时需要一些帮助,我本来是使用BJT设计的,但在这种情况下FET更具意义。 FET将由PIC24控制,该PIC24向FET发送逻辑高或逻辑低。我知道FET是电压控制的设备,但我想知道是否还需要最小电流来接通FET? 如果是这样,是否需要对FET施加偏置以使PIC24能够提供足够的电流来开启FET? 我对偏置FET也不是很熟悉,所以我也对内部经过预偏置的FET感到好奇,但是在Google上很难找到它们。您还能推荐其他资源吗?
8 voltage  pic  mosfet  fet 

5
测量混凝土声速的电路
我需要一个电路来测量混凝土中声速至1μs或更好。这是为学校示范而设计的,在那里学习建筑的学生将使用此电路来测量混凝土样品中的声速,以确定混凝土的质量。 我有两个40kHz的换能器:一个用于传输脉冲,另一个用于检测大约10厘米厚的混凝土样品另一侧的脉冲。 我有PIC处理器来生成脉冲,然后检测脉冲。 但是,当我看到许多商用超声波混凝土测试仪时, http://www.alibaba.com/trade/search?sb=y&IndexArea=product_zh_CN&CatId=&SearchText=Ultrasonic+Concrete+Tester 从他们的规格看来,他们使用的是khz传感器,而不是mhz。他们没有提到高于200khz的频率。也许由于mhz频率衰减了,所以声音在混凝土中良好地传输到khz频率有局限性吗? 我有一个构建成本非常低的学生系统的要求,而我只能找到便宜的40khz传感器。我可以找到的Mhz传感器对于我的要求来说太昂贵了。 从商用设备的规范中可以看出,它们使用20us到20ms的脉冲,然后在发送另一个脉冲之前等待接收器检测到。因此,最短的脉冲将只是一个完整的40khz正弦波,而较长的脉冲将是几个完整的40khz正弦波。任何失真可能都不重要,因为它们没有检测到窄带频率,而只是检测到接收器脉冲的第一次上升? 这对任何人有意义吗?我的意思是有人可以帮助我解决这个问题... 谢谢。

3
您可以为PIC微控制器选择任何晶体吗?
我正在使用PIC16F690,我知道内部振荡器具有某些值(20,8,4 ...)。 我想放置一个外部8MHz晶体,但只能找到8.8MHz或7.6MHz。 我想知道是否可以将其中的任何一个放到PIC上,还是必须精确地是8MHz?另外,我该如何选择每个电容器?

2
具有极高温度范围的微控制器
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为电气工程堆栈交换的主题。 去年关闭。 我正在寻找可在高温下工作的组件。特别是我正在寻找可在180°C至200°C下工作的微控制器。我需要找到在极端条件下可以正常工作的微控制器。如果微控制器具有内置的CAN接口,那真的很好吗?或我可以用于我的项目的任何其他方法和微控制器。微控制器的目的是从不同的传感器获取信息并执行一些校准。 我从TEXAS找到了一个微控制器SM320F28335-HT,但该微控制器的成本非常昂贵。是否有任何低成本且可在高温下工作的微控制器。

3
如何编程PIC12?
我有需要编程的PIC12F675。我正在使用Pickit 2和Pickit 2软件。我应该可以使用此电路对其进行编程,但是Pickit 2软件根本无法检测到该芯片。 怎么了 编辑:我已经添加了电路板的图像。而这里就是你可以找到的PIC12F675数据表。跳至第4页以了解引脚排列。 EDIT2:我实际上只是看了看这些芯片(笨拙,但我以为Mouser会把我订购的东西发送给我),我注意到它们实际上是PIC12C671的。这会有什么不同? 最终编辑:哇!感谢所有为我提供帮助的人!我没想到会有这样的反应。最终就像我想的那样,这是一个小愚蠢的问题。我从Mouser收到包裹时没有仔细检查所有东西是我的错。

2
PIC上的SPI时钟不稳定
我正在尝试将PIC18F25K22的MSSP模块配置为SPI主模式。我正在查看时序,并且整个传输过程中的时钟都不稳定。图片比文字更能说明问题。 发送一个比特后,时钟会缩短,并且每次不会缩短相同的时间。我以前没有使用过SPI,但是我在Wikipedia和其他资源上找到的图表从未显示过。我还连接了一个Arduino,但没有看到这种行为。我的代码是: #pragma config FOSC = INTIO67 // Oscillator Selection bits (Internal oscillator block) #pragma config PLLCFG = OFF // 4X PLL Enable (Oscillator used directly) #pragma config BOREN = OFF // Brown-out Reset Enable bits (Brown-out Reset disabled in hardware and software) #pragma config WDTEN = OFF // Watchdog …
8 pic  spi  timing 

3
Microchip XC16中函数的绝对地址
器件:dsPIC33FJ128GP802 我有一些* .s文件,如下所示 .global _D1 .section .speex, code _D1: .pword 0x66C821, 0x1B0090, 0xD96C36, 0x9B60B0, 0xDD4E36, 0xBF4E53 .pword 0xD1098B, 0x719BD9, 0x873989, 0x003B69, 0x279035, 0xED4244 .pword 0xE1403C, 0x54D439, 0x826550, 0xC59627, 0xDD0432, 0x88FA29 我在* .h中声明了相同的内容 extern void D1(void); 现在我将D1传递给表读取功能 nowPlaying.file1 = (unsigned long) D1; function(nowPlaying.file1); 我的问题是,如果D1的地址大于0X8000,则例程不正确。我尝试了大型和小型代码模型,但结果是相同的。我认为这是由于指针的16位限制引起的。是否有任何方法可以直接从代码中访问D1的绝对地址。可能类似于内置函数或宏。

3
从PIC18s上的I2C开始
对于一个项目,我希望三个PIC(两个从PIC18F4620,一个主PIC18F46K22)通过I2C总线进行通信。稍后,可以添加更多从设备(如EEP​​ROM,SRAM等)。我正在使用C18编译器在C中为这些PIC编写代码。我在Internet上浏览了很多东西,但是找不到用于处理(M)SSP外设的库。我已经在I2C模式下阅读了(M)SSP外设上的这两个PIC的数据表,但找不到如何与总线接口。 所以我需要主库和从库。 您有什么推荐的吗?你在某处有这样的图书馆吗?它是内置在编译器中的吗?如果是,在哪里?网络上有什么好的教程吗?


5
如何连接PIC单片机?
我是PIC微控制器和电气工程领域的新手,所以请放轻松:) 无论如何,我设法对PIC 16f627进行了编程,以便在按下按钮(触发按钮)时打开三个LED,并在另一个按钮被按下时启动关闭序列(基本上每个LED彼此之间以5秒钟的延迟关断)。按下(重置按钮)。我已经在Velleman的K8048 PIC编程器/实验板上进行了测试。引脚RA0和RA2分别是触发按钮和复位按钮的输入,而引脚RB0,RB1和RB2分别是LED的输出引脚。 使用实验板很棒,但是我想将其移至实际电路。问题是我不知道从哪里开始。我已经购买了3个LED(每个3.3伏),一些按钮和电线,并构造了以下电路: (对不起的原理图很抱歉) 在我构建的电路中,我首先进行测试以查看LED是否可以使用3个1.5伏AA电池,并且它们可以正常工作,因此我认为不需要电阻器。 但是,这不起作用,我完全迷失了。供参考,这是我的PIC代码。它使用MikroC用C编写。它可以在实验板上使用,所以我认为这不是问题 void main() { TRISB.RB0 = 0; TRISB.RB1 = 0; TRISB.RB2 = 0; PORTB.RB0 = 0; PORTB.RB1 = 0; PORTB.RB2 = 0; CMCON = 0x07; TRISA = 255; for(;;){ if(PORTA.RA0 == 1 && PORTB.RB0 == 1 && PORTB.RB1 == 1 && PORTB.RB2 == …

1
PIC18F4550如何双电源?
在数据表中,这是如何为18F4550双重供电的原理图。但是,他们没有指定要使用的晶体管以及必须使用的电阻值。对于电容器,我使用100uF(二极管侧)和470nF(Vusb侧)。我尝试放入我家里有的任何BJT,但是在没有Vself可用的情况下,它没有切换到Vbus。 有人可以建议使用哪个BJT(型号),以及随附的电阻。BJT对我来说就像一片黑暗的森林。
8 pic  transistors  bjt 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.