课程设计报告——proteus部分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、引言
电子技术、通信技术和计算机技术在迅猛地发展。
世界各大电子器件公司都在积极开发新型元件。
以微型计算机为平台,配以专用的MCU、ARM、DSP 为实现某些测量和控制功能而构成的通用或专用仪器系统,必将有大发展。
我们这个课程所设计就是用于医疗等行业的信号采集与数字滤波系统。
设计任务:
●设计具备A/D 、D/A的CPU单片系统,编写控制软件,并用Proteus仿真。
●用MATLAB软件工具对所采集的数据做各种IIR、FIR数字滤波,并做性能比较。
二、课程设计内容
(一)A/D、D/A的CPU单片机系统
1、设计要求
1)用PROTEUS 设计基于8051 或ARM 系统的采集系统,三种采样率(250Hz, 1kHz, 2kHz) 采样率,12 bit A/D, 一个D/A输出
2)编制系统程序
●A/D 时序控制
●自定义A/D数据采集存放起始地址,数据循环存储
●自定义D/A输出地址,送存储的数据再通过D/A转换,送示波器显示
2、元器件的选用
1)处理器
●型号:8051
●原理图
●功能模块
●功能
8051作为本设计的核心处理器,其功能在于控制A/D的模数转换和转换结果的读取、RAM和DAC1208的高8位和低4位的数据存储以及DAC1208的数模转换的输出。
2)A/D
●型号:MAX1240
●原理图
●配置电路图
●时序图
①模数转换时序
②读取结果时序
●工作过程
①在=1前提下,令片选有效,同时保持SCLK为低电平,经过一个周期后,
转换正式开始。
当模数转换完成后,数据输出端DOUT由低电平翻转为高电平。
所以也可通过查询DOUT的状态确定转换是否完成;
②读取数据,在外部输入13个脉冲后,数据读取完成,将片选端置高电平。
只要令
片选再次有效,就可以重新开始一轮新的模数转换和读取过程。
③数据读取完成后,如果仍然保持片选有效,则DOUT端始终输出低电平。
●功能
A/D转换芯片,完成信号的模数转换
3)D/A
●型号:DAC1208
●原理图
●配置电路图
●时序图
●功能
D/A转换芯片,完成信号的数模转换4)数据存储器
●型号:6264
●原理图
●功能
存储模数转换的结果,循环存储,存储空间64K 5)锁存器
●型号:74LS373
●原理图
●功能
地址锁存器,用于8051的P0口数据地址复用时锁存低八位地址
6)放大器
●型号:LM324
●原理图
●功能
①构成DAC1208基本配置电路
②信号输出端具有缩小放大倍数和反相功能,使得转换输出后的信号与原信号
的幅度和相位尽可能相同3、硬件电路设计
1)硬件设计框图
2)硬件设计原理图
4、系统软件设计
1)软件设计框图
2)软件源代码及注释ORG 0000H
LJMP MAIN
ORG 000BH;Time0中断入口地址LJMP PROG
ORG 0100H
MAIN:
MOV SP,#60H
JNB P1.4,L1;p1.4若为低,250hz采样率
JNB P1.5,L2; p1.5若为低,1khz采样率
JNB P1.6,L3; p1.6若为低,2khz采样率
L1:
MOV TH0,#0F0H
MOV TL0,#60H;计数器0赋初值,250hz,计数初值61536
SJMP CON
L2:
MOV TH0,#0FCH
MOV TL0,#18H;计数器0赋初值,1khz,计数初值64536
SJMP CON
L3:
MOV TH0,#0FEH
MOV TL0,#0CH;计数器0赋初值,2khz,计数初值65036
SJMP CON
CON:
MOV TMOD,#01H;工作方式1
MOV DPTR,#4000H;RAM地址0,DAC1208高八位寄存器地址的前三位取0100C0 SETB ET0;T0开中断
SETB EA;CPU开中断
SETB TR0;T0启动
SJMP $;等待中
PROG:
JNB P1.4,M1
JNB P1.5,M2
JNB P1.6,M3
M1:
MOV TH0,#0F0H;重赋计数初值
MOV TL0,#60H
SJMP MAX1240
M2:
MOV TH0,#0FCH
MOV TL0,#18H
SJMP MAX1240
M3:
MOV TH0,#0FEH
MOV TL0,#0H
SJMP MAX1240
MAX1240:
MOV A,#00H;初始化累加器A
MOV R7,#08H;位计数器设置为8
SETB P1.3;SHDN 设置为正常模式
CLR P1.1;CLK初始化为低
CLR P1.2;MAX1240片选信号有效
NOP ;从第二个时序开始
JNB P1.0,$;等待A/D转换结束
SETB P1.1
MSB:
CLR P1.1;CLK下降沿,开始读数据,一个脉冲读一位
NOP
SETB P1.1;CLK上升沿,从DOUT读出数据
MOV C,P1.0;DOUT数据读入CPU
RLC A;A寄存器左移位
DJNZ R7,MSB;循环,直到读完高八位
MOV R1,A;把高八位数据存到R1
MOV R7,#04H;位计数器设置为四次
MOV A,#00H;初始化累加器
LSB:CLR P1.1
NOP
SETB P1.1
MOV C,P1.0
RLC A
DJNZ R7,LSB
MOV R2,A;低四位数据送R2保存,高四位为0
NOP
SETB P1.2;片选信号无效
CLR P1.3;SHDN置0,MAX1240进入待机模式
DAC:
MOV A,#00011111B
MOV R3,DPH
ANL A,R3
MOV R3,A
MOV A,#01000000B
ORL A,R3
MOV DPH,A;DPTR前三位设为010,其余位不变,得到RAM地址和DAC1208高八位地址MOV A,R1;发送高八位数据
MOVX @DPTR,A;高八位存到RAM和DAC1208高八位寄存器
INC DPTR;RAM地址加一
MOV A,#00011111B
MOV R3,DPH
ANL A,R3
MOV DPH,A;DPTR 前三位置0,得到RAM 地址和DAC1208低四位寄存器地址 MOV A,R2;发送低四位数据
MOVX @DPTR,A;低四位存到RAM 和DAC1208低四位寄存器 MOV A,#10100000B; MOV R3,DPH ORL A,R3
MOV DPH,A;DPTR 前三位设为101,RAM 不使能,得到DAC1208十二位寄存器地址 MOVX @DPTR,A;十二位DA 转换 INC DPTR;RAM 地址加一 RETI
END
5、 仿真结果
为了展现不同采样频率对同一信号的采样结果的不同,本设计仿真的信号源的频率均采用42hz ,幅度均为1.07。
1Khz 采样率下将展示正弦波、三角波、锯齿波和方波的原信号与经过处理的信号的波形,而250hz 和2Khz 下将仅展示正弦波的波形,用于不同采样率的比较,其余波形类似,不在赘述。
1) 采样率为1Khz
● 正弦波
● 三角波
● 锯齿波
● 正弦波
2) 采样率为250hz
分析:我们明显可以看出,250hz 采样率下,处理后的波形与原信号差异明显,这正是由于采样率相对于原信号的频率比较低,所以导致了明显的失真现象。
3)采样率为
2khz
分析:我们明显可以看出,2Khz采样率下,失真现象明显减弱,我们可以得出结论,采样率越高,输出信号越能接近原信号。
4)RAM内容。