微型计算机课程设计-数据采集系统_第1页
微型计算机课程设计-数据采集系统_第2页
微型计算机课程设计-数据采集系统_第3页
微型计算机课程设计-数据采集系统_第4页
微型计算机课程设计-数据采集系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 任 务 书学院信息工程学院班级10通信一班姓名 王源艺设 计 起 止 日 期设计题目:数据采集系统设计任务(主要技术参数):1.用声传感器,把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端接喇叭。2.编程以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)。 指导教师评语: 成绩: 签字: 年 月 日课程设计说明书 NO.1数字录音机1.课程设计的目的为了巩固微型计算机技术课程学到的相关知识,通过对本课程所学知识的综合运用,使学生融会贯通课程中所学的理

2、论知识,加深对计算机系统各个部分的工作原理及相互联系的认识,加深对接口的理解,清晰地建立计算机系统的概念,培养学生进行微机应用系统硬件和软件开发的实践工作能力。2.设计方案论证2.1设计要求设计中使用了定时计数芯片Intel 8253、可编程并行接口Intel 8255,并实现了一下具体要求:(1) 用声传感器,把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端接喇叭。(2) 编程以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)。2.2 系统原理 2.2.1 825

3、3的工作原理 8253内部结构如图1所示,8253芯片有24条引脚如图2所示,封装在双列直插式陶瓷管壳内。 (1)数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。 (2)读/写控制 读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控

4、制字寄存器, 它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最 沈 阳 大 学课程设计说明书 NO2低2位地址码A1A0来选择。(3)控制寄存器存放CPU送来的控制字,控制字8253的工作方式有3个,只占用一个地址,不能读。(4)计数器i(i=0,1,2)8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计

5、数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000HFFFFH,最大计数值是0000H,代表65536。 采用BCD码计数时, 写入的初值范围为00009999,最大计数值是0000,代表10000。与此计数器相对应, 每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。 当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入, 每输入一个计数脉冲,计数器内容

6、减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”, 待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK输入的时钟频在12MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。 而后者是内时钟脉冲进行减“1”计数。作计数器时, 要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时, 计数器的初值即定时系数应根据要求定时的时间进行如下运

7、算才能得到: 定时系数=需要定时的时间/时钟脉冲周期 沈 阳 大 学 课程设计说明书 NO.3 设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式; 计数/定时:向通道写入计数值,启动计数操作; 读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。 计数到:当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号。 计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。 锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才

8、能解除锁存状态图1 8253内部结构图 图2 8253引脚图 沈 阳 大 学 课程设计说明书 NO.42.2.2 8255的工作原理(1) 8255的内部结构如图3所示:数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器。A组和B组控制电路:这是两组根据

9、CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。 读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。 图3 8255内部结构图 沈 阳 大 学 课程设计说明书 NO.5(2)8255的引脚信号分为数据线、地址线、读/写控制线、输入/输出

10、端口线和电源线。7D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。(chip select):片选信号线,低电平有效时,芯片被选中。A1, A0(port address):地址线,用来选择内部端口。(read):读出信号线,低电平有效时,允许数据读出。(write):写入信号线,低电平有效时,允许数据写入。RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。PA7PA0(port A):A口输入/输出信号线。PB7PB0(port B):B口输入/输出信号线。PC7PC0(port C):C口输入/输出信号线。VCC:5

11、V电源。 GND:电源地线。 (3)8255A的 工作方式:方式0-基本输入输出方式;方式1-选通输入输出方式;方式2-双向选通输入输出方式。3.设计的过程与分析 3.1设计电路将声传感器接J2,把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端J1接喇叭。电路如图4所示: 沈 阳 大 学课程设计说明书 NO.6 图4 电路图 编程以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)3.2总体设计方案流程图(1)主程序流程图如图5所示(2)录音部分流程图如图6所示(3)

