电信专张绪和04.docx

上传人:b****0 文档编号:10088113 上传时间:2023-05-23 格式:DOCX 页数:27 大小:338.84KB
下载 相关 举报
电信专张绪和04.docx_第1页
第1页 / 共27页
电信专张绪和04.docx_第2页
第2页 / 共27页
电信专张绪和04.docx_第3页
第3页 / 共27页
电信专张绪和04.docx_第4页
第4页 / 共27页
电信专张绪和04.docx_第5页
第5页 / 共27页
电信专张绪和04.docx_第6页
第6页 / 共27页
电信专张绪和04.docx_第7页
第7页 / 共27页
电信专张绪和04.docx_第8页
第8页 / 共27页
电信专张绪和04.docx_第9页
第9页 / 共27页
电信专张绪和04.docx_第10页
第10页 / 共27页
电信专张绪和04.docx_第11页
第11页 / 共27页
电信专张绪和04.docx_第12页
第12页 / 共27页
电信专张绪和04.docx_第13页
第13页 / 共27页
电信专张绪和04.docx_第14页
第14页 / 共27页
电信专张绪和04.docx_第15页
第15页 / 共27页
电信专张绪和04.docx_第16页
第16页 / 共27页
电信专张绪和04.docx_第17页
第17页 / 共27页
电信专张绪和04.docx_第18页
第18页 / 共27页
电信专张绪和04.docx_第19页
第19页 / 共27页
电信专张绪和04.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电信专张绪和04.docx

《电信专张绪和04.docx》由会员分享,可在线阅读,更多相关《电信专张绪和04.docx(27页珍藏版)》请在冰点文库上搜索。

电信专张绪和04.docx

电信专张绪和04

 

 

电气与电子信息工程学院

单片机课程设计

 

设计题目:

数字温度计的设计与制作

  专业班级:

电子信息工程技术2013

(1)班

学  号:

 201330230104     

姓名:

张绪和

指导教师:

李玉平章磊

设计时间:

2015/06/15~2015/06/27

设计地点:

K2—407

单片机课程设计成绩评定表

姓名

张绪和

学号

201330230104

专业班级

电子信息工程2010

(1)班

课程设计题目:

数字温度计的设计与制作

课程设计答辩或质疑记录:

1、晶振为什么选用12M?

12M是比较常用的晶,51单片机是12分频的,如果选用12M晶振,如果是单指令周期的语句,刚好是1us,其他语句正好是1us的整数倍。

很轻松算出每个语句用了多长时间。

2、DS18B20的工作原理?

DS18B20工作原理是电桥一个桥臂用对温度敏感的材料做成,在温度改变的时候

电阻随着改变,使得电桥失去平衡,达到测量温度的效果。

3、DS18B20的引脚功能?

两边的引脚接电源和地,中间的引脚与单片机相连,用来传输DS18B20采集并

转换后的信号。

成绩评定依据:

实物制作(40%):

课程设计考勤情况(10%):

课程设计答辩情况(20%):

完成设计任务及报告规范性(30%):

 

最终评定成绩(以优、良、中、及格、不及格评定)

 

指导教师签字:

李玉平、章磊

2015年6月28日

目录

第一部分课程设计任务书3

第二部分课程设计5

一、整体功能要求5

1.1设计要求5

二、整体方案设计5

三、设计框图6

四、硬件设计6

1.工作原理6

2.STC89C52单片机工作原理6

3.电路模块实现9

五、软件设计与调试10

1.程序流程图10

2、调试10

(1)建立工程和仿真图10

(2)keil软件调试结果11

(3)proteus软件仿真结果12

六、实物的组装与调试13

1.实物的组装13

2.调试14

七、心得体会14

附录16

1.电路原理图16

2.子程序17

3.元件清单19

参考文献20

 

课程设计任务书

2014~2015学年第2学期

学生姓名:

张绪和专业班级:

电子信息工程技术2013级

(1)班

指导教师:

李玉平章磊工作部门:

电气学院电信教研室

一、课程设计题目:

单片机课程设计

1.16LED摇摇棒的设计与制作

6.数字温度计的设计与制作

2.电子时钟的设计与制作

7.自选

3.超声波测距报警器的设计与制作

4.交通信号灯的设计与制作

5.模拟电梯的设计与制作

二、课程设计内容

1.根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计与制作,要求概念清楚、方案合理、方法正确、步骤完整;

2.熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;

3.熟练使用单片机C/汇编语言进行软件设计;

4.熟练使用Proteus、Keil软件进行仿真电路测试;

5.熟练使用Protel软件设计印刷电路板;

6.学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;

7.撰写设计报告,参考毕业设计论文格式。

注:

详细要求和技术指标见附录。

三、进度安排

1.时间安排

序号

内容

学时安排(天)

1

方案论证和总体设计

2

2

硬件设计

