大连大学 电子课程设计a.docx
《大连大学 电子课程设计a.docx》由会员分享,可在线阅读,更多相关《大连大学 电子课程设计a.docx(21页珍藏版)》请在冰豆网上搜索。
大连大学电子课程设计a
课程名称:
电子系统课程设计
指导教师:
刘春玲、李泽光
目录
第1章系统概述3
1.1电源电路3
1.2时钟电路设计3
1.3复位电路的设计3
1.4程序存储器选择电路4
1.5外围电路的设计4
第2章模块设计4
1.1数码管动态显示4
1.2键盘编程5
1.2.1键盘的任务:
5
1.2.2.键盘输入特点5
1.2.3.如何消除按键的抖动5
1.2.3按键显示5
1.3串行通信6
1.3.1单发送数据6
1.3.2收发数据7
第3章PROTEL99SE使用7
3.1绘制原理图前的参数设置8
3.1.1工具栏的打开和关闭8
3..1.2图纸参数设置8
3.2绘制电路原理图和设计层次原理图8
3.2.1编辑元器件属性8
3.2.2绘制电路原理图9
3.2.3设计层次原理图9
3.3电路原理图的后期处理9
3.3.1检查电路原理图9
3.3.2对齐排列元器件10
3.4设计印制电路板10
3.4.1设置PCB板工作参数10
3.4.2设置PCB板工作层面10
3.4.3装入网络表及元件封装10
3.4.4电气特性检查及尺寸测量10
第4章结束语10
附录1:
程序11
附录2:
附图15
附录3:
参考文献19
前言
本课程设计主要介绍电子系统课程设计的小板设计和PROTEL99SE的使用。
注意仪器使用,示波器、信号源、稳压电源使用及注意事项。
LOP仿真器的使用。
注意总线方式和I/O方式仿真头的位置,I/O方式在里面。
用仿真器自带小板编程序。
电子系统课程设计的小板包括小板编程和设计内容、单片机最小系统电路原理图设计及图纸、单片机最小系统PCB设计图。
小板编程主要包括掌握数码管动态显示,键盘计数器,扫描键盘的编程方法,注意键盘的去抖动处理,单片机实验板串行通信的实现。
PROTEL99SE包括设计电路原理图,设计层次电路原理图,电路原理图的后期处理,制作和编辑电路原理图元器件库,生成各种原理图报表文件,设计印制电路板,制作和修改PCB元器件封装库等内容。
第1章系统概述
单片机最小系统,是指用最少的元件组成以单片机为核心元件的可以正常工作具有特定功能的单片机系统,是单片机产品开发的核心电路。
下面我们设计单片机最小系统,实现的功能为外扩存储器,同时应具有上电复位和手动复位功能,并且使用单片机片内程序存储器存放用户程序。
对51系列单片机来说,单片机要正常工作,必须具有五个基本电路:
电源电路、时钟电路、复位电路、程序存储器选择电路、外围电路。
因此,单片机最小系统一般应该包括单片机、晶振电路、复位电路、外围电路等。
1.1电源电路
单片机芯片的第40脚为正电源引脚VCC,一般外接+5V电压。
第20脚为接地引脚GND。
1.2时钟电路设计
单片机是一种时序电路,必须要有时钟信号才能正常工作。
芯片的18脚(XTAL2)、19脚(XTAL1)分别为片内反向放大器的输出端和输入端,只要在18脚(XTAL2)和19脚(XTAL1)之间接上一个晶振,再加上2个30PF的瓷片电容即可构成单片机所需的时钟电路。
注意,当采用外部时钟时,19脚(XTAL1)接地,18脚(XTAL2)接外部时钟信号。
见附录图1
1.3复位电路的设计
单片机芯片的第9脚RST(Reset)是复位信号输入端。
在开机或工作中因干扰而使程序失控,或工作中程序处于某种死循环状态等情况下都需要复位。
MCS-51系列单片机的复位靠外部电路实现,信号从RST引脚输入,高电平有效,只要保持RST引脚高电平2个机器周期,单片机就能正常复位。
常见的复位电路有上电复位电路和按键复位电路二种。
见附录图2
1.4程序存储器选择电路
单片机芯片的第31脚(EA)为内部与外部程序存储器选择输入端。
当EA引脚接高电平时,CPU先访问片内4KB的程序存储器,执行内部程序存储器中的指令,当程序计数器超过0FFFH时,将自动转向片外程序存储器,既是从1000H地址单元开始执行指令;当EA引脚接低电平时,不管片内是否有程序存储器,CPU只访问片外程序存储器。
1.5外围电路的设计
单片机的主要控制功能是通过单片机的I/O口按不同时序输出不同的高低电平控制外部的电路实现特定的功能。
AT89S51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
这四个口的电路结构不完全相同,使用也就有所区别。
依据单片机的P0、P1、P2、P3口的功能特点和单片机最小系统要实现外扩数据存储器6264和外扩程序存储器EPROM27512。
综合上面的电路设计,AT89S51单片机最小应用系统见附录图3。
第2章模块设计
1.1数码管动态显示
目的:
掌握扫描键盘的编程方法,注意键盘的去抖动处理。
显示数据的方法。
显示器键码:
0—22H1—0AFH2—31H3—25H4—0ACH
5—64H6—60H7—2FH8—20H9—2CH
A—28HB—0E0HC—72HD—81HE—30H
F—0E8H
数码管显示方法可分为静态显示和动态显示两种。
静态显示就是数码管的8段输入及其公共端电平一直有效。
动态显示的原理是,各个数码管的相同段连接在一起,共同占用8位段引管线;每位数码管的阳极连在一起组成公共端。
利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。
系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。
动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。
人的视觉神经反应速度为1/24秒,达到起码的视觉暂留至少要10fps。
视觉暂留时间依照个体差异,范围在0.1-0.4秒左右(也有说0.05~0.2秒)在计算机图像领域中,“FPS”是词组“FramesPerSecond”的缩写。
“FramesPerSecond”在计算机图像范畴内被翻译为:
“每秒传输帧数”。
更确切的解释,就是“每秒中填充图像的帧数(帧/秒)。
例如:
75Hz的刷新率刷也就是指屏幕一秒内只扫描75次,即75帧/秒。
而当刷新率太低时我们肉眼都能感觉到屏幕的闪烁,不连贯,对图像显示效果和视觉感观产生不好的影响。
1.2键盘编程
1.2.1键盘的任务:
(1)首先判别是否有键按下。
若有进入下一步工作。
(2)识别哪一个键被按下,并求出相应的键值。
(3)根据键值,找到相应键值的处理程序入口。
1.2.2.键盘输入特点
按键开关的两端分别连接在行线列线上,通过键盘机关机械触点的断开闭合,其行线电压输出。
键的闭合和断开过程中的抖动期(呈现一段负脉冲),抖动时间长短与开关的机械特性有关,一般为5-10ms。
稳定的闭合期,其时间由按键动作确定,一般为十分之几秒到几秒。
1.2.3.如何消除按键的抖动
(1)一种是通过软件延时来消除按键消抖,基本思想是:
在检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有键按下。
当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为高电平,如果仍为高电平,说明按键确实松开。
(2)另一种方法是采用专用的键盘显示器接口芯片,这类芯片中都有自动消抖的硬件电路。
1.2.3按键显示
程序1:
按一个键,显示器显示1,按另一个键,显示器显示2。
程序2:
按一个键,显示器显示加1,按另一个键,显示器显示减1。
程序和流程图分别见附录程序。
1.3串行通信
1.3.1单发送数据
利用主实验板编写接收程序,用板上自带的显示器显示接收内容,流程图如下:
初始化设置,采用T1,方式2,设置TMOD,TH1,TL1,串口方式1(8位异步收发,比特率可变由定时器1控制),SCON,PCON等寄存器。
TI:
发送中断标志位。
采用方式1中,串行口发送停止位的开始时置TI为1,TI=1表示一帧数据发送结束。
TI的状态可供软件查询,也可申请中断。
CPU响应中断后,在中断服务程序中向SBUF写入要发送的下一帧数据,TI必须由软件清零。
波特率定制:
方式1的波特率由定时器T1的溢出率(T1每秒溢出的次数)来确定。
定时器T1的溢出率=2^SMOD/32*fosc/12/(256-TL1)
具体程序见附录程序
1.3.2收发数据
用仿真器自带的实验板产生循环发送的串行数据02H,30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,OAH,0DH,05H,30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,OAH,0DH
串口助手窗口和LOPE编译器均设置相同的波特率。
本程序采用中断方式。
且必须设置SCON的REN位为1,REN为允许串行口接收数据。
RI:
发送中断标志位。
采用方式1中,串行口收到停止位的开始时置RI为1,RI=1表示一帧数据接收完毕。
TI的状态可供软件查询,也可申请中断。
CPU响应中断后,要求CPU从接收SBUF取走数据,RI必须由软件清零。
收发数据需编协议。
第3章PROTEL99SE使用
本课程设计基于PROTEL99SE的基本使用,分为绘制原理图前的参数设置,绘制电路原理图和设计层次原理图,电路原理图的后期处理,设计印制电路板几部分。
3.1绘制原理图前的参数设置
3.1.1工具栏的打开和关闭
如果要打开多个工具栏,则逐个打开相应的工具栏就显得太麻烦。
此时只需单击view->toolbars->customizeresources,选择需要的工具栏即可。
或者用快捷键B也可。
3..1.2图纸参数设置
选择design->options,即打开documentoptions,图纸参数设置关系到成品图纸和绘制图纸的难易程度。
1.设置图纸幅面即standardstyle
2.设置图纸方向即options中的orientation,landscape为横放,portrait为竖放
3.设置工作区颜色
4.设置图纸栅格:
snap为锁定栅格即光标在图纸上每次移动的距离,即以移动的基本距离为设定的值,单位是mil(即1/1000英寸=0.00254cm)。
visib为可视栅格即栅格在图纸上实际的距离,单位是mil(即1/1000英寸=0.00254cm)。
3.2绘制电路原理图和设计层次原理图
3.2.1编辑元器件属性
Libref:
表示该元器件在元件库的名称
Footprint:
表示该元器件的封装形式
Designator:
元器件序号栏,这个栏的内容必须是整张电路原理图唯一的一个序号,绝对不允许与其他元器件的序号重复,都则自动布线是会出现问题(手动布线除外)。
Part:
用来设置元器件放置妥当后在电路原理图上显示的型号名称。
3.2.2绘制电路原理图
绘制电路原理图只要分为5个部分元件延长线,放置网络标号,绘制总线,绘制分支线,绘制电路连线。
.绘制工具为wiringtools中的各个按钮如下。
切记不可使用drawingtools中的line当做wiringtools中的wire。
且依次按
下快捷键同样可使用wiringtools。
3.2.3设计层次原理图
1.自顶向下设计层次原理图:
2.总图设计顶图:
方框电路图,端口设计,连线等。
3.建立层次原理图功能电路原理图:
单击design->createsheetfromsymbol从符号生成图纸。
然后将光标移到工作区,此时单击方块电路,会出现“转换输入输出端口”对话框。
4.完成子图的设计:
将总图模块化。
见附录图A2,.CPU,MEMORY
3.3电路原理图的后期处理
3.3.1检查电路原理图
选择Tools->annotate注释见附录图
选择Tools->erc电气规则检查见附录图
3.3.2对齐排列元器件
选择edit->align中的排齐方式。
3.4设计印制电路板
可采取手动布线和自动布线两种。
手动布线包括布电气连接线,放置焊盘,放置过孔,放置文字,放置坐标,放置尺寸标注,放置坐标原点,放置新的元件,放置填充区。
首先应设置PCB板工作参数。
3.4.1设置PCB板工作参数
主要设置栅格大小,选择design->options中的options:
measurementunit有mil和mm两种,snapX,snapY大小应为10mil。
以及光标设置,选择tools->preferences->other->cursortype中的large,以便于布线,对齐。
3.4.2设置PCB板工作层面
单击design->options,分为signallayers信号层,mechanicallayers机械层,masks阻焊层,silkscreen丝印层,other其他层面。
在system设置中有connection即是否显示飞线,在绝大多数情况下均要显示飞线。
3.4.3装入网络表及元件封装
单击design->loadnets,若出现error,可于原理图中查询,即采取在原理图浏览器中管理电路图:
用鼠标单击browse->primitives,选择需要修改的元件,单击jump,可迅速找到元件。
修改封装时需对应pcblibrary有的封装。
例如:
RAD0.2,AXIAL0.4,DIP8等。
3.4.4电气特性检查及尺寸测量
单击tools->design->designrulecheck->runDRC,若出现subnet则表示需要覆铜,见附录图有铺地的PCB图和DRC检查。
尺寸测量即先设置design->options中的options-.>measurementunit中的metric后,再选reports->measuredistance,量对角线。
第4章结束语
简单介绍对设计题目的结论性意见,进一步完善或改进的意向性说明,总结课程设计的收获与体会。
附录1:
程序
程序1:
按一个键,显示器显示1,按另一个键,显示器显示2。
ORG0000
LJMPSTART
ORG100H
TAB:
DB22H,0AFH,31H,25H,0ACH,64H,60H,2FH,20H,24H,28H,0E0H,70H
START:
MOV30H,#0
LOOP:
MOVA,P2
ANLA,#0F0H
MOV34H,A
LCALLLED
MOVA,P2
ANLA,#0F0H
CJNEA,34H,LOOP1
LJMPRETURN
LOOP1:
MOVR4,34H
CJNER4,#0B0H,JIA
SJMPLOOP
ONE:
CJNER4,#70H,RETURN
RETURN:
ACALLLED
LJMPLOOP
LED:
MOVR3,#0FEH
MOVR0,#30H
LED1:
MOVDPTR,#TAB
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A;showcode
MOVA,R3
MOVP2,A;P2.32.22.12.0
LCALLDELAY
RET
DELAY:
MOVR6,#25
DEL1:
MOVR7,#25
DEL2:
DJNZR7,DEL2
DJNZR6,DEL1
RET
END
程序2:
键盘计数器,按一个键,显示器显示加1,按另一个键,显示器显示减1。
ORG0000
LJMPSTART
ORG100H
TAB:
DB22H,0AFH,31H,25H,0ACH,64H,60H,2FH,20H,24H,28H,0E0H,70H
START:
MOV30H,#0
MOV31H,#1
MOV32H,#2
MOV33H,#3
LOOP:
MOVA,P2
ANLA,#0F0H
MOV34H,A
LCALLLED
MOVA,P2
ANLA,#0F0H
CJNEA,34H,LOOP1
LJMPRETURN
LOOP1:
MOVR4,34H
CJNER4,#0B0H,JIA
MOVA,33H
SUBBA,#01H
MOV33H,A
CJNEA,#0FFH,RETURN
MOV33H,#9H
MOVA,32H
SUBBA,#01H
MOV32H,A
CJNEA,#0FFH,RETURN
MOV32H,#09H
MOVA,31H
SUBBA,#01H
MOV31H,A
CJNEA,#0FFH,RETURN
MOV31H,#09H
MOVA,30H
SUBBA,#01H
MOV30H,A
CJNEA,#0FFH,RETURN
MOV30H,#09H
SJMPLOOP
JIA:
CJNER4,#70H,RETURN
MOVA,#01H
ADDA,33H
MOV33H,A
CJNEA,#0AH,RETURN
MOV33H,#00H
MOVA,#01H
ADDA,32H
MOV32H,A
CJNEA,#0AH,RETURN
MOV32H,#00H
MOVA,#01H
ADDA,31H
MOV31H,A
CJNEA,#0AH,RETURN
MOV31H,#00H
MOVA,#01H
ADDA,30H
MOV30H,A
CJNEA,#0AH,RETURN
MOV30H,#00H
RETURN:
ACALLLED
LJMPLOOP
LED:
MOVR3,#0FEH
MOVR0,#30H
LED1:
MOVDPTR,#TAB
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A;showcode
MOVA,R3
MOVP2,A;P2.32.22.12.0
LCALLDELAY
INCR0
RLA
MOVR3,A
CJNER3,#0EFH,LED1
RET
DELAY:
MOVR6,#25
DEL1:
MOVR7,#25
DEL2:
DJNZR7,DEL2
DJNZR6,DEL1
RET
END
串行通信发数据
ORG00H
LJMPSTART
START:
MOVTMOD,#20H
MOVTH1,#0F3H
MOVTL1,#0F3H
MOVPCON,#80H
MOVSCON,#40H
SETBTR1
LOOP:
MOVA,#01H
MOVSBUF,A
WAIT:
JNBTI,WAIT
CLRTI
LCALLDELAY
LCALLDELAY
SJMPLOOP
DELAY:
MOVR7,#200
DEL1:
MOVR6,#125
DEL2:
DJNZR6,DEL2
DJNZR7,DEL1
RET
END
串行通信收发数据
LJMPSTART
ORG0023H
LJMPCOMM
START:
MOVTMOD,#20H
MOVTH1,#0F3H
MOVTL1,#0F3H
MOVPCON,#80H
MOVSCON,#50H
MOVIE,#90H
SETBTR1
HERE:
SJMPHERE
COMM:
JBRI,RRR
JBTI,TTT
LJMPRETURN
RRR:
CLRRI
MOVA,SBUF
MOV30H,A
MOVA,30H
MOVSBUF,A
TTT:
CLRTI
RETURN:
RETI
附录2:
附图
时钟电路
复位电路
单片机最小系统与外扩存储器原理图
单片机最小系统与外扩存储器PCB图
层次原理图顶图A2
层次原理图子图CPU
层次原理图子图MEMORY
注释后图
Erc检查后的图
DRC检查
铺地的PCB
铺地之后的DRC
附录3:
参考文献
[1]张毅刚.单片机原理及应用.北京:
高等教育出版社,2003
[2]赵广林.轻松跟我学Protel99SE电路设计与制版.北京:
电子工业出版社,2013
[3]杨美荣.浅析AT89S51单片机最小系统的设计与制作[J]研究与探索,2011