ADC0809中文资料以及和单片机接口电路设计和程序

ADC0809中文资料以及和单片机接口电路设计和程序
ADC0809中文资料以及和单片机接口电路设计和程序

特别说明

此资料来自豆丁网(https://www.360docs.net/doc/6114325586.html,/)

您现在所看到的文档是使用下载器所生成的文档

此文档的原件位于

https://www.360docs.net/doc/6114325586.html,/p-225931546.html 感谢您的支持

抱米花

https://www.360docs.net/doc/6114325586.html,/lotusbaob

51单片机AD89电路设计程序+原理图

AD0809在51单片机中的应用 我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D或V/F实现。下现我们就来了解一下AD0809与51单片机的接口及其程序设计。 1、AD0809的逻辑结构 ADC0809是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

2、AD0809的工作原理 IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道

的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。 C B A 选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。

51单片机控制ADC0809的电路图和源程序

ADC0809数模转换与显示 /* 名称:ADC0809数模转换与显示 说明:ADC0809采样通道3输入的模拟量,转换后的结果显示在数码管上。*/ #include #define uchar unsigned char #define uint unsigned int //各数字的数码管段码(共阴) uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit CLK=P1^3; //时钟信号 sbit ST=P1^2; //启动信号 sbit EOC=P1^1; //转换结束信号 sbit OE=P1^0; //输出使能 //延时 void DelayMS(uint ms) { uchar i; while(ms--) for(i=0;i<120;i++); } //显示转换结果 void Display_Result(uchar d) { P2=0xf7; //第4个数码管显示个位数 P0=DSY_CODE[d%10]; DelayMS(5); P2=0xfb; //第3个数码管显示十位数 P0=DSY_CODE[d%100/10]; DelayMS(5); P2=0xfd; //第2个数码管显示百位数 P0=DSY_CODE[d/100]; DelayMS(5); } //主程序 void main() { TMOD=0x02; //T1工作模式2 TH0=0x14; TL0=0x00; IE=0x82; TR0=1; P1=0x3f; //选择ADC0809的通道3(0111)(P1.4~P1.6) while(1) {

单片机电路图详解

单片机:交通灯课程设计(一)(2007-04-21 13:28:54) 目录 摘要--------------------------------------------------------- 1 1.概述 -------------------------------------------------------- 2 2.硬件设计----------------------------------------------------- 3 2.1单片机及其外围--------------------------------------------3 2.1.1单片机的选择-----------------------------------------3 2.1.2单片机的特点及其应用范围----------------------------- 3 2.1.3存储器的扩展----------------------------------------- 4 2.1.4内存的扩展------------------------------------------- 6 2.1.5MCS-52的I/O接口扩展--------------------------------- 8 2.2电路部分--------------------------------------------------11 2.2.1元器件选用-------------------------------------------11 2.2.2电路完成功能-----------------------------------------13 3.软件设计------------------------------------------------------15 3.1软件概述-------------------------------------------------15 3.2汇编语言指令说明-----------------------------------------16 3.3定时/计数器的原理----------------------------------------16 3.3.1定时/计数器的概述-----------------------------------16 3.3.2 8255A片选及各端口地址-------------------------------18 3.3.3信号控制码------------------------------------------18 3.3.4工作方式寄存器--------------------------------------19 3.3.5定时/计数器初值及定时器T0的工作方式----------------20

单片机电路设计小结

单片机电路设计小结 本次试验主要是做出一个能发出“叮咚”声音的双音门铃,到最后,虽然电路板焊接,元器件的装配都做好了,但由于诸多原因,最终还是没有发出声音,现小结如下,为以后积累经验。 一、态度:一件事情,不做则以,做就一定下功夫做好,做事情切忌虎头蛇尾。本次试验在这一方面做得不好,也是导致本次试验失败的很重要的因素。主要体现在以下方面: 1. 有迟到、早退的现象; 2. 老师再三强调的注意事项没有完全听进去,比如:从左到右,从上到下布线要规整,没有做好; 3. 准备工作没有做好,电路原理图就没有读明白,有些元件需要什么型号的封装代替就搞得不是太清楚,更别说各个元器件的功能了。一旦电路出现了故障,连调试都不知道如何下手; 4. 电路在Proteus中连接好以后,连仿真都没就直接

进行PCB制版。试想,若电路真的有问题,那之后的制版、焊板都将没有任何意义,自己做的一切都只是在浪 费时间,浪费财物; 二、准备工作:要做成一件事,实现一定要将准备工作做的充分。起码要明白自己要做什么,需要哪些东西,具体步骤是什么。在这次试验中,最初的电路原理图就 没有读懂。自己虽然也确确实实在下面查找资料,找 555的工作原理,但并没有把它的8个拐角真正搞懂,以至于在以后实物没有成功时,连如何去检查电路都不知道,盯着电路板干着急。其实,准备工作做得好的,不 仅仅是要充分的理解电路的每一个模块有什么功能,每 个元器件的型号及其封装,还要能够在一定程度上预测 出电路可能出现的某些现象。 三、实际操作:期间还是遇到很多的问题,比如:如何看元器件上的型号;如何看二极管的正负极;如何正 确地使用焊烙铁;当电路出现问题时,如何利用手边的 工具如电压表、电流表、示波器等一步一步的查错。 四、组员的协调:一个巴掌难拍响,只有组织好小组成员,把大家的智慧都调动起来,是大家的劲往一处使到,才能高效率的完成任务。在这次试验中,作为小组长,没有起到应有的作用,使得小组成员人心涣散,没 引起的他们足够的重视,以至于他们到最后都没见到最

ADC0809模数转换与显示

ADC0809模数转换与显示 ADC0809模数转换与显示(第四次实验) 华侨大学08自动化 实验目的: 1. 掌握ADC的使用控制方法。实验内容:基本要求:设计一程序采集ADC0809第3通道的电压值,将其转换为数字量,并在数码管上显示;5V显示为255, 0V显示为000。扩展要求:将转换结果以两位小数精确显示,5V显示5.00, 2.3V显示2.30,依次推广之。 一、实验原理图: 二、程序流程图:

1 开始定时器初始化,对ADC0809初始化,选择通道3 给START一个脉冲,启动信号输入端判断EOC是否为0 N Y 将OE置1 读P3口数字数字处理,调用显示OE置0 返回三、源程序 1、基本要求: OE EQU P1.0 MOV SP,#60H EOC EQU P1.1 MOV TMOD,#02H ST EQU P1.2 MOV TH0,#14H CLK EQU P1.3 MOV TL0,#00H SHU EQU 30H MOV IE,#82H TEMP EQU 31H SETB TR0 ORG 0000H MOV A,#3FH AJMP MAIN MOV P1,A ORG 000BH MOV SHU,#0 CPL CLK SCAN: RETI CLR ST ORG 0100H SETB ST MAIN: CLR ST 2 M0: JNB EOC,M0 SETB OE

MOV A,#0FFH MOV P3,A M1: MOV A,P3 MOV SHU,A LCALL CHANGE LCALL DISP CLR OE AJMP SCAN DISP: MOV R0,#TEMP MOV R2,#00H DISP1:MOV A,R2 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P2,A MOV A,@R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A MOV R5,#5 ACALL DELAY INC R0 INC R2 2、扩展部分: OE EQU P1.0 EOC EQU P1.1 ST EQU P1.2 CLK EQU P1.3 SHU EQU 30H TEMP EQU 20H ORG 0000H AJMP MAIN ORG 000BH CPL CLK RETI ORG 0100H MAIN: MOV SP,#60H CJNE R2,#3,DISP1 MOV P0,#00H RET

单片机课程设计心得体会3篇

单片机课程设计心得体会3篇课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单机片课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管pnp 管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前

所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解。同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 在校大学生单片机课程设计心得体会单片机课程设计心得体会2篇作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。 这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!

ADC0809数模转换程序

/******************** //版权和版本声明 * 文件标识: * 摘要: * 当前版本:1.0 * 作者:输入作者(或修改者)名字 * 完成日期:2013年3月25日 **********************************/ #include //头文件 unsigned char code Tab[11]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; unsigned char dat[]={0,0,0,0}; unsigned char adc; unsigned int i,j,k; /***********ADC0808************************/ sbit LED = P2^3; sbit ST=P2^4; //定义ADC0809 位 sbit EOC=P2^5; sbit OE=P2^6; sbit CLK =P2^7; /************ 数码管位码****************/ sbit wei1=P3^7; //定义数码管为码位 sbit wei2=P3^6; sbit wei3=P3^5; sbit wei4=P3^4; /**************************** * 函数名称:延时函数

* 函数功能:延时函数 * 输入/输出参数: * 返回值: ***************************************/ void delay(unsigned int xms) //延时及clk 0809时钟{ for(i=0;i

单片机课程设计心得体会范文

单片机课程设计心得体会范文 篇一 课程计划是培育先生综合使用所学常识,发明,提出,剖析息争决实践成绩,锤炼理论后劲的紧张关键,是对于先生实践任务后劲的详细锻炼以及调查进程.跟着迷信技能开展的日新日异,单片机曾经成为现今较量争论机使用中绝后活泼的范畴,正在糊口中可以说患上是无处没有正在。因而作为二十一世纪的年夜学来讲把握单片机的开辟技能是非常紧张的。 回忆起这次单片机课程计划,至今我仍慨叹颇多,确实,从选题到定稿,从实际到理论,正在整整两礼拜的日子里,可以说患上是苦多于甜,可是可以学到良多良多的的工具,同时不只仅可以稳固了从前所学过的常识,并且学到了良多正在书籍上所不学到过的常识。透过此次课程计划使我理解了实际与实践相分离是很紧张的,只要实际常识是远远不敷的,只要把所学的实际常识与理论相分离起来,从实际中患上出论断,才干真正为社会效劳,从而进步本人的实践入手后劲以及自力考虑的后劲。正在计划的进程中碰到成绩,可以说患上是坚苦重重,这究竟结果第一次做的,不免会碰到过林林总总的成绩,同时正在计划的进程中发明了本人的缺乏的地方,对于从前所学过的常识了解患上不敷深入,把握患上不敷结实,比方说三极管PNP管脚没有懂怎么样安排,没有懂分患上二极管的正负极,对于单片机汇编言语把握患上欠好透过此次课程计划以后,必需把从前所学过的常识

从头温故。 此次课程计划最初顺遂实现了,正在计划中碰到了良多编程成绩,最初正在梁强教师的勤劳指点下,最初游逆而解。同时,正在梁强教师的身上我学失掉良多适用的常识,正在次我透露表现感激。同时,对于给过我帮助的一切同窗以及列位指点教师再次透露表现忠心的感激。 篇二 做了两周的单片机课程计划,我有了良多的领会以及感触。 咱们的课程计划有两个次要材料:一个是出租车计费器零碎;另外一个便是温度报警零碎。练习可以正在尝试室里做,也可以正在睡房里本人做,我年夜局部工夫仍是正在睡房里做的。 出租车计费器的计划是第一周的材料,因为有了教师的计划图以及顺序,只要要改一下本人所请求的变量就好。单片机的编程用的次要是汇编言语,说假话,我对于汇编言语谈没有上把握,充其量只是理解。黉舍布置的课程真的太少了,对于言语局部的进修只学了多少节课的材料,整本单片机书的材料也是学了三分之一多一点。 第二周的材料便是温度报警零碎的计划。这个材料不现成的顺序以及计划图,需求咱们真正亲手往编,最愁闷的莫过于画计划图。依照尝试请求上的丹青了进去,加载顺序当前却不克不及一般运转,改了很多多少次都不乐成。同窗们电脑上软件的版本差别也影响了交换。有些元件的型号差别,但正在选历时图形确很类似,导致选错了元件,影响了却果。

ADC0809进行AD转换

ADC0809进行A/D转换(C描述) 2008-06-24 16:53 指针:可对内存地址直接操作 基于存贮器的指以贮器类为参量,它在编译时才被确定。因此为指针选择存贮器的方法可以省掉,以这些指针的长度可为1个字节(idata *,data *,pdata *)或2个这节(code *,xdata *)。 char xdata *address; ADC0809具有8个模拟量输入通道,采用中断方式,在中断函数中读取8个通道的A/D 转换值,分别存储在外部RAM的1000H~1007H单元。ADC0809端口地址为00F0H。 程序定义了两个指针变量* ADC和* ADCdata,分别指向ADC0809端口地址(00F0H)和外部RAM单元地址(1000H~1007H) 由*ADC=I送入通道数,启动ADC0809进行A/D转换,转换结束时产生INT1中断。在中断服务函数int1()中通过temp=*ADC和*ADCdata=temp;读取A/D转换结果并存到外部RAM中。 #include unsigned int xdata *ADC; /*定义ADC0809端口指针*/ unsigned int xdata *ADCdata; /*定义ADC0809数据缓冲器指针*/ unsigned char I; void main( ) { ADC=0x00f0; /*定义端口地址和数据缓冲器地址*/ ADCdata=0x1000; I=8; /* ADC0809有8个模拟输入通道*/ EA=1; EX1=1;IT1=1; /*开中断*/ *ADC=I; /*启动ADC0809*/ WHILE(I); /*等待8个通道A/D转换完*/ } void int1() interrupt 2 { unsigned char tmp; temp=*ADC; /*读取A/D转换结果*/ *ADCdata=temp; /*结果值存到数据缓冲区*/ ADCdata++; /*数据缓冲区地址加1*/ i—; *ADC=I; /*启动下一个模拟输入通道A/D转换*/ } 除了用指针变量来实现对内存地址的直接操作外,c51编译器还提供一组宏,该宏定义文件为:“absacc.h”,利用它可十分方便地实现对任何内存空间的直接操作,改写上面的程序: #include #include /*包含绝对地址操作预定义头文件*/ #define ADC 0x00f0; /*定义ADC0809端口地址*/

单片机课程设计心得体会

单片机课程设计心得体会 做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。 我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一起坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不知道自己在说怎么,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10 天的人最后的成绩都有不如他们的),但是鄙视他们的做法。 所幸的是,我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。后来请教我们班的一个男生,每次跟他一起到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己写的,但看他那么高兴,我也有一种分享到的成就感。后来我们组就用了他写的程序,他自己又抽空做了些拓展。 接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮助我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是一定要坚持把它做完。当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。 在要验收前,终于做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后应该还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,a/d转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。在这个过程中又发现了以前焊接当中出的一些问

