传感器技术课程设计1.docx

上传人:b****1 文档编号:14787090 上传时间:2023-06-27 格式:DOCX 页数:19 大小:229.94KB
下载 相关 举报
传感器技术课程设计1.docx_第1页
第1页 / 共19页
传感器技术课程设计1.docx_第2页
第2页 / 共19页
传感器技术课程设计1.docx_第3页
第3页 / 共19页
传感器技术课程设计1.docx_第4页
第4页 / 共19页
传感器技术课程设计1.docx_第5页
第5页 / 共19页
传感器技术课程设计1.docx_第6页
第6页 / 共19页
传感器技术课程设计1.docx_第7页
第7页 / 共19页
传感器技术课程设计1.docx_第8页
第8页 / 共19页
传感器技术课程设计1.docx_第9页
第9页 / 共19页
传感器技术课程设计1.docx_第10页
第10页 / 共19页
传感器技术课程设计1.docx_第11页
第11页 / 共19页
传感器技术课程设计1.docx_第12页
第12页 / 共19页
传感器技术课程设计1.docx_第13页
第13页 / 共19页
传感器技术课程设计1.docx_第14页
第14页 / 共19页
传感器技术课程设计1.docx_第15页
第15页 / 共19页
传感器技术课程设计1.docx_第16页
第16页 / 共19页
传感器技术课程设计1.docx_第17页
第17页 / 共19页
传感器技术课程设计1.docx_第18页
第18页 / 共19页
传感器技术课程设计1.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

传感器技术课程设计1.docx

《传感器技术课程设计1.docx》由会员分享,可在线阅读,更多相关《传感器技术课程设计1.docx(19页珍藏版)》请在冰点文库上搜索。

传感器技术课程设计1.docx

传感器技术课程设计1

成绩评定:

 

传感器技术

课程设计

题目基于传感器的单片机无线通信系统

院系电子工程学院

专业自动化

姓名杨长晋

班级电A1331

学号12号

指导教师蔡苗苗

2016年5月

一、实训目的1

二、设计要求1

三、实验设备1

四、实训内容2

单片机2

PCB制版12

电路原理图及PCB图13

ESP8266WiFi使用15

实训,总结17

一、实训目的

1.掌握keil软件的使用及单片机程序的编写

2.了解PCB(单片机最小系统)的制作及封装

3.清楚ESP8266模块配置

4.了解基于传感器的单片机无线通信系统的原理

5.复习利用Keil51软件对程序进行编译

二、设计要求

1.提供完整的程序和原理图(硬件接法)

2.PCB提供详细的操作步骤

3.ESP8266与PC机数据通信操作步骤

4.单片机控制ESP8266单片机串口程序:

(Datesheet+SCH)

Datesheet:

SCON98HSM0SM1SM2RENTB8RB8TIRI(0x50)

方式2:

01010000

SBUF99H--SBUF=0x30;temp=SBUF;

IE(EAES)EA=1;ES=1;

波特率:

配置T1,晶振:

11.059M

9600-->TH1=0xFD;TL1=0xFD;

使用定时功能,方式2

ET1=0;(TCON)TR1=1;

TMODGATEC/TM1M0GATECTM1MO(0x20)

三、实验设备

产品:

硬件,软件,结构

嵌入式

硬件:

1.模电和数电(时序图)--->微电子(IC)

2.信号系统和通信原理(了解)

3.PLC单片机(程序)

4.ARM

软件:

