单片机课程设计指导文档格式.docx
《单片机课程设计指导文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计指导文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
![单片机课程设计指导文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/3/3313af21-ea7c-44cf-9836-b92b4189a551/3313af21-ea7c-44cf-9836-b92b4189a5511.gif)
第二周:
周1编程。
周2——周3调试。
周4写设计说明书。
周5完成设计说明书,答辩。
五、课程设计的成绩评定
通过设计答辩方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,设计报告说明书、答辩水平、实物制作以及学习态度综合考评。
平时考核占10%~20%、实物制作占20%、答辩占20%~30%、设计说明书占30%~40%。
成绩分优、良、中、及格和不及格五等。
六、课程设计报告格式
(一)封面
(二)目录
(三)设计目的
(四)方案论证
(五)详细设计
1、系统总体方案设计
2、系统各部分详细设计
(1)硬件设计
·
输入部分设计:
信号采集、放大、信号转换、键盘
输出部分设计:
显示、报警、输出控制
电源部分设计
(2)软件设计(设计思想、流程图、程序—加注释)
主程序设计
子程序设计
3、元器件介绍与选择
(六)调试与实物制作
(七)课程设计小结
(八)参考文献
(九)附录
1、元器件清单
2、程序清单
3、原理图
4、PCB板图
5、实物图
七、设计步骤举例
1、6车道交通信号灯控制
设计一个6车道交通灯控制系统,如图1所示,东西方向的两组灯控制信号一致,南北方向的两组灯控制信号也一致。
图16车道交通信号灯示意图
硬件思路:
用P1.0------P1.6作为信号灯的控制信号的输出,后接功率放大器。
图2:
交通信号灯硬件框图
可以根据图2来画出硬件电路图,硬件信号到功放之间要用光电隔离(一般选用521—4)。
软件思路:
可将交通灯的工作流程排成相应的时间段,每个时间段有自己的延时时间,
分别由软件来延时。
调试按钮主要任务是用来改变每个时间段的延时时间。
图3调试用键盘
图4显示原理图
2、作息钟系统
1)硬件思路:
工程对象为大家所熟悉的学校作息钟,要求有显示和调试键盘。
键盘只是用来对作息钟系统进行设置和调试,所以比较简单,如图3所示。
显示采用7段数码管,并用8155可编程接口来实现。
如图4所示。
件思路:
软件包括时钟部分、60进制计数、显示、键盘等几个模块。
如图5所示。
程序均采用模块化,分块调试。
图5主程序与中断服务程序
3、水塔控制系统
这是生活中的工程对象,只有两个输出的开关量控制,要求,当水位达到
低水位或低水位以下时开起大、小水泵;
当水位到中水位以下低水位以上时开起大水泵;
当水位到高水位以下中水位以上时开起小水泵;
当水位到上水位时关大、小水泵;
水塔的示意图如图6所示。
本题不作更细的说明。
图6水塔的示意图
八、参考用书
1、《单片机程序设计基础》周行慈北京航空行天大学出版社
2、《MCS-51单片机应用系统设计》何立民北京航空行天大学出版社
3、《单片微机测控系统设计大全》王福瑞北京航空行天大学出版社
附录1:
设计说明书参考样式
盐城工学院
课程设计
题目
二级学院
班级
姓名
学号
指导教师
设计时间
(空2行)
目录(4号黑体,居中)
一、设计目的(作为正文第一章,小4号宋体,行距18磅,下同)……1
二、方案论证×
×
(正文第二章)…………………………………Y
2.1×
(正文第二章第1条)…………………………………Y
2.2×
(正文第二章第2条)…………………………………Y
2.3×
(正文第二章第X条)…………………………………Y
三、×
(正文第三章)……………………………………………Y
……………………………………………………………………………(略)
X×
(正文第X章)……………………………………………Y
小结 ……………………………………………………………………Y
附录A×
(必要时)……………………………………………………Y
附录B×
注:
1.目录中的内容一般列出“章”、“条”二级标题即可。
2.X、Y表示具体的数字。
附录2:
课程设计报告范文
温度报警器的设计
一.概述
⒈课题简介
温度是工业生产过程中主要的被控参数之一,像冶金、机械、食品加工、化工等各类工业生产过程中广泛使用的各种加热炉、热处理炉、反应炉等,对工件的处理温度要求严格控制。
当今计算机控制技术在这方面已经使温度控制达到自动化智能化,稳控技术指标也得到大幅度提高,提高了产品的质量和数量。
⒉课题研究的目的和意义
本次课题利用了温度传感器和单片机等来测量温度和超温报警,解决了原始的人工测温带来的一系列麻烦,大大的提高了实用性、灵活性和可靠性。
通过这次的课程设计也使我们对一些简单的测控技术(电冰箱、空调等)有了初步的了解。
⒊国内外目前的状况
目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625℃。
由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125℃,测温精度为±
0.2℃。
为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。
以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27μs、9μs。
二.系统设计
本系统主要由温度检测、信号放大、A/D转换器(ADC0809)、单片机(AT89C51)、键盘、显示及报警等一系列电路组成,主要完成温度显示(0~100℃),超温报警的功能且要求精度达到±
1℃。
A.硬件设计
1.最小系统
⑴单片机:
本次设计使用单片机芯片AT89C51
AT89C51的工作特性:
内含4KB的FLASH存储器檫写次数1000次;
内含128字节的RAM;
具有32根可编程I/O线;
具有2个16位编程定时器
具有6个中断源,5个中断矢量,2级优先权的中
断结构;
具有1个全双工的可编程串行通信接口;
具有1个数据指针DPTR;
具有可编程3级程序锁定位;
AT89C51的工作电源为5(1±
0.2)V且典型值为5V;
AT89C51最高工作频率为24MHZ;
AT89C51的编程频率为3~24MHZ,编程启动电流和启动电压
分别为1mA、5或12V。
⑵电源:
a.集成稳压器(7805)的简介:
78系列集成稳压器是常用的固定输出电压的集成稳压器。
它的内部含有限
流保护,采用了噪声低,温度漂移小的基准电压源,工作稳定可靠。
78系列集
成稳压器为三端器件:
1脚为输入端,2脚为接地端,三脚为输出端,使用十分
方便。
78系列集成稳压器典型应用电路如下,这是一个输出5V直流电压的稳压
电源电路。
IC采用集成稳压器7805,C1,C2分别为输入端和输出端的滤波电容,
RL为负载输出电阻。
当输出电较大时,7805应配上散热板。
b.5V电源电压产生的过程:
将220V电压通过变压器降压到9V,再通过二极管整流经过稳压器使输出电压为5V。
本次设计采用的电路图如下:
图1电源电路
⑶晶振:
本次设计采用的是12M的晶振,电路图如下:
图2晶振电路
两只电容在20pF~100pF之间取值,其取值在60pF~70pF时振荡器频率稳定性较高,按照一般经验,外接晶体时两个电容的取值为30pF;
外接陶瓷振荡器是两电容的典型值是47pF。
⑷复位电路:
在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态服务。
为保证应用系统可靠的复位在设计复位电路时,通常使RST引脚保持4ms以上的高电平,只要RST保持高电平,MCS-51单片机就会循环复位;
当RST从高电平变为低电平时,MCS-51单片机就从0000H地址开始执行程序,在单片机复位的有效期间,ALE、PSEN引脚输出高电平。
本次设计采用的是手动复位,其电路图如下:
图3手动复位电路
有关计算说明:
∵时钟周期T=1/fose=1/12M=1μs
∴24T=24μs
τ=1/RC=1/(51*10的三次方*1*10的负六次方)≈20>24T
τ闭=1/R’C=1/(1K//51K*10负六次方)≈1000>24
2.接口
⑴信号检测
a.温度传感器PT100的简介:
温度传感器PT100的直径3mm,长27cm,传感温度在-200℃~+850℃之间,通过电流最大是5mA,对应电桥输出压差为V=0.01V,最大放大倍数为20。
其阻值计算公式是:
Rt=100(1+3.908*10的负三次方*t-0.380*10的负六次方*t平方)
有关此次设计的计算说明:
∵ Rt=100(1+3.908*10的负三次方*t-0.380*10的负六次方*t平方)
∴ Rt0=100欧姆
Rt0=138.5欧姆
b.信号检测的电路图如下所示:
图4信号检测电路图
当然,温度传感器PT100,它为电阻信号,必须进行R-V变换,由PT100、R1、R2、R3构成前端桥式电路,温度的变化将使温度传感器阻值发生改变,从而使该电桥平衡遭到破坏,产生一个对外输出电压V,由于环境温度控制在0℃~100℃,所以温度传感器最高可能达到的阻值约为138.5欧姆,因此,前端式电路的输出V0的最大值约为:
V0=5*(138.5/(2400+138.5)-100/(2400+100))V≈0.04V
(1)
⑵放大电路
放大电路图如下所示:
图5运算放大器电路
为保证其输出信号与A/D转换器的输入信号要求相匹配,必须对此电压值进行调理放大,根据运算放大器的规则,设上图中运算放大器的各引脚对地电压分别用引脚编号表示,则前端电路的输出V0可以表示成:
V0=U5-U3
(2)
对运算放大器电路可以列出下述方程
(1/R5+1/R6)*U3-1/R6*U1=0
(1/R7+1/R8)*U5-1/R7*U1=U7/R8
要使(3)式成立,则必须保证下式成立
R6=R7,R5=R8
此时,将(3)式中两个方程相减得到
(1/R7+1/R8)*V0=U7/R8
则运算放大电路对前端式电路的输出电压U的放大倍数β
β0=U7/V0=(R8+R7)/R7=(12000+100)/100=121
因此,温度信号的最终输出电压范围为(0~0.04)×
121即0~4.88V,在A/D转换器所要求的输入信号范围为0~5V之内,电阻R4和电容C5构成一阶滤波电路,运算放大器的信号输入端加电容E3和E4,可有效防止高频干扰。
⑶A/D转换器
A/D转换器(ADC0809)连接电路如下所示:
图6A/D转换器的电路
此部分选用ADC0809进行温度模拟量到数字量的转换。
ADC0809是带有八位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼进式A/D转换器,可以和单片机直接接口。
⑷显示电路
LED显示电路图如下所示:
图7LED显示电路
本次LED显示电路主要采用的是74595,其主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。
这在串行速度慢的场合很有用处,数码管没有闪烁感595还多有输出端时能/禁止控制端,可以使输出为高阻态。
⑸键盘
键盘连接电路图如下所示:
图8键盘连接电路
键盘含有12个键,有十个数字键,分为四行三列,三列分别对应P2.1,P2.2,P2.3四行分别对应P2.4,P2.5,P2.6,P2.7口,当有键按下时,对P2.1~P2.3三个口分别送“0”(当其中一个为“0”时,其余两个为“1”),分别判断P2.4~P2.7哪一个按键为“0”,根据右上图可知按键号(被按键的键值N=行值+列值),按三个数,继而按下确认键(A),等到显示结束时再按下清除键(B)。
由此可以画出下图所示的“键盘”:
“0”“1”“2”
1
2
“0”
“3”
“6”
“9”
3
4
5
6
7
8
9
确认(A)
清除(B)
B.软件设计
N
Y
图9主程序
⒈主程序(程序见附表)
将各部分数值初始化,然后选择键盘开关P1.5,按下开关(P1.5=0),此时扫描键盘,分别键入三个键值,并确定,此时在数码管显示所设定的温度值;
再打开开关(P1.5=1),进入A/D转换器,采集温度传感器所感受到的温度,并与数码管显示温度比较,若比其大,则报警。
其流程图如图9。
⒉子程序(程序见附表)
⑴A/D转换子程序
当信号送到A/D转换器时,发出A/D开启信号,等待,直到A/D全部变换结束读出A/D数值,此时模拟量转换为数字量,再将A/D值转换为温度值(BCD码),到此就能跳出A/D转换器,进行下面的程序。
其流程图如图10。
Y
图10A/D转换流程图
⑵显示子程序
通过前面的温度信号调理电路可得到下面结论:
∵ 1℃~20mV~01H
∴ V0~0℃=0V~00H
V0~100℃=2V~64H(5V/255≈20mv~01H)
把键盘输入的值进行十六进制转化,分别放在百位、十位、个位,然后放在数码管中显示出来,打开位控P1.0、P1.1、P1.2,通过查表方式进行,然后判断循环次数是否结束,如果没有则继续送数,如果循环结束则按下确认键,显示数据。
其流程图如图11。
Y
图11显示流程图
⑶键盘子程序
其流程图如图12。
敲击12键键盘,设定温度值,需输入三个数值,先进行行扫描,再进行列扫描,有三列四行,每次只要查到有键按下,就返回KEY程序(共三次,超过三次则以后输入的数不记),三次输入的数分别放入数码管的百、十、个位。
⑷报警子程序
将温度传感器采集到的温度值转换为十六进制,分别存入三个不同的存储单元,与设定值所在的百、十、个位分别进行比较:
若百位大于设定值则直接报警,若百位相等则比较十位,若大于则报警,若十位相等则比较个位,若大于则报警,其他情况皆为正常。
此时P1.6为高电平;
若小于则正常。
其流程图如图13。
Y
YN
图12键盘流程图
图13报警流程图
⑸延时子程序:
延时去抖12ms,其流程图如图14。
R6-1=0?
R7-1=0?
R6←0FFH
Y
N
返回
图14延时流程图
三.调试
此次设计使用keil软件进行调试。
调试软件介绍:
keil是一个具有MicrosoftVisualStudio窗口风格的集成开发环境,可以完成工程建立、管理、编译连接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程。
程序调试界面如下:
使用步骤:
启动keil中文版,设置汇编(或编译)环境。
打开文件新建一个文档,使用开发系统提供的编辑器编辑扩展名为.ASM的源程序,采用汇编语言编制源文件,将对当前文件进行汇编。
调试,排除错误,产生代码并装入仿真器,进行仿真。
产生代码并装入仿真器完成后,单击“调试”,输出代码文件,程序调试完毕,选择“产生代码”成相应的目标文件,以便将目标程序写入芯片。
单击F9全速扫描调试,可以设置断点调试等。
四.操作说明
按下控制键盘的开关(P1.5),通过键盘选定三个数,再按下确认(A)键,此时,所设定的温度值将会在LED数码显示管显示出来;
打开控制键盘的开关,此时温度传感器采集到的信号经放大器放大,送到A/D(ADC0809)转换器部分,再将转换成的数字量送到单片机(AT89C51芯片)上,此时,就能与数码管显示的温度进行比较,若比其大就会发出报警。
五.参考文献
◆《单片机原理及其接口技术》(第二版)胡汗才编著北京大学出版社
◆《51系列单片机设计实列》楼然苗李光飞编著北航出版社
◆《单片微机测控系统设计大全》王福瑞编著北航出版社
◆《单片机实用技术问答》谢宜仁主编人民邮电出版社
◆夏晓玲《基于AT89C2051的数字温度计的设计》文章编号1008-9004(2005)03-0038-03
◆
六.课程小结
这次课程设计是本门课程课堂教学的延伸和发展,是理论知识与工程实践之间的衔接。
通过本课程设计,使我们进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,进一步巩固与综合专业基础知识和相关专业课程知识,提高了我们运用理论知识解决实际问题的实践技能;
培养独立自主、综合分析的思维与创新能力,最终使初步具有设计小型计算机控制系统的硬件及软件的能力。
同时,通过资料搜集、方案分析、系统设计与报告撰写的一系列过程,得到一次科学研究工作的初步训练。
从而,在专业知识与研究方法方面为日后的毕业设计乃至毕业后的工作奠定良好的基础。
七.附录
⒈元器件清单
序号
名称
代号
型号
数量
电阻
R1,R2
2.4KΩ/0.0125W
R3,R6,R7
100Ω
R5,R8
12KΩ
R4
1KΩ
R9,R10,R11,R12,R13
5.1KΩ
电容
C1,C2,C3,C4,C5
0.1uF
C6,C7
30pF/16V
C9
0.022uF/25V
电解电容
C8
10uF/25V
10
C10
100uF
11
扬声器
IC3
8Ω
12
二极管(整流)
V
IN4001
13
开关
K
FY-104
14
数码管
IC6
SM4105
15
温度传感器
RT
PT100
16
放大器
IC1
LM353
17
AD转换器
IC2
ADC0809
18
键盘
SW
SW-DS
19
稳压器
IC4
7805
20
驱动器
595
2.整体原理图(见下页)
图15整体原理图
3.程序
主程序:
ORG0000H
BAIEQU30H
SHIEQU31H
GEEQU32H
MAIN:
CLRP1.5
LCALLKEY
LCALLDISPLY
SETBP1.5
LCALLAD_COV
LCALLCOMP
LCALLBAOJING
LTMPMAIN
;
键盘子程序:
KEY_BOARD:
MOVA,#0FFH;
MOVP2,A
CLRP2.1
CLRP2.2
CLRP2.3
MOVA,KEYY;
读P2.4到P2.7
MOVB,A
CJNEA,#0FFH,KEY;
不等于#0FFH,转有键按下KEY
KEYOUT:
AJMPKEY_BOARD
KEY:
LCALLDL10ms
MOVA,KEYY;
将行值给A
CJNEA,B,KEYOUT;
A不等于B(干扰),子程序返回
SETBP2.2;
有键按下,找键号,开始查0列
SETBP2.3
MOVA,KEYY;
读入行值
CJMEA,#0FFH,KEYVAL0;
行值不等于#0FFH,按下键在第0列
SETBP2.1;
不在第0列,开始查第1列
MOVA,KEYY;
CJNEA,#0FFH,KEYVAL1;
行值不等于#0FFH,按下键在第1列
SETBP2.2;
不在第一列,开始查第2列
MOVA,KEYY;
读行值
CJNEA,#0FFH,KEYVAL2
LJMPKEYOUT
KEYVALO:
MOVR7,#02H;
按下键在第0列,R2赋列值02H
LJMPKEYVAL3;
跳转到KEYVAL3
KEYVAL1:
MOVR7,#01H;
按下键在第1列,R7赋列值01H
LJMPKEYVAL4
KEYVAL2:
MOVR7,#00H;
LJMPKEYVAL5
KEYVAL3:
JBP2.4,K1
MOVA,