电子系统设计Word格式.docx
- 文档编号:7344510
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:37
- 大小:579.27KB
电子系统设计Word格式.docx
《电子系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《电子系统设计Word格式.docx(37页珍藏版)》请在冰点文库上搜索。
3)学习和掌握Protues软件的使用;
4)学习和掌握LOPE仿真软件的使用;
5)学习和掌握LP5124实时在线仿真器的使用;
6)掌握单片机实验板的硬件结构和主要元件的功能、用途和物理地址,并且根据要求编制和调试程序;
1.3编程内容
1)用780578127912芯片设计+5V+12V-12V直流稳压电源;
2)LM324集成运算放大器,设计频率可调、占空比可调的方波发生电路;
3)51单片机最小系统;
4)按下第一个键显示1,按下第二个键显示2,按下第三个键显示3,按下第四个键显示4;
5)按一个键显示加一,按另一个键显示减一;
6)编写十进制累加显示程序;
7)串口通信。
8)根据HB51单片机实验板上的DS12887时钟芯片和键盘与显示器接口芯片Intel8279,编写电子时钟软件程序,可以通过键盘对时间和日期进行修改和设置。
第二章硬件设计
2.1实验芯片
(1)7805
7805是常用到的稳压芯片了,他的使用方便,用很简单的电路即可以输入一个直流稳压电源,他的输出电压恰好为5v,刚好是51系列单片机运行所需的电压,其中1接整流器输出的+电压,2为公共地(也就是负极),3就是我们需要的正5V输出电压了,
(2)7812
7812—12V为固定正电压稳压电路,属三端正电源稳压电路系列(3TerminalspositiveVoltageRegulatorSeries)。
(3)7912
7912是—12V电源稳压集成电路,为3脚单列直插式塑料封装。
(4)AT89S51
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
第三章软件设计
3.1直流稳压电源的设计
3.1.1方案设计
稳压电源由电源变压器、整流电路、滤波电路和稳压电路四个部分组成,如图1所示。
1、电源变压器T的作用是将电网220V的交流电压变换成整流滤波电路所需要的交流电压Ui。
2、整流电路:
整流电路将交流电压Ui变换成脉动的直流电压。
再经滤波电路滤除较大的纹波成分,输出纹波较小的直流电压U1。
3、滤波电路:
经整流后的直流输出电压脉动性很大,不能直接使用,为减少其交流成分,常在整流电路后接滤波电路。
滤波电路的主要任务是将整流后的单向脉动直流电压中的纹波滤除掉,使其输出平滑的直流电压,这里我们采用接入滤波电容来组成滤波电路。
4、
稳压电路作用是当外界因素(电网电压、负载、环境温度)发生变化能使输出直流电压不受影响,从而维持稳定的输出,常用集成稳压器,小功率稳压电源中经常使用三端集成稳压器。
常用的三端集成稳压器有固定式三端稳压器与可调式三端稳压器。
常用可调式正压集成稳压器有LM317系列,它们的输出电压从1.25V-37伏可调,最简的电路外接元件只需一个固定电阻和一只电位器。
其芯片内有过渡、过热和安全工作区保护,最大输出电流为1.5A。
其典型电路如图2-5所示,其中电阻R1与电位器R2组成输出电压调节器,输出电压Uo的表达式为:
Uo=1.25(1+R2/R1)式中R1一般取120-240欧姆,输出端与调整端的压差为稳压器的基准电压(典型值为1.25V)。
3.1.2芯片管脚及功能
3.1.3原理图
3.1.4仿真结果
3.2方波发生电路
3.2.1方案设计
由集成运放构成的方波发生器,包括迟滞比较电路和RC积分电路两大部分。
电路原理图如下所示。
因为矩形波电压只有两种状态,不是高电平,就是低电平,所以电压比较器是它的重要组成部分;
因为产生振荡,就是要求输出的两种状态自动地相互转换,所以电路中必须引入反馈;
因为输出状态应按一定的时间间隔交替变化,即产生周期性变化,所以电路中要有延迟环节来确定每种状态维持的时间,即RC
积分电路。
3.2.2工作原理
设某一时刻输出电压uO=+UZ,则同相输入端电位uc=+UT。
uO通过R对电容C正向充电。
反相输入端电位uc随时间t增长而逐渐升高,当t趋近于无穷时,uc趋于+UZ;
一旦uc=+UT,再稍增大,uO就从+UZ跃变为-UZ,与此同时uc从+UT跃变为-UT。
随后,uO又通过R对电容C放电。
反相输入端电位uc随时间t增长而逐渐降低,当t趋近于无穷时,uc趋于-UZ;
一旦uc=-UT,再稍减小,uO就从-UZ跃变为+UZ,与此同时,uc从-UT跃变为+UT,电容又开始反向充电。
而上述过程周而复始,电路产生了输出状态的自动转换,便输出方波。
3.2.3芯片简介
LM324是由四个独立的运算放大器组成的电路。
它设计在较宽的电压范围内单电源工作,但亦可在双电源条件下工作。
本电路在家用电器上和工业自动化及光、机、电一体化领域中有广泛的应用。
其特点如下:
有宽的单电源或双电源工作电压范围;
内含相位校正回路,
外围元件少;
电压输出范围宽;
共模输入电压范围宽。
它有5
个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo
的信号与该输入端的相位相反;
Vi+(+)为同相输入端,表示运放输出端Vo
的信号与该输入端的相位相同。
3.2.4原理图
3.2.5仿真结果
3.351单片机最小系统
3.3.1方案设计
一个典型的单片机最小系统一般由时钟电路、复位电路、键盘电路、显示电路等部分组成,有时也外扩有片外RAM和ROM以及外部扩展接口等电路。
图为单片机最小系统结构框图。
1、系统时钟电路
单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择6MHz、8MHz或12MHz等频率的石英晶体,补偿电容通常选择20-30pF左右的瓷片电容。
2、复位电路
单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
复位电路结构如图3所示。
上电自动复位通过电容C3充电来实现。
手动按键复位是通过按键将电阻R2与VCC接通来实现。
3.3.2原理图
3.3.3仿真结果
3.4单片机实验板
3.4.1电路板原理图
3.4.2显示实验
本实验要求实现的功能是:
按下键几则显示几。
功能比较简单。
3.4.3加减实验
按一个键显示加一,按另一个键显示减一
设计步骤
基本思路是,利用定时器1,每定时1秒则进入中断一次,从最地位开始加一,加一完后并判断是否加到10,若加到10,则将此位清零后,其更高的一位加一,一次类推。
由于定时器初值的TH1和TL1的最大值均为255,即最大定时值达不到1秒,所以中断程序内采用计数10次的方法,在定时100毫秒,并且计数满10次的情况下进行一次加一运算。
主程序中则是对加一后的数值进行逐位显示。
由于采用动态显示,在显示完一位后,需要进行一定的延时,由于视觉暂留作用,就可看见显示的数。
设置好初始的位码,查表后送入对应段码,进行一位显示,然后每显示完毕位码右移一位,继续查表送段码,就是这样依次不断循环,最终可以观察到动态显示的不断加一的4位数码管动态显示过程。
程序流程图
3.4.4计数实验
本实验的要求是编写十进制累加显示程序。
3.4.5串口通信
串行接口的一般概念单片机与外界进行信息交换称之为通讯。
8051单片机的通讯方式有两种:
并行通讯:
数据的各位同时发送或接收。
串行通讯:
数据一位一位顺序发送或接收。
参看下图:
串行通讯的方式:
异步通讯:
它用一个起始位表示字符的开始,用停止位表示字符的结束。
其每帧的格式如下:
在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。
用这种格式表示字符,则字符可以一个接一个地传送。
在异步通讯中,CPU与外设之间必须有两项规定,即字符格式和波特率。
字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。
原则上字符格式可以由通讯的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII标准。
波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。
例如,数据传送的速率是120字符/s,而每个字符如上述规定包含10数位,则传送波特率为1200波特。
3.5电子时钟
3.5.1方案设计
使用软件实现数字时钟。
原理为:
在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;
若秒值达到60,则将其清零,并将相应的分字节值加1;
若分值达到60,则清零分字节,并将时字节值加1;
若时值达到24,则将十字节清零。
该方案具有硬件电路简单的特点。
但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
3.5.2程序流程图
第四章结束语
通过本次实验,收获了很多。
首先,又多学会了几门软件的使用方法,有Protel软件、KeilC软件和Protues软件,这些软件各有各的用途,如Protel软件,基本流程即先画原理图,进行封装,装入网络表与元件,导入PCB界面,进行布局,覆铜,在实际应用过程中,也遇到一些困难,刚开始也很难找到头绪,但渐渐的,通过老师的引导,也在一点一点的掌握。
对于Protues软件,在实验中的主要应用是用来画原理图,在设计直流稳压电源、方波发生电路和51单片机最小系统时,都用了这个软件。
用这个软件,一般只要原理图画对,就基本能实现。
这就要求画原理图是要很仔细。
对于一些不太了解的,可以通过查阅书籍或网络来解决。
在此次实验中,KeilC软件单独使用的情况较少,多数都是KeilC和LOPE仿真软件联合使用。
这一部分需要编写程序,主要是用汇编和C语言来进行编写。
由于很久没编过程序了,在编写时,去收集一些类似程序,在读懂的基础上进行修改。
总的来说,此次实验收获还是很大的,对于学过的知识是一个很好的应用和复习的过程,使之前学过的内容能掌握的更好。
第五章元器件明细表
实验题目
项目类型
元器件
直流稳压电源
Protues仿真
2W02G、7812、7912、7805、DISC100N50V、HITEMP47U25V、TRAN-2P3S、VSINE
方波发生器
HITEMP10U50V(极性电容)、LM324、POT-HG(滑动变阻器)、RES
最小系统
73HC373(数据锁存器)、AT89C51、BUTTON、CAP、CRYSTAL(晶振)、RES、RESPACK-8(排阻)
按键功能
Lope仿真、
Keilc编程
7SEG-MPX4-CC(共阳数码管)、AT89C51、BUTTON、CAP、CRYSTAL(晶振)、RES、PNP(低电平导通)
串口通信
Protues仿真、Keil编程、LP5124仿真软件
AT89C51、超级终端
时钟设计
硬件电路、编程
AT89C51、DS12C887时钟芯片、数码管、键盘等
第六章附录
6.1串口实验程序
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharflag,a,i;
ucharcodetable[]="
Ilove"
;
voidinit();
voidmain()
{
init();
while
(1)
{
if(flag==1)
{
ES=0;
//接收到数据后关闭串口中断准备发送数据
for(i=0;
i<
8;
i++)
{
SBUF=table[i];
while(!
TI);
//等待是否发送完毕
TI=0;
}
SBUF=a;
while(!
TI=0;
ES=1;
//发送数据以后打开串口中断准备接收数据
flag=0;
}
}
}
voidinit()//定时器T1初始化子程序T1只是起到溢出重装初值的作用无需中断因此不用开中断不用写T1中断服务在程序
TMOD=0x20;
//T1工作方式2八位自动重装初值
TH1=0xfd;
//T1装初值波特率=9600b/s
TL1=0xfd;
//T1重装初值
TR1=1;
//启动T1
REN=1;
//允许串口接收
SM0=0;
//设定串口工作方式1
SM1=1;
//同上
EA=1;
//开总中断
ES=1;
//开串口中断
voidser()interrupt4//串口中断服务子程序
RI=0;
//软件清零以便产生下一次中断
a=SBUF;
//SBUF数据送给a
flag=1;
//flag标志位置1以便主程序判断是否已经接收到数据
6.2加减程序
按一个键显示加一,按另一个键显示减一。
ORG0000H
LJMPSTART
ORG0100H
START:
MOVSP,#60H
MOVDPTR,#TAB
MOV30H,#00H
MOV31H,#00H
//判断按键
M1:
MOVA,P2
JNBACC.7,M2
JNBACC.6,M2
SJMPSHI
//消抖
M2:
ACALLDELAY0
JNBACC.7,CHEN1
JNBACC.6,CHEN2
CHEN1:
INC31H
MOVR4,31H
CJNER4,#64H,RETE1
INC32H
MOVR4,32H
MOV32H,#00H
RETE1:
SJMPSHI
CHEN2:
MOVR4,31H
CJNER4,#00H,RETE21
MOV31H,#63H
CJNER4,#00H,RETE22
RETE21:
DEC31H
RETE22:
DEC32H
SHI:
MOVR0,#32H
MOVR7,#0FEH
//显示
LOOP2:
MOVA,@R0
MOVB,#10
DIVAB
MOVR1,A
SETBF0
SJMPLOOP
LOOP3:
MOVR1,B
CLRF0
LOOP:
MOVA,R1
MOVCA,@A+DPTR//查表显示
MOVP0,A
MOVP2,R7
MOVA,R7
RLA
MOVR7,A
ACALLDELAY
JBF0,LOOP3
DECR0
CJNEA,#0EFH,LOOP2
SJMPM1
//延时
DELAY:
MOVR6,#03H
DELAY1:
MOVR5,#0FFH
DELAY2:
DJNZR5,DELAY2
DJNZR6,DELAY1
RET
DELAY0:
MOVR6,#0FFH
DELAY11:
DELAY12:
DJNZR5,DELAY12
DJNZR6,DELAY11
RET
//段码表
TAB:
DB22H,0AFH,31H,25H,0ACH,64H,60H,2FH,20H
DB2CH,28H,0E0H,72H,8EH,30H,0E8H
END
6.3显示程序
按下第一个键显示1,按下第二个键显示2,按下第三个键显示3,按下第四个键显示4
#include<
reg51.h>
sbitKEY1=P2^7;
sbitKEY2=P2^6;
sbitKEY3=P2^5;
sbitKET4=P2^4;
delay(intn)
{inti;
for(;
n>
0;
n--)
for(;
1248;
i++);
main()
{P0=0xff;
P2=0xff;
while
(1)
if(KEY1==0)
{P2=0xfe;
P0=0x22;
delay(1000);
if(KEY2==0)
{P2=0xfd;
P0=0xfa;
if(KEY3==0)
{P2=0xfb;
P0=0x31;
if(KET4==0)
{P2=0xf7;
P0=0x25;
}}
6.4计数程序
sbita=P2^7;
sbitb=P2^6;
sbitc=P2^5;
sbitd=P2^4;
uchartab[]={0x22,0xaf,0x31,0x25,0xac,0x64,0x60,0x2f,0x20,0x2c};
uchartac[]={0xfe,0xfd,0xfb,0xf7};
unsignedinta1,a2,a3,a4;
voiddelay(intt)
uchari;
while(t--)
i=80;
while(i--);
}
{unsignedinti;
for(i=0;
10000;
{a1=i/1000;
a2=i/100%10;
a3=i/10%10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 系统 设计