AD课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的系统设计
题 目 AD 转换 学 院 电子信息工程学院 学科门类 单片机 班 级 08电工 指导教师 王虹 小组成员 陈德浩 2008445224 蔡星涵 2008445232 张国栋 2008445179 日 期 2011年12月10日
一、 实验目的
(1)学习基于单片机的系统设计;
(2)学习单片机电路设计和制版工艺;
(3)学会数据采集电路设计;
(
4)学会VB 编写上位机,实现和单片机通信;
装
订
线
(5)学习单片机的软件设计;
二、实验要求
(1)要求每位同学设计单片机最小系统;
(2)每位同学自己设计硬件电路设计和程序编写;
(3)每位同学自己完成调试;
(4)认真细心的安装焊接。
三、使用的主要器材
(1)单片机,TLC549及其他元件一套;
(2)工具一套;
(3)PC机一台;
四、TLC549简介
4.1引脚排列
⏹/CS:片选低有效
⏹GND:地
⏹VCC:电源
⏹ANALOG IN:模拟信号输入
⏹DATA OUT :数据串行输出
⏹I/O CLOCK:外接输入输出时钟
⏹REF+:正基准电压输入端,REF+ 大于等于2.5V 小于等于Vcc+0.1V
⏹REF-:负基准电压输入端,REF+ 大于等于-0.1V 小于等于2.5V ,切要求REF+-
REF-大于等于1V
4.2内部结构
4.3时序分析
TLC549是SPI三总线器件,其时序见上图,当/CS为高电平时候,AD正在进行内部转换,转换时间大概为17us,当/CS有高电平变为低电平时候,这时候上次的采样转换结果的最高位A7首先出现在DATA OUT端,其余7位将会在7个I/O CLOCK的上升沿时候出现在DATA OUT端,在第4个I/O CLOCK的下降沿启动采样保持电路,开始采样模拟输入量,并在第8个I/O CLOCK的下降沿开始保持,这时候,/CS由低电平变为高电平,在其上升沿开始启动AD转换,这时候/CS需保持17us,保证本次的采样转换完成,
然后按上次一样步骤,输出AD转换结果和输入模拟采样。
五、上位机
5.1上位机简介
上位机软件通过串口,实现单片机和PC机的通信,以简单可视化的窗口,实现对单片机的监控。本次课程设计采用VB编写上位机,VB拥有功能强大的可视化窗口控件和串口控件Microsoft Comm Control 6.0,从而减少了编写上位机的难度。
5.2上位机思路
应为本次的课程设计要求,只是在PC机上通过串口显示电压,那么就不需要上位机通过串口发送指令,控制单片机。所以,编写上位机时候,我没有编写发送部分的指令。其次,本次采集的电压,电压范围为0v—5v,为充分利用数码管,我采用了一位整数和五位小数,并且在单片机内完成了二进制到BCD码的转换。在编写上位机传送程序时候,我想发送一针就包括小数和整数,这样编写单片机发送程序和上位机接收程序,就会简单,并且发送的是十进制BCD,这样就减少了上位机的运算。
下位机思路:因为一针是8为数据,那么最大为255,如果想一针包含两位小数,那么就需要把整数扩大100,第一位小数扩大10倍,然后相加:一针=整数位*100+第一位小数位*10+第二位小数位,因为采集的电压范围为0v—5v,这时候就由可能超出255的范围,如果一针包含一位整数和一位小数,那么他的范围为0v—50v,这时候不会超出255的范围,所以我发送的一针就包含一位整数和一位小数,即:一针=整数位*10+第一位小数位。采用9600波特率,1位开始为,1位结束位,8位数据位,没有校验位。
上位机思路:就收一针存于A,然后和10整除,结果存于B,然后C=A-10*B,那么B就是整数部分,C就是小数部分,显示即可
5.3上位机设计界面
5.4上位机程序
Public style1 As Integer
Public style As Integer Private Sub Form_Load()
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False Else
End If
Combo1.AddItem "COM1"
Combo1.AddItem "COM2"
Combo1.AddItem "COM3"
Combo1.AddItem "COM5"
Combo1.AddItem "COM6"
Combo1.AddItem "COM7"
Combo1.AddItem "COM8"
Combo1.AddItem "COM9"
Combo1.AddItem "COM10"
Combo1.AddItem "COM11"
Combo1.AddItem "COM12"
Combo1.ListIndex = 0
mPort = 3
MSComm1.Settings = "9600,n,8,1" Command2.Caption = "打开串口" Shape1.FillColor = &HFFFFC0
Option2.Value = True
Combo2.AddItem "256000"
Combo2.AddItem "128000"
Combo2.AddItem "115200"
Combo2.AddItem "57600"
Combo2.AddItem "38400"
Combo2.AddItem "28800"
Combo2.AddItem "19200"