基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx

上传人:b****3 文档编号:17065808 上传时间:2022-11-28 格式:DOCX 页数:25 大小:1.02MB
下载 相关 举报
基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx_第1页
第1页 / 共25页
基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx_第2页
第2页 / 共25页
基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx_第3页
第3页 / 共25页
基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx_第4页
第4页 / 共25页
基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx

《基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。

基于STC89C52单片机的试验系统开发与设计Word文档下载推荐.docx

1.2系统设计目的和内容7

1.2.1设计目的7

1.2.2设计内容7

1.2.3设计要求7

1.2.4设计步骤7

第2章整体设计方案8

2.1开发板整体外观8

2.2整板电路PROTUES仿真电路8

2.3软件功能描述9

2.4仿真软件PROTUES中的效果图9

第3章硬件电路设计12

3.1两位一体共阴数码管12

3.1.1数码管概述12

3.1.2数码管内部结构12

3.1.3两位一体共阴数码管和74LS373锁存器接口电路12

3.2LCD1602液晶13

3.2.1LCD1602液晶简介13

3.2.2LCD1602液晶引脚介绍13

3.2.3LCD1602液晶外围接口电路14

3.3串口通信14

3.3.1串口通讯概述14

3.3.2MAX232接口电路14

第4章软件设计15

4.1程序整体流程图15

4.2程序清单16

第5章调试及故障分析20

5.1焊接准备阶段元器件测试、电路原理图故障分析20

5.2电路焊接过程中的故障分析20

5.3程序编写过程中的故障分析20

5.4实物演示效果20

结论22

谢辞23

参考文献24

附录25

冃IJ5

单片微型计算机简称单片机,是典型的嵌入式(MicrocontrollerUnit),单片机芯片常用英文字母的缩写MCU表示单片机,单片机又称,它不是完成某一个逻辑功能的,而是把一个到一个芯片上。

单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机,和计算机相比,只缺少了I/O设备。

概括的讲:

一块就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用是了解计算机原理与结构的最佳选择。

它最早是被用在工业控制领域。

由于在工业控制领域的广泛应用,单片机由内仅有CPU的专用发展而来。

最早的设计理念是通过将大量外围设备和集成在一个中,使更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的,当时的都是8位或4位的。

其中最成功的是的8031,此后在8031上发展出了系列系统。

因为简单可靠而性能不错获得了很大的好评。

尽管2000年以后ARM己经发展出了32位的超过300M的高端,直到目前基于8031的还在广泛的使用。

在很多方面单片机比专用更适合应用于,因此它得到了广泛的应用。

事实上是世界上数量最多,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬辘。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有。

手机、、、家用电器、电子玩具、以及鼠标等电脑配件中都配有1-2部。

汽车上一般配备40多部,复杂的上其至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,其至比人类的数量还要多。

第1章实验系统概述

1.1设计题目

1.2系统设计目的和内容

1.2.1设计目的

学会89C51的接口技术,并对实际电板进行系统开发

1.2.2设计内容

2电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;

3学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;

4在KeilC环境下,进行软件设计。

主要包括流水灯、计数器、定时器、LCD

字符显示、键盘的控制等功能程序设计;

5针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。

511设计要求

1.完成综合实验系统的电路结构分析,进行模块分解,掌握各部分电路的工作原理;

2.每组协作完成电路板的焊接,学握故障排除方法,完成实验系统的硬件设计及开发;

3.结合KeiluVision4软件在焊接无误的单片机实验系统上开发出流水灯、计数器、LCD显示等程序

5.1.2设计步骤

<

1>

.按照一定的先后顺序,应该先完成综合实验系统电路的焊接,然后在测试一下电路是否有短路或者虚焊的情况。

2>

.完成电路板以后,在电脑上的protuce上把仿真电路也同样连接好,并分

析电路,熟悉这些链接的原因,为写程序做好准备。

3>

.连接好PROTUCE虚拟电路以后,然后对各个芯片的功能引脚和用法,掌握

这些芯片是怎样实现所要求的功能的,在软件上怎么完成。

V4>

.熟悉了各个芯片的引脚功能和工作条件后,然后开始编程,在刚开始编一

个多模块的程序比较难的话,可以先编各个模块的然后整合。

