AD课程设计(通信)

  • 格式:doc
  • 大小:371.00 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子信息工程学院2008级电信类课程设计

基于单片机的系统设计 题 目 AD 转换 学 院 电子信息工程学院 学科门类 单片机 班 级 08通信

指导教师 庞姣

小组成员 李俊花

王阳茜

胡 兵

曹 艳

2011年 12月08日

线

一、实验目的

(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 "COM4"

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"

Combo2.AddItem "9600"

Combo2.AddItem "4800"

Combo2.AddItem "2400"

Combo2.AddItem "1200"

Combo2.AddItem "600"

Combo2.AddItem "300"

Combo3.AddItem "无 None" Combo3.AddItem "奇 Odd" Combo3.AddItem "偶 Even" Combo4.AddItem "4"

Combo4.AddItem "5"

Combo4.AddItem "6"

Combo4.AddItem "7"

Combo4.AddItem "8"

Combo5.AddItem "1"

Combo5.AddItem "2"

MSComm1.InBufferSize = 24