简单的逻辑电路实验(三)

简单的逻辑电路实验(三)

这几天用proteus模拟了几个基本门电路,而不是在面包板上插元件来实验,是有原因的:遵守安全管理且不给他人添麻烦,不能到办公室里取回器材,因此只是闲适性质的实验。

严格地说,这次实验不能算“简单的”逻辑电路实验,因为后面R-2R梯形网络,我其实并不是彻底的懂。

proteus能仿真Arduino。记得以前有一本书(也或者是网络上流行的结集资料)就专门讲用proteus学习Arduino和AVR单片机,讲了好多好多的例子。

很多电子大神不建议仿真,除非硬件条件有某些限制,不得已而为之。相信他们说的有道理。我是初学者。

这里的仿真,是使用Arduino产生正弦波信号。

1、生成hex固件文件。

到Arduino IDE里面编写代码。然后在sketch菜单下Export Compiled Binary,在ino文件所在的目录里得到两个hex文件。使用哪个hex文件都可以。

2、创建proteus模拟电路。创建时按照一般的图纸创建就行,不用选择使用固件,仿真时再指定固件即可。

以前一直不太懂这个电路,后来才知道叫R-2R梯形网络,DAC常用的基本电路,既简单又神奇,因为不论从哪里断开,电阻的阻值都是10k,然后每一次电流都被均分一半,再然后从输出端算起,输出的电压就是管脚输出的参考电压的权重累加值倍。具体地,例如,0至7号管脚全部取1V,那么输出的电压就是255分之约等于1V;如果管脚7取0,那么输出的电压就是255分之约等于0.5V。这是什么?完全就是二进制的讲解!所以我一直有这种感受,不学单片机,学进制感受会很遥远;不用单片机讲进制,更是遥远了。写过51单片机流水灯之后,更会对二进制体会至深。

双击Arduino,指定固件,千万注意,固件所在目录不能有汉字!

3、仿真模拟。

也见到有人直接把255个分量直接提前生成了,然后赋给sin[i]数组,估计可能是为了提高计算效率,也可能是为了便于控制输出信号的频率。

(0)

相关推荐