基于51系列单片机的实验平台开发设计.docx

上传人:b****0 文档编号:17083671 上传时间:2023-07-21 格式:DOCX 页数:28 大小:496.12KB
下载 相关 举报
基于51系列单片机的实验平台开发设计.docx_第1页
第1页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第2页
第2页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第3页
第3页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第4页
第4页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第5页
第5页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第6页
第6页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第7页
第7页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第8页
第8页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第9页
第9页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第10页
第10页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第11页
第11页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第12页
第12页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第13页
第13页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第14页
第14页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第15页
第15页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第16页
第16页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第17页
第17页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第18页
第18页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第19页
第19页 / 共28页
基于51系列单片机的实验平台开发设计.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51系列单片机的实验平台开发设计.docx

《基于51系列单片机的实验平台开发设计.docx》由会员分享,可在线阅读,更多相关《基于51系列单片机的实验平台开发设计.docx(28页珍藏版)》请在冰点文库上搜索。

基于51系列单片机的实验平台开发设计.docx

基于51系列单片机的实验平台开发设计

基于51系列单片机的实验平台开发设计

摘要

由于单片机技术在各个领域正得到越来越广泛的应用,许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MOS.51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了市场,成为国内单片机应用领域中的主流。

目前,可用于MOS.51系列单片机开发的产品越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。

利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,在KeilC环境下进行软件设计,主要包括流水灯、数码管显示以及LCD显示模块,在Protues中仿真成功,下载到电路板中验证成功。

实现流水灯正反向流动,应用中断实现数码管60之内计数以及LCD显示不同字符的功能。

关键词:

STC单片机,实验平台,数码管,流水灯

 

51seriesmicrocontrollercomprehensiveexperimentalboarddevelopmentdesign

ABSTRACT

Duetothesingle-chipmicrocomputertechnologyinvariousfieldshasbeenmoreandmorewidelyused,manyintegratedcircuitmanufacturershaveintroducedvarioustypesofSCM,themicrocontrollerfamilymanymembers,MOS.51seriesmicrocontrollerwithitssuperiorperformance,maturetechnologyandhighreliabilityandhighperformanceprice,quicklyoccupiedthemarket,becomethemainstreaminthefieldofSCM.Atpresent,canbeusedforMOS.51seriesmicrocontrollerproductsismoreandmore,anditssupportingallkindsofdevelopmentsystem,allkindsofsoftwarehasbecomemoreandmoreperfect,soitcanbeveryconvenienttouseofthepresentresources,developedfordifferentpurposeofallkindsofapplicationsystem.

UsingSTCseriessinglechipmicrocomputerasmicrocontrollerdevelopasetofsoftwareandhardwarecombinationofSCMexperimentplatform,intheKeilCundertheenvironmentofsoftwaredesign,includingthewaterlamp,digitaltubedisplayandLCDdisplaymodule,inProtuessimulationinsuccess,downloadtocircuitboardverifysuccess.Realizationofflowingwaterlightforwardandreverseflow,applicationofinterrupttorealizedigitaltubewithinsixtycounterandLCDdisplaythefunctionofdifferentcharacter.

 

KEYWORDS:

STCmicrocontroller,comprehensiveexperimentalboard,softwareandhardwarecombinedwith,andtheprogramdevelopmentdesign

 

目录

摘要I

目录III

前言1

第1章系统概述2

1.1设计题目2

1.2系统设计目的和内容2

1.2.1设计目的2

1.2.2设计内容2

1.2.3设计要求2

1.2.4设计步骤2

第2章整体设计方案3

2.1开发板整体外观3

2.2整板电路PROTUES仿真电路3

2.3软件功能描述4

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

第3章硬件电路设计7

3.1两位一体共阴数码管7

3.1.1数码管概述7

3.1.2数码管内部结构7

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

3.2LCD1602液晶9

3.2.1LCD1602液晶简介9

3.2.2LCD1602液晶引脚介绍9

3.2.3LCD1602液晶外围接口电路9

3.3串口通信9

3.3.1串口通讯概述9

3.3.2MAX232接口电路9

第4章软件设计9

4.1程序整体流程图9

4.2程序清单9

第5章调试及故障分析9

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

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

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

5.4实物演示效果9