2

3

软件设计

2

4

硬件测试

1

5

撰写和打印设计报告

1

合计

10

设计指导答辩地点:

K2—407

2.执行要求

单片机应用系统设计与制作多个选题,每组不超过5人,为避免雷同,在设计中每个同学所采用的方案不能一样。

四、基本要求

(1)根据要求确定系统设计方案;

(2)绘制系统框图、系统原理总图,印刷电路板图,列出元器件明细表;

(3)计算电路参数和选择元器件,画出软件框图,列出程序清单;

(4)仿真,测试与修改调整;

(5)对设计进行全面总结,写出课程设计报告。

五、课程设计考核办法与成绩评定

根据过程、报告、答辩等确定设计成绩,成绩分优、良、中、及格、不及格五等。

评定项目

基本内涵

分值

设计过程

考勤

10分

答辩

回答问题情况

20分

实物测试

正常无故障运行

40分

设计报告

完成设计任务、报告规范性等情况

30分

90~100分:

优;80~89分:

良;70~79分:

中;60~69分,及格;60分以下:

不及格

六、课程设计参考资料

[1]电气与电子信息工程学院.单片机实验指导书

[2]熊静琪.计算机控制技术.北京:

电子工业出版社,2003.

[3]黄忠霖.控制系统MATIAB计算及仿真.北京:

国防工业出版社,2004.

[4]彭为等.单片机典型系统设计实例精讲.北京:

电子工业出版社,2007

[5]王庆利等.单片机设计案例实践教程.北京:

北京邮电大学出版社,2008

[6]韩志军等.单片机应用系统设计——入门向导与设计实例.北京:

机械工业出版社,2005

[7]皮大能等.单片机课程设计指导书.北京:

北京理工大学出版社,2010

第二部分课程设计

一、整体功能要求

1.1设计要求

(1)以单片机为核心,设计一个由四段数码管显示温度的测温计,用来检测外界温度。

(2)设置一个电源开关,使之闭合后电路能够正常工作。

