头像-47348

lennon

  • 辽宁省盘锦市
  • 单片机 模拟技术
  • 测试仪器及设备

个人成就

获得 2 次赞

帮助过1人

PCB多通道设计问题

对,现在也就是网络标号和原件号变了,我再找找有没有更好的解决方案

求助:基于DAC0832的信号发生器频率是怎么计算的?

还有一点我不太懂你说假設都是預設值,就是Timer0的頻率為SysClk的12分頻,即12T定時 f=2M/(65536-64774)=2M/762=2624 Hz 有額外設定為T1定時 f=24M/762=31496 Hz 这句话中2M/762 2M是什么意思?谢谢解答

求助:基于DAC0832的信号发生器频率是怎么计算的?

上面的那个程序是可以仿真出来的,说明其设置的频率调整中间值是正确的,请你帮我看看这个频率是怎么计算出来的吧,谢谢

求助:基于DAC0832的信号发生器频率是怎么计算的?

比如10hz正弦函数。一个周期是0.1s,256个采样点,每个点的执行时间是0.1/256=0.000390,也就是说我定时器定一个390us的时间即可,但是TH0=fd,TL0=06,fd06=(64774),定时时间也就是65535-64774=761us,和预计时间不一样啊,晶振是24m的应该和晶振没关系吧

pic16F872汇编转换为c语言,思路是什么?这段代码怎么转换

汉云 发表于 2016-8-7 17:52 按功能吧。 汇编一般也是分块写的。 一个label是一个功能函数吗?我汇编不是很懂。按照每条指令翻译,也整合不到一起去。

大家帮我看看这个我哪里理解错了

999 发表于 2016-7-12 00:01 那个循环移位只是依次提取dat的各个bit的值,然后通过io写入ds1302。 你的io就一个引脚,数据带宽只有1个bi ... 哎呀,这么一说我就明白了。真是论坛高手多呀,自己学起来身边每个能给指导的真的很费劲,谢谢你的答案

大家帮我看看这个我哪里理解错了

999 发表于 2016-7-11 23:05 从你的程序来看,我猜你的io定义的是一个引脚,而不是整个port。(即使是一个port也应该是低位的引脚与ds13 ... 你说的没错,io定义的是一个串行口。 我给你发开发板自带的程序吧。上面那个是我自己理解举得例子。 void Ds1302Write(uchar addr, uchar dat) { uchar n; RST = 0; _nop_(); SCLK = 0;//先将SCLK置低电平。 _nop_(); RST = 1; //然后将RST(CE)置高电平。 _nop_(); for (n=0; n>= 1; SCLK = 1;//数据在上升沿时,DS1302读取数据 _nop_(); SCLK = 0; _nop_(); } for (n=0; n>= 1; SCLK = 1;//数据在上升沿时,DS1302读取数据 _nop_(); SCLK = 0; _nop_(); } RST = 0;//传送数据结束 _nop_(); } 我的疑惑就是如何通过8次循环将一个八位dat或者八位addr写入的?你的意思就是i通过一次循环只能写入一个0或者1, 8次以后就写入了八位数据? 可是当i=7时,diso=0或者1(我没算具体是几),那前七次循环计算的数据存储在哪里了?我的理解是diso都会把前一次计算的都覆盖了,只留i=7的计算结果,那不是就没有把数据写入吗?