《微机原理及应用》课程自主学习报告_第1页
《微机原理及应用》课程自主学习报告_第2页
《微机原理及应用》课程自主学习报告_第3页
《微机原理及应用》课程自主学习报告_第4页
《微机原理及应用》课程自主学习报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及应用课程自主学习报告一、单片机与 D/A 转换器组成波形发生器 单片机处理的是数字量。然而,在单片机的实时控制和智能仪表等应用系统 中,被控制量或被测对象的有关参量往往是一些连续变化的模拟量, 如温度、 压 力、流量等物理量。这些模拟量必须转化成数字量后才能输入到计算机进行处理。 计算机处理的结果也常常需要转化成模拟信号, 驱动相应的执行机构, 实现对被 控对象的控制。 如果输入是非电量的模拟信号, 还需通过传感器转换为电信号并 加以放大。这时就需要解决单片机的 D/A、A/D 的接口技术问题。本次,就 D/A 转换器原理及简单应用进行了学习。将数字量转换成模拟量的过程称为数/ 模转

2、换( Digit to Analog ,D/A),实现 D/A转换的设备称为 D/A转换器或 DAC。1.1 D/A 转换器的主要技术指标( 1) 分辨率 分辨率表示对输入的最小数字量信号的分辨能力,即当输入数字量 最低位( LSB)发生一次变化时,所对应输出模拟量的变化量。它与输入 数字量的位数有关。 通常定义刻度值与 之比。例如,如果满量程为 5V,设 8 位 D/A 转换,分辨率为 5/ =19.5mV,即二进制变化一位可引起模拟 电压变化 19.5mV。位数越多分辨率就越高。分辨率也可用百分比表示, 如 8 位 DAC的百分比分辨率为 0.4%。(2)建立时间 建立时间是描述转换速度快

3、慢的一个重要参数,是 D/A 转换器输入 数字量为满刻度值(各二进制各位全为 1)时,从输入信号到模拟量电 压输出达到满刻度值或满刻度值的某一百分比 (如 99%)所需的时间 (也 可表述为:从输入数字量到转换结束,输出达到最终值并稳定(终值误 差 1/2LSB)所需的时间。电流型快(几百 ns几 s),电压型慢。例: DAC0808建立时间约 150ns,DAC0832为 1us。),也可称之为 D/A 转换速 度。(3)转换精度精度参数用于描述 D/A 转换的精度程度,一般用误差大小表示。通 常以满刻度电压(满量程电压) VFS 的百分数形式给出。例如,精度为 0.1%指的是最大误差为 V

4、FS的 0.1%,若 VFS为 10V,则最大误差为 10mV。精度不等于分辨率。(4)线性度 线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之 间的最大偏差。常以相对于满量程的百分数表示。如是指实际输 出值与理论值之差在满刻度的以内。1.2 典型 D/A 转换芯片 DAC0832(1) DAC0832简介DAC0832, 位 D/A 转换器,片内有输入数据寄存器,可直接与单片 机接口。以电流形式输出,可外接运算放大器。属于该系列的芯片还有 DAC0830、 DAC0831 ,它们可以相互代换。DAC0832主要特性:? 分辨率位;? 电流输出,稳定时间为 S;? 输出电流线性度可在

5、满量程下调节;? 可双缓冲输入、单缓冲输入或直接数字输入;? 逻辑电平输入与 TTL 电平兼容;? 单一电源供电( 5V 15V);? 低功耗, 20m。(2) DAC0832的逻辑结构逻辑功能:3)DAC0832应用单极性电压输出 由运算放大器进行电流到的电压转换,使用内部反馈电阻。输出电 压值 VOUT和输入数字量 D的关系:VOUT = VREF D/256D = 0 255, VOUT = 0 VREF 255/256VREF = 5V, VOUT = 0 + ( 255/256 )VVREF = +5V, VOUT = 0 (255/256 )V双极性输出 如果实际应用系统中要求输出

