版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术实验指导书电气与自动化工程学院常熟理工学院二零一四年二月实验一、 AD转换实验一、实验目的1. 了解 ADC0809 的 AD 转换原理;2. 了解 ADC0809 的硬件设计原理图;3. 自主设计 ADC0809 的 AD 转换程序以及显示程序。二、实验设备单片机实验箱一台;PC机一台; USB下载线一根; ADC0809模块; LCD12864液晶模块。三、实验内容通过 ADC0809 的 IN0 端口采集模拟量信号,然后进行AD 转换,转换完成后的数字量在 LCD12864 液晶屏上显示出来。模拟信号由05V 的可调电位器提供,ADC0809 的时钟频率由单片机定时器0
2、 提供。四、实验原理ADC0809是 CMOS的 8 位 A/D 转换器,片内有8 路模拟开关,可控制8 个模拟量中的一个进入转换器中。转换时间约100s,含锁存控制的8 路多路开关,输出有三态缓冲器控制,单电源5V 供电。主要时序信号如图2 所示: START是转换启动信号,高电平有效;ALE是 3 位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。 当模拟量送至某一输入端( 如 IN1或 IN2 等 ) ,由 3 位地址信号选择,而地址信号由ALE 锁存; EOC是转换情况状态信号,当启动转换约100 s 后, EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使
3、能信号 OE为高电平, 则控制打开三态缓冲器, 把转换好的 8 位数据结果输至数据总线,至此 ADC0809的一次转换结束。ADC0809 通道的选择与工作时序图,如图1, 2 所示图 1: ADC0809 通道的选择图 2: ADC0809 工作时序图五、 实验步骤1、 连接硬件接线:将ADC0809 模块和 LCD12864 模块分别通过牛角插头连接至单片机对应接口,连接单片机电源。2、 ADC0809 模块实验板说明:该模块板自带电压表,显示IN0 , IN1 输入端电压,显示可以通过S1 与 S2 波动开关选择, 一次只能允许有一个开关拨到ON 位置,严禁两个开关同时为ON 。模块实验
4、板预留出IN2IN7输入端口,可供扩展AD 实验口使用。3、 理解硬件原理图:理解 ADC0809 的硬件原理图, 根据硬件原理图设计软件流程图。ADC0809 的硬件电路图如图3 所示。其中引脚分配为:ADA=P10;/ 地址选择位ADB=P11;/ 地址选择位ADC=P12;/ 地址选择位ST=P13;/ 转换启动信号EOC=P14;/ 转换情况状态信号CLK=P16;/ 转换时钟信号EN=P15;/ 转换使能控制ALE=P17;/ 转换地址锁存控制ADC0809ADC0809AD内部输入模拟量显示模块IN3128IN2IN3IN2S1IN4227IN11IN4IN1GNDD1IN5326
5、IN021N4148IN5IN0S1IN6425ADD_AIN6ADD_AIN7524ADD_B3IN0VCC_5V U1IN7ADD_BS2START623ADD_C3STARTADD_C5VEOC722ALE42EOCALES3GND2-58212-1512-52-1MSBGNDADOUT_EN 9202-2OUT_EN2-2SWCLOCK 10192-3Digital tubeCLOCK2-311182-4S2VCC_5VVCC2-4112172-8GNDVREF+2-8LSB2D21N41481316S1GNDGNDVREF-2-714152-62-72-6S23IN1S345GNDG
6、NDAD内部模拟输入端SW2IN0电源指示与滤波13VCC_5VGNDVCC_5VVCC_5VR110K2IN1R31KC1VCC_5V13GND10uF/16V C2R210K0.1uFLD1模拟地数字地连接GNDGNDAGNDR40GNDAD外部扩展输入端AD与主板连接插针H1J12-12-21IN212AD12-32-42IN334AD22-52-63IN456AD32-72-84IN578AD4ADD_BADD_A5IN6910AD5STARTADD_C6IN71112AD6OUT_ENEOC71314AGNDALECLOCK81516AGND1718EX_ADAGNDGND1920V
7、CC_5VHADC0809图 3:ADC0809 硬件电路图4、 画出程序流程图:根据程序流程图,编写并调试软件程序。开始初始化和清屏启动 AD 转换延时等待AD 转换结果读取 AD 转换结果将结果显示成代码调用 LCD12864 程序显示结果判断图 4:软件流程图实验程序如下:/* note :需要建立 LCD12864_ADC0832.h 文件和 LCD12864_ADC0832.c 文件 * note : LCD12864_ADC0832.h 文件声明 LCD12864_ADC0832.c 函数与变量 *note :以下为 LCD12864_ADC0832.h 文件程序*/*/#ifnd
8、ef _LCD12864_ADC0832_h_#define _LCD12864_ADC0832_h_#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uintunsigned intextern void sys_init(void);/ 系统初始化extern void display_ad(void);/ 显示 AD 转换结果#endif/*/* note :需要建立* note : 以下为LCD12864_ADC0832.h LCD12864_ADC0832.c文件和
9、 LCD12864_ADC0832.c函数与变量文件*/*/#include "LCD12864_ADC0832.h"sbit ADA=P10;/ 地址选择位sbit ADB=P11;/ 地址选择位sbit ADC=P12;/ 地址选择位sbit ST=P13;/转换启动信号sbit EOC=P14;/转换情况状态信号sbit CLK=P16;/转换时钟信号sbit EN=P15;/ 转换使能控制sbit ALE=P17;/转换地址锁存控制/引脚定义sbit CS= P00;/片选 高电平有效 单片 LCD 使用时可固定高电平sbit PSB= P01;/低电平时表示用串口
10、驱动,可固定低电平sbit SCLK = P02;/时钟sbit SID= P03;/数据void write(bit start, unsigned char ddata);void sendbyte(unsigned char bbyte);void delaynms(unsigned int di);void lcdinit(void);void lcdtest(void);void lcdcls(void);unsigned char code ma =" 汉字显示LCD"unsigned char code ma2="AD转换的结果:"unsi
11、gned char code ma3=" 控制 IC: ST7920"unsigned char code ma4=" 常熟理工学院"unsigned charcodeDIS4 = "0123456789"unsigned char temp3 =0,0,0;unsigned char ad=0 ;/ms 延时函数void Delay_xms(uint x)uint i,j;for(i=0;i<x;i+)for(j=0;j<112;j+);void lcdinit(void)/初始化LCDdelaynms(10);PSB=
12、0;/启动等待,等/串口驱动模式LCM讲入工作状态/ RESET=0;delaynms(1);/RESET=1; / 复位 LCD CS=1;write(0,0x30); /8 位介面,基本指令集write(0,0x0c);/显示打开,光标关,反白关write(0,0x01);/清屏,将DDRAM的地址计数器归零void write(bit start, unsigned char ddata) / 写指令或数据/发送高四位unsigned char start_data,Hdata,Ldata;if(start=0) start_data=0xf8; else start_data=0xfa
13、;/ 写指令/ 写数据Hdata=ddata&0xf0;/取高四位Ldata=(ddata<<4)&0xf0;/取低四位sendbyte(start_data);/发送起始信号delaynms(5); / 延时是必须的sendbyte(Hdata);delaynms(1);/ 延时是必须的sendbyte(Ldata);/发送低四位delaynms(1);/ 延时是必须的void sendbyte(unsigned char bbyte) / 发送一个字节unsigned char i;for(i=0;i<8;i+)SID=bbyte&0x80; /
14、取出最高位SCLK=1;SCLK=0;bbyte<<=1; / 左移void delaynms(unsigned int di) / 延时unsigned int da,db;for(da=0;da<di;da+)for(db=0;db<10;db+);void lcdtest(void)/图形方式下屏幕全黑unsigned char i,j;for(i=0;i<32;i+)write(0,0x80+i);write(0,0x80);for(j=0;j<16;j+) write(1,0xff);for(i=0;i<32;i+)write(0,0x80+
15、i);write(0,0x88);for(j=0;j<16;j+) write(1,0xff);void lcdcls(void)/图形方式下清屏unsigned char i,j;for(i=0;i<32;i+)write(0,0x80+i);write(0,0x80);for(j=0;j<16;j+) write(1,0x00);for(i=0;i<32;i+)write(0,0x80+i);write(0,0x88);for(j=0;j<16;j+) write(1,0x00);void display_ad(void)unsigned char i;ADA
16、=0;ADB=0;ADC=0;/ 选定 IN0 输入端口ST=0;ALE=0;_nop_();ALE=1;ST=1;/ 根据时序图进行AD 转换的初始化_nop_();_nop_();/延时等待转换稳定ALE=0;ST=0;while(!EOC); / 等待转换完成EN=1;ad=P2;/ 将转换结果赋值给变量用于显示EN=0;temp0 =(unsigned char)ad / 100 ;/ 将变量数值拆分成单个数字用于显示temp1 =(unsigned char)ad %100 / 10 ;temp2 =(unsigned char)ad % 10;write(0,0x80); for(
17、i=0;i<16;i+)write(1,ma2i);write(0,0x90); for(i=0;i<3;i+)write(1,DIS4tempi);void sys_init(void)Delay_xms(100);lcdinit();/ 上电,等待稳定/ 初始化 LCDTMOD=0x01;TH0=(65536-1)/256;TL0=(65536-1)%256;/ 取余EA=1;TR0=1;ET0=1;ad =0x80;temp0 =(unsigned char)ad / 100 % 10 ;temp1 =(unsigned char)ad / 10 % 10 ;temp2 =(
18、unsigned char)ad % 10;void main(void)sys_init();while(1)/系统初始化display_ad();/ 显示AD转换值/* 定时器 0 函数*/void timer0() interrupt 1TH0=(65536-1)/256;TL0=(65536-1)%256;CLK=CLK;/*/六、思考题:1) 如何改用 IN2 为输入端口?请修改程序并观察实验现象。2)实验中出现哪些问题,如何解决的?实验二、 DAC0832转换实验一、实验目的1. 了解 DAC0832 的 DA 转换原理;2. 了解 DAC0832 的硬件设计原理图;3. 自主设计
19、DAC0832 的 DA 转换程序。二、实验设备单片机实验箱一台;PC机一台; USB下载线一根; DAC0832模块; 9V 电源适配器一个。三、实验内容通过 DAC0832 的 DI0-DI7 输入端输入数字信号,经 DA 转换后将模拟电压显示到电压表上。四、实验原理DAC0832 是具有两个输入数据寄存器的 8 位 DAC ,能直接与 51 单片机相连。主要特性如下:分辨率为 8 位;电流输出,稳定时间为 1 s;可双缓冲输入、单缓冲输入或直接数字输入;单一电源供电(+5+15V )。DAC0832 的逻辑结构如图所示:图 1: DAC0832 的逻辑结构图其引脚分布如图2 所示:图 2
20、:DAC0832 的引脚分布图DAC0832 各引脚说明:DI0-DI7 :转换数据输入端;CS:片选信号输入端。ILE :数据锁存允许信号输入端,高电平有效。WR1 :输入寄存器写选通控制端。当CS=0、ILE=1 、 WR1=0 时,数据信号被锁存在输入寄存器中。Xfer :数据传送控制信号输入端,低电平有效。WR2 :DAC 寄存器写选通控制端。当 XFER=0 ,WR2=0 时,输入寄存器状态传入DAC寄存器中。Iout1 :电流输出1 端,当数据全为1 时,电流输出最大;当数据全为0 时,输出电流最小。Iout2 :电流输出2 端。 DAC0802 具有 Iout1+Iout2= 常
21、数的特性。Rfb :反馈电阻端。Vref :基准电压输入端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为 -10V10V ;VCC 和 GND :芯片的电源和接地端。DAC 内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器有LIE 、CS、WR1 控制, DAC 寄存器由 WR2 、 Xref 控制,用软件指令控制这五个控制端可以实现三种工作方式:直通方式,单缓冲方式,双缓冲方式。直通方式是将两个寄存器的五个控制端预先置为有效信号,两个寄存器都开通,只要有数字信号输入就立即进入DA 转换。单缓冲方式是使DAC0832 的两个输入寄存器中有一个处于直通方式,另一个处
22、于受控方式,可以将 WR2 和 Xref 相连接到地上, 并把 WR1 接到 80C51 的 WR 上,LIE 接高电平, CS 接高位地址或地址译码的输出端上。双缓冲方式把DAC0832 的输入寄存器和DAC 寄存器都接成受控方式,这种方式可以用于多路模拟量要求同时输出的情况下。三种工作方式的区别是:直通方式不需要选通,直接进行DA 转换; 单缓冲方式一次选通;双缓冲方式二次选通。控制时序图:图 3: DAC0832 控制时序图五、 实验步骤1、连接硬件接线:将 DAC0832 模块通过牛角插头连接至单片机对应接口,连接单片机电源。2、理解硬件原理图:DAC0832 的硬件原理图,根据硬件原
23、理图设计软件流程图。硬件电路图如图所示:其中引脚分配为:RW=P27 ; / 输入端选通信号。CS=P26;/ 片选信号输入端。P1;/ 为数字信号输入口DA输出电流转电压DAC0832 DA输出DAC0832VCC_9VL1VCC_9VCS1CSVCC20VOUT18WR12191OUTVCCWR1ILEVCC_5V318R4R3GNDGNDWR227DL34172K10K1IN-2OUTDI3XFERGNDDL2516DL4DI2DL4VREF36DL1615DL51IN+2IN-DI1DL5DL0714DL6R5DI0(LSB)DL645VREF813DL710KGND2IN+VREFDL7(MSB)912VCC_9VRfbIOUT2GNDLM3581011GNDGNDGNDIOUT1VCC_2.5VGNDGND2.5V 参考电源电源指示、共地与滤波内部 DA输出显示模块VCC_5V3U15V12GNDGNDVCC_5VDVOUT1ADV1 KL5DC1Digital Tube_R 1R6CN10uF/16VC2CG2.49KV0.1uF2VCC_2.5VU2AGNDR20GNDGND13LM336
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年粤港澳大湾区规则衔接机制对接年度创新案例汇编
- 2026年福建省泉州市初三第四次周考化学试题含解析
- 广东省肇庆市德庆县重点达标名校2026年初三联合中考模拟考生物试题试卷含解析
- 2026年健康用品功效宣称科学证据评价指南
- 江苏省盐城市大丰区共同体2025-2026学年中考模拟金典卷化学试题(九)试题含解析
- 2026年智能网联汽车网络安全与数据安全合规指南
- 浙江省衢州市教联盟体2026年中考模拟金典卷化学试题(三)试题含解析
- 2026年项目资金拼盘策划与多渠道融资方案设计
- 2026年生物发酵与美妆产业融合:原料创新应用报告
- 2026年农产品出口RCEP项下卫生措施透明化条款应用指南
- 电影欣赏社团课件
- 自动驾驶汽车上路安全评估报告
- 桌面应急预案演练脚本(2篇)
- 北京车牌结婚过户协议书
- 数字音频原理及应用 第4版 习题答案
- 油田助剂车间管理办法
- 小学一年级下册生字笔顺组词造句阅读本
- JG/T 3028-1995住宅厨房排烟道
- 小学语文六年级下册第一单元大单元作业设计
- 宁夏砖瓦用粘土矿产地质勘查技术规程 DB64-T 1754-2020
- 青光眼的观察与护理
评论
0/150
提交评论