微型计算机控制技术doc_第1页
微型计算机控制技术doc_第2页
微型计算机控制技术doc_第3页
微型计算机控制技术doc_第4页
微型计算机控制技术doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机控制技术a/d转换器应用仿真实验 adc0808 a/d转换器的应用a/d转换器是一种能把输入模拟电压或电流信息变成与其成正比的数字量信息的电路芯片。它用于实现模拟量到数字量的转换。 adc0808是典型的8通道模拟输入8位并行数字输出的逐次逼近式a/d转换器。该转换器采用coms工艺,实现8路信号的模拟采集。片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路。<一>:基于单片机实现测量电压。,主要采用adc0808数模转换器实现滑动变阻器上电压值从模拟量转换为数字量的功能,在电压值显示的方式上可采取四位数码管显示 试验程序:#include"regx52

2、.h"#include"absacc.h"#define in0 xbyte0x7ff8unsigned char dispbitcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char dispbuf4; unsigned int i;unsigned int j;unsigned char getdata; unsigned int temp;unsigned char count;sbit ad_busy = p32; sbit clk = p35; void delay(uns

3、igned int i) unsigned int j; for(;i>0;i-) for(j=0;j<125;j+) ; void display() p1=dispbitcodedispbuf3; p3_0=0; p3_1=1; p3_3=1; p3_4=1; delay(10); p1=0x00;p1=dispbitcodedispbuf2; p1_7=1; p3_0=1; p3_1=0; p3_3=1; p3_4=1; delay(10); p1=0x00; p1=dispbitcodedispbuf1; p3_0=1; p3_1=1; p3_3=0; p3_4=1; de

4、lay(10); p1=0x00; p1=dispbitcodedispbuf0; p3_0=1; p3_1=1; p3_3=1; p3_4=0;delay(10); p1=0x00;void t1(void) interrupt 3 using 0 /clock th1=(65536-200)/256; tl1=(65536-200)%256; clk=clk; void timeinitial() tmod=0x10; th1=(65536-200)/256;tl1=(65536-200)%256; ea=1; et1=1;tr1=1;void main()unsigned char p;

5、unsigned char xdata *ad_adr;timeinitial();ad_adr = &in0;while(1)*ad_adr = 0;p=p;p=p;while(ad_busy=0);getdata = *ad_adr;temp=getdata*1.0/255*500;dispbuf0 = temp%10;dispbuf1 = temp/10%10;dispbuf2 = temp/100%10;dispbuf3 = temp/1000;display();仿真结果:adc0808接线图 外部给脉冲电路<2>:用adc0808制作简易的电压表试验程序:#in

6、clude<reg51.h>#include<intrins.h>#define uchar unsigned charsbitp2_1=p21;sbit p2_2=p22;sbit p2_3=p23;sbit oe=p30;sbit eoc=p31;sbit st=p32;sbit p3_4=p34;sbit p3_5=p35;sbit p3_6=p36;uchar code leddata_dot=0x40,0x79,0x24,0x30,0x19,0x12;uchar code leddata=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0

7、xf8,0x80,0x90;void delay(uchar n) uchar i,j;for(i=0;i<n;i+)for(j=0;j<135;j+);void convert(uchar volt_data)uchar temp;p0=leddata_dotvolt_data/51;p2_1=1;delay(3);p2_1=0;if(volt_data%51)<0x19)p0=leddata(volt_data%51)*10/51;p2_2=1;delay(3); p2_2=0;elsep0=leddata(volt_data%51)*10/51+5;p2_2=1;del

8、ay(3);p2_2=0;temp=(volt_data%51)*10)/51)*10%51;if(temp<0x19)p0=leddatatemp*10/51;p2_3=1;delay(3);p2_3=0;elsep0=leddatatemp*10/51+5;p2_3=1;delay(3);p2_3=0;void main()uchar volt_data;p3_4=1;p3_5=1;p3_6=0;while(1)st=0;_nop_();st=1;_nop_();st=0; if(eoc=0)delay(100);while(eoc=0);oe=1;volt_data=p1;oe=0

9、;convert(volt_data);仿真结果:<3>:心得体会单片机作为我们的主要专业课之一,作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。 此次单片机课程设计,我选择了电压测量这个基本的设计,虽然设计简单,但是所有的知识点都应用在设计中。确定课设内容后,我查找大量相关材料,然后知识汇总,把有关课题的内容经过对比与分析,最后来完成课设。电压测量在很多参考书上都有介绍,但运用到软件中时,出现各种不同的错如,我参考别人的程序,然后根据书本上所讲的有关知识点加以改进,编了一个新的程序,来实现功能。在编程过程中我运用的是c语言,比较汇编语言来说,感觉比较简洁清晰,函数关系较为清晰,并可以减

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论