欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    AD1674(双极性输入—5V-+5V)和MAX7221程序及proteus仿真.doc

    • 资源ID:19290351       资源大小:108.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    AD1674(双极性输入—5V-+5V)和MAX7221程序及proteus仿真.doc

    AD1674(双极性输入5V+5V)和MAX7221程序及proteus仿真图形中P代表“+”原件清单#include<reg51.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned int#define addo (10.0/4095.0)/转换进率,12位精度(212-1=4095),满量程为10V/*管脚定义*/sbit DIN = P25;sbit SCL = P26;sbit CS = P27;sbit STS = P20;sbit CS1 = P21;sbit A0 = P22;sbit CE = P23;sbit RC = P24;static uchar disbuf8;/显示缓存/*微秒延时函数*/void delay_us(uchar n) uchar i;while(n-) for(i=0;i<10;i+);/*毫秒延时函数*/void delay_ms(uint n)uchar i;while(n-) for(i=0;i<100;i+);/*向MAX7221串行写一个字节的数据*/void WriteData(uchar dat)uchar i;for(i=0;i<8;i+) DIN = (dat&(0x80>>i)?1:0; SCL = 0; delay_us(2); SCL = 1; delay_us(2);/*向MAX7221中指定的地址写入数据*/void MAX7221_Write(uchar addr,uchar dat)CS = 0;WriteData(addr);WriteData(dat);CS = 1;/*MAX7221的初始化*/void MAX7221_Initial(void)MAX7221_Write(0x0A,0x07);/LED亮度值设置为8/16MAX7221_Write(0x0B,0x07);/扫描显示器的个数为8个MAX7221_Write(0x0C,0x01);/正常操作模式(非掉电模式)MAX7221_Write(0x0F,0x00);/正常显示模式(非测试模式)MAX7221_Write(0x09,0xff);/对07的8个数据进行B型BCD译码/*LED显示函数*/void display(void)uchar i;for(i=0;i<8;i+) MAX7221_Write(i+1,disbufi);/*读取AD1674转换结果*/uint AD1674_Read(void) uint temp; uchar temp1,temp2; CS1 = 1; CE = 0; /初始化,关闭数据采集 CS1 = 0; A0 = 0; RC = 0; CE = 1; /CE=1,CS1=0,RC=0,A0=0启动12位温度转换 _nop_(); while(STS=1);/等待数据采集结束 CE = 0; /芯片使能关闭 RC = 1; A0 = 0; CE = 1; /CE=1,CS1=0,RC=1,12/8=1,A0=0允许高八位数据并行输出 _nop_(); temp1 = P0;/读取转换结果的高八位 CE = 0;/芯片使能关闭 RC = 1; A0 = 1; CE = 1;/CE=1,CS1=0,RC=1,12/8=0,A0=1允许低四位数据并行输出 _nop_(); temp2 = P0;/读取转换结果的低四位 CE = 0; CS1 = 1;/关闭AD1674数据采集 temp = (temp1<<8)|temp2;/高位和低位合成实际温度,temp2为P0口的高四位temp=temp>>4; /返回转换结果,右移四位是因为temp2为P0口的高四位/*if(temp<0x800) temp=0x800-temp;disbuf0=10; */if(temp>0x000)&&(temp<0x800)temp=0x800-temp;disbuf0=10; if(temp=0x000)temp=temp+2047; disbuf0=10;if(temp=0x800) temp=temp-0x800; disbuf0=0;if(temp>0x800) temp=temp-0x800; disbuf0=14; return (temp);/*向缓冲器中写入要显示的数据*/void HEXTOBCD(uchar chn) uint temp; temp = (int)(AD1674_Read()*addo*10000);/转换为可显示的实际温度值 disbuf1 = temp/10000; disbuf2 = (temp%10000/1000)|0x80;/带小数点的位显示 disbuf3 = temp%1000/100; disbuf4 = temp%100/10; disbuf5 = temp%10; disbuf6 = 15;/空显示 disbuf7 = chn;/显示通道号/*主函数*/void main()MAX7221_Initial();while(1) HEXTOBCD(1);/采集第一通道的数据 display();/显示采集到的数据 delay_ms(10);

    注意事项

    本文(AD1674(双极性输入—5V-+5V)和MAX7221程序及proteus仿真.doc)为本站会员(寂****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开