6、模拟电压为双极性,则需用转换电路 实现。其中 R2=R3=2R1VOUT= 2VREFD/256 VREF= (2D/2561)VREFD = 0, VOUT= VREF;D = 128 , VOUT= 0;D = 255, VOUT= (2255/256 1) VREF= (254/255)VREF 即:输入数字为 0255时,输出电压在 VREF + VREF之间变化。 程控电压放大器1.3 DAC8080原理及应用 DAC0808引脚功能DAC0808是 8 位数模转换集成芯片,电流输出,稳定时间为 150ns, 驱动电压 5V,33mW。DAC0808可以直接和 TTL,DTL 和 C

7、MOS逻辑电平相兼 容。引脚功能A1A8:8 位并行数据输入端( A1为最高位, A8 为最低位)VREF(): 正向参考电压(需要加电阻)VREF() :负向参考电压,接地IOUT:电流输出端VEE:负电压输入端COM:Pcompensation(补偿),补偿端,与 VEE之间接电容(R14=5k时,(R14为 14 引脚的外接电阻 ),一般为 0.1uF,电容必须随着 R14的增加 而适当增加)GND:接地端, VCC:电源端,在 proteus 中都已隐藏。 DAC0808典型电路如下图所示,VEE接-5V电压, COMP端与VEE之间接 0.1uF电容, VREF(+)通过 5K电阻接

8、 +5V电源, VREF(-)接地。输出端 IOUT连接运算 放大器反向输入端。运算放大器同相输入端接地。方形波的产生:Proteus 仿真运行后示波器界面:C程序如下:误差 0us#include void Delay10ms(void) / unsigned char a,b,c; for(c=1;c0;c-) for(b=38;b0;b-) for(a=130;a0;a-);void main(void)while(1)P2=0x00;Delay10ms();P2=0xff;Delay10ms();、单片机与 DS18B20接口2.1 单总线( 1-Wire )简介1-Wire 是美国

9、Dallas 公司的一项专有技术,它使用一根导线进行信号 双向传输,具有接口简单、容易扩展等优点。所有的 1-Wir 总线器件都具有 一个共同的特征;无论是芯片内还是 iButton 内,在出厂时每个器件都有一 个与其它任何器件互不重复的固定的序列号。也就是说,每一个器件都是唯 一的。一旦器件的序列号已知,通过这个序列号,任意一个器件都可以从众 多连到同 1-Wire 总线的器件中被选出用于通信。2.2 DS18B20 简介DS18B20是美国 Dallas 公司推出的数字温度传感器。它将温度传感器、 数字转换电路集成到了一起,外形如同一只三极管。2.2.1 DS18B20 的主要特性1) 适

10、合电压范围宽 :3.0 5.5V, 在寄生电源方式下可由数据线供电。2) 独特的单线借口方式: DS18B20与微处理器连接时仅需一条信号 线即可实现微处理器与 DS18B20的双向通信。3) 测温范围: -55 +125,在 -10+85时精度为 0.5 .4) 可实现 912 位分辨率的编程,对应可分辨温度分别为 0.5 、 0.25 、0.125 和 0.0625 ,可实现高精度测温。 在 9 位分辨率时 最多在 93.75ms内把温度值转化成数字,在 12 位分辨率时最多在 750ms内把温度值转化成数字。5) 支持多点组网功能,多个 DS18B20可以并联在一条 DQ线上,实 现“一

11、线制” 单主机多主机分布式温度采集系统, DS18B20依靠各 自的序列号采用分时方式与主控器点对点通讯。6) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能 正常工作。2.2.2 DS18B20 的封装和引脚引脚功能定义如下DQ:数据输入输出,可直接与单片机的 I/O 口相连。:+5V电源电压GND:电源地。2.2.3 DS18B20 工作原理 1)测温原理图:图中低温度系数晶振的震荡频率受温度影响很小,用于产生固定频 率的脉冲信号送给计数器 1. 高温度系数晶振随温度变化其震荡率明显 改变,所产生的的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存 器被预置在 -55 所对

