微机系统课程实验报告

上传人:自*** 文档编号:80157402 上传时间:2019-02-19 格式:DOC 页数:27 大小:2.39MB
返回 下载 相关 举报
微机系统课程实验报告_第1页
第1页 / 共27页
微机系统课程实验报告_第2页
第2页 / 共27页
微机系统课程实验报告_第3页
第3页 / 共27页
微机系统课程实验报告_第4页
第4页 / 共27页
微机系统课程实验报告_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《微机系统课程实验报告》由会员分享,可在线阅读,更多相关《微机系统课程实验报告(27页珍藏版)》请在金锄头文库上搜索。

1、微机系统与应用实 验 报 告实验题目成绩常用函数波形发生器的设计评 语:教 师:年 月 日班 级: 030812 学 号: 03081180 姓 名: 陈 双 实验地点: E-312 实验时间: 2011.8.9-9.4 一、应用系统设计方案l 课程设计目的1、掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。 2、加深对和D/A 芯片的工作方式的理解,学会编写程序,使D/A 转换输出函数的 方法。 3、掌握通过A/D 转换进行实时数据采集与处理的设计思路和实现方法。l 实验原理1、DAC0832芯片的原理DAC0832各引脚功能:D0D7:8位数据输入线,TTL电平,有效

2、时间应大于90ns(否则锁存器的数据会出错); ILE:数据锁存允许控制信号输入线,高电平有效; CS:片选信号输入线(选通数据锁存器),低电平有效; WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,L

3、E2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。 IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化; IOUT2:电流输出端2,其值与IOUT1值之和为一常数; Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度; Vcc:电源输入端,Vcc的范围为+5V+15V; VREF:基准电压输入线,VREF的范围为-10V+10V; AGND:模拟信号地 DGND:数字信号地2、ADC0809芯片的原理主要特性:1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100s(时钟为640kHz时),130s(时钟为5

4、00kHz时) 4)单个+5V电源供电 5)模拟输入电压范围0+5V,不需零点和满刻度校准。 6)工作温度范围为-40+85摄氏度 7)低功耗,约15mW。ADC0809各引脚功能:IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低

5、电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一+5V。 GND:地。3、波形发生器原理要求能输出方波、锯齿波、三角波和正弦波。波形的发生使用汇编语言来实现的。下面分别详述每一个波具体实现过程: 方波:首先赋给AL 00H,然后执行OUT指令输出,然后延时一段,在赋给AL 0FFH,执行OUT指令输出,同样延时一段,一直循环下去,就可以得到方波。利用程序界面按钮,选中方波点开始就可以产生方波。 三角波:

6、首先赋给AL 00H,然后执行OUT指令输出,在执行INC自动增1,然后判断AL是否加满,未满则继续,已满,AL置全“1”,然后输出数据减1,然后判断AL是否减到“0”,不为0则继续,就这样一直循环下去,就可得到连续的三角波。利用程序界面按钮,选中三角波点开始就可以产生三角波。 锯齿波:首先赋给AL 00H,然后执行OUT指令输出,在执行INC自动增1,判断AL是否加满,未满则继续,已满,则继续赋给AL 00H并继续判断,就这样循环下去,就可以得到连续的锯齿波。利用程序界面按钮,选中锯齿波点开始就可以产生锯齿波。正弦波:首先利用正弦函数算出各个点,一共取64个点,存放在内存(SIN)中,用AL

7、指向内存首地址,取第一个数,然后输出,接着内存地址加1,延时一段时间,再取下一个数,就这样一直下去,直到读完64个数,并依次暑促每一个点,就可以得到正弦波。利用程序界面按钮,选中正弦波点开始就可以产生正弦波。l 课程设计实验环境: 1. 硬件配置: 微机一台 (Pentium 4) 微机接口技术实验箱 一个 ISA PCI 转接卡 一块 连接电缆 一条 万用表 一块 微机接口技术实验讲义 一本 导线、剥线钳等 2. 软件环境: Windows XP 平台 Visual C+ 6.0 编译器l 课程实验内容一、软件部分/ drawgDlg.cpp : implementation file/#i

8、nclude stdafx.h#include drawg.h#include drawgDlg.h#include math.h#include stdio.h#include PCI9052Dll.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif#define pi 3.141592653int it=-1;int icy=60;int icx=120;int x=70,y=480,a=0;int fudu=1;int stb=0;double zhankongb

9、i=0.5;double pinlv=1;int ox=100,oy=400;/原点的横纵座标int xstep=40,ystep=40;/x轴的间隔,y轴的间隔/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(C

10、AboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange

11、* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CDrawgDlg dialogCDrawgDlg:CDrawgDlg(CWnd* pParent /*=NULL*/): CDialog(CDrawgDlg:IDD, pParent)/AFX_DATA_INIT(CDrawgDlg

12、)/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CDrawgDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CDrawgDlg)DDX_Control(pDX, IDC_fudu, m_fudu);DDX_Control(pDX, IDC_zhankongbi,

13、 m_zhankongbi);DDX_Control(pDX, IDC_pinlv, m_pinlv);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CDrawgDlg, CDialog)/AFX_MSG_MAP(CDrawgDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_begin, Onbegin)ON_WM_MOUSEMOVE()ON_BN_CLICKED(IDC_fangbo, Onfangbo)ON_BN_CLICKED(IDC_juchibo, Onjuchibo)ON_BN_CLICKED(IDC_zhengxuanbo, Onzhengxuanbo)ON_BN_CLICKED(IDC_end, Onend)ON_WM_TIMER()ON_BN_CLICKED(IDC_dianwei, Ondianwei)ON_BN_CLICKED(IDC_select, O

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号