网站大量收购独家精品文档,联系QQ:2885784924

智能仪器考核大作业.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能仪器考核大作业

1、 智能仪器的含义是什么?它的主要特点是什么?    由题意可知:本题可以采用DAC0832的单缓冲工作方式与单片机MCS-51连接,D/A转换器的地址为7FFFH,故其电路图如图1所示: 图1 MCS-51单片机与D/AC0832的接口电路 程序代码: #includereg52.h #includeabsacc.h #define da0832 XBYTE[0x7fff] void main() { unsigned char i,j; while(1) { for(i=0;i=255;i++) { da0832=i; for(j=0;j255;j++); //延时 } } } 其电路图如图2所示: 图2 MCS-51单片机与液晶1602接口电路 程序流程图: 图3 LCD1602显示字符流程图 程序代码: #includereg52.h #define uchar unsigned char #define uint unsigned int uchar data[]=WHLGDX; uint num; sbit lcdrw=P1^6; sbit lcdrs=P1^7; sbit lcden=P2^4; void delay(uint z)//延时1MS { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } void write_com(uchar com) // 写指令 { lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_data(uchar date) // 写数据 { lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0; } void init()//初始化 { lcdrw=0; lcden=0; write_com(0x01);//显示清屏 write_com(0x38);//显示模式设置 write_com(0x0f); //显示开,开游标,闪烁 write_com(0x06); // 字符时整体不移动 } void main() { init(); write_com(0x80); for(num=0;num6;num++) //写入第一行数据 { write_data(data[num]); delay(10); } write_com(0x01); write_com(0x80+0X40);//移动指针 for(num=0;num6;num++)//写入第二行数据 { write_data(data[num]); delay(10); } } 其电路图如图4所示: 图3 MCS-51单片机与IBM-PC的RS232C数据通信接口电路 程序流程图 图4 单片机与PC机串口通信流程图 程序代码: #include reg51.h #include absacc.h #define uchar unsigned char #define uint unsigned int /*定义数码管显示字符跟数字的对应数组关系*/ uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /*定义需要点亮的数码管*/ uchar code sled_bit_table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar dat; void Init_Com(void) { TMOD = 0x20; //定时器工作方式2,初值自动装入 PCON = 0x00; //波特率不增倍 SCON = 0x50; //串行工作方式设定 TH1 = 0xFd; //定时器初值高位 TL1 = 0xFd; //定时器初值低位 TR1 = 1; //启动定时器 } /*函数功能:LED数码管延时程序*/ void delay(uchar ms) { uint x,y; for(x=ms;x0;x--) for(y=110;y0;y--); } /*函数功能:LED数码管显示程序*/ void display(int k) { int j; for(j=0;j8;j++) {

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档