结论9

谢辞9

参考文献9

附 录9

前言

1946年第一台电子计算机诞生至今,依靠微电子技术和半导体技术的进步,从电子管——晶体管——集成电路——大规模集成电路,使得计算机体积更小,功能更强。

特别是近20年时间里,计算机技术获得飞速的发展,计算机在工农业,科研,教育,国防和航空航天领域获得了广泛的应用,计算机技术已经是一个国家现代科技水平的重要标志。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

单片机应用的意义不仅在于它的广阔范围及所带来的经济效益,更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。

以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。

以前自动控制中的PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。

这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。

随着单片机应用的推广,微控制技术将不断发展完善。

 

第1章系统概述

 

1.1设计题目

基于51系列单片机的实验平台开发设计

1.2系统设计目的和内容

1.2.1设计目的

利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台。

锻炼学生的设计思维和动手能力,使其具备独立完成设计的能力。

1.2.2设计内容

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

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

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

主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;

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

1.2.3设计要求

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

2.独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;

3.结合KeilC软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;

4.按照要求撰写课程设计论文。

1.2.4设计步骤

1.完成每一个模块的C51程序,包括数码管显示模块,LCD模块,流水灯模块;并在仿真软件中运行仿真;

2.按照电路原理图完成电路板的焊接;

3.下载验证

 

第2章整体设计方案

1

2

2.1开发板整体外观

图2-1开发板整体外观

2.2整板电路PROTUES仿真电路

 

图2-2Protues仿真电路

2.3软件功能描述

1.Keil

KeilC51µVision2集成开发环境是KeilSoftware,Inc/KeilElektronikGmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。

KeilC51集成开发环境的主要功能有以下几点:

●µVision2forWindows:

是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;

●C51国际际准化C交叉编译器:

从C源代码产生可重定位的目标模块;

●A51宏汇编器:

从80C51汇编源代码产生可重定位的目标模块;

●BL51链接器/定位器:

组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块;

●LIB51库管理器:

从目标模块生成连接器可以使用的库文件;OH51目标文件至HEX格式的转换器,从绝对目标模块生成IntelHex文件;

●RTX-51实时操作系统:

简化了复杂的实时应用软件项目的设计。

这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。

2.ISISProtues

ProtuesISIS是英国Labcenter公司开发的电路分析与实物仿真软件。

该软件可以对模拟电路、数字电路、模数混合电路、单片机及外围电路进行绘制、分析、仿真,并提供了简便易用的印刷电路板设计工具。

Protues软件有如下几个特点:

●强大的原理绘图功能。

●支持主流单片机系统的仿真。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

●提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点的等调试功能,同时在仿真系统中也加入了观察各个变量、寄存器等的当前状态的功能;它还支持第三方的软件编译和调试环境,如KeilC51Vision2等软件。

●丰富的元器件库。

提供30多个元器件库,数千种元器件。

包括:

电阻、电容、二极管、三极管、MOS管、变压器、继电器、各种激励、各种微控制器、各种门电路和终端等。

●软件包中提供各种仪表。

包括:

交直流电压表、交直流电流表、逻辑分析仪、定时\计数器和信号发生器等,它们通过图形显示功能,将线路中的变化的信号以图形方式实时显示出来。

Protues中主要包括ISIS和ARES两个基本模块,其中ISIS集单片机电路图绘制、汇编语言编程、调试和仿真运行等功能于一体;ARES模块则可根据ISIS原理图实现印刷电路板的设计功能。

总之,在Protues中,从原理图设计、单片机编程、系统仿真到PCB设计可以一气呵成,具有从概念到产品的完整设计能力。

2.4仿真软件PROTUES中的效果图

图2-3Protues仿真效果图

第3章硬件电路设计

3.1两位一体共阴数码管

2

3

3.1

3.1.1数码管概述

LED数码管是由发光二极管构成的,具有显示亮度高、响应速度快的特点。

常见的是七段LED显示器为“8”字型,该显示器内部有7个条形发光二级管和一个小圆点发光二级管,共计8段,每段对应一个发光二级管。

有共阴极和共阳极两种,共阴极发光二极管的阴极连在一起,通常公共阴极接地。

当阳极为高电平时发光二级管发光。