12、应的的一个基数值。 计数器 1 对低温度系数晶振产 生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存 器的值将加 1,计数器 1 的预置值将重新被装入,计数器 1重新开始对 低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 技术到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测 温度。图 3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输 出用于修正计数器 1 的预置值。2)操作流程1、复位2、存在脉冲3、控制器发送 ROM指令4、控制器发送存储器操作指令5、执行或数据读写复位时序图读时序图在 PROTEU仿S 真软件中实现单片机和 DS1

13、8B20的接口 硬件图:C源程序:#includereg51.h#includeintrins.h#define uchar unsigned char#define uint unsigned int#define out P0sbit smg1=out4;sbit smg2=out5;sbit DQ=P37;void delay5(uchar);void init_ds18b20(void);uchar readbyte(void);void writebyte(uchar);uchar retemp(void);void main(void) / 主函数uchar i,temp;ucha

14、r j; /delay5 循环次数控制变量,用于较长时延 for(j=0;j10;j+)delay5(100);while(1)temp=retemp();for(i=0;i10;i+) / 连续扫描数码管 10 次 out=(temp/10)&0x0f; smg1=0; smg2=1;for(j=0;j10;j+) / 延时 5mS delay5(100);out=(temp%10)&0x0f;smg1=1;smg2=0;for(j=0;j0;i-)DQ=0; delay5(1);DQ=1; /15us date=1;if(DQ) date|=0x80; delay5(11);return(

15、date);void writebyte(uchar dat)uchar i=0; for(i=8;i0;i-)DQ=0;DQ=dat&0x01; / delay5(12); / DQ=1;dat=1; delay5(5);uchar retemp(void) /函数: DS18B20初始化/ 读取 1 字节数据内拉释放总线/ 函数:写 1 字节写 1 ,在 15us 内拉低写 0 ,拉低 60us函数:读取温度uchar a,b,tt;uint t;init_ds18b20(); writebyte(0xCC); writebyte(0x44);init_ds18b20(); writeby

16、te(0xCC); writebyte(0xBE); a=readbyte(); b=readbyte(); t=b;t=8;t=t|a;tt=t*0.0625; return(tt);三、心得与反思首先,本人觉得单片机原理及其应用这门课程有点难,专业术语太多了,看 起来、听起来都很陌生,不太容易理解。但慢慢发现这门课非常有趣,实用性非 常强,我认为这门课和 C语言程序设计是所学课程中最具有实用价值的课程。 老师上课也挺好的, 上课时可根据李老师图文并茂的 PPT上机实践,但是不同人 的理解能力各不相同, 老师讲的理论知识我总是稀里糊涂的, 一讲到某个知识点 我就会反问自己 “为什么?”,虽然

17、老师解释了, 但是还是不太懂 老师是不 是可以用更加通俗易懂的语言文字来教学呢?单片机的学习其实是非常有意思 的,我感觉课时安排还是比较少, 单片机的概念刚建立起课程就结束了, 实验课 也就只有几次,有点遗憾。这也体现了大学学习的真谛:自主学习为主,老师传 道授业解惑为辅!“书读百遍,其义自见” ,平时还是应该多看看单片机原理书, 扫扫冒,书看的多了,自然而然就慢慢理解了。最后留下一句话勉励自己:越有 差距,越要努力;越有困惑,越得看书!参考文献单片机原理与应用及 C51编程技术高雪芹机械工业出版社 上课用教材及 PPT励志故事给予有个老木匠准备退休,他告诉老板, 说要离开建筑行业, 回家与妻子儿女享受天伦之乐。老板舍不得他的好工人走, 问他是否能帮忙再建一座房子, 老木匠说可以。 但是大家后来都看得出来,他的心已不在工作上,他用的是软料,出的是粗活。房子建好的时候,老板把大门 的钥匙递给他。 这是你的房子, 他说, 我送给你

温馨提示

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

评论

0/150

提交评论