V5>

.在PROTUCE中先试一下程序是否能够完成要求的功能,如果能够完成就把

程序导入到综合实验系统电路板上的单片机上。

然后通电测试!

第2章整体设计方案

2.1开发板整体外观

2.3软件功能描述

Piotxies软件是英国Labcenterelectronics公司出版的工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真及外围器件。

它是目前最好的仿真及外围器件的工具。

虽然目前国内推广刚起步,但己受到爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Pioteus是世界上著名的EDA工具(),从原理图布图、代码调试到与外围电路协同仿真,一键切换到PCE设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8O51、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、、8086和MSP430等,2010年即将增加Coilex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、和MPLAB等多种编译

2.4仿真软件PROTUES中的效果图

1•二极管作流水灯显示

2•晶码管做秒表显示:

Mn:

'

:

^三三生圭峑r

?

芻幾:

s^s^~H-・

I-辟

ssss

B53BS8B6

BS1S2Z&

&

ZE±

眈88計禺況r

4Ye・e

£

护L8,J-

7innil

rim

O

 

■TfiM

^01^(0

XTRU

R<

T

紡觀mxFiogVmv»

mw

F7.UM

20t3

•:

MM/"

Q”

•2%H・

•U*>

»

2滾SWVT

Ms

Fir

jt^auBsS

minr

miiB

8oKS333b

U3r«

UDB9

R"

S^X:

“匸V

mezo"

8O&

3283&

R;

ue;

二即匕

LCOia

uor<

*

r

±

biK

X

1~XKMSXSXSc

J

IffiW

■律

EJ.B汕网汕Q<

>

PcSpfC8&

pwfr

P3f*2p-

pVA”

•債■—vr^txn♦八…rixxtcrw•s%・・

袒•

l・・iA

理•・

勢・

o”

pg

p'

•wpw•■,J

LCO1strw.

TO^t*

■Q

UQVaiATJ

3•显示屏输出子模显示:

4

亠mu

AlttnCOE65M2»

W・】》【■、PSD*Pir.iaw»

reR12W

XJ

A

9

o

XI

«

n_

TF

•oru

..

I

rom

rn

r•

F7SU«

X%1>

PJZAU

•©

肌t

•2

肌•

以1

F7Z*lt

JCu

■'

mJraM

WV一一■pnmn.

lllllllh

—丄rL——

8百88孑&

3&

U3

4TC->

ffllLlr?

8588333&

BS

S5233SS^

pw

**§

*SCB9csfis?

IM

-TCO

1

•1

nn<

4[•化

LI.

Uolcon*tousq!

!

tc>

_w»

QQgr=s2口二er塔

•woo…4nvt

cc—Hipid

01

MCC

Bo83o885

6'

J1

01O

GQ

“O

8O■■-

WADI

XVwax©

Wt^M

T1W

••

■■

厂十

o4voWo<

2

P

im»

i

Bo88S88B

SoBSoSSS创

9i9titng>

RO

BwebwoIThsnkyou

E线9lugeSSSS^B

XX0

邱eggesage

a

BQ*-•"

rrzi

第3章硬件电路设计

3.1两位一体共阴数码管

7.1.1数码管概述

led数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成"

8”字型的器件,引线己在内部连接完成,只需引出它们的各个笔划,公共电极。

数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。

这些段分别由字母a,b,c,d,e,f,g,dp来表示

7.1.2数码管内部结构

共阳极LED数五马管的内部绪构原理图图4:

共明樨LED数码首的内胡5细1■勾原:

湮匡J:

j>

VT

匸7匚匸^2匚匚

图5牛明椒LED数五马皆白勺内咅E结枸原理图

7.1.3两位一体共阴数码管和74LS373锁存器接口电路

7.2LCD1602液晶

7.2.1LCD1602液晶简介

工业字符型液晶,能够同时显示16x02即32个字符。

(16列2行)。

1602液晶也叫1602字符型液晶,它是一种专门用來显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

7.2.2LCD1602液晶引脚介绍

第1脚:

VSS为

第2脚:

VCC接5V电源正极

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4脚:

RS为选择,高电平1时选择、低电平0时选择。

第5脚:

RW为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

第6脚:

E(或EN)端为使能(enable)端。

第7〜14脚:

D0〜D7为8位双向数据端。

第15〜16脚:

或背灯电源。

15脚背光正极,16脚背光负极

7.2.3LCD1602液晶外围接口电路

3.3串口通信

3.3.1串口通讯概述

串行接口是一种可以将接受來自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。

3.3.2MAX232接口电路

CND

第4章软件设计

4.1程序整体流程图

流水灯的流程图

晶码管的流程图

显示器的流程图

4.2程序清单

流水灯

#iiiclude<

ieg5l.h>

#defineucliarunsignedchar

bitldelav=O;

uchart=0;

voidmain(){

ucharcodeledp[8]={Oxfe,Oxfd,Oxfb,Oxf7,Oxef,OxdfOxbfOx7f};

ucharledi;

TMOD=OxOi;

TH0=0x3c;

TL0=OxbO;

TRO=1;

ETO=1;

EA=1;

wlule(l){if(ldelay){ldelav=0;

P2=ledp[ledi];

ledi++;

if(ledi=8)ledi=O;

}}}timeiO()liitemipt1{t++;

if(t=10){t=0;

ldelay=l;

}TH0=0x3c;

TL0=0xb0;

}

秒表晶码管

unsignedcharcount=0;

uchaiIed_mod[]={0x3f,0x06,0x5b,0x4f0x66,0x6d.0x7d,0x07,0x7f0x6f};

sbitA0=P2A5;

sbitAl=P2A6;

sbitA2=P2人7;

sbitP15=PlA5;

bitldelay=0;

ucliart=0;

voidmain(){P0=0x00;

TMOD=0x01;

TH0=0x3c;

TL0=0xb0;

TR0=l;

ET0=l;

A0=0;

Al=0;

A2=0;

P15=l;

P0=led_mod[count%10];

A0=l;

P0=led_mod[count/10];

count++;

if(count==60)count=0;

}}}