FPGA与ADC0809接口电路详解

FPGA与ADC0809接口电路详解 注:(1)本程序基于FPGA和vhdl编写 有详尽的程序解释和原理分析 以及原理图,状态图 (2)对于adc0809具体资料可上网查在此不累述 一.FPGA与ADC0809的接口电路图原理 二.关于ADC0809的说明(重点) (1)ale信号(引脚):高电平时把三个地址信号送入地址锁存器,并经译码器得到地址数据,以选择相应的模拟输入通道。 (2)oe信号(引脚)en使能信号:电平由低变高时,打开数据输出锁存器,将转换数据送到数据总线上 (3)eoc信号(引脚):eoc为高电平时完成转换,为低电平时正在转换。 (4)start信号(引脚):要给start线送一个100ns宽的启动正脉冲,start下跳沿时,开始进行A/D转换,在转换期间start以保持低电平。

三.转换状态图 对于状态图的真值表未列出 注意对应的注释为vhdl 语句 ale<='1';start<='0';en<='0'; ----eoc='1' ale<='0';start<='0';en<='0';--再次检测数据是否转换完 if eoc='0' then next_state<=st4; else next_state<=st5; 器,将数据送入数据总线 存器 四.ADC0809采样接口电路程序 --*********ADC0809采样控制************* --******因为FPGA 的时钟频率为50MHz ,则256分频后,即ADC0809输入时钟为195KHz****** --******对ADC0809进行简单的采样控制,得到的数据进FPGA 送到8个并排的数码管显示***** library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity PL_AD is port ( d : in std_logic_vector(7 downto 0); --ADC0809输出的采样数据输入FPGA clk,eoc: in std_logic; --clk 为系统时钟,eoc 为ADC0809转换结束信号输入FPGA lock1,start, ale,en: out std_logic; --ADC0809控制信号FPGA 输出信号 abc_in :in std_logic_vector(2 downto 0); --模拟选通信号 abc_out :std_logic_vector(2 downto 0);--ADC0809模拟信号选通信号 q : out std_logic_vector(7 downto 0));送至8个并排数码管信号FPGA 输出数字信号 end pl_AD; architecture behav of PL_AD is type states is ( st0,st1, st2, st3, st4,st5,st6);--定义状态类型枚举类型

