毕业综合实训指导书.docx
- 文档编号:8872420
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:40
- 大小:540.68KB
毕业综合实训指导书.docx
《毕业综合实训指导书.docx》由会员分享,可在线阅读,更多相关《毕业综合实训指导书.docx(40页珍藏版)》请在冰豆网上搜索。
毕业综合实训指导书
江阴职业技术学院
毕业综合实训指导书
专题:
单片机典型应用系统设计与制作
编制:
吴繁红
目录
一引言1
二单片机典型系统的设计与制作流程2
三单片机典型系统的设计与制作基本知识3
四单片机典型系统的设计与制作项目
4.1项目一数字温度计的设计与制作10
4.1.1任务10
4.1.2主要性能指标10
4.1.3硬件原理图及元器件清单10
4.1.4主程序流程图11
4.1.5程序清单11
4.1.5实物图片21
4.2项目二数字钟的设计与制作21
4.2.1任务21
4.2.2硬件原理图及元器件清单22
4.2.3主程序流程图22
4.2.4程序清单22
4.2.5实物图片30
4.3项目三数字电压表设计与制作30
4.3.1任务30
4.3.2主要性能指标30
4.3.3硬件原理图及元器件清单31
4.3.4主程序流程图31
4.3.5程序清单32
4.3.5实物图片37
五参考文献37
一引言
单片机应用系统的设计与制作能力训练是一门实践性、综合性和应用性很强的专业基础训练内容,是电气自动化技术专业学生必备的专业综合应用能力,电气自动化专业的毕业生通过该实训的训练,不仅能掌握单片机应用系统的基本原理和基本指令和编程方法,还能具备较强的分析程序和编制程序的能力、单片机应用系统的硬件设计、仿真和制作调试能力以及软硬件综合设计、调试能力。
本实训通过典型的单片机应用系统的设计与制作,以提高学生的分析、设计、制作和调试能力为目的,突出了单片机应用系统软硬件设计与调试方法,以及调试中遇到的各种问题及解决方案,包括软硬件的仿真技术。
本实训包括一下设计项目
1、数字温度计的设计与制作;
2、数字钟的设计与制作;
3、数字电压表的设计与制作;
二单片机典型系统的设计与制作流程
单片机应用系统的设计制作按如下流程:
1、确定任务
单片机应用系统的开发过程是以确定系统的功能和技术指标开始的。
首先要细致分析、研究实际问题,明确各项任务与要求,综合考虑系统的先进性、可靠性、可维护性以及成本、经济效益,拟订出合理可行的技术性能指标。
2、总体设计
在对应用系统进行总体设计时,根据应用系统提出的各项技术性能指标,拟订出性价比最高的一套方案。
在总体方案设计过程中,对软件和硬件进行分工是一个首要的环节。
原则上,能够由软件来完成的任务就尽可能用软件来实现,以降低硬件成本,简化硬件结构。
同时,还要求大致规定各接口电路的地址、软件的结构和功能、上下位机的通信协议、程序的驻留区域及工作缓冲区等。
总体方案一旦确定,系统的大致规模及软件的基本框架就确定了。
3、硬件设计
硬件设计是指应用系统的电路设计,包括主机、控制电路、存储器、I/O接口、A/D和D/A转换电路等。
硬件设计时,应考虑留有充分余量,电路设计力求正确无误,因为在系统调试中不易修改硬件结构。
4、软件设计
单片机应用系统的软件设计是研制过程中任务最繁重的一项工作,难度也比较大。
对于某些较复杂的应用系统,不仅要使用汇编语言来编程,有时还要使用C语言。
5、软硬件系统仿真
借助PROTEUS工具进行软硬件系统仿真,排除硬件设计原理性错误和电路故障,软件调试是发现和解决程序错误外。
程序调试一般是一个模块一个模块地进行,一个子程序一个子程序地调试,最后联起来统调。
6、硬件电路板的制作
在硬件仿真正确的基础上,利用多功能电路板进行硬件电路板的安装、制作和调试。
7、软硬件系统调试
系统调试包括硬件调试和软件调试。
硬件调试的任务是排除系统的硬件电路故障,包括设计性错误和工艺性故障。
软件调试是在仿真调试的基础上,考虑软件的抗干扰技术。
三单片机典型系统的设计与制作基本知识
一、LCD液晶显示器
字符型液晶显示模块(LCM)由字符型液晶显示屏(LCD),控制驱动主电路(如HD44780)和ROM或RAM组成。
少量阻、容元件结构件等装配在PCB板上而成字符型液晶显示模块。
目前在国际上已经规范化无论显示屏规格如何变化其电特性和接口形式都是统一的。
因此只要设计出一种型号的接口电路,在指令设置上稍加改动即可使用各种规格的字符型液晶显示模块。
a、模块的基本特点
◆液晶显示屏是以若干个5*8或5*11点阵块组成的显示字符群。
每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。
◆主控制驱动电路为HD44780(HITACHI)及其他公司全兼容电路如NT3881
(NOVATEK)、KS0066(SAMSUNG)、SPLC78A01(SUNPLUS)。
◆具有字符发生器ROM可显示192种字符(160个5x7点阵字符和32个5x10点阵字符。
◆具有64个字节的自定义字符RAM可自定义8个5x8点阵字符或4个5x11点阵字符。
◆具有80个字节的RAM。
◆标准的接口特性,适配MCS-51系列MPU的操作时序。
◆模块结构紧凑轻巧装配容易。
◆低功耗、长寿命、高可靠性。
b、点阵字符型液晶显示模块电路框图
c、LCD引脚功能的说明
引脚号
符号
状态
功能
1
Vss
电源地
2
Vdd
+5V逻辑电源
3
V0
液晶驱动电源
4
RS
输入
寄存器选择1:
数据;0:
指令
5
R/W
输入
读、写操作选择1:
读;0:
写
6
E
输入
使能信号(MDLS40466未用,符号NC)
7
DB0
三态
数据总线(LSB)
8
DB1
三态
数据总线
9
DB2
三态
数据总线
10
DB3
三态
数据总线
11
DB4
三态
数据总线
12
DB5
三态
数据总线
13
DB6
三态
数据总线
14
DB7
三态
数据总线(MSB)
*15
E1
输入
MDLS40466上两行使能信号
*16
E2
输入
MDLS40466下两行使能信号
注:
15、16两管脚仅用于MDLS40466,其余型号不用或为LED背光电源输入。
d、信号真值表
RS
R/W
E
功能
1
0
下降沿
写指令代码
1
1
高电平
读忙标志和AC值
2
0
下降沿
写数据
1
1
高电平
读数据
e、指令集
格式:
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
其中RS和R/W共同决定选择哪个寄存器和读写操作。
共有11条指令,分别微:
清屏、返回、输入方式设置、显示开关控制、移位控制、功能设置,字符生成RAM(CGRAM)地址设置,显示数据(DDRAM)地址设置,读忙标志和地址,写数据到CGRAM/DDRAM,读数据到CGRAM/DDRAM。
实例一:
在液晶显示器上显示数据
程序清单:
#include
#include
#defineCW_AddXBYTE[0x8000]
#defineCR_AddXBYTE[0x8200]
#defineDW_AddXBYTE[0x8100]
#defineDR_AddXBYTE[0x8300]
#defineRBUSY0x80
#defineucharunsignedchar
voiddelay(uchari);
voidwdata(uchard);
voidwcom(ucharcmd);
voidinit();
voiddisplay(ucharx,uchar*p);
voidmain()
{
ucharfc[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x00};
ucharsc[]={0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x00};
init();
wcom(0x01);
display(0x80,fc);
display(0xc0,sc);
while
(1);
}
voidinit()
{
delay(100);
wcom(0x38);
wcom(0x01);
wcom(0x06);
wcom(0x0f);
}
voidwcom(ucharcmd)
{
while
(1)
{
if((RBUSY&CR_Add)==0)break;
}
CW_Add=cmd;
delay(200);
}
voidwdata(uchard)
{
while
(1)
{
if((RBUSY&CR_Add)==0)break;
}
DW_Add=d;
}
voiddisplay(ucharx,uchar*p)
{
uchari;
i=0;
wcom(x);
while(p[i]!
=0x00)
{
wdata(p[i]);
i++;
delay(5);
}
}
voiddelay(uchari)
{
ucharj;
while(i--)
{
j=50;
while(j--);
}
}
运行结果:
作业:
将自己的姓名、班级显示在液晶上。
二、DS18B20智能温度控制器
DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DS18B20、DS1822的特性DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!
性能价格比也非常出色!
DS1822与DS18B20软件兼容,是DS18B20的简化版本。
省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。
继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
DS18B20的内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如下:
DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。
第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。
第六、七、八个字节用于内部计算。
第九个字节是冗余检验字节。
该字节各位的意义如下:
TMR1R011111
低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如下表所示:
(DS18B20出厂时被设置为12位)
分辨率设置表:
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
DS1820使用中注意事项
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。
(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。
当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。
(3)连接DS1820的总线电缆是有长度限制的。
试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。
当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。
这种情况主要是由总线分布电容使信号波形产生畸变造成的。
因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。
(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。
这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
四单片机典型系统的设计与制作项目
项目一数字温度计的设计与制作
设计任务
设计一个适合于恶劣环境的现场温度测量的温度计,如:
环境控制设备或过程控制、测温类消费电子产品。
采用数字温度传感器DS18B20,显示模块采用LCD1602。
主要性能指标
1、量温度范围:
-55°C~+125°C;
2、测量精度为±0.5°C。
3、用4位LCD显示,正温度符号显示+,负温度符号显示-;
4、显示分辨率为0.1℃;
元器件清单及硬件原理图
单片机AT89C51;
液晶模块TX-S0216B
温度传感器DS18B20
按钮2个
电阻若干
主程序
/****************************************************/
/*DS18B20+LCD1602温度显示*/
/*日期:
2009/11/17*/
/*说明:
简单显示温度-55~+125°C加入按键*/
/*LCDDATA口为P0口RSRWEN为P2.0/2.1/2.2*/
/*P1.0为开始键P1.1为复位清屏键*/
/*DS18B20DQ端为P2.3*/
/****************************************************/
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitRS=P2^0;//LCDRS
sbitRW=P2^1;//LCDRW
sbitEN=P2^2;//LCDEN
sbitDQ=P2^3;//DS18B20DQ
bittflag;//温度标记
bitrun_bit;//运行标记run_bi=0停止检测run_bit=1开始检测
uintt_value;//温度缓冲
uchardis_buf[]={'T','e','m','p',':
','','0','0','0','.','0',0xdf,'C'};//Temp:
000.0C
voiddelay(uintt)
{
uchari;
for(;t>0;t--)
for(i=10;i>0;i--);
}
voidlcd_wcmd(ucharcmd)//写指令到lcd
{
RS=0;
delay(100);
RW=0;
delay(100);
EN=0;
P0=cmd;
EN=1;
delay(100);
EN=0;
}
voidpos(ucharline,ucharpos)//设定显示的行及位置
{
switch(line)
{
case0:
{lcd_wcmd(pos|0x80);//LCD第一行首地址
break;}
case1:
{lcd_wcmd(pos|0xc0);//LCD第二行首地?
break;}
default:
break;
}
}
voidlcd_wdata(uchardat)
{
RS=1;
delay(100);
RW=0;
delay(100);
EN=0;
P0=dat;
EN=1;
delay(100);
EN=0;
}
voidlcd_int(void)//lcd初始化
{
lcd_wcmd(0x38);
delay(100);
lcd_wcmd(0x0c);
delay(100);
lcd_wcmd(0x01);
delay(100);
}
voiddisplay(uchardsline,uchardspos,uchartt)
{
pos(dsline,dspos);
delay(100);
lcd_wdata(tt);
}
voiddelay_ds18b20(uinti)//延时1微秒
{
while(i--);
}
voidrst_ds18b20(void)/*ds1820复位*/
{
DQ=1;
delay_ds18b20(5);//延时,4
DQ=0;
delay_ds18b20(70);//精确延时大于480us,100
DQ=1;
delay_ds18b20(40);//40
}
ucharread_ds18b20(void)//读数据
{
uchari=0;
uchardat=0;
for(i=8;i>0;i--)
{
DQ=0;
dat>>=1;
DQ=1;
if(DQ)dat=dat|0x80;
delay_ds18b20(5);//10
}
return(dat);
}
voidwrite_ds18b20(ucharwdata)//写数据
{
uchari;
for(i=8;i>0;i--)
{
DQ=0;
DQ=wdata&0x01;
delay_ds18b20(5);
DQ=1;
wdata>>=1;
}
}
uintread_temp(void)//读取温度值并转换
{
ucharTH,TL;
uinttemp_buff;
rst_ds18b20();
write_ds18b20(0xcc);//跳过读序列号
write_ds18b20(0x44);//启动温度转换
rst_ds18b20();
write_ds18b20(0xcc);//跳过读序列号
write_ds18b20(0xbe);//读取温度
TL=read_ds18b20();
TH=read_ds18b20();
temp_buff=TH;
temp_buff<<=8;
temp_buff=temp_buff|TL;//将得到的温度进行合并
if(temp_buff<0x0fff)
{
tflag=0;
temp_buff=temp_buff*(0.625);}
else
{temp_buff=(~temp_buff);
tflag=1;
temp_buff=temp_buff*(0.625)+1;
}
return(temp_buff);
}
voidshow_temp(void)
{
uchart,bai,shi,ge,fen;
//uintt_value;
//t_value=read_temp();
bai=t_value/1000+'0';//取得百位的10进制数
shi=(t_value%1000)/100+'0';//取得十位的10进制数
ge=(t_value%1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业 综合 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)