微机综合实践课程设计文档格式.docx
- 文档编号:19007606
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:30
- 大小:736.73KB
微机综合实践课程设计文档格式.docx
《微机综合实践课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《微机综合实践课程设计文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
4.2电路设计软件AltiumDesigner
我们在制作硬件,得到我们所需要的成品,需要运用各种软件,工具来实现我们的目的。
首先知道我们需要什么元器件,运用什么样的电路图,得到我们所需要的电路图如何将电路放到我们的铜板上面,焊接元器件,调试电路等等各种步骤,都需要我们了解,并亲自动手操作。
右图是我们的小组制作的硬件电路。
我们采用的软件是AltiumDesigner电路设计软件,AltiumDesigner是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。
这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,其主要功能有:
1.原理图设计;
2.印刷电路板设计;
3.FPGA的开发;
4.嵌入式开发;
5.3DPCB设计。
基于这些优点,AltiumDesigner可以为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,使用这款软件将使电路设计的质量和效率大大提高。
我们的本次课设只需使用其前面的两点便可,有助于我们比较成功的完成课程设计任务。
4.3元器件清单
Footprint
Comment
LibRef
Designator
Description
Quantity
RAD0.1
30PF
CAP
C1,C2
2
RB.1/.2
CAP-2
C3
1
XTAL-1
CRY
CY1
LED
D1
SIP2
CON2
J1Soures
Connector
SIP-8*2
点阵
CON8*2
J2
sip-4
CON4
J5
SW1
SW4
KEY1,KEY2,
KEY3,KEY4,S1
5
AXIAL0.4
1k
RES
R1,R3
10k
R2
SIP-9
排阻
R4
DIP-40
51
U1
18
4.4电路的设计及注意事项
4.4.1电路原理图和PCB的设计
第一步:
新建一个工程
绘制一个完整的电路图,我们的第一步是建立一个工程文件,我们的后续工作都在这个工程文件下面进行,建立工程的步骤为:
File—New—Project—PCBProject。
如下图所示步骤:
然后得到我们的工程文件,但这只是一个空的工程,里面什么都没有,只是给我们开辟了一个空间,我们需要在这个空间里面加入我们的原理图。
第二步:
新建一个原理图
建立完工程之后接下来我们需要建立一个能够画电路图的原理图,步骤为:
File—New—Schematic。
如下图所示步骤
第三步:
新建一个PCB
原理图只是给我们提供绘制理论电路的地方,只是一个简单的物理电路图,最终需要制作刻录电路图形在电路板上面的是PCB,建立好工程和电路图之后我们还需要建立一个PCB,它是联系理论电路与实物电路的桥梁,步骤为:
File—New—PCB。
最后得到有一个完整的工程文件,里面包含我们的“.SchDoc”和“.PcbDoc”两个文件,在这个工程文件中根据我们的方案绘制电路图和PCB。
4.4.2注意事项
绘制原理图的注意事项:
1、我们要保证所需要的原理图元器件在我们的原理图库中存在,如果没有,我们建立一个原理图库,绘制我们需要的元器件,步骤为:
File—New—Library—SchematicLibrary。
绘制好元器件之后并对元器件添加封装和设置器件的参数;
2、放置每一种元器件的第一个时,按下TAB键,修改元器件的属性,则再次放下该器件时已经具有封装、参数值以及顺序编号;
3、连线不方便或者距离较远时,利用网络标号来表示电器链接;
4、使用ERC来检查我们的电路原理图连线是否有问题,从而消除电路漏连,重复编号等错误,提高我们电路原理图设计的可靠性;
5、放置电路原理图之前,有些器件可能是没有添加有封装,或者封装错误,所以当我们选择元器件的时候先按下TAB键来添加或者修改我们元器件合适的封装,防止我们使用了错误的封装无法安插元器件,减少错误的发生。
绘制PCB的注意事项:
1、绘制PCB的第一步是元器件的布局,根据PCB走线最短原则,按照电路图将电路划分成不同的功能模块,如电源部分,驱动部分,CPU部分的放置,然后根据PCB的尺寸和安装整体移动各相关模块,这样就能保证相同模块内的走线最短,各个模块之间的连接最合理;
2、布局时充分利用CrossProbe工具图标迅速找到PCB和Sch中对应的元器件,方便布局;
3、可以从Sch通过CrossProbe工具图迅速找到PCB中对应的元器件,也可以从PCB中通过CrossProbe工具图迅速调到原理中相应元器件或网络标号相应的位置;
4、在进行布线时,很多同学都喜欢使用自动布线功能,方便,节省时间。
我们最好不要使用自动布线,采用模块化布局,然后边调整边走线的方式,使我们的电路图形看起来更加简洁美观。
5、导线宽度设计,布线之前我们需要设计我们的线性规则,导线的宽度至少为28mil,防止导线宽度过小,在腐蚀电路图形时导线断开,有些同学在腐蚀电路板的时候因为导线宽度设计不合理,制作电路板时导线被腐蚀掉;
6、线间距设计,至少为10mil,防止导线挨得过近,产生短路,或者在信号流通时产生信号干扰;
7、焊盘设计,焊盘用于焊锡与元器件的连接,我们的焊盘大小设计要合理,按照手工焊接的话,我们的焊盘直径为75mil,孔的大小约为40mil,设计合理的焊盘大小,防止在钻孔的时候把焊盘钻掉。
4.5电路原理图
4.6图形显示PCB
五、程序流程图与源程序
5.1程序流程图
5.1.1主程序流程图
5.1.2中断子程序流程图
外中断0子程序流程图
定时器0中断子程序流程图
5.2源程序清单
5.2.1汇编语言程序
CNTAEQU30H
COUNTEQU31H
ORG00H;
程序起始地址
LJMPSTART
ORG03H;
外中断0程序入口
LJMPINIT0
ORG0BH;
定时器0中断程序入口地址
LJMPT0X
ORG30H
START:
MOVCNTA,#00H;
初始化
MOVCOUNT,#00H
MOVR0,#20
MOVTMOD,#01H;
T0工作模式1
MOVTH0,#(65536-50000)/256;
设置初值
MOVTL0,#(65536-50000)MOD256
MOVIP,#01H
CLRC
SETBTR0;
启动定时器0
SETBET0;
定时器0中断允许
SETBEX0
SETBIT0
SETBEA;
开总中断
WT1:
MOVR6,#5;
消抖
MOVR7,#248
D1:
DJNZR7,$;
R7减1不为0则继续减,直至为零
DJNZR6,D1;
R6减1不为0则转到D1处
JBP1.0,WT2;
辨别按键状态,若按键没按下,则转到WT2处
MOVCOUNT,#00H;
显示第一个图形
WT2:
MOVR6,#5
MOVR7,#248
D2:
DJNZR7,$
DJNZR6,D2
JBP1.1,WT3
MOVCOUNT,#01H;
显示第二个图形
WT3:
D3:
DJNZR6,D3
JBP1.2,WT4;
显示第三个图形
MOVCOUNT,#02H
WT4:
D4:
DJNZR6,D4
JBP1.1,NEXT
L1:
LCALLDELAY
NEXT:
SJMPWT1;
DELAY:
MOVR6,#250
L2:
NOP
DJNZR6,L2
RET
LOOP:
MOVDPTR,#TAB;
TAB表首地址送DPDR
MOVA,CNTA;
MOVCA,@A+DPTR;
查表TAB
MOVP2,A
MOVDPTR,#GRAPH;
GRAPH表首地址送DPDR
MOVA,COUNT
MOVB,#8
MULAB
ADDA,CNTA
查表GRAPH
MOVP0,A
INCCNTA
MOVA,CNTA
CJNEA,#8,NEX
MOVCNTA,#00H
LJMPLOOP
INIT0:
CLREX0
MOVA,R0
ADDCA,#20
MOVR0,A
CJNER0,#100,NEX
MOVR0,#20
SETBEX0
T0X:
MOVTH0,#(65536-50000)/256;
重置初值
MOVTL0,#(65536-50000)MOD256
DJNZR0,NEX
INCCOUNT
MOVR1,COUNT
CJNER1,#02H,NEX
MOVCOUNT,#00H
NEX:
RETI
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
GRAPH:
DB00H,08H,78H,3CH,3CH,78H,08H,00H;
"
★"
0
DB00H,3CH,7EH,7EH,7EH,7EH,3CH,00H;
●"
1
DB00H,0CH,1H,3H,7CH,3EH,1EH,0CH;
"
心形"
2*
END
5.2.2C语言程序
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
uchartable[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//列扫描数组
ucharFigure[3][8]={//字模取模方式阴码逆向逐列式
{0x00,0x08,0x78,0x2C,0x2C,0x78,0x08,0x00},/*"
0*/
{0x00,0x3C,0x7E,0x7E,0x7E,0x7E,0x3C,0x00},/*"
1*/
{0x00,0x0C,0x1E,0x3E,0x7C,0x3E,0x1E,0x0C},/*"
2*/
};
ucharlie;
//列扫描
ucharhang;
//行扫描
uchartime;
//定时时间
uchartemp;
//暂存P1口状态
uintcount=20;
/*************************************************/
/*函数功能:
延时函数*/
/*voiddelay(uintz)*/
/*入口参数:
z*/
/*出口参数:
无*/
voiddelay(uintn)
{
uinti,j;
for(i=n;
i>
0;
i--)
for(j=110;
j>
j--);
}
检查P1口哪个按键按下*/
/*voidcheck()*/
voidcheck()
temp=P1;
temp=temp&
0x1f;
if(temp!
=0x1f)
{
delay(5);
switch(temp)
{
case0x1e:
hang=0;
break;
case0x1d:
hang=1;
case0x1b:
hang=2;
default:
break;
}
主函数*/
/*voidmain()*/
voidmain()
{
TMOD=0x01;
//选择T0工作模式1
TH0=(65536-50000)/256;
//定时时间为50ms
TL0=(65536-50000)%256;
EA=1;
//打开总中断
EX0=1;
//打开外部中断0
ET0=1;
//打开定时器0中断
IT0=1;
//外中断0下降沿触发
TR0=1;
//打开定时器0
IP=0x01;
//设置外中断0为高优先级
while
(1)
check();
for(lie=0;
lie<
8;
lie++)
{
P0=Figure[hang][lie];
P2=table[lie];
delay
(1);
}
外部中断0调整图形显示时间*/
/*voidInit0()interrupt0*/
voidInit0()interrupt0
count=count+20;
if(count==200)//1180
count=20;
对图形显示进行定时*/
/*voidT_0()interrupt1*/
voidT_0()interrupt1
TL0=(65536-50000)%256;
time++;
if(time==count)
time=0;
hang++;
}
if(hang==3)
六、系统功能分析与说明
6.1STC89C52RC单片机介绍
本次课程设计的单片机采用STC89C52RC,它是一种低功耗、高性能的8位CMOS微控制器。
片内含有8KB的存储器(EPROM),与8031引脚和指令系统完全兼容。
主要特性如下:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051;
2.工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机);
3.工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz;
4.用户应用程序空间为8K字节
5.片上集成512字节RAM;
6.通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;
8.具有EEPROM功能;
9.具有看门狗功能;
10.共3个16位定时器/计数器。
即定时器T0、T1、T2;
11.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒;
12.通用异步串行口(UART),还可用定时器软件实现多个UART;
13.工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级);
14.PDIP封装和PLCC封装。
6.1.1STC89C52RC单片机引脚功能
STC89C52RC的PDIP和PLCC引脚图
·
VCC(40引脚):
电源电压;
VSS(20引脚):
接地;
P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在FlashROM编程时,P0端口接收指令字节;
而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(IL)。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体功能如下表:
在对FlashROM编程和程序校验时,P1接收低8位地址。
P1.0和P1.1引脚复用功能
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IL)。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 综合 实践 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)