单片机课程设计.docx

上传人:b****6 文档编号:7487644 上传时间:2023-01-24 格式:DOCX 页数:26 大小:2.57MB
下载 相关 举报
单片机课程设计.docx_第1页
第1页 / 共26页
单片机课程设计.docx_第2页
第2页 / 共26页
单片机课程设计.docx_第3页
第3页 / 共26页
单片机课程设计.docx_第4页
第4页 / 共26页
单片机课程设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机课程设计.docx

《单片机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计.docx(26页珍藏版)》请在冰豆网上搜索。

单片机课程设计.docx

单片机课程设计

 

**学院

课程设计报告

课程名称单片机原理与应用

设计题目基于STC单片机的实验板开发与设计

专业**

班级*

学号**

姓名*

完成日期2**

课程设计任务书

设计题目:

基于STC单片机的实验板开发与设计

一、设计内容

利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验系统,主要包括以下内容:

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

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

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

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

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

二、设计要求

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

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

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

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

指导教师:

**

2**

课程设计评语

成绩:

指导教师:

_______________

年月日

基于STC单片机的实验系统开发与设计

摘要

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双共串口。

另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

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

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

 

关键词:

STC单片机,实验板,数码管,流水灯,串行通信

 

ExperimentPlatformDevelopmentDesignBasedon

STCMicrocontroller

ABSTRACT

 The STC89C52 is a low power,high performance CMOS8 produced STC,with 8K in system programmable Flash memory.STC89C52 sing classic MCS-51 kernel,but made a lot of improvements make-the chip with raditional 51 SCM features not available.In asingle chip,with 8 CPU dexterous and in-system programmable Flash,the STC89C52 offers solutions for high flexibility, super efficient for many embedded control applications. Has the standard features:

 8K bytes of Flash, 512 bytes of RAM,32 I/O lines,the watchdog timer,built-in 4KB EEPROM,MAX810 reset circuit,316 timer/counter,4 external interrupts,a 7 vector level 4 interrupt structure,a totalof.In addition STC89C52 can be reduced to 0Hz static logic operation, support 2 software selectable power saving mode.The idle mode,the CPU stops working,RAM,timer/counter,serial port interrupt, continue to work permit.The ower-down mode,the RAM content being saved,has been frozen,disabling all other chip functions,until the next interrupt orhardwarereset.Maximum operating requency of 35MHz, 6T/12T optional.

  This course design application STC89C52 SCM experiment platform development and design, curriculum design process, appliedto the combination of hardware and software, through the Proteus software design principle diagram, and then license to circuit principle diagram welding, will be LED and serial port-communication, digital display, running water light such as welding is good.

 

KEYWORDS:

STCmicrocontroller,Experimentalplate,Digitaltube,Runninglight,Serialcommunication

目录

前言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仿真电路4

2.3软件功能描述4

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

第3章硬件电路设计6

3.1两位一体共阴数码管6

3.1.1数码管概述6

3.1.2数码管内部结构7

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

3.2LCD1602液晶9

3.2.1LCD1602液晶简介9

3.2.2LCD1602液晶引脚介绍10

3.2.3LCD1602液晶外围接口电路10

3.3串口通信11

3.3.1串口通讯概述11

3.3.2MAX232接口电路11

第4章软件设计12

4.1程序整体流程图12

4.2程序清单13

第5章调试及故障分析18

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

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

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

5.4实物演示效果19

结论21

谢辞22

参考文献23

附 录24

前言

市场上现存的单片机开发板很多,因此,要求设计尽量能够达到资源丰富、易用性好、设计美观等特点。

而STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

1976年,Intel公司推出MCS-48系列单片机,以体积小、功能全、低格低等优点,得到广泛的应用,成为单片机发展过程中的一片重要标志。

单片机系列及单片机应用技术迅速发展。

  目前为止,世界各地厂商已经相继研制出大约50个系列300多个品种的单片机产品。

所以单片机应用领域不断扩大,除了在工业行货控制、能仪器仪表、信设备、家用电器等领域都得到了应用。

而且未来的智能化世界里,单片机将更加发挥的重大作用。

自单片机问世情迷,经过30多年的发展,已从最初的4位发展到32位机,同时体积更小,集成度更高 ,功能更强大。

如今,单片机正朝多功能、多选择、高速度、低功耗、低价格以及大存储容量、强I/O功能及结构 兼容方向发展。

预计,今后单片机会在以下几个方面快速发展:

(1)高集成度。

单片机儒将各种功能的I/O口和一些典型的外围电路集成在芯片内,使其功能更加强大。

(2)高性能。

单片机从单CPU向多CPU方向发展,因而有了并行处理的能力。

它的运算速度和执行效率会有很大提高。

(3)低功耗。

目前市场上有二分之一的单片机产品已CHMOS化,这类单片机具有功耗小的优点。

(4)高性价比。

随着单片机的应用越来越广泛,各单片机厂家公进一步改进单片机的性能,从而增强产品的竞争力。

 

第1章实验系统概述

1.1设计题目

基于STC单片机的实验平台开发设计

1.2系统设计目的和内容

1.2.1设计目的

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

实现对数码管、LCD显示器、流水灯的操作,锻炼学生的设计思维和动手能力,使其具备独立完成设计的能力,也让学生更好的了解课本内容。

1.2.2设计内容

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

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

(c)在Keil C环境下,进行软件设计。

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

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

1.2.3设计要求

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

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

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

(d)按照要求撰写课程设计论文。

1.2.4设计步骤

 

1.学习纸质的模拟电路图,弄清楚各个元件的工作原理;

2.Proteus软件仿真电路图的绘制;

3.根据模拟电路图开发板上设计走线,和焊接;

4.编写的各模块程序经调试无误后,下载到单片机中,查看实际运行效果;

5.根据课程设计要求写出设计报告。

第2章整体设计方案

1

2

2.1开发板整体外观

图2.1.1开发板正面图

图2.1.2开发板背面图

2.2整板电路PROTUES仿真电路

图2.2.1仿真原理图

2.3软件功能描述

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。

它具有设计灵活,结果、过程的统一的特点。

可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。

相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。

使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。

实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。

因此,Proteus 有较高的推广利用价值。

目前Proteus的最新版为8.0,ARM cortex处理器被增加,在7.10中已经增加DSP系列(TMS320)。

KeilC51

C51工具包的整体结构,如图

(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

  使用独立的Keil仿真器时,注意事项

  * 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。

 

  * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。

 

* 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。

2.4仿真软件PROTUES中的效果图

图2.4.1仿真效果图

 

图2.4.2仿真效果图

 

第3章硬件电路设计

3.1两位一体共阴数码管

2

3

3.1

3.1.1数码管概述

数码管是一种半导体发光器件,其基本单元是发光二极管。

数码管按段数分为七段数码管和八段数码管,按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

而共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

同时数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字。

3.1.2数码管内部结构

图3.1.1数码管内部结构

表3.1.1共阳极数码管字母表

表3.1.2共阴极数码管字母表

图3.1.3LED数码管引脚定义

led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。

位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。

颜色有红,绿,蓝,黄等几种。

led数码管广泛用于仪表,时钟,车站,家电等场合。

选用时要注意产品尺寸颜色,功耗,亮度,波长等。

下面将介绍常用LED数码管内部引脚图片。

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

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

LED数码管共计8段。

正好是一个字节。

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

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

表3.1.3段码与字节中各位对应关系

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

 

表3.1.4数码管段码

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

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

3.2LCD1602液晶

3.2.1LCD1602液晶简介

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

(16列2行)

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

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

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

其特性:

(a)3.3V或5V工作电压,对比度可调

(b)内含复位电路

(c)提供各种控制命令,如:

清屏、字符闪烁、光标闪烁、显示移位等多种功能

(d)有80字节显示数据存储器DDRAM

(e)内建有192个5X7点阵的字型的字符发生器CGROM

(f)8个可由用户自定义的5X7的字符发生器CGRAM

3.2.2LCD1602液晶引脚介绍

图2.2.1LCD1602液晶引脚图

第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脚背光负极。

表2.2.1读写操作选择

3.2.3LCD1602液晶外围接口电路

图2.2.2LCD1602液晶外围接口

3.3串口通信

3.3.1串口通讯概述

串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。

使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。

其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

如图9所示:

图3.3.1串口通信

串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。

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

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

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。

异步通信中,在异步通信中有两个比较重要的指标:

字符帧格式和波特率。

数据通常以字符或者字节为单位组成字符帧传送。

字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。

发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。

3.3.2MAX232接口电路

图3.3.3MAX232接口电路

第4章软件设计

4.1程序整体流程图

开始

初始化

主函数

LED显示

***

Y

INT1

0-99定时

N

Y

INT0

0-99计数

N

N

Y

外中断0

流水灯循环点亮

N

Y

N

外中断1

LCD显示

4.2程序清单

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

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

uchartemp;

uintcount=0,ff=0,aa=0;

uintj,flag;

sbitRS=P1^6;

sbitRW=P1^7;

sbitE=P1^5;

sbitP32=P3^2;

sbitP33=P3^3;

sbitP34=P3^4;

sbitP35=P3^5;

voidinit();

voidwritestr(char*str);

voidwritechar(ucharch);

voidwrite_com(ucharcmd);

voiddelay(ucharz);

voidmain()

{

w=0;

P0=table[0];

TMOD=0x16;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

TH0=TL0=0xff;

EA=1;

EX0=1;//外部中断0

IT0=1;

EX1=1;//外部中断1

IT1=1;

PX1=1;

PT0=1;

ET0=1;//定时0

TR0=1;

ET1=1;//启动定时1

while

(1)

{

if(P35==0)

TR1=1;

if(flag)

{

flag=0;

aa++;

if(aa==60)

aa=0;

w=0;

P0=table[aa/10];

E=1;

P2=0x00;

P0=table[aa%10];

}

}

}

voidled()interrupt0

{

//uintj;

//uchartemp;

while

(1)

{

temp=0xfe;

for(j=0;j<=7;j++)

{

P2=temp;

delay(100);

temp=_crol_(temp,1);

}

if((P34==0)||(P35==0))break;

temp=0x7f;

for(j=0;j<=7;j++)

{

P2=temp;

delay(100);

temp=cror_(temp,1);

}

if((P34==0)||(P35==0))break;

}

}

voidlcd()interrupt2

{

init();

wr

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

当前位置:首页 > 高中教育 > 英语

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

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