找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

BASCOM AVR ADS1110 _16-BIT模数转换器仿真

查看数: 3201 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-10-8 23:45

正文摘要:

$regfile = "m8def.dat" $crystal = 8000000 '$baud = 19200 'Config Clockdiv = 1                         ...

回复

ID:342822 发表于 2024-2-28 10:03
问题可能出在单片机与终端通讯配置上:
1,要做到mega16属性中晶振频率与程序代码中的频率一致。
2,终端中波特率的选择与代码中的一致。
3,单片机与终端连接是叫擦连接即:TXD---RXD
试试看,祝你成功~~
ID:1111498 发表于 2024-2-27 22:35
我已经转战使用ADS1110了,没有使用ADS1115了。我只需要一个通道就可以。我现在是ADS1110和ATMEGA16。使用上面那个程序,读出来的数据全是0.0
麻烦大神指导指导
ID:342822 发表于 2024-2-27 22:24
先生,不能简单地套用啊~~~
这个ads1110只有一个adc通道。你那个1115有4个通道需另外要配置的
我已上传了别人写的程序及仿真动画图片,你再琢磨琢磨
ID:1111498 发表于 2024-2-27 17:18
你好,我参照这个用MEGA16代替了mega8,读出来的数据全部是0,求大佬解答,十分感谢!
$regfile = "m16adef.dat"
$crystal = 12000000
$baud = 9600

Config Scl = Portc.0                                       
Config Sda = Portc.1
Config Twi = 400000                                         
I2cinit
$lib "i2c_twi.lbx"                                          ' 不使用模拟软I2C,使用硬TWI
$lib "glcdSSD1306-I2C.lib"                                  ' 用这个特殊的lib覆盖默认lib


Config Single = Scientific , Digits = 3     '设置 单精度=科学计数法,保留点后位数


Dim dianya_zhuanhuan As Single                 '计算电压转换变量
Dim Pga As Integer                            '增益变量
Dim CELIANGh As Byte , CELIANGl As Byte        '数据测量变量
Pga = 1                                           '


Do
Gosub xie                                     '调用测量读取计算子程序
Gosub duqu                                  '调用测量结果子程序
print dianya_zhuanhuan               'dianya_zhuanhuan
Waitms 250
Waitms 50
Loop
End


'------------------------------------------------------------------------------
xie:
I2cstart                                                'start condition
I2cwbyte &H90                                       'slave address
I2cwbyte &H8C                                         'asdress of EEPROM
I2cstop                                                 'stop condition
Waitms 10                                               'wait for 10 milliseconds
Return


duqu:           '测量读取计算子程序
I2cstart
I2cwbyte &H91                        '读取地址
I2crbyte CELIANGh , Ack                       '测量读数   如果要读取更多字节,请指定ACK。
I2crbyte CELIANGl , Nack                      '如果NACK是要读取的最后一个字节,则指定NACK
I2cstop                                       '停止位

   dianya_zhuanhuan = CELIANGh * 256                       '左移至高8位
   dianya_zhuanhuan = dianya_zhuanhuan + CELIANGl           '添加低8位
   dianya_zhuanhuan = dianya_zhuanhuan * 2.048
   dianya_zhuanhuan = dianya_zhuanhuan / 32768
   dianya_zhuanhuan = dianya_zhuanhuan / Pga
dianya_zhuanhuan = dianya_zhuanhuan *1000    '扩大1千倍以mV单位显示
Return

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表