共阳极发光二极管的阳极连在一起,通常公共阳极接正电压。

当阴极为低电平时发光二级管发光。

3.1.2数码管内部结构

8段LED数码管如图3-1所示:

图3-18段LED数码管结构及外形

LED数码管通过7个发光二极管亮暗的不同组合可以显示各种数字,另外一个圆的型发光二级管(图3-1(a)中以dp显示)显示小数点。

只要为LED数码管提供了段码就可以显示不同的符号和数字。

LED数码管共计8段。

正好是一个字节。

习惯上是以“a”段对应段码字节的最低位。

各段与字节中各位对应关系如表3-1所示。

表3-1段码与字节中各位对应关系

代码位

D7

D6

D5

D4

D3

D2

D1

D0

显示段

dp

g

f

e

d

c

b

a

按照表3-1中的格式,显示各种字符的8段LED数码管的段码如表3-2所示(以共阴极为例)。

表3-28段LED数码管段码

显示字符

段符号

十六进制代码

dp

g

f

e

d

c

b

a

共阴极

共阳极

0

0

0

1

1

1

1

1

1

3FH

C0H

1

0

0

0

0

0

1

1

0

06H

F9H

2

0

1

0

1

1

0

1

1

5BH

A4H

3

0

1

0

0

1

1

1

1

4FH

B0H

4

0

1

1

0

0

1

1

0

66H

99H

5

0

1

1

0

1

1

0

1

6DH

92H

6

0

1

1

1

1

1

0

1

7DH

82H

7

0

0

0

0

0

1

1

1

07H

F8H

8

0

1

1

1

1

1

1

1

7FH

80H

9

0

1

1

0

1

1

1

1

6FH

90H

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

图3-2两位一体共阴数码管和74LS374锁存器接口电路

3.2LCD1602液晶

3.2.1LCD1602液晶简介

1.1602LCD,工业字符型液晶,能够同时显示16×2即32个字符(16列2行)每行16个字符液晶模块(显示字符和数字)。

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

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

2.液晶显示模块RT-C1602C的内部结构可以分成三部分:

一为LCD控制器,二为LCD驱动器,三为LCD显示装置,如图3-1所示:

 

图3-1RT-C1602内部结构

3.HD44780控制器的特点

HD44780是集控制器、驱动器于一体,专用于字符显示控制驱动集成电路。

可选择5×7或5×10点字符。

HD44780不仅作为控制器而且还具有驱动40×16点阵液晶像素的能力,并且HD44780的驱动能力可通过外接驱动器扩展360列驱动。

HD44780可控制的字符高达每行80个字,也就是5×80=400点,HD44780内部有16路行驱动器和40路列驱动器,所以HD44780本身就具驱动有16×40点阵LCD的能力(即单行16个字符或两行8个字符)。

如果在外部加一HD44100外扩展多40路/列驱动,则可驱动16×2LCD。

HD44780的显示缓冲区DDRAM、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM全部集成在芯片内。

HD44780有80个字节的显示缓冲区,分两行,地址为:

第一行为00H~27H;(0~39→40个)

第二行为40H~67H。

(64~103→40个)

HD44780具有8位数据和4位数据传输两种方式,可与4/8位CPU相连。

具有简单而功能较强的指令集,可实现字符移动、闪烁等显示功能。

HD44780内部的字符发生存储器(ROM)已经存储了160个不同的点阵字符图形包括阿拉伯数字、英文字母的大小写、常用的符号和日文假名等。

4.HD44100是作为扩展显示字符位。

3.2.2LCD1602液晶引脚介绍

图3-3RT-1602外观

图3-4RT-1602引脚

显示容量:

16个×2排字符;工作电流2.0mA(5.0V);字符尺寸:

2.95×4.35mm。

RT-1602C采用标准的16脚接口,各引脚情况如下:

第1脚:

VSS为电源地;

第2脚:

VDD为+5V电源;第3脚:

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

第4脚:

RS为数据/命令选择端,高电平时选择数据寄存器、低电平时选择命令寄存器。

[RS:

RegisterSelection]

第5脚:

R\W,读写操作选择(1-读,0-写)。

如表3-1所示:

表3-3读写操作选择

RS

R\W

寄存器及操作

0

0

指令寄存器写入