timerOOlntemipt1{

t++;

if(t=20){t=0;

ldelay=l;

}显示屏

ieg52.h>

ucharcodetable1[]=nWelcometouse!

”;

ucharcodetable2[]-*1amdongkaige11;

ucharcodetable3[]=HB11050817n;

ucharcodetable4[]=*'

LEDblnik"

;

ucharcodetable5[]=HByebve!

Thankyou11;

unsignedcharnum;

sbitlcdis=PlA6;

sbitlcdnv=PlA7;

sbitlcden=P2A0;

unsignedcharcount;

voiddelay(unsignedinttune)

{

unsignedmtj=0;

fdf(;

tune>

O;

time-)

for0=0;

j<

125;

j++);

}…

voidwnte_com(iichaicom)//写指令

{lcdis=0;

〃选择写命令模式

P0=com;

〃将要写的命令字送到数据总线上

Icdrw=0;

delav(l0);

//稍做延时以待数据稳定

P2=0x40;

〃lcden=l;

使能端给一高脉冲,因为初始化函数中己经将lcden置为0delay(10);

〃稍做延时

P2=0x00;

〃lcden=0;

将使能端置0以完成高脉冲

voidwnte_data(ucliardate)〃写数据

{lcdrs=l;

//选择写数据模式

P0=date;

lcdnv=0;

//lcden=l;

voidllHtl()

wnte_com(0x38);

//设置16*2显示,5*7点阵,8位数据接口

wnte_com(0x0e);

〃设置开显示,显示光标

wnte_com(0x06);

〃写一个字符后地址指针加1

wnte_com(0x01);

//显示清0,数据指针清0

voidled1()

wiite_com(0x80);

fbr(num=0;

num<

1&

num++)

{wnte_data(tablel[num]);

delay(200);

}

voidled2()

fdf(num=O;

14;

num十+){Wfite_data(table2[num]);

delay(200);

}wnte_com(0x80+0x40);

fdi(num=0;

9;

nuni-H-){Wfite_data(table3[num]);

delay(200);

voidled3()

fdi(num=0;

9{wnte_data(table4[num]);

delav(200);

}}voidled4()

16;

num++){wnte_data(table5[num]);

}}voidmain(){P3=0xff;

while(l)

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1