10045127张冲微机课设.docx

上传人:b****4 文档编号:6151788 上传时间:2023-05-09 格式:DOCX 页数:18 大小:128.20KB
下载 相关 举报
10045127张冲微机课设.docx_第1页
第1页 / 共18页
10045127张冲微机课设.docx_第2页
第2页 / 共18页
10045127张冲微机课设.docx_第3页
第3页 / 共18页
10045127张冲微机课设.docx_第4页
第4页 / 共18页
10045127张冲微机课设.docx_第5页
第5页 / 共18页
10045127张冲微机课设.docx_第6页
第6页 / 共18页
10045127张冲微机课设.docx_第7页
第7页 / 共18页
10045127张冲微机课设.docx_第8页
第8页 / 共18页
10045127张冲微机课设.docx_第9页
第9页 / 共18页
10045127张冲微机课设.docx_第10页
第10页 / 共18页
10045127张冲微机课设.docx_第11页
第11页 / 共18页
10045127张冲微机课设.docx_第12页
第12页 / 共18页
10045127张冲微机课设.docx_第13页
第13页 / 共18页
10045127张冲微机课设.docx_第14页
第14页 / 共18页
10045127张冲微机课设.docx_第15页
第15页 / 共18页
10045127张冲微机课设.docx_第16页
第16页 / 共18页
10045127张冲微机课设.docx_第17页
第17页 / 共18页
10045127张冲微机课设.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

10045127张冲微机课设.docx

《10045127张冲微机课设.docx》由会员分享,可在线阅读,更多相关《10045127张冲微机课设.docx(18页珍藏版)》请在冰点文库上搜索。

10045127张冲微机课设.docx

10045127张冲微机课设

课程设计说明书

课程设计名称:

汇编语言、微机原理与接口技术

课程设计题目:

简易波形发生器

学院名称:

信息工程学院

专业:

计算机科学与技术班级:

100451

学号:

10045127姓名:

张冲

评分:

教师:

周卫民、叶水生

 

2013年7月2日

 

第1章概述

1.1课题的设计要求

本课题通过ASI总线设计发生器,实现能输出正弦波、三角波和方波信号三种波形,要求有以下功能:

1、系统在初始时轮流输出五种波形,并轮流显示。

2、频率最高可达10KHZ,峰-峰值10V。

1.2课题的设计目的和意义

本课程设计在“微机原理与接口技术”课程教学结束后进行,课内32学时。

该课程设计的目的是:

通过一个微机系统的总线扩展接口的设计,是学生在“微机原理与接口技术”课程中所学知识和所掌握的的技能获得一次综合性的训练,进一步熟悉微机系统结构及其接口电路的设计技术,熟悉硬件电路设计的完整过程,培养学生的硬件接口的设计和开发能力,为后续综合设计实践环节的学习打下坚实的基础。

在课程设计中,要求学生通过自学和实践,熟练掌握protel等设计工具的使用,通过查阅相关文献资料,分析,综合运用所学知识,完成一个实际的、具有一定使用价值的微机接口电路的设计。

单片机的实验简易波形发生器的设计可以给我们的生活带来乐趣,可以放松我们的心情,可以让我们得到释怀。

而且通过这次设计我们可以学到关于单片机在实际生活中的设计应用,同时也使我们加深了对单片机的认识,提高了我们的编程能力,为我们能够更好的学习单片机有很大的帮助。

 

第2章系统总体设计方案

2.1设计说明

利用微机实验平台编程实现一个波形发生器,可以产生正弦波、方波、三角波等各种波形基本要求:

(1)具有产生正弦波、方波、三角波三种周期性波形的功能。

(2)输出波形的频率范围为100Hz~10kHz,步进为100Hz。

(3)输出波形幅度范围1~10V(峰-峰值),可按步进1V(峰-峰值)调整。

(4)通过ADC0809采样DAC0832的输出,在屏幕上画出图形。

示波器查看波形发生器的输出和屏幕上的图形比较。

2.2总体设计思路

本次设计结合D/A和A/D转换,用键盘输入来选择DAC0832的输出波形,再通过ADC0809采集后在PC机上以图形方式显示。

