为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于8086系统数字录音机基于8086系统数字录音机

2021-03-09 7页 doc 765KB 5阅读

用户头像 个人认证

sxymh

从事多年建筑工程施工安全、工程技术、设计方案积累了丰富经验

举报
基于8086系统数字录音机基于8086系统数字录音机./郑州科技学院《微机原理与接口技术》课程设计题目基于8086系统数字录音机的设计与实现目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc14023"1引言1HYPERLINK\l"_Toc3670"2方案论证1HYPERLINK\l"_Toc8322"3设计原理及功能1HYPERLINK\l"_Toc30630"3.1硬件1HYPERLINK\l"_Toc180"3.1.1连接电路1HYPERLINK\l"_Toc21449"3.1.2A/D转换器ADC0809简介1HYPERLINK\l"_Toc698"...
基于8086系统数字录音机基于8086系统数字录音机
./郑州科技学院《微机原理与接口技术》课程题目基于8086系统数字录音机的设计与实现目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc14023"1引言1HYPERLINK\l"_Toc3670"2论证1HYPERLINK\l"_Toc8322"3设计原理及功能1HYPERLINK\l"_Toc30630"3.1硬件1HYPERLINK\l"_Toc180"3.1.1连接电路1HYPERLINK\l"_Toc21449"3.1.2A/D转换器ADC0809简介1HYPERLINK\l"_Toc698"3.1.3D/A转换器DAC0832简介及功能1HYPERLINK\l"_Toc25737"3.1.48253芯片简介1HYPERLINK\l"_Toc32171"3.1.58255A芯片简介1HYPERLINK\l"_Toc5957"3.2软件1HYPERLINK\l"_Toc31081"51HYPERLINK\l"_Toc27730"参考文献1HYPERLINK\l"_Toc5384"附录1:元器件清单1HYPERLINK\l"_Toc28225"附录2:程序清单11引言由于计算机技术的飞速发展,微机原理与接口技术课程已经作为一门比较重要的专业基础课[1]。微机原理与接口技术已经融入我们的基本生活当中,我们生活中的许多电子产品都与之密切相关。微机原理与接口技术是一门实践性强的学科,其中很多理论和知识仅考书本的学习是无法掌握的,必须通过实践才能比较直观深刻的理解。通过课程设计可以培养我们动手的能力,使我们对书本的理论知识掌握更加牢固,培养学生编程的能力以及提出问题,分析问题,解决问题的能力。本次课程设计所做的是关于数字录音机的设计。本次课程设计的主题研究思想是利用微机原理与接口技术知识,掌握数字录音技术的基本原理.利用8253芯片,8255芯片,ADC0809芯片和DAC0832芯片实现电信号与数据信号的转换[2]8253设置成方式0,记数为200个,利用PA0查询电平变化,控制录音和放音时间。达到数字录音的目的。可广泛应用于数字录音领域.因此它具有一定的实用价值和开发价值。数字录音机有一定的市场前景和研究领域。本次课程设计的目的是(1)了解数字录音技术的基本原理。(2)进一步掌握A/D转换器与D/A转换器、8255芯片、8253芯片的使用方法。(3)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法[3]。本次课程设计的内容与要求是:(1)设计一个声音录放系统,通过传感器及ADC0809以每秒钟5000次的速率采集IN2输入的语音数据并存入内存,共采集60000个数据(录12秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)。 (2)画出系统的硬件连接图。(3)按图连接电路,将声传感器接J2,把代语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端通过K8跳线接喇叭[4]。2方案论证(1)本课题设计可采用单独的硬件设计也可以软件与硬件结合设计。后者的设计方案较为合适,能够达到微机原理与接口技术的目的。(2)单独使用硬件来完成此设计所使用的硬件材料较多且不便于调试而且设计复杂相对于用软件和硬件想结合而言后者较为合适。(3)由于我们这学期学的课程是微机原理与接口技术课程掌握了一定的微机原理与接口技术知识.所以此设计采用硬件与软件结合设计配合通用微机接口实验系统实验箱实现此设计及此设计功能与此同时也可以对此门课程加深理解和巩固。为以后的学习和工作打下良好的基础。3设计原理及功能3.1硬件3.1.1连接电路准备好实验箱,检查芯片和导线是否完整。如图3-1所示连接线路。具体连接情况如下:8255芯片:CS接288H~28FHPA0接8253的OUT08253芯片:CS接280H~287HCLK0接1MHz脉冲GATE0接+5VDAC0832芯片:CS接290H~297HADC0809芯片:CS接298H~29FH图3-1部分电路原理图3.1.2A/D转换器ADC0809简介ADC0809是CMOS工艺制成的双列直插式8位A/D转换芯片,内部采用逐次逼近原理,单极性,量程为0~+5V。芯片内部有8路模拟开关,可控制选择输入8个模拟量之中的一个,并带有三态输出锁存缓冲器,可直接与CPU总线连接,不需要外部锁存器,是应用较广泛的一种A/D转换芯片。 (1)ADC0809内部结构如图3-2所示。ADC0809内部由两部分电路组成: 第一部分:8路模拟通道选择开关,地址锁存器和译码器。 第二部分:比较器、8位逐次逼近寄存器SAR、8位开关树型D/A转换电路、控制逻辑、三态输出缓冲锁存器。 工作原理:由ADDA、ADDB、ADDC及ALE选择8个模拟量之一,并通过通道选择开关加至比较器一端。由START信号启动A/D转换开始且SAR清0。在CLOCK的控制下,将SAR从高位逐次置1,并将每次置位后的SAR送D/A转换器转换成与SAR中数字量成正比的模拟量。DAC的输出加至比较器的另一端与输入的模拟电压进行比较,若Vi大于等于V0保留SAR中该位的1;若Vi小于V0则该位清0。经过8次比较(8个CLOCK)后,SAR中的8位数字量即是结果。在OE有效时,将SAR中的8位二进制数输出至锁存器,并通过D7~D0输出,同时发出EOC转换结束信号。图3-2ADC0809内部结构框图(2)ADC0809引脚功能如下:IN0~IN7:8路模拟输入通道。 D0~D7:8位数字量输出端。 START:启动转换命令输入端,由1→0时启动A/D转换,要求信号宽度>100n OE:输出使能端,高电平有效 ADDA、ADDB、ADDC:地址输入线,用于选通8路模拟输入中的一路进入A/D转换。其中ADDA是LSB位,这三个引脚上所加电平的编码为000~111,分别对应IN0~IN7,例如,当ADDC=0,ADDB=1,ADDA=1时,选中IN3通道。 ALE:地址锁存允许信号。用于将ADDA~ADDC三条地址线送入地址锁存器中。 EOC:转换结束信号输出。转换完成时,EOC的正跳变可用于向CPU申请中断,其高电平也可供CPU查询。 CLK:时钟脉冲输入端,要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压,一般与微机接口时,REF(-)接0V或-5V,REF(+)接+5V或0V 。(3)ADC0809在本次设计中的作用及工作方式ADC0809在本次设计中的作用及工作方式ADC0809作数据采集用,用来采集12秒的语音信号并保存到相应的存储单元。对ADC0809的8个模拟通道,这里是用数据总线的低8位D2、D1、D0来控制ADC的通道选择信号ADDC、ADDB、ADDA,以实现选择其中之一模拟通道输入。在本次设计中,初始值为000(D2=0、D1=0、D0=0),即选择IN0通道进行数据采集,然后使ADC0809的ALE、START有效,START和ALE信号通过CPU向选中的通道口执行一条输出指令,启动A/D转换。转换结束后,发出EOC信号,当EOC为高电平时,可供CPU查询,读取每次采集的A/D转换结果。当CPU知道转换已完成,执行一条输入指令使OE信号有效,此时输出缓冲器被打开,数据送到数据总线。系统时钟经分频后接到ADC0809芯片的时钟引脚CLK上。3.1.3D/A转换器DAC0832简介及功能(1)DAC0832是用COMS工艺制成的双列直插式8位D/A转换芯片,内部采用T型电阻网络,数字输入有输入寄存器和DAC寄存器两级缓冲,可以双缓冲、单缓冲或直接输入方式连接。如图3-3所示。图3-3DAC832内部结构物图(2)DAC0832引脚图如图3-4所示,各引脚功能如下:图3-4DAC0832引脚图 DI7~DI0:转换数据输入 CS(低电平有效):片选信号(输入),低电平有效。 ILE:数据锁存允许信号(输入),高电平有效。 WR1(低电平有效):第1写信号(输入),低电平有效。 上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式;当ILE=1和WR1(低电平有效)=0时,为输入寄存器直通方式;当ILE=1和WR1(低电平有效)=1时,为输入寄存器锁存方式。 WR2(低电平有效):第2写信号(输入),低电平有效。 XFER(低电平有效):数据传送控制信号(输入),低电平有效。上述两个信号控制DAC寄存器是数据直通方式还是数据锁存方式;当WR2(低电平有效)=0和XFER(低电平有效)=0时,为DAC寄存器直通方式;当WR2(低电平有效)=1和XFER(低电平有效)=0时,为DAC寄存器锁存方式。 Iout1:电流输出1 Iout2:电流输出2 DAC转换器的特性之一是:Iout1+Iout2=常数。 Rfb——反馈电阻端 0832是电流输出,为了取得电压输出,需在电压输出端接运算放大器,Rfb即为运算放大器的反馈电阻端。 Vref:基准电压,其电压可正可负,范围-10V~+10V。 DGND:数字地 AGND:模拟地 (3)DAC0832的三种工作方式: ①直通方式 当ILE接高电平,都接数字地时,DAC处于直通方式,8位数字量一旦到达D0~D7输入端,就立即加到D/A转换器,被转换成模拟量。在D/A实际连接中,要注意区分“模拟地”和“数字地”的连接,为了避免信号串扰,数字量部分只能连接到数字地,而模拟量部分只能连接到模拟地。这种方式可用于不采用微机的控制系统中。 ②单缓冲方式 单缓冲方式是将两个锁存器之一处于直通状态,输入数据中经过一级缓冲送入D/A转换器。如把 都接地,使寄存锁存器2处于直通状态,ILE接+5V,接CPU系统总线的信号, 接端口地址译码信号,这样CPU可执行一条OUT指令,使WR2(低电平有效)和XFR(低电平有效)有效,写入数据并立即启动D/A转换。  ③双缓冲方式 即数据通过两个寄存器锁存后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。这种方式可在D/A转换的同时,进行下一个数据的输入,可提高转换速度。更为重要的是,这种方式特别适用于系统中含有2片及以上的DAC0832,且要求同时输出多个模拟量的场合。3.1.48253芯片简介(1)8253管脚介绍及其功能如图3-5所示:图3-58253引脚结构(2)8253内部结构框图如图3-6所示: ①数据总线缓冲器 该缓冲器为8位双向三态的缓冲器,8根数据线D0~D7可直接挂在CPU数据总线上。 ②读/写控制逻辑 它是8253内部操作的控制部分,它决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线上数据传送的方向。 ③控制字寄存器 接收从CPU来的控制字,并由控制字的D7、D6位的编码决定该控制字写入哪个计数器的控制寄存器,控制寄存器只能写入,不能读出。 ④计数器 8253有3个独立的计数器通道,每个通道的结构完全相同。每一个通道有一个16位减法计数器;还有对应的16位初值寄存器和输出锁存器。每个计数器都可以对其CLK输入端输入的脉冲按照二进制或BCD码从预置的初值开始进行减1计数,当减至0时,从OUT端输出一个信号,计数的开始由软件启动或硬件门控信号GATE控制。计数开始前写入的计数初值存于初值寄存器;计数过程中,减法计数器的值不断递减,而初值寄存器中的初值不变。输出锁存器则用于写入锁存命令时锁定当前计数值。 当8253用作计数器时,加在CLK引脚上脉冲的间隔可以是不相等的;当它用作定时器时,则在CLK引脚应输入精确的时钟脉冲,8253所能实现的定时时间,取决于计数脉冲的频率和计数器的初值。对8253来讲,外部输入到CLK引脚上的时钟脉冲频率不能大于2MHZ,否则需分频后才能送到CLK端。8253的端口地址分配及内部操作如表3-1所示。表3-18253端口地址及内部操作CS(低电平有效)RD(低电平有效)WR(低电平有效)A1A0操作01000写计数初值到计数器0的CR01001写计数初值到计数器1的CR01010写计数初值到计数器2的CR01011写控制字,并根据控制字高两位将其送相应的控制寄存器00100从计数器0的OL中读出当前的计数值00101从计数器1的OL中读出当前的计数值00110从计数器2的OL中读出当前的计数值00111无操作1XXXX未选中011XX无操作(3)8253的控制字格式8253的控制字格式如图3-7所示。D7D6D5D4D3D2D1D0计数器选择读写格式工作方式数制0—二制计数1—十进制计数00—选择计数器11—选择计数器110—选择计数器211—非法00—将减1计数器CE中的数据000—方式0锁存到OL中(锁存功能)001—方式101—对计数器的低8位读或写X10—方式210—对计数器的高8位读或写X11—方式311—计数器16位操作(先低8100—方式4位,后高8位读或写)101—方式5图3-78253控制字的格式D7D6位是控制字的计数器编号。由于8253有3个独立的控制寄存器,但他们公用一个端口地址(A1A0=11时,见表3-1),因此,控制字中使用最高两位表明将控制字写入哪个计数器的控制寄存器中。D5D4位用来设定计数器的数据读/写方式。在给计数器写入技术初值时,可以赋16位的初值,也可以只赋8位(另8位被自动设置0),8位初值可以是高字节,也可以是低字节。在读取计数器当时的计数值时,计数器并未停止计数,有可能在先后读高低字节时,计数器的值发生变化,因此有必要先锁存当前的计数值,然后再分字节读出,先读出低8位数据,后读出高8位数据。当D5D4=00时,计数器的当前计数值被锁存在OL中,此时计数器照常计数,但OL中的值不变,待CPU将OL中的两字节数据读走后,OL中的内容又随减1计数器CE变化。当D5D4=01,只读/写低8位,高8位自动置0(写计数初值时);D5D4=10时,只读/写高8位,低8位自动置0(写计数初值时);D5D4=11时,先读/写低8位,再读/写高8位。D3D2D1位决定了计数器的工作方式。8253共有六种工作方式。D0位决定计数器的数制。D0=0,选择二进制计数;D0=1,选择十进制计数。(4)8253的工作方式①方式0—计数结束产生中断这是一种软件启动、不能自动重复的计数方式。②方式1—可编程单次脉冲这是一种硬件启动、不能自动重复但通过GATE的正跳变可使计数过程重新开始的计数方式。③方式2—分频工作方式方式2可以用软件启动。④方式3—方波发生器⑤方式4—软件触发选通方式4是一种软件启动、不自动重复的计数方式。⑥方式5—硬件触发选通方式5是一种硬件启动、不自动重复的计数方式。表3-28253工作方式比较比较内容工作方式启动计数方式中止计数方式是否自动重复更新初值OUT波形方式0软件GATE=0否立即有效N…10方式1硬件—否下一轮有效N…10方式2软/硬件GATE=0是下一轮有效N/210方式3软/硬件GATE=0是下半轮有效N/2N/2方式4软件GATE=0否立即有效N…10方式5硬件—否下一轮有效N…103.1.58255A芯片简介(1)8255A引脚及功能示意图如图3-8所示。8255A共有40个引脚,采用双列直插式封装,各引脚功能如下:D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制数据的读出。WR:写入信号线,低电平有效,控制数据的写入。Vcc:+5V电源。PA0--PA7:A口输入/输出线。PB0--PB7:B口输入/输出线。PC0--PC7:C口输入/输出线。RESET:复位信号线。A1、A0:地址线,用来选择8255内部端口。GND:地线。(a)(b)图3-88255引脚及功能示意图(a)引脚;(b)功能示意图表3-38255A各端口读/写操作时的信号关系CS(低电平有效)RD(低电平有效)WR(低电平有效)A1A0操作01000写端口A01001写端口B01010写端口C01011写控制寄存器00100读端口A00101读端口B00110读端口C00111无操作(2)8255A的内部结构图3-108255A内部结构框图①行输入/输出端口A、B、C 8255A芯片具有24个可编程输入输出引脚,分成3个8位端口,其中:端口A包含一个8位数据输出锁存/缓冲寄存器和一个8位数据输入锁存器;端口B包含一个8位数据输入/输出、锁存/缓冲寄存器和一个8位数据输入缓冲寄存器;端口C包含一个输出锁存/缓冲寄存器和一个输入缓冲寄存器。必要时端口C可分成两个4位端口,分别与端口A与端口B配合工作,通常将端口A和端口B定义为输入/输出的数据端口,而端口C可作为状态或控制信息的传送端口。 ②A组和B组控制部件 端口A与端口C的高4位(PC7~PC4)构成A组,由A组控制部件实现控制功能,端口B与端口C的低4位(PC3~PC0)构成B组,由B组控制部件实现控制功能。它们各有一个控制单元,可接收来自读/写控制部件的命令和CPU通过数据总线(D7~D0)送来的控制字,并根据它们来定义各个端口的操作方式。 ③数据总线缓冲器 这是一个三态双向8位数据缓冲器,它是8255A与8086CPU之间的数据接口,CPU输入输出的数据,CPU输出的控制字以及外设的状态信息都是通过这个缓冲器进行传送。 ④读/写控制部件  这是8255A内部完成读/写控制功能的部件,它与CPU的地址总线及有关的控制信号相连,接收CPU的控制命令,并根据它们向片内各功能部件发出操作命令。(3)8255A的工作方式8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。8255A共有三种工作方式:方式0—基本的输入/输出方式,传送数据时不需要联络信号。A口、B口和C口(或C高4位口及C低4位口)均可独立设置成方式0输入口或方式0输出口。方式l—选通输入/输出方式,即需要进行联络的输入/输出。A组、B组的8位口(A口或B口)可被设置为方式1输入口或方式1输出口,而这时要用相应C口的3根线作联络线。方式2—双向传送。该方式要使用C口的5根线作联络线。由于C口只有8根线,因此只能有一组使用方式2确定为A组。当A组被设置成方式2时,A口被设置成双向端口,即既可以输入数据,也可以输出数据,C口的5根线被指定为联络线。(4)8255A的控制字8255A的工作方式可有CPU写一个工作方式选择控制字到8255的控制寄存器来选择。其格式如图3-11所示,可以分别选择端口A,端口B和端口C上下两部分的工作方式。端口A有方式0、方式1和方式2三种工作方式,端口B只能工作于方式0和方式1,而端口C仅工作于方式0.注意8255工作方式选择控制字的最高位D7(特征位)应为1。D7D6D5D4D3D2D1D01图3-118255A的工作方式选择控制字(5)8255A的工作方式I方式0基本特点:方式0是一种基本输入或输出方式,该方式适合于通信双方不需要联络信号(应答信号)的简单输入/输出场合,CPU可以随时用输入/输出指令对指定端口进行读写操作。该方式的特点是:①使8255A分成彼此独立的两8位端口(A口,B口)和两个4位端口(C口高4位和低4位),4个端口的输入/输出可有16种不同的组态,可适用于各种不同的应用场合。②方式0规定输出有无锁存能力,而输入数据不被锁存。③方式0是单向的I/O,即一次初始化指定了输入或输出,则不能改变;若改变,则须重新初始化。不能指定同一端口同时既作输入又作输出。④这种方式下,无固定的I/O联络信号,联络信号线可由用户自行安排。这种方式只能用于无条件传送和查询传送,不能实现中断传送。II方式1基本特点:方式1为选通输入/输出方式,即可借助于选通(应答式)联络信号的I/O方式。这种方式中,A口和B口用于输入/输出的数据端口,C口某些位用作接收或产生应答联络信号。方式1的特点是:①有两组选通工作方式的端口,每组包含一个8位数据端口和3条控制线。只有A口和B口可作为数据端口,C口的某些线被固定作为A口或B口与外设之间的联络信号线,其余的线只能定义为基本I/O,即只能工作于方式0。②每组端口提供有中断请求逻辑和中断允许触发器。对中断允许触发器INTE的操作是通过对端口C的置位/复位控制字进行的。③方式1在输入/输出数据时都被锁存。④方式1可以用查询方式和中断传送方式进行数据的输入/输出。III方式2基本特点:方式2为分时双向输入/输出方式(双向I/O方式),即同一端口的I/O线既可以作为输入也可以作为输出。方式2的主要特点为:①A口可以工作于方式2,此时C口有5条线固定为A口和外设之间的联络信号线。C口余下的3条线可以作为B口方式1下的联络线,也可以和B口一起成为方式0的I/O线。②方式2在输入/输出数据时都被锁存。③方式2可以用查询方式和中断传送方式进行数据的输入/输出。④在方式2时为双向传送设置的联络信号,实际上是方式1下输入和输出两种操作时的组合。只有中断申请信号INTR既可作输入的中断申请,又可作输出的中断申请。3.2软件实现该声音录放系统功能的程序可以分为以下四个部分: (1)主程序如图3-12所示。 主程序的主要任务是对8253、8255A进行初始化,实现录、放音的功能调用。①8253初始化设置 8253在程序中设置成方式0,计数200,定时0.2ms  8253工作方式控制字:10000000B,即10H;选择通道0,方式0,只读写的、低8位。设8253输入时钟信号的频率为1MHZ计数初值=0.2ms/0.001ms=200控制字端口地址为:81H计数器0端口地址为:80H。 ②8255A初始化设置 8255A控制字:10010000B,即90H;方式0,A口输入 控制字端口地址为:85H A口地址为:84H ③用录、放音子程序 首先DOS功能调用,显示录音提示信息,然后BIOS功能调用,读键盘缓冲区字符,等待键盘输入,若无键按下,继续等待;有键按下,则调用录音子程序,录音12秒。清除键盘缓冲区后,再进行放音子程序的调用。(2)A/D录放音子程序如图3-14所示。 根据设计要求,ADC0809要以每秒5000的速率采集语音数据,录音12秒,因此共需采集5000×12=60000个数据,计数器CX=60000。 选择IN0通道进行数据采集(D2=0、D1=0、D0=0),寻址A/D转换启动端口地址,CPU向IN0通道执行一条输出指令,启动一次A/D转换。寻址EOC状态端口地址,读取EOC状态,测试转换是否结束,未完则继续等待,转换完成后,则寻址ADC0809转换结果端口,CPU执行一条输入指令,取A/D转换结果。 A/D转换启动端口地址:8CH 转换结果端口地址:90H 。EOC状态端口地址:94H。(3)D/A放音子程序如图3-15所示。 置数据区首址至SI,计数器CX=60000。从数据区取数据,寻址DAC端口地址,CPU执行一条输出指令,进行D/A转换。 DAC端口地址为:88H 。(4)延时子程序如图3-13所示。 DELAY是延时0.2 ms的子程序  将8253计数器0的OUT0输入到8255A端口,测试PA0是否为1,若不为1,则表示8253未计数完,继续查询,如果为1,则表示8253计数完成,定时时间到。图3-13延时子程序图3-12主程序图3-1图3-12主程序图3-14录音子程序图3-15放音子程序4调试与结果测试实体电路如图4-1所示。图4-1实体电路图运行结果: 运行程序,打开开关K0或按下键盘上任一键,显示“Record......”开始录音,录音结束后自动播放,显示“Play„„”。播放过程,可以用K2控制停止,K3控制重放;幅度和放音增益由开关(K4、 K5、K6)指定。5总结本实验从硬件上讲共有四个工作芯片,0809和0832负责信号数模模数转换,8253是定时用的,8255则是读取开关状态[5],从而决定工作状态的,从软件上讲,共有录音和放音两个主要子程序,这两个程序每执行一次调用一次显示程序,显示声信号的波形。通过综合设计实验,我们巩固了很多器件的使用方法,进一步熟悉了试验箱的硬件结构和汇编的调试方法。 在本实验中,充分利用学过的汇编语言程序设计能力, 在了解了数字录音技术的基本原理后,通过对A/D转换器与D/A转换器的使用,以及利用8253和8255芯片实现延时功能,成功完成了数字录音机的设计[6]。测试实验结果时,成功实现了12s的录音及放音,达到设计要求。在本次数字录音机设计中,实现功能有12s录音功能、放音功能、重复放音功能。课程设计使我们了解到数字录音技术的基本原理,进一步掌握A/D转换器和D/A转换器的使用方法,并巩固和加深了汇编语言程序设计的能力。同时也用到了一定的单片机方面的知识,录音机的电路设置[7]和微型电子实验箱与电脑主机屏幕的连接[8]。其次,中间也遇到了一些问题,例如所用芯片的JP20没连,导致程序录完音后放音的时候一直没声音,在同学的帮助下,终于程序调试成功,并且录音和放音都没问题参考文献[1]专著.刘国荣,梁景凯.计算机控制技术与应用[M]. :机械工业出版社,2006.5。[2]专著.谭浩强.微机原理及其应用[M].: 清华大学出版社,2006.5。[3]专著.何武超.浅谈《微机原理与汇编语言》的教学改革[J]. 沧州师范专科学校学报. 2008,13(01)。[4]郑州科技学院自动化教研室编《微机原理及接口技术实验指导书》[5]专著.王忠友.8255A工作方式[J]. 电脑知识与技术:学术交流,2010,24(06)。[6] 专著.王忠民.微型计算机系统原理及应用[M],,电子科技大学出版社,2007年 [7] 专著.李广弟.单片机基础[M]。:北京航天航空大学出版社,2001 [8] 专著.刘树中.孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息,2007附录1:元器件清单1:ADC0809芯片一块.      2:DAC0832芯片一块.     3:8253芯片一块.      4:8255芯片一块 5:通用微机接口实验系统实验箱一个.     6:导线若干. 7:电脑 一台.附录2:程序清单datasegmentioportequ1200h-0280hluportequioport+29ah;录音口地址fangportequioport+290h;放音口地址io8253aequioport+283hio8253bequioport+280hio8255cequioport+28bhio8255dequioport+288hdata_qudb60000dup(?);录音数据存放数据区news_1db'Pressanykeytorecord:',24h;录音提示news_2db0dh,0ah,'Playing:',24h;放音提示dataendscodesegmentassumecs:code,ds:data,es:databegin:movax,data;初始化movds,axmoves,axmovdx,offsetnews_1;显示录音提示movah,9int21htest_1:movah,1;等待键盘输入int16hjztest_1;若不是则循环等待calllu;调用录音子程序movdx,offsetnews_2;显示放音提示movah,9int21hfy:callfang;调用放音子程序movax,0c07hint21hcmpal,20hjzfymovah,4ch;返回DOSint21hluprocnear;录音子程序movdi,offsetdata_qu;置数据区首地址为DImovcx,60000;录60000个数据cldxunhuan:movdx,luport;启动A/Doutdx,alcalldelay;延时inal,dx;从A/D读数据到ALstosb;存入数据区,使DI加1loopxunhuan;循环ret;子程序返回luendpfangprocnear;放音子程序movcx,60000;放60000个数据movsi,offsetdata_qu;置数据区首地址为SIcldfang_yin:movdx,fangportlodsb;从数据区取出数据subal,30houtdx,al;放音calldelay;延时loopfang_yin;循环ret;子程序返回fangendpdelayprocnear;延时子程序pushdxmoval,10h;设8253通道0工作方式0movdx,io8253aoutdx,almoval,200;写入计数器初值200movdx,io8253boutdx,almovdx,io8255c;设8255的A口为输入moval,9bhoutdx,almovdx,io8255d;从8255的A口输入delay1:inal,dxandal,1;判断PA0是否为1jzdelay1;若PA0不为1,转de_laypopdxret;子程序返回delayendpcodeendsendbeginPB7~PB0PC7~PC4RESETCS(低电平有效)A1A0B组PC3~PC0RD(低电平有效)WR(低电平有效)A组PA7~PA0D7~D0B口输入/输出1—输入0—输出方式控制字的特征位B口工作方式0—方式01—方式1A口工作方式00—方式001—方式11X—方式22A口输入/输出1—输入0—输出PC7~PC4输入/输出1—输入0—输出PC3~PC0输入/输出1—输入0—输出开始设定8253方式0计数200查询8255A口初始化NPA0为1吗?吗?吗?显示录音提示Y等待键盘输入子程序返回N有键按下吗?Y调录音子程序显示放音提示信息等待键盘输入调放音子程序Y是空格吗?N返回DOS开始开始置数据区首址至DI置数据区首址至SI置循环初值CX=60000置循环初值CX=60000启动A/D转换器取数自D/A输出延时SI加1N结束Y循环结束吗?吗?读取转换结果存数据区延时N循环结束吗?Y子程序返回/v.
/
本文档为【基于8086系统数字录音机基于8086系统数字录音机】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索