1.语言(汇编(X86,51,ARM),C,[C++,JAVA,C#])。

2.数据结构和算法(BAT-算法)ACM。

3.操作系统(进程管理和内存管理)。

4.数据库和网络原理。

5.Dex软件和keil。

C+单片机+PCB+传感器

四、实训内容

单片机

开发板使用:

1.usb线连接PC机(供电使用)

2.usb转串口驱动安装(CH340)

[ISP-开发板USB转串口CH340驱动]

3.打开开发板电源开关

4.下载程序:

PC机端打开PZ-ISP.exe

芯片类型选择STC90C5XX系列

低速下载

打开要下载的文件(xxx.hex)

单片机的软件使用操作步骤

1.工程建立:

1>.project--new(保存工程名为test)

2>.选择cpu类型-atmel-at89c51

3>.不添加启动代码到工程(no)

4>.file-new(保存为main.c文件)

5>.添加main.c文件到工程中

6>.写代码到main.c

7>.编译代码

8>.options---output----creathexfile(勾选)

9>.重新编译代码

烧写程序到单片机

1>.安装ch340驱动(usb转串口)

2>.PZ-ISP软件

3>.芯片类型(STC90系列)

低速下载

4>.打开下载文件(test.hex)

5>.下载

程序原理图

 

程序的编写

#include

//--定义使用的IO口--//

#defineGPIO_DIGP0

#defineGPIO_PLACEP1

#defineGPIO_TRAFFICP2

sbitRED10=P2^0;//上人行道红灯

sbitGREEN10=P2^1;//上人行道绿灯

sbitRED11=P2^2;

sbitYELLOW11=P2^3;

sbitGREEN11=P2^4;

sbitRED00=P3^0;//右人行道红灯

sbitGREEN00=P3^1;//右人行道绿灯

sbitRED01=P2^5;

sbitYELLOW01=P2^6;

sbitGREEN01=P2^7;

//--定义全局变量--//

unsignedcharcodeDIG_PLACE[8]={

0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选控制查表的方法控制

unsignedcharcodeDIG_CODE[17]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码

unsignedcharDisplayData[8];

//用来存放要显示的8位数的值

unsignedcharTime,Second;//用来存放定时时间

//--声明全局函数--//

voidDigDisplay();//动态显示函数

voidTimer0Cofig(void);

voidmain(void)

{

Second=1;

Timer0Cofig();

while

(1)

{

if(Second==70)

{

Second=1;

}

//--宝田路通行,30秒--//

if(Second<31)

{

DisplayData[0]=0x00;

DisplayData[1]=0x00;

DisplayData[2]=DIG_CODE[(30-Second)%100/10];

DisplayData[3]=DIG_CODE[(30-Second)%10];

DisplayData[4]=0x00;

DisplayData[5]=0x00;

DisplayData[6]=DisplayData[2];

DisplayData[7]=DisplayData[3];

DigDisplay();

//--宝田路通行--//

GPIO_TRAFFIC=0xFF;//将所有的灯熄灭

RED00=1;

GREEN00=1;

GREEN11=0;//宝田路绿灯亮

GREEN10=0;//宝田路人行道绿灯亮

RED01=0;//前进路红灯亮

RED00=0;//前进路人行道红灯亮

}

//--黄灯等待切换状态,5秒--//

elseif(Second<36)

{

DisplayData[0]=0x00;

DisplayData[1]=0x00;

DisplayData[2]=DIG_CODE[(35-Second)%100/10];

DisplayData[3]=DIG_CODE[(35-Second)%10];

DisplayData[4]=0x00;

DisplayData[5]=0x00;

DisplayData[6]=DisplayData[2];

DisplayData[7]=DisplayData[3];

DigDisplay();

//--黄灯阶段--//

GPIO_TRAFFIC=0xFF;//将所有的灯熄灭

RED00=1;

GREEN00=1;

YELLOW11=0;//宝田路黄灯亮

RED10=0;//宝田路人行道红灯亮

YELLOW01=0;//前进路红灯亮

RED00=0;//前进路人行道红灯亮

}

//--前进路通行--//

elseif(Second<66)

{

DisplayData[0]=0x00;

DisplayData[1]=0x00;

DisplayData[2]=DIG_CODE[(65-Second)%100/10];

DisplayData[3]=DIG_CODE[(65-Second)%10];

DisplayData[4]=0x00;

DisplayData[5]=0x00;

DisplayData[6]=DisplayData[2];

DisplayData[7]=DisplayData[3];

DigDisplay();

//--黄灯阶段--//

GPIO_TRAFFIC=0xFF;//将所有的灯熄灭

RED00=1;

GREEN00=1;

RED11=0;//宝田路红灯亮

RED10=0;//宝田路人行道红灯亮

GREEN01=0;//前进路绿灯亮

GREEN00=0;//前进路人行道绿灯亮

}

//--黄灯等待切换状态,5秒--//

else

{

DisplayData[0]=0x00;

DisplayData[1]=0x00;

DisplayData[2]=DIG_CODE[(70-Second)%100/10];

DisplayData[3]=DIG_CODE[(70-Second)%10];

DisplayData[4]=0x00;

DisplayData[5]=0x00;

DisplayData[6]=DisplayData[2];

DisplayData[7]=DisplayData[3];

DigDisplay();

//--黄灯阶段--//

GPIO_TRAFFIC=0xFF;//将所有的灯熄灭

RED00=1;

GREEN00=1;

YELLOW11=0;//宝田路黄灯亮

RED10=0;//宝田路人行道红灯亮

YELLOW01=0;//前进路红灯亮

RED00=0;//前进路人行道红灯亮

}

}

}

voidDigDisplay()

{

unsignedchari;

unsignedintj;

 

for(i=0;i<8;i++)

{

GPIO_PLACE=DIG_PLACE[i];//发送位选

GPIO_DIG=DisplayData[i];//发送段码

j=10;//扫描间隔时间设定

while(j--);

GPIO_DIG=0x00;//消隐

}

}

voidTimer0Cofig(void)

{

TMOD=0x01;//定时器0选择工作方式1

TH0=0x3C;//设置初始值,定时50MS

TL0=0xB0;

EA=1;//打开总中断

ET0=1;//打开定时器0中断

TR0=1;//启动定时器0

}

voidTimer0()interrupt1

{

TH0=0x3C;//设置初始值

TL0=0xB0;

Time++;

if(Time==20)

{

Second++;

Time=0;

}

}

 

PCB制版

PCB:

制作封装,布局,布线

概念:

1.原理图符号:

指的是原理图设计中的元器件,为了区别于元器件实

物,特叫做原理图符号。

2.元器件封装:

指的是PCB电路板设计中的元器件,为了区别于元器

件实物,特叫做元器件封装

3.焊盘:

主要用于安装元器件的引脚,并通过它与电路板上其他的导

电图件连接。

制作封装:

安装元器件引脚的焊盘

(信号层)

元器件外形

(丝印层)

必要的注释(丝印层)

【TopLayer】:

顶层信号层

【BottomLayer】:

底层信号层

【Mechanical1】:

机械层

【TopOverlay】:

顶层丝印层

【BottomOverlay】:

底层丝印层

【KeepOutLayer】:

禁止布线层

【MultiLayer】:

多面层(过孔)

操作步骤:

1.常用操作

左键:

选择右键(按住不放):

移动,放大和缩小pguppgdn

Tab[双击](大多数属性操作)space(旋转元件)

快捷键:

在菜单栏中首字母(Edit)

放置器件placepart(P+P)

放置Net(P+N)

封装Footprint(基准点)单位(英制)

snap:

捕获栅格的使用

2.建立工程:

保存文件到工作目录(注意保存)

file--new--project-PCBporject

addnewtoproject->SCHPCBSCHlibPCBlib

3.系统自带的原理图符号

Connetctors.IntLib

Devices.IntLib

手工制作原理图符号(STC89C51)

4.原理图(单片机最小系统)R?

C?

U?

5.制作封装(STC89C51)

6.绘制PCB(布局和布线->DRC)

改变图纸大小:

Design→DocumentOptions(文档选项)

更改图纸信息:

Design→DocumentOptions→parameters

一次性编号:

Tools→AnnotateSchematic

布线规则设置:

Design→Rules→Routing→Width

原理图导入PCB

Design→UpdatePcbDocument

生成BOM

Report→BillOfMaterials

全局修改

findsimilarobjects

定位元器件:

T(tools)→c(crossprobe)[clear]

打开和隐藏层次关系:

ctrl+D

控制pcb板子大小

Design→boardshape→redefineboardshape

电器规则检查:

tool→DRC

改变光标形状

DXP→preferences→PCB→General

cursortype→Larger90

电路原理图及PCB图

 

ESP8266WiFi使用

1,连接线

2,安装PL2303驱动

3,打开ESP8266-Pc调试工具-SSCOM

4,串口号选择PL2303的COM口(查看设备管理器)

5,波特率设置[默认](115200,8,1,None),打开串口

6,参考手册测试模块

AT-EspressifAT指令集_AIThinkerMod_v021.pdf

每条指令可以分四种命令

测试命令AT+=?

查询命令AT+?

设备命令AT+=<...>

执行命令AT+

不是每条AT命令都具备这四种命令

使用双引号表示字符串,输入以回车换行结尾\r\n

基础命令:

1,AT测试AT启动

2,AT+RST重启模块

3,AT+GMR查看版本信息

4,AT+UART设置串口配置

AT+UART=9600,8,1,0,0

Wifi功能AT指令

1,AT+CWMODE选择WiFi应用模式

2,AT+CWJAP加入AP

3,AT+CWLAP列出当前可用AP

4,AT+CWQAP退出与AP的连接

5,AT+CWSAP设置AP模式下的参数

AT+CWSAP="ESP8266-gigi","1234567890",5,3

6,AT+CWLIF查看已连接

7,AT+CWDHCP设置DHCP

8,AT+CWAUTOCONN设置STA开机自动连接到Wifi

9,AT+CIPSTAMAC设置STA的MAC地址

10,AT+CIPAPMAC设置AP的MAC地址

11,AT+CIPSTA设置STA的IP地址

12,AT+CIPAP设置AP的IP地址

TCP/IP的AT命令

1,AT+CIPSTATUS获得连接状态

2,AT+CIPSTART建立TCP连接和注册UDP端口

3,AT+CIPSEND发送数据

4,AT+CIPCLOSE关闭TCP和UDP

5,AT+CIFSR获取本地IP地址

6,AT+CIPMUX启动多连接

7,AT+CIPSERVER配置为服务器

8,AT+CIPMODE设置配块传输模式

9,AT+CIPSTO设置服务器超时时间

10,AT+PINGPing命令

应用场景:

1,多连接server

"AT+CWMODE=2\r\n"

"AT+CWSAP='ESP8266-gigi','01234567',11,0\r\n"

"AT+RST\r\n"

"AT+CIPMUX=1\r\n"

"AT+CIPSERVER=1,5000\r\n"

"AT+CIPSEND=\r\n"//接收和发送数据

2,单连接client

3,透传

ESP-01模组尺寸平⾯面图

最结果图

实训,总结

通过此次实训让我对keil烧写软件的使用有更深的了解。

该软件设计采用C51编程语言,完成了单片机初始化、行列式键盘的扫描、键值的处理及液晶显示驱动程序的编写。

本设计的外围接口采用了插接式的连接方式,提高了系统的适用性。

并且使我懂得了理论与实际相联合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相联合起来,才能够真正的学会了实际操作的能力。

同时经过这次的实训,我发现,pcb制版在我们专业里有着举足轻重的作用,很多地方都会用到,因此,熟练操作是很必要的。

画原理图,封装,pcb布局布线,这都是我们自动化专业要熟练掌握的。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2