实验主要利用实验箱上的DAC0832、ADC0809和8255等硬件电路和PC机资源。

设计要求该波形发生器能产生正弦波、方波、三角波等形状的波形,频率和幅度可调。

不同的波形主要是由输入DAC0832的不同规律的数据,所以在软件设计是主要是构造各种波形的数据表格。

方波只需要控制输出高低电平的时间,三角波的表格可以由数字量的增减来控制,产生正弦波关于构造一个正弦函数数值表,通过查该函数表来实现波形的输出。

波形的频率控制是通过对输出数据的时间间隔控制。

幅度是通过改变输出数据的大小来控制的。

为了程序实现方便,可以把每种波形的数据表构造好,再统一查表来实现。

 

第3章系统结构图及工作原理

3.1系统结构框图

3.2工作原理

在双极性电压波形发生器中,DAC0832转换器输入数据采用单缓冲方式,与89C51接口电路。

DAC0832转换器输出部分接口电路,由于考虑到软件产生电压波形有正负极性输出,因此这部分设计成双极性电压输出,其方法是单极性输出运算放大器后面加一级运算放大器,形成比例求和电路,通过电平移动,使单极性输出变为双极性输出。

 

第4章各单元硬件设计及计算方法

4.1硬件设计

硬件由于采用了PC机的资源和微机实验平台,不用外加其他的电路,比较简单。

将微机系统里面的中断、8255、DAC0832以及ADC0832的电路弄清楚,通过相应的跳线就可以完成电路的设计。

本次设计中,通过PC机键盘选择波形,启动DAC0832工作,在其输出端口VOUT1将会产生0~5V的直流电压,再由ADC0809的IN0端口进行采样,显示到屏幕上。

DAC0832所对应的片选为CS4,ADC0809所对应的片选为CS0。

DAC0832和ADC0809硬件连接图如图1所示。

在ADC0809芯片连接中,CLOCK用来接收外部时钟信号,在本实验中接收Q3端产生的时钟信号。

ADD_A,ADD_B和ADD_C这三个端口为三位地址线,用来选通8路模拟量输入中的一路。

在本实验中,只使用ADC0809中的IN0端口,当ADD_A,ADD_B和ADD_C端口都为低电平时,才能选中IN0端口。

在本PC实验箱中ADC0809IN0端口地址为280H,其地址总线中的A0,A1,A2均为低电平。

故将ADD_A,ADD_B和ADD_C与A0,A1,A2如图所示连接。

REF(+)接正参考电压(+5V),REF(-)接负参考电压(接地)。

图1设计硬件连接图

 

第5章软件设计与说明

5.1软件设计

本设计的主要是掌握各种典型波形的产生方法,例如三角波、方波和正弦波。

构造各种波形的数据表和对ADC0832的编程输出。

1.波形数据表的构造

每个周期的数据表由64个数据组成,不同的幅度对应的数据不一样,可以根据倍数关系求出。

但是为了简化计算,将每个幅值的数据表列出。

这边我们只讨论幅值为5V时的数据表,其他的数据表可以根据倍数关系求得。

1)方波数据表的构造

只要输出高电平和低电平就可以了,所以输入到ADC0832的数据由32个00H和32个FFH组成。

2)三角波数据表的构造

三角波是由数据量的增减来控制的。

在前半个周期数据由00H增加到FFH,在后半个周期数据由FFH减少到00H,每次变化为08H。

所以三角波的数据表为:

BUF

DB00H,08H,10H,18H,20H,28H,30H,38H,40H,48H,50H,58H,60H,68H,70H,78H

DB80H,88H,90H,98H,0A0H,0A8H,0B0H,0B8H

DB0C0H,0C8H,0D0H,0D8H,0E0H,0E8H,0F0H,0F8H

DB0FFH,0F8H,0F0H,0E8H,0E0H,0D8H,0D0H,0C8H

DB0C0H,0B8H,0B0H,0A8H,0A0H,98H,90H,88H

DB80H,78H,70H,68H,60H,58H,50H,48H,40H,38H,30H,28H,20H,18H,10H,08H