0

1

忙信号和地址计数器读出

1

0

数据寄存器写入

1

1

数据寄存器读出

第6脚:

E端为使能端,当E端由高电平跳变成低电平时(负跳变),液晶模块执行命令。

执行一条命令,都要使E有一个负跳变。

第7~14脚:

D0~D7,为8位双向数据总线,与单片机的数据总线相连,三态。

第15脚:

BLA,背光电源,通常为+5V,并联一个电位器,调节背光亮度。

第16脚:

BLK,背光电源地。

 

3.2.3LCD1602液晶外围接口电路

图3-5LCD1602液晶外围接口电路

3.3串口通信

3.3.1串口通讯概述

单片机构成的控制系统,由于设计需求,往往需要和外部的微处理器进行数据交流,实现两个或多个处理器之间的数据通信。

常用的数据通信包括两种形式:

并行通信和串行通信。

分别如图3-1(a)和图3-1(b)所示。

 

 

 

(a)(b)

图3-6并行通信与串行通信

1.串行通信与并行通信的优缺点对比,如表3-1所示。

表3-4串并行通信对比

并行数据传送

串行数据传送

原理

各位数据同时传送

数据按位顺序传送

优点

传送速度快、效率高

最少需要一对传输线即可完成:

成本低

缺点

数据位数→传输线根数:

成本高

速度慢,成本低

应用

传送距离<30米,用于近距离或内部

几米~几千公里,用于计算机与外设之间

2.串行通信按信息的格式可分为异步通信和同步通信两种方式;根据信息传送的方向,串行通信可以分为单工、半双工和全双工3种,如图3-2所示。

图3-7串行通信的3种传输形式

 

3.3.2MAX232接口电路

MAX232接口电路如图3-3所示。

图3-8MAX232接口电路

第4章软件设计

 

4.1程序整体流程图

4.2程序清单

#include

unsignedcharled[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsignedcharled_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

sbitP15=P1^5;

sbitRS=P1^6;

sbitRW=P1^7;

bitrun=0;

bitdir=0;

unsignedcharLCD_Status;

voiddelay(unsignedintcount)

{unsignedchari;

while(count--)

for(i=0;i<120;i++);

}

unsignedcharBusy_Check()//检查忙函数

{RS=0;

RW=1;//RS=0,RW=1,忙信号地址读出

P2=0x40;//E=1;//E端由高电平跳变成低电平时,液晶模块执行命令

delay

(2);

LCD_Status=P0;//读出的值写入单片机

delay

(2);

P2=0x00;//E=0;

returnLCD_Status;

}

voidwcmd(unsignedcharcmd)//写命令函数,RS=0;RW=0

{while((Busy_Check()&0x80)==0x80);//写命令前,先检查设备是否忙?

//忙信号标志位在最高位,为1时表示忙,程序不往下执行

RS=0;

RW=0;//写控制字

P2=0x40;//E=1;//E设置为高电平

P0=cmd;//命令由P0口送入LCD

delay

(2);

P2=0x00;//E=0;//E由高电平到低电平跳变,液晶模块执行命令

}

voidwdat(unsignedchardat)//写数据函数,RS=1;RW=0

{

while((Busy_Check()&0x80)==0x80);//写数据前,检查是否忙,同上

RS=1;

RW=0;

P2=0x40;//E=1;//E由高电平到低电平跳变,液晶模块执行命令

P0=dat;//数据由P1口送入LCD

delay

(2);//延时大约2ms

P2=0x00;//E=0;

}

voidinit()//初始化函数,主要写命令

{wcmd(0x38);//38H=00111000,使用8位,显示两行;用5×7的字型【命令6】

delay(20);//改为0x3C=00111100,就用5×10字型

wcmd(0x01);//01H=00000001,清屏【命令1】

delay(20);

wcmd(0x06);//06H=00000110,字符不动,光标自动右移一格【命令3】

delay(20);

wcmd(0x0e);//0eH=00001110,开显示,有光标,字符不闪烁【命令4】

delay(20);

}

voidkey1(void)interrupt0

{

run=1;

dir=0;

wcmd(0x80+0x44);

wdat('h');

wdat('e');

wdat('l');

wdat('l');

wdat('o');

}

v

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

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2