(3设置一个复位开关,能够立即将数码管当前所显示的温度清零。

二、整体方案设计

采用数字温度芯片DS18B20测量温度,输出信号全数字化。

便于单片机处理和控制,省去传统的测温方法的很多外围电路。

且该芯片的物理化学性质稳定,它温用作工业测温元件,此元件线性较好。

在0-100摄氏度时,最大线性偏差小于1摄氏度。

DS18B20的最大特点之一是采用了单总数的数据传输,由数字温度计DS18B20和微控制器AT89C52构成温度测量装置,它直接输出温度的数字信号,可直接和计算机连接。

这样温度系统的结构就比较简单,体积也不大。

采用51单片机控制软件编程的自由度大,而且体积小,硬件实现简单,安装方便。

该系统利用AT89C52芯片控制温度传感器DS18B20进行温度的实时检测并显示,能够实现快速测量环境温度。

硬件以微控制器为核心,外接时钟电路、复位电路、温度测量电路、LED显示电路组成。

三、设计框图

温度传感器

微控制器模块

时钟电路

复位电路

LED显示电路

四、硬件设计

1.工作原理

当接通电源以后,温度传感器正常工作,温度传感器将根据被测温度的不同来采集不同的数据,然后将所采集到的数据传送到比较器到中,然后由比较器将采集到的数据转变成高低电平,在送入单片机,单片机通过控制各个引脚电平的高低来来控制温度的显示输出。

 

Stc89c52引脚图

STC89C52的主要工作特性如下:

片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为10000次;

片内数据存储器内含256字节的RAM;

具有32根可编程I/O口线;

具有3个可编程定时器;

中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;

串行口是具有一个全双工的可编程串行通信口;

具有一个数据指针DPTR;

低功耗工作模式有空闲模式和掉电模式;

具有可编程的3级程序锁定位;

单片机STC89C52工作电源电压为5(1+0.2)V,且典型值为5V;

单片机STC89C52最高工作频率为24MHz,单片机正常工作时,都需要有一个时钟电路和一个复位电路。

 

STC89C52的内部结构图如图4所示:

STC89C52内部结构图

(1)时钟电路

时钟电路用于产生单片机工作所需要的时钟信号。

设计中采用了比较典型的内部时钟方式,如图6所示:

其工作原理是:

片内高增益反向放大器XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供振荡时钟。

振荡器的频率主要取决于晶体的振荡频率,一般晶体可以在1.2-12MHz之间任选。

电容的大小影响振荡器电路的稳定性和快速性,其值有微调作用,通常取30pF左右。

在设计电路板时,晶振和电容应尽可能的靠近芯片,以减小分布电容,保证振荡器振荡的稳定性[7]。

单片机外接晶体的接法

 

(2)复位电路

复位是单片机的初始化操作,其主要功能是将程序计数器PC初始化为0000H,使单片机从0000H单元开始执行程序。

复位操作不影响片内RAM的内容,但是对SFR中的一些寄存器有影响。

图7各种复位电路

五、软件设计与调试

1.DS18B20程序流程图

2、调试

(1)建立工程和仿真图

(1)打开proteus软件,新建一个工程,然后在工作窗口内画好原理图并保存。

(2)打开keil软件新建一个工程,选择所用单片机的型号,然后新建一个文件保存为.c文件并添加到工程中去,开始写源程序,写好后编译生成Hex文件。

(3)将生成的Hex文件下载到单片机内,观察结果,并调试,观察数码管上是否有相应正确的变化。

若结果不正确,思考问题的所在,修改源程序,继续调试,直到观察到正确的运行结果。

(2)keil软件调试结果

(3)proteus软件仿真结果

六、实物的组装与调试

1.实物的组装

由于班上每组同学设计题目,设计电路都不一样,所以制作pcb板的想法也就给抹杀了,采取的是手工焊接。

而对于我们本组来说,电路模块还是比较复杂的,而选取的电路板对我们来说,就小了很多。

这是我们组对元器件的摆放及布局增添了很大的难度。

(1).首先是对元器件的认知。

Ⅰ按键检测

弹性小按键被按下时闭合,松手后自动断开;将数字万用表置于二极管档,接按键任意两个脚,听到响声,则证明两脚是导通的。

按键有四个脚,分别两组导通。

在焊接时,应只将一组中任意的一个脚接地,另一组的一脚接入电路。

Ⅱ数码管检测

将数字万用表至于二极管档,黑表笔接在1脚,然后用红表笔去接触其他各引脚,发现数码管没有任何显示,此时有两个可能,数码管是坏的或是红黑表笔接反了。

此时交换红黑表笔,去接触其他各引脚,发现数码管最左边有显示,所以排除数码管坏掉的可能,我们就可以判读数码管为共阳极结构类型,同时1脚为最左边的数码管的位选

数码管引脚图

同时1脚为数码管最左边的位选短,让

后将红表笔接1脚,依次可以判定出数码管的段选a,b,c,d,f,e,g,dp,依照此步骤,便可将数码管各引脚检测出来,引脚图如右侧。

(2).实物焊接

小小的板,芯片勉强给装上去了,但是焊接的确是个很大的难题。

因此我们采用的是在芯片附近连接上排针,在利用跳线来完成电路的连接。

焊接电路如下图。

焊接实物图

2.调试

电路焊接完成后,利用跳线完成电路的全部连接。

加上5v电压,只有单片机工作的指示灯亮着,而数码管没有任何反应。

于是,开始排查电路中那个模块出现了问题。

首先当然想到的是数码管总存在着虚焊的点。

利用万用表,测着每个引脚与接地短的电压,发现了果然有几个点存在着虚焊现象。

排除这一问题后,加上电压,数码管显示000。

但当按键按下,数码管却没开始工作,继续排查原因。

结果发现在锁存器u3与其连接时,引脚接错。

将其改正后,电路基本上实现了我们所需的抢答功能。

当我们尝试着让每个键是否能正常抢答时,发现2号按键按下没有什么反应。

刚开始想着是否是按键出现了问题,利用万用表检测,发现按键工作状态是对的。

最终将问题锁定在了跳线上,换了跟跳线。

2号按键便能正常工作了。

我们的抢答器成功了。

七、心得体会

通过对自己在大学两年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了本设计。

这为自己今后进一步深化学习,积累了一定宝贵的经验。

撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。

培养了我运用所学知识解决实际问题的能力。

本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。

技术在不断进步,机械式时钟已经被淘汰,电子时代已经到来。

做为新时代的我们,更应该提高自身能力,适应新时代的发展。

知识来自实践,多从生活中探寻所需要的。

从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。

 

附录

1.电路原理图

2.子程序

#include

#defineuiunsignedint

#defineucunsignedchar//宏定义

sbitDQ=P3^7;//定义DS18B20总线I/O

bitbdatafuhao;

ucqian,bai,shi,ge;

uccodeled[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7};

uccodeled_dian[]={0x7f,0x64,0xbd,0xf5,0xe6,0xf3,0xfb,0x67,0xff,0xf7};

//============================================================================================

//====================================DS18B20=================================================

//============================================================================================

/*****延时子程序*****/

voidDelay(intnum)

{

while(num--);

}

/*****初始化DS18B20*****/

voidInit_DS18B20()

{

DQ=1;//DQ复位

Delay(8);//稍做延时

DQ=0;//单片机将DQ拉低

Delay(80);//精确延时,大于480us

DQ=1;//拉高总线

Delay(40);

}

/*****读一个字节*****/

ucReadOneChar()

{

uci=0;

ucdat=0;

for(i=8;i>0;i--)

{

DQ=0;//给脉冲信号

dat>>=1;

DQ=1;//给脉冲信号

if(DQ)

dat|=0x80;

Delay(4);

}

return(dat);

}

/*****写一个字节*****/

voidWriteOneChar(ucdat)

{

uci=0;

for(i=8;i>0;i--)

{

DQ=0;

DQ=dat&0x01;

Delay(5);

DQ=1;

dat>>=1;

}

}

/*****读取温度*****/

uiReadTemperature()

{

uia=0,b=0,t=0;

floattt=0;

Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0x44);//启动温度转换

Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0xBE);//读取温度寄存器