3)正弦波数据表的构造

DAC0832的输入数据与输出电压的关系为:

Ua=(UREF)/256*N,其中UREF表示参考电压(+5V),N表示数据。

由于8位D/A转换器DAC0832的数据N的范围为:

00H—FFH,故Ua的范围为:

0V—4.98V。

则产生的正弦波的幅度也为0V—4.98V。

我们以正弦函数的0--

/2为例,0度时我们设定其对应的N为:

80H,

/2时必然对应的N为:

FFH,在0--

/2的范围内有16个点,故间隔为6度。

综上所诉正弦波函数为:

Ua=2.48*sin6x+2.5(x=0,1,……15)。

联合上述两式,就可得出0--

/2范围内的16个N值。

构造出正弦波数据表如下:

SINBUF:

DB080H,08CH,098H,0A5H,0B0H,0BCH,0C7H,0D1H

DB0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFH

DB0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0DAH

DB0D1H,0C7H,0BCH,0B0H,0A5H,098H,08CH,080H

DB7FH,73H,67H,5AH,4FH,43H,38H,2EH

DB25H,1DH,15H,0FH,09H,05H,02H,00H

DB00H,02H,05H,09H,0FH,15H,1DH,25H

DB2EH,38H,43H,4FH,5AH,67H,73H,7FH

2.程序的主要模块

程序主要由主程序和中断服务程序构成。

主要由菜单显示、键盘读取、DA输出、AD采样、屏幕画图等模块组成。

菜单显示包含有3个菜单:

主菜单和2个子菜单。

主菜单有选择波形和退出选项,子菜单有选择频率菜单和选择幅度菜单。

键盘读取是配合菜单显示的条件下,接收键盘的输入,得到相应的数据来处理,决定输出波形的信息。

DA输出是将数据输出到ADC0832转换为模拟量输出。

ADC0809的转换控制如下:

选择通道并启动转换延时等待读取转换结果。

 

第6章调试结果与调试说明

6.1调试步骤

1.输入源程序

输入源程序时,应以西文方式输入字母和符号,且中文注释前要加分号。

2.对源程序进行汇编和纠错

根据自动汇编提供的错误信息逐条纠正错误,直至汇编信息提示无误。

3.确定调试方案

在调试程序前认真分析源程序,确定各功能程序运行的预期结果。

然后结合源程序应达到的结果,通过某些关键参数和实验现象检验程序运行结果正确与否。

并针对具体的分析和观察对象选择较合适的调试方法。

如单步运行、跟踪运行、连续运行、快速运行至光标处、设置断点等调试方法。

4.调试程序

1)调试子程序。

由于程序比较多,整体调试不容易发现和改正错误,故采取子程序调试的方法,但要明确子程序的具体功能。

例如:

调试显示子程序时,只将显示子程序进行汇编,确认无误后单步执行,观察CPU窗口和DATA窗口以及CODE窗口相应单元的变化是否跟预期的一样。

如果有问题找出问题所在。

采取各个击破的方法调试好各个子程序。

2)确定各子程序无误后,再调试完整的程序,要注意各子程序之间的衔接以及和主程序之间的调用和返回。

运行后,观察有无显示,显示的变化过程是否正确。

若运行结果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故障,再通过调试方法逐一认证和排除。

通过反复调试,发现并排除软件与硬件存在的各类问题,以满足系统设计的预期目的。

 

第7章总结

不知不觉中两周的单片机的课程设计就结束了,从刚开始接受课题,查阅相关资料,思考设计方案,从而确定设计方案,然后进行具体的硬件设计、软件设计,实验调试等,想着自己在这两周中学到的东西,心中好是高兴。

在第一周时,我们通过找大量相关的资料以及跟同学们和老师一起研究和讨论,认识设计的内容,将其分为两大部分(硬件设计部分和软件设计部分),终于设计出一套比较好的的方案。

但是将这些具体的方案在实际设计中执行,出现一定的错误,这就需要我们在调试过程中利用所掌握的知识认真检查,调试到位。

然后在讨论如何解决不足,如此反复查找,反复修改,反复调试,直到基本符合我们的功能要求。