ADC0809功能及程序介绍

ADC0809引脚图与接口电路 作者:来源:本站原创点击数:更新时间:2007年07月29日 A/D转换器芯片ADC0809简介 8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。 图9.8 《ADC0809引脚图》 1. ADC0809的内部结构 ADC0809的内部逻辑结构图如图9-7所示。

图9.7 《ADC0809内部逻辑结构》 图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D 转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表9-1为通道选择表。 表9-1 通道选择表 2.信号引脚 ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图9.8。

对ADC0809主要信号引脚的功能说明如下: IN 7~IN ——模拟量输入通道 ALE——地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 START——转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST. A、B、C——地址线。通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表9-1。 CLK——时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号 EOC——转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 D 7~D ——数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。 D 0为最低位,D 7 为最高 OE——输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。 Vcc—— +5V电源。 Vref——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基 准。其典型值为+5V(Vref (+)=+5V, Vref (-) =-5V). 9.2.2 MCS-51单片机与ADC0809的接口ADC0809与MCS-51单片机的连接如图9.10所示。

单片机课程设计心得体会范文

单片机课程设计心得体会范文 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能 力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 学生只有对自己、对英语及其文化、对英语学习有积极的情感,才能保持英语学习的 动力并取得成绩。消极的情感不仅会影响英语学习的效果,而且会影响学生的长远发展。 因此,在英语教学中我应该自始至终关注学生的情感,努力营造宽松、民主、和谐的教学 氛围。为此英语教师要做到: 其次,精心选择自然环境,引导学生抽象食物链、生产者、消费者概念。草原环境只 是个引子,要想抽象概念,必须要从个体到一般。于是,我选择了菜园里、森林里两个环境,让学生巩固用图例表达食物联系的方法,并学习如何在图片中表达食物联系,为后续 活动打下基础。 回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同 时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通 过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从 而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困 难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了 自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通 过这次课程设计之后,一定把以前所学过的知识重新温故。 这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过 这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到 的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更 深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了 一个团队凝聚在一起时所能发挥出的巨大潜能! 为了让我们能更好的理解什么是高效课堂,教研部还多次带领着我们听一些高效课堂 的讲座,听后真是受益匪浅。要想培养好学生的学习习惯并非一朝一夕的事,要循序渐进。这些话语说起来容易做起来难,所以作为新一代的人民教师一定要认真对待这项艰巨的任务,让学生在我们的课堂上不断的养成良好的学习习惯,培养出一个个优秀的人才。