a=ReadOneChar();//读低8位

b=ReadOneChar();//读高8位

t=b;

t<<=8;

t=t|a;

if(t&0xf800)

{

t=~t+1;

fuhao=1;

}

else

fuhao=0;

tt=t*0.0625;

t=tt*10+0.5;//放大10倍输出并四舍五入

return(t);

}

/*****读取温度*****/

voidcheck_wendu()

{

uif;

f=ReadTemperature();//获取温度值并减去DS18B20的温漂误差

qian=f/1000;

bai=(f%1000)/100;//计算得到十位数字

shi=((f%1000)%100)/10;//计算得到个位数字

ge=((f%1000)%100)%10;//计算得到小数位

}

/*****显示开机初始化等待画面*****/

voidDisp_init()

{

P0=0x7f;//显示----

P2=0x7f;

Delay(100);

P2=0xdf;

Delay(100);

P2=0xf7;

Delay(100);

P2=0xfd;

Delay(100);

P2=0xff;//关闭显示

}

/*****显示温度子程序*****/

voidDisp_Temperature()//显示温度

{

if(qian==0)

{

if(fuhao==1)

P0=0x7f;//10111111

else

P0=0xff;

P2=0xfd;

Delay(10);

P2=0xff;

}

elseif(qian!

=0)

{

P0=~led[qian];

P2=0xfd;

Delay(10);

P2=0xff;

}

if((bai==0)&&(qian==0))

{

P0=0xff;//

P2=0xf7;

Delay(10);

P2=0xff;

}

elseif((bai==0)&&(qian!

=0))

{

P0=~led[bai];

P2=0xf7;

Delay(10);

P2=0xff;

}

elseif(bai!

=0)

{

P0=~led[bai];//

P2=0xf7;

Delay(10);

P2=0xff;

}

P0=~led_dian[shi];//

P2=0xdf;

Delay(10);

P2=0xff;

P0=~led[ge];//显示符号

P2=0x7f;

Delay(10);

P2=0xff;//关闭显示

}

/*****主函数*****/

voidmain()

{

ucz;

for(z=0;z<100;z++)

{

Disp_init();

check_wendu();

}

while

(1)

{

check_wendu();

for(z=0;z<10;z++)

Disp_Temperature();

}

}

3.元件清单

表3-1所需元器件表

组件

数量

组件

数量

STC89C52

一片

30pf瓷片电容

两个

DS18B20

一个

5V电源

一个

自锁开关

一个

2.2k电阻

四个

12M晶振

一个

10k电阻

两个

按键

1个

40脚IC座

一个

3pin圆孔母座

10uf电容

四个

数码管三位一体

一个

电源接口

一个

参考文献

[1]张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:

高等教育出版社,2010

[2]王幸之,钟爱琴,王雷,王闪.AT89系列单片机原理与接口技术[M].北京:

北京航空航天大学出版社,2004:

62-67.

[3]郭天祥.51单片机C语言教程.北京:

电子工业出版社.

[4]胡汉才.单片机原理及接口技术[M].北京:

清华大学出版社,1996

[5]张毅刚,彭喜元,姜守达,乔立岩.新编MCS-51单片机应用设计[M].哈尔滨:

哈尔滨工业大学出版社,2003:

223-231.

[6]何立民.单片机高级教程-应用与设计[M].北京:

北京航空航天大学出版社,2000.8:

103-109.

[7]李建忠.单片机原理与应用[M].西安:

西安电子科技大学出版社,2002,2:

121-123.

[8]戴佳,苗龙,陈斌.51单片机应用系统开发典型实例[M],北京:

中国电力出版社,2005,7:

121-137.

[9]张洪润,易涛.单片机应用技术教程[M].北京:

清华大学出版社,2003,10:

119-122.

[10]蔡朝洋.单片机控制实习与专题制作[M].北京:

北京航空航天大学出版社,2006,11:

317-323.

[11]丁明亮,唐前辉.51单片机应用设计与仿真--基于KeilC与Proteus

北京:

北京航空航天大学出版社

[12]程相波,卫安军.基于MCS—51单片机的八路抢答器设计方法研究[J].北京工业职业技术学院学报,2007,(02):

31-34.

 

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

当前位置:首页 > 医药卫生 > 基础医学

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

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