无数次的尝试总算是把设计搞好了,电路调试成功。

真是难以用言语去形容那种愉悦的心情。

自己的付出总算是有了回报。

我也得到了自己知识不足而得到弥补。

感觉在知识不牢固的时候是多么无助跟绝望。

自己要反复的去查阅以前的课本和书籍是多烦琐的事情。

这也就坚定了我在以后的学习中要认真学好基础知识的决心。

同时,我也注意到了以下:

在调试程序前,一定要预先将源程序分析透彻,在此基础上训练如何通过实验现象分析和判断产生故障的原因及故障可能存在的大致范围;灵活运用开发系统所提供的各种调试方法,快速有效地排查和缩小故障范围。

通过反复调试,不断地分析和排除故障,调试软件和硬件的能力及速度。

调试程序时,要结合能反映故障存在与否的参数变化、运行路径变化、显示内容变化等,选择合适的观测点和观测对象,再运用适当的调试方法,快速地检验调试结果,由此分析和判断故障点。

总体来说,这次单片机的课程设计使我受益匪浅。

在摸索该如何设计电路使之实现所需功能的过程中,特别有趣,培养了我的设计思维,增加了实际操作能力。

在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦和快乐。

两周的课程设计结束了,在此我想对我的指导老师李世军老师表达我衷心的感谢。

在李世军老师的耐心的指导下,使这次课程设计取得了较满意的结果。

这次设计过程中得到了其他老师的指导和帮助,在此一并表示衷心的感谢!

同时,也对帮助过我的同学深表感谢!

参考文献

 

[1]张迎新.《单片微型计算机原理、应用及接口技术》.国防工业出版社

[2]房小翠.《单片机实用系统设计技术》.国防工业出版社

[3]何立民.《单片机应用系统设计》.北航出版社

[4]王迎旭.《单片机原理及及应用》.机械工业出版社.2004年7月

[5]戴梅萼、史嘉权《微型计算机技术及运用》清华大学出版社,2003年

[6]潘新民《微型计算机硬件技术教程-原理*编译*接口及体系结构》机械工业出版社,2004年

[7]郑学坚《微型计算机原理及运用(第三版)》清华大学出版社,2001年

 

附录

A:

系统原理图

B:

印刷电路图:

C:

程序清单:

ORG0000H

LJMPSTART

ORG4100H

PORTEQU0cfa0H

START:

MOVR3,#1FH

SETBP1.0;按键位置高电平

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

JNBP1.0,LXP0;锯齿波选择

JNBP1.1,LXP1;三角波选择

JNBP1.2,LXP2;矩形波选择

JNBP1.3,LXP3;梯形波选择

JNBP1.4,LXP4;正弦波选择

WAIT:

DJNZR3,WAIT;延时,等待

AJMPMOTOP

LXP0:

ACALLPRG1;调用锯齿波

LJMPSTART

LXP1:

ACALLPRG2;调用三角波

LJMPSTART

LXP2:

ACALLPRG3;调用矩形波

LJMPSTART

LXP3:

ACALLPRG4;调用梯形波

LJMPSTART

LXP4:

ACALLPRG5;调用正弦波

LJMPSTART

MOTOP:

ACALLPRG1

NOP

ACALLPRG2

NOP

ACALLPRG3

NOP

ACALLPRG4

NOP

ACALLPRG5

NOP

LJMPSTART

PRG1:

MOVR1,#1

MOVDPTR,#0CFABH;设定DPTR指向8255控制端口

MOVA,#80H;写入控制字

MOVX@DPTR,A

MOVDPTR,#0CFA8H

MOVA,#06H;写入数码管显示代码(数字1~5)显示代码,锯齿波,三,方,梯形,正分别对应#06,#5BH,#4FH,#66H,#6DH

MOVX@DPTR,A

MOVDPTR,#0CFA9H;设定DPTR指向8255端口

MOVA,#02H;写入位选字,使数码管选通

MOVX@DPTR,A

PG1:

MOVDPTR,#PORT;指向0832端口地址

MOVR2,#15;

LOOP:

MOVA,#00H

LOOP1:

MOVDPTR,#PORT

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

INCA

CJNEA,#0FFH,LOOP1;

DJNZR2,LOOP;内循环次数控制

DJNZR1,PG1;外循环次数控

RET;子程序调用返回

PRG2:

MOVR1,#2;三角波生成

MOVDPTR,#0CFABH;指向8255控制端口

MOVA,#80H;写入控制字

MOVX@DPTR,A

MOVDPTR,#0CFA8H;指向A端口地址

MOVA,#5BH;写入数码管显示2代码

MOVX@DPTR,A

MOVDPTR,#0CFA9H;指向B端口地址

MOVA,#02H;写入位选,数码管选通

MOVX@DPTR,A

PG2:

MOVA,#00H

MOVR2,#8

LOOP0:

MOVDPTR,#0cfa0H

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

INCA

CJNEA,#0FFH,LOOP0

LOOP01:

MOVDPTR,#0cfa0H

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

DECA

CJNEA,#00H,LOOP01

DJNZR2,LOOP0

DJNZR1,PG2

RET

PRG3:

MOVR1,#5

MOVDPTR,#0CFABH;指向8255控制端口

MOVA,#80H

MOVX@DPTR,A

MOVDPTR,#0CFA8H

MOVA,#4FH

MOVX@DPTR,A

MOVDPTR,#0CFA9H

MOVA,#02H

MOVX@DPTR,A

PG3:

MOVR2,#8

LP1:

MOVDPTR,#PORT

MOVA,#0FFH

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

LCALLDELAY

LP2:

MOVDPTR,#PORT

MOVA,#00H

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

LCALLDELAY

DJNZR2,LP1

DJNZR1,PG3

RET

DELAY:

MOVR4,#1FH

LP3:

MOVR5,#0FH

LP4:

DJNZR5,LP4

DJNZR4,LP3

RET

PRG4:

MOVR1,#4

MOVDPTR,#0CFABH;指向8255控制端口

MOVA,#80H

MOVX@DPTR,A

MOVDPTR,#0CFA8H

MOVA,#66H

MOVX@DPTR,A

MOVDPTR,#0CFA9H

MOVA,#02H

MOVX@DPTR,A

PG4:

MOVR2,#8

MOVA,#00H

LP00:

MOVDPTR,#0cfa0H

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

INCA

CJNEA,#0D0H,LP00

ACALLDELAY1

LP001:

MOVDPTR,#0cfa0H

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

DECA

CJNEA,#00H,LP001

ACALLDELAY1

DJNZR2,LP00

DJNZR1,PG4

RET

DELAY1:

MOVR4,#02H

LP10:

MOVR5,#0FFH

LP11:

DJNZR3,LP11

DJNZR4,LP10

RET

PRG5:

MOVR1,#0FFH

MOVDPTR,#0CFABH;指向8255控制端口

MOVA,#80H

MOVX@DPTR,A

MOVDPTR,#0CFA8H

MOVA,#6DH

MOVX@DPTR,A

MOVDPTR,#0CFA9H

MOVA,#02H

MOVX@DPTR,A

LPG0:

MOVDOTR,#TAB

MOVR5,#0FFH

MOVR7,#00H

LPG1:

MOVR3,DPH

MOVR4,DPL

MOVA,R7

MOVCA,@A+DPTR

MOVDPTR,#PORT

MOVX@DPTR,A

INCDPTR

MOVX@DPTR,A

MOVDPH,R3

MOVDPL,R4

INCR7

DJNZR5,LPG1

DJNZR1,LPG0

RET

TAB:

DB080H,08CH,098H,0A5H,0B0H,0BCH,0C7H,0D1H;正选波数据表

DB0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFH

DB0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0DAH

DB0D1H,0C7H,0BCH,0B0H,0A5H,098H,08CH,080H

DB7FH,73H,67H,5AH,4FH,43H,38H,2EH

DB25H,1DH,15H,0FH,09H,05H,02H,00H

DB00H,02H,05H,09H,0FH,15H,1DH,25H

DB2EH,38H,43H,4FH,5AH,67H,73H,7FH

END;汇编结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2