12、放音部分流程图如图7所示(4)延时子程序流程图如图8所示 沈 阳 大 学课程设计说明书 NO.7 图5 主程序流程图 沈 阳 大 学课程设计说明书 NO.8 图6 录音部分流程图 沈 阳 大 学课程设计说明书 NO.9 图7 放音部分流程图 沈 阳 大 学 课程设计说明书 NO.10 图8 延时子程序流程图 沈 阳 大 学 课设计说明书 NO.113.3 程序清单及注释Data segmentimport equ 0dd80h-280hio0809a equ import+ 29ah; AD0809的地址io0832a equ import+ 290h ;DAC0832的入口地址io8253a

13、 equ import+280h;8253的入口地址io8253c equ import+283h;8253的控制字地址io8255a equ import+288h;8255的入口地址io8255c equ import+28bh;8255的控制字的地址word0 db 0dh,0ah,按r键开始录音,0dh,0ah,24hword2 db 0DH,0AH,按p键开始放音, 0dh,0ah,24hword3 db 0DH,0AH,按t键开始重播,否则按任意键退出, 0dh,0ah,24hbuf db 60000 dup(?);开辟内存空间存放数据Data endsCode segmentAs

14、sume cs:code,ds:dataStart: Mov ax,data;Mov ds,ax;Mov ds,offset word0;显示录音提示 Mov ah,09h;Int 21hTest1: Mov ah,1;等待键盘输入Int 21hCmp al,rJnz test1;与r比较,若是则执行下面的录音,不是则等待 沈 阳 大 学 课程设计说明书 NO.12 Mov di,offset buf;定义缓冲区指针 Mov cx,60000Begin: Mov dx, io0809a;ADC0809的地址 Out dx,al;启动一次A/D转换器 Call delay;调用延时子程序 In

15、al,dx;从端口读入数据Mov di,al;将数据放入缓冲区中Inc di Loop begin ;循环装入60000个数据 Mov dx,offset word2;显示放音提示 Mov ah,9 Int 21hTest2: Mov ah,1Int 21hCmp al,pJnz test2;与p比较,若是则执行放音,不是则等待Play: Mov di,offset buf;取缓冲区的入口地址Mov cx,60000Begin1:Mov dx,io0832a;DAC0832的入口地址Mov al,di;将要转换的数据从内存中取出Out dx,al;将数据打入寄存器Call delay;调用延时

16、子程序 沈 阳 大 学 课程设计说明书 NO.13Inc diLoop begin1 Mov dx,offset word3;显示循环放音提示 Mov ah,9 Int 21h Mov ah,1 Int 21h Cmp al,t Jz play;与t比较,若是则重新播放,不是则退出 Mov ah,4ch Int 21h Delay proc near Push dx;保存dx的内容Mov dx,io8253c;8253的控制字地址Mov al,00010000b ;计数器0只读低字节以方式0工作,二进制计数Out dx,alMov dx,io8253a;8253的入口地址Mov al,200;

17、写入循环计数初值Out dx,alMov dx,io8255c;8255的控制字的地址Mov al,10010000b;D7=1控制字标志位 ,D6D5=00 方式0 ,D4=1表示A口输入Out dx,alMov dx,io8255a;8255的入口地址Check:In al,dx;将数据输入alTest al,01;检查PA0的状态是否为高电平Jz check 沈 阳 大 学 课程设计说明书 NO.14Pop dx;恢复dxMov dx,io8255a;8255的入口地址Check:In al,dx;将数据输入alTest al,01;检查PA0的状态是否为高电平 Jz checkPop

18、dx;恢复dx4设计体会在本次课程设计中,充分利用学过的汇编语言程序设计能力,在了解了数字录音技术的基本原理后,通过对A/D转换器与D/A转换器的使用,以及利用8253和8255芯片实现延时功能,成功完成了数字录音机的设计。测试实验结果时,成功实现了12s的录音及放音,达到设计要求。此次课设可以说是获益匪浅。通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔细谨慎,精益求精。通过该课程设计,熟悉了编译程序总流程框图。而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做设计,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机知识的认识更加深刻。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,将不必要的命令去除。5参考文献1 彭虎,周佩玲,傅忠谦.微机原理里与接口技术M .北京:电子工业出版社,出版时间: 2008.4: 56-75.2蔡启先,王智文,黄晓璐.

温馨提示

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

评论

0/150

提交评论