ADC0809与51单片机接口电路及应用程序

ADC0809与51单片机接口电路及应用程序 最近研究了下ADC0809这个芯片,做了个电路,和大家分享 电路原理图如下: 500)this.width=500;" border=0> 说明:D0~D7接51单片机的P2口(P2.0~P2.7) ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(0~5V) 应用程序如下: #include"reg52.h" #define uchar unsigned char sbit ST=P1^0; sbit EOC=P1^1; sbit OE=P1^2; sbit CLK=P1^3; sbit ADDCS=P1^4; uchar AD_DATA[2]; //保存IN0和IN1经AD转换后的数据

/**********延时函数************/ void delay(uchar i) { uchar j; while(i--) { for(j=125;j>0;j--) ; } } /*********系统初始化***********/ void init() { EA = 1; //开总中断 TMOD = 0x02; //设定定时器T0工作方式 TH0=216; //利用T0中断产生CLK信号 TL0=216; TR0=1; //启动定时器T0 ET0=1; ST=0; OE=0; } /***********T0中断服务程序************/ void t0(void) interrupt 1 using 0 { CLK=~CLK; } /***********AD转换函数**********/ void AD() { ST=0; ADDCS=0; //选择通道IN0 delay(10); ST=1; //启动AD转换 delay(10); ST=0; while(0==EOC) ; OE=1; AD_DATA[0]=P2;

ADC0809驱动FPGA实现的verilog程序

/*FPGA实现的程序:(verilog) 贴子回复于:2008-4-27 15:26:01*/ module AD0809(clk500K, //脉宽(至少100ns) rst_n, EOC, //约100us后EOC变为高电平转换结束 START, //启动信号,上升沿有效(至少100ns) OE, //高电平打开三态缓冲器输出转换数据 ALE, //高电平有效,选择信道口 ADDA, //因为ADDB,ADDC都接地了,这里只有ADDA为变量 DATA, //转换数据 DATA_R); output START,OE,ALE,ADDA; input EOC,clk500K,rst_n; input[7:0] DATA; output[7:0] DATA_R; reg START,OE,ALE,ADDA; reg[7:0] DATA_R; reg[4:0] CS,NS; parameter IDLE=5'b00001,START_H=5'b00010,START_L=5'b00100,CHECK_END=5'b01000,GET_DATA=5'b100 00; always @(posedge clk500K) case(CS) IDLE: NS=START_H; START_H: NS=START_L; START_L: NS=CHECK_END; CHECK_END: if(EOC) NS=GET_DATA; else NS=CHECK_END; GET_DATA: NS=IDLE; default: NS=IDLE; endcase always @(posedge clk500K) if(!rst_n) CS<=IDLE;

单片机硬件设计经验总结

单片机硬件设计经验总结 下面是总结的一些设计中应注意的问题,和单片机硬件设计原则,希望大家能看完 (1)在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在放置的时候应把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路开关电路等,应尽量使其远离单片机的逻辑控制电路和存储电路(ROM、RAM),如果可能的话,可以将这些电路另外制成电路板,这样有利于抗干扰,提高电路工作的可靠性。 (2)尽量在关键元件,如ROM、RAM等芯片旁边安装去耦电容。实际上,印制电路板走线、引脚连线和接线等都可能含有较大的电感效应。大的电感可能会在Vcc走线上引起严重的开关噪声尖峰。防止Vcc走线上开关噪声尖峰的唯一方法,是在VCC与电源地之间安放一个0.1uF的电子去耦电容。如果电路板上使用的是表面贴装元件,可以用片状电容直接紧靠着元件,在Vcc引脚上固定。最好是使用瓷片电容,这是因为这种电容具有较低的静电损耗(ESL)和高频阻抗,另外这种电容温度和时间上的介质稳定性也很不错。尽量不要使用钽电容,因为在高频下它的阻抗较高。 在安放去耦电容时需要注意以下几点:

在印制电路板的电源输入端跨接100uF左右的电解电容,如果体积允许的话,电容量大一些则更好。 原则上每个集成电路芯片的旁边都需要放置一个0.01uF的瓷片电容,如果电路板的空隙太小而放置不下时,可以每10个芯片左右放置一个1~10的钽电容。 对于抗干扰能力弱、关断时电流变化大的元件和RAM、ROM等存储元件,应该在电源线(Vcc)和地线之间接入去耦电容。 电容的引线不要太长,特别是高频旁路电容不能带引线。 (3)在单片机控制系统中,地线的种类有很多,有系统地、屏蔽地、逻辑地、模拟地等,地线是否布局合理,将决定电路板的抗干扰能力。在设计地线和接地点的时候,应该考虑以下问题:逻辑地和模拟地要分开布线,不能合用,将它们各自的地线分别与相应的电源地线相连。在设计时,模拟地线应尽量加粗,而且尽量加大引出端的接地面积。一般来讲,对于输入输出的模拟信号,与单片机电路之间最好通过光耦进行隔离。 在设计逻辑电路的印制电路版时,其地线应构成闭环形式,提高电路的抗干扰能力。 地线应尽量的粗。如果地线很细的话,则地线电阻将会较大,造成接地电位随电流的变化而变化,致使信号电平不稳,导致电路的抗干扰能力下降。在布线空间允许的情况下,要保证主要地线的宽度至少在2~3mm以上,元件引脚上的接地线应该在1.5mm左右。 要注意接地点的选择。当电路板上信号频率低于1MHz时,由于

单片机设计心得体会

单片机设计心得体会

单片机设计心得体会 【篇一:单片机课程设计心得体会】 单片机课程设计心得体会 文章发布:课程设计网发布时间:2007-05-05 做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。 我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一起坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不知道自己在说怎么,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10 天的人最后的成绩都有不如他们的),但是鄙视他们的做法。 所幸的是,我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像 它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。后来请教我们班的一个男生,每次跟他一起到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己写的,但看他那么高兴,我也有一种分享到的成就感。后来我们组就用了他写的程序,他自己又抽空做了些拓展。 接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮助我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点

焊接。大家都鼓励我,即使最后出不来东西,但是一定要坚持把它做完。当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。 在要验收前,终于做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后应该还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,a/d转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。在这个过程中又发现了以前焊接当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,要是不只是我一个人动手……算了吧,不要想那些如果,还是准备我自己的,做好我现在能做的吧。 还好,验收还算成功,得了3分,不是很高,但是我觉得对我来说已经很好,代表了我真实的水平,我觉得我对单片机的一些知识在这个动手的过程中真的是从无到有增长的。同时我也尽量不去想别人得了多少分,没有什么不平衡的,有些人付出的是努力,有些人付出的是风险代价,其实这也没有什么不一样,这一点我早就了解。 最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后自己去买一些东西来做,再补一补汇编语言。有什么问题请教下以前的那些老同学好了,他们好厉害,在高中劳动课就成功的做出过调频收音机,大一暑假的时候参加了学校的电子竞赛培训接着比赛,不过后来怎么样我就不知道了。汗。看来要多保持联络,这次回家就好好找他们叙叙旧。我的课程设计报告心得体会 文章发布:课程设计网发布时间:2006-10-19 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机

基于单片机的简易电子琴电路设计说明

单片机课程设计任务书 题目: 基于单片机的简易电子琴电路设计 初始条件: 简易电子琴一般具有弹奏一个自然大调7声音阶的功能。本课程设计,要求用AT89C51等系列芯片实现控制功能,利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用LM386放大电路实现低音频功率放大;最后用蜂鸣器进行播放“送别”。 要求完成的主要任务: 1.设计任务 根据已知条件,设计并制作一个简易电子琴。 2.设计要求 (1)基本要求: ①具备7个按键,能够分别较准确地弹奏出1~7八个音符。 ②选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。用EWB或MULTISIM软件完成仿真,之后制作出相应实物,并按规定格式写出课程设计报告书。 (2)扩展要求:(在完成基本要求的前提下,学有余力的同学可完成) ①能够弹奏出至少21个音符(三个音阶)。 ②能够较便捷地完成音阶的升降。(用另外三个按键开关实现正常、升8度和降8度的切换)。 时间安排: 指导教师签名:年月日

基于单片机的简易电子琴控制系统设计 摘要 目的: 本设计主要研究基于AT89C52单片机的简易电子琴设计。 方法: 它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单 器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两 位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用 蜂鸣器进行播放“送别”。 结果: 本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。 (1)最小系统:它是单片机应用系统的设计基础。它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。 (2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。 (3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。 (4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。 结论: 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机定时中断蜂鸣器数码管 c语言编程

相关文档
最新文档