单片机课程设计报告
题目: 波形采集、存储与回放系统
设计者 1: 刘洪荣
负责任务:程序编写、报告
专业班级/学号:09 应用电子技术⑤ 0906020149
设计者 2:
邓才英
负责任务: 整合、调试、报告
专业班级/学号:09 应用电子技术⑤ 0906020131
指导教师 1: 陈玉琼老师
答辩时间:
2011-11-20
目录
一、选题的背景··················································································3
1、选题的来源、意义和目的·········································································· 3
2、课题承担人员及分工说明·········································································· 3
二、课题总体设计说明························································································3
1、总体开发计划························································································· 3
2、课题所达到的功能目标、技术指标······························································ 4
3、课题总体设计方案,比较几个备选方案,确定最终方案···································4
(1)采样方式···························································································· 4
三、硬件设计说明······························································································ 5
1、硬件总体设计方案··················································································· 6
①主控芯片··························································································· 6
②采集、回放电路··················································································6
③控制按键··························································································· 7
④显示模块··························································································· 7
四、软件设计说明······························································································8
1、软件总体设计方案··················································································· 8
(1)软件设计目标················································································ 8
(2)软件功能模块划分·········································································· 8
五、硬件调试说明···························································································· 11
1、硬件性能测试························································································11
2、软件性能测试························································································11
六、课题开发总结···························································································· 11
七、用户操作说明···························································································· 11
八、参考资料·································································································· 11
1、元件清单······························································································ 12
2、原理图································································································· 12
3、硬件电路板外观图片············································································· 12
九、附件·········································································································13
1、元件清单······························································································ 14
2、原理图································································································· 14
3、PCB 版图·······························································································15
4、仿真图································································································· 15
5、硬件电路板外观图片···············································································15
十、课题开发总结
1、任务完成情况总结··················································································16
2、设计体会······························································································ 16
3、设计工具······························································································ 16
2
【摘要】
本设计是设计一款基于单片机 STC85C52 的波形采集存储与回放控制系统,其中单片机是
整个控制系统的核心,结合 AT24C04 存储及 PDF8591 芯片 A/D 数据采集模块,可
靠地实现对一路外部信号进行采集与存储。系统硬件可以分为模拟部分和数字部
分。模拟电路主要包括按键电路、单片机的外围基本模块及 A/D 模块、D/A 模
块。数字部分主要由单片机 STC85C52 实现与 AT24C04,用于数据的存储、传输
和信号处理等。
关键词:单片机 STC85C52;AT24C04;PDF8591;波形采集存储与回放;
一、选题的背景
1、选题的来源、意义和目的
来源:2011 全国大学生电子设计竞赛试题;
意义:使我们更加理解全国大学生电子设计竞赛;
目的:通过波形采集、存储与回放系统的学习,学会液晶 LCD1602、AD/DA
模块和 EEPROM 存储模块的使用
2、课题承担人员及分工说明
刘洪荣: 模块整合、编写程序、程序调试、画 PCB 板
邓才英: 软硬件调试、报告、做板、绘制 PROTEL 与 PROTUES 原理图、写课程设计报告。
二、课题总体设计说明
1、总体开发计划
设计并制作一个波形采集、存储与回放系统,示意图如图1 所示。该系统能同时采集两
路周期信号波形,要求系统断电恢复后,能连续回放已采集的信号,显示在示波器上。如图
2-1 所示。
图 2-1 采集回放系统示意图
3
2、课题所达到的功能目标、技术指标
(1)能完成对A 通道单极性信号(高电平约4V、低电平接近0V)、频率约1kHz 信号
的采集、存储与连续回放。要求系统输入阻抗不小于 10 kΩ,输出阻抗不大于 1kΩ;
(2)采集、回放时能测量并显示信号的高电平、低电平和信号的周期。原信号与回放
信号电平之差的绝对值≤50 mV,周期之差的绝对值≤5%。
3、课题总体设计方案,比较几个备选方案,确定最终方案
(1)采样方式
方案一:实时采样。实时采样是在信号存在期间对其采样。根据采样定理,采用速率必
须高于信号最高频率分量的两倍。对于周期的正弦信号,一个周期内应该大于两个采样点。
为了不失真的恢复原被测信号,通常一个周期内就需要采样八个点以上。
方案二:等效时间采样法。采用中高速模数转换器,对于频率较高的周期性信号采用等
效时间采样的方法,即对每个周期仅采样一个点,经过若干个周期后就可对信号各个部分采
样一遍。而这些点可以借助步进延迟方法均匀地分布于信号波形的不同位置。其中步进延迟
是每一次采样比上一次样点的位置延迟△t 时间。只要精确控制从触发获得采样的时间延迟,
就能够准确地恢复出原始信号。
等效时间采样虽然可以对很高频率的信号进行采样,可是步进延迟的采样技术与电路较
为复杂。再者,它只限于处理周期信号,而且对单次触发采样无能为力。实时采样可以实现
整个频段的全速采样,因此本设计采用方案一。
(2)A/D、D/A 转换方式
方案一:采用 ADC0809 的 8 位单断模拟输入信号中的一个进行 A/D 转换,允许 8 路模拟量
分时输入,共用一个 A/D 转换器进行转换,可以进行多数据采集。而地址锁存与译码电路
完成对 A、B、C 三个地址位进行锁存和译码,转换结果通过三态输出锁存器存放、输出。
方案二:PCF8591 是具有 IIC 接口,有 AIN0~AIN3 四个模拟输入通道和一个模拟输出通道,
最多可以有 8 片 8591 连接到 IIC 总线。通过时钟线 SCL 和数据线 SDA 与单片机之间的数
据进行传输,故我们选择此方案。
(3)触发方式选择
要使屏幕上显示稳定的波形,则需将被测信号本身或者与被测信号有一定时间关系的
触发信号加到触发电路。触发源选择确定触发信号由何处供给。通常有三种触发源:内触发
(INT)、电源触发(LINE)、外触发 EXT)。题目要求选择内触发,即使用被测信号作为触发信
号。
方案一:采用数字触发方式。对波形信号进行采集,将采集到的波形数据和触发电平(可
由键盘设置)进行比较,找到波形在上升过程中大于或等于该触发电平的点,即得到触发,
此时开始对波形进行存储。因为本来就需要对波形信号进行采集,使用这种方法无需要增加
额外的硬件电路,实现方便。但是,对波形每个周期只采集有限个点,不可能每次都能采集
到等于触发电平的点(这时不得不以大于该电平的值为触发电平),从而使触发位置不稳定,
连续触发时输出波形会有抖动现象。
方案二:采用模拟触发方式。通过比较器 LM358 将被测波形信号和触发电平进行比较,
大于触发电平时输出为高电平,小于触发电平时则输出低电平,即可得到信号被整形后的脉
4
冲序列,再在该脉冲序列的上升沿开始存储波形即实现了触发存储的功能。这种触发方式稳
定,故我们采用了这种方案。
三、硬件设计说明
1、本系统使用的芯片有:STC89C52、AT24C04、PCF8591。
(1)核心控制芯片 STC89C52
STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash
存储器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52
为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k
字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810
复位电路,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口。
另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模
式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护
方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或
硬件复位为止。最高运作频率 35Mhz,6T/12T 可选。
接口下图所示
主要芯片 I/O 口分配:
液晶
AT24C04
PCF8591
RS、P1.0,RW、P1.1,EN、P1.2
SCL、P2.2,SDA、P2.3
SCL、P2.2,SDA、P2.3
(2)程序存储芯片 AT24C04
AT24C04 是一个 4K 位串行 CMOS E2PROM, 内部含有 256 个 8 位字节,CATALYST
公司的先进 CMOS 技术实质上减少了器件的功耗。AT24C02 有一个 16 字节页写缓冲器。
该器件通过 IIC 总线接口进行操作,有一个专门的写保护功能。
管脚与管脚功能如下图:
5
(3)AD/DA 转换芯片 PCF8591
PCF8591 是一个单片集成、单独供电、低功耗、8-bit CMOS 数据获取器件。PCF8591
具有 4 个模拟输入、1 个模拟输出和 1 个串行 I2C 总线接口。PCF8591 的 3 个地址引
脚 A0, A1 和 A2 可用于硬件地址编程,允许在同个 I2C 总线上接入 8 个 PCF8591 器件,
而无需额外的硬件。在 PCF8591 器件上输入输出的地址、控制和数据信号都是通过双
线双向 I2C 总线以串行的方式进行传输。
管脚与管脚功能如下图:
AIN0~AIN3:模拟信号输入端。
A0~A2:引脚地址端。
VDD、VSS:电源端。(2.5~6V)
SDA、SCL:I2C 总线的数据线时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端
2、硬件总体设计方案
(1)硬件设计目标:最终实现波形的采集、存储、回放。
(2)硬件模块划分:AT89S51 主控制模块、PCF8591 模块、24C02 模块。
①主控芯片
AT89S51 带 8KB 闪存,工作电压 5V。
②采集、回放电路
图 3-1 PCF8591 是具有 I2C 总线接口的 A/D 转换芯片。在与 CPU 的信息传输过程中仅
靠时钟线 SCL 和数据线 SDA 就可以实现,8 位 A/D 及 D/A 转换器,有 4 路 A/D 转换输入,
1 路 D/A 模拟输出。AIN0~AIN3:模拟信号输入端。
A0~A3:引脚地址端。VDD、VSS:电源端(2.5~6V)
6
SDA、SCL:I2C 总线的数据线、时钟线;
EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地 AGND:模拟信号地; AOUT:D/A
转换输出端; VREF:基准电源端。
AOUT 为 D/A 转换输出端,AIN0~AIN3 为 A/D 的模拟信号输入端,输入输出的地址、控制和
数据信号都是通过双线双向 I2C 总线以串行的方式进行传输。
OSC:外部时钟输入端,内部时钟输出端;
图 3-1 采集回放电路图
③控制按键
控制铵键用于信号确认。按键分别接 AT89S51 的 P1.5,如图 3-2。
图 3-2 按键控制图
④显示模块
利用 LCD1602,数据 D0~D7 接 AT89S51 的 P0 口,RS\RW\E 分别接位接 AT89S51 的
P2.0、P2.1、P2.2 接口,如图 3-3。
图 3-3 LCD 液晶显示图
⑤转换电路
7
利用 LM358 将正弦波、三角波转换成矩形波,将输出的波形通过 PNP 三极管,CPU 输出高
电平时三极管关断;CPU 输出低电平时,三极管导通,从而输出波形。
图 3-4 转换电路图
四、软件设计说明
1、软件总体设计方案
(1)软件设计目标
最终能实现同时采集两路周期信号波形,要求系统断电恢复后,能连续回放已采集的信
号,显示在LCD上。
1、按P1.5的按键,依次进入回放已采集的信号状态。
2、按下回放键后,该系统将 1ms 的采样波形进行循环回放(重现);
3、在采集时可改变幅值,并且采集到的数据也会同时在回放的时候变化;
4、在回放时,若按下回放键,将停止波形的回放;若按下采集键,将终止当前波形的
回放,并采集新的波形。
(2)软件功能模块划分
①主程序
主程序循环调用 LCD 显示子程序、PCF8591 数模与模数转换、IIC24C04 存储程序,当
端口上电时,转入相应功能程序。如图 4-2 所示:
8