单片机课程设计

发布 2022-10-04 20:59:28 阅读 1971

引言。单片机课程设计”是单片机原理与接**术课程的实践性环节。是在我们学习了《单片机原理与接**术》等课程的基础上进行的综合性训练,我们组这次训练的课题是“8×8点阵led显示”。

此次课程设计的课题是针对我们学习《单片机原理与接**术》这门课程的基础上,并在其辅助下完成的。此次进行的综合性训练,不仅培养了我如何合理运用课本中所学到的理论知识与实践紧密结合,独立解决实际问题的能力。

通过此次“单片机课程设计”我们应达到以下的基本要求:

首先,综合运用单片机原理与接**术课程中所学到的理论知识来独立完成此次设计课题,培养我们查阅手册和文献资料的良好习惯,以及培养我们独立分析和解决实际问题的能力。

其次,在学习了理论知识的基础上进一步熟悉常用电子器件的类型和特征,并掌握合理选用的原则。

再次,就是学会protues和keil两种软件的使用的安装与使用技能,以及与同组的组员的团结合作的精神。

最后,为了满足学生对单片机课程设计的实践需求,学校特地给我们提供了为期两周的课程设计时间,这门课程将单片机技术基础理论与实际操作有机地联系起来,意在加深我们对所学理论课程的理解。通过让我们运用已基本掌握的程序设计与调试、不同功能的单元电路的设计、安装和调试方法,在单元电路设计的基础上,设计出具有各种不同用途的电子装置。深化所学理论知识,培养综合运用能力,增强独立分析与解决问题的能力。

训练培养严肃认真的工作作风和科学态度。同时,它也培养我们查阅资料的能力,培养我们的团队精神以及综合设计和实践能力。就是培养我们严肃认真的工作作风和严谨的科学态度以及学会撰写课程设计报告,为以后毕业**打好基础。

1设计任务与要求。

1.1 设计任务

1.通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机的应用做进一步的了解。

2.通过本次课程设计将单片机软硬件结合起来,加强理论联系实际的能力。

3.通过本次课程设计提高学生的综合能力、动手能力、文献资料查阅能力,为毕业设计和以后工作打下一个良好的基础。

1.2 设计要求。

用proteus**mcs51系列单片机及其外围电路,用它与keil开发工具结合,搭建单片机开发平台。

1.硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,组成功能完整的。

系统;2.软件设计:根据要求,完成控制软件的编写与调试;

3.用proteus**;

4.基本功能要求:在8*8led点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

2设计方案。

2.1设计思路。

本设计行、列驱动电路,显示器电路,运用单片机的智能化,系统将每个功能电路模块连接在一起, 此次需要实现的功能是利用一个at89c51单片机作为微处理器,一个8*8led点阵,通过程序控制,采用动态显示,达到所需的功能。

2.2主要芯片及其应用。

2.2.1单片机最小系统。

at89c51单片机最小系统,是指用最少的元件组成的单片机可以工作的系统。最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等电路由复位电路、晶振电路两部分组成。

1.晶振电路设计。

at89c51单片机芯片内部设有一个由反向放大器构成的振荡器,xtal1和xtal2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在xtal1和xtal2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率fosc采用12mhz,c1、c2的电容值取30pf,电容的大小起频率微调的作用。

晶振电路图如图所示。

图2.1 晶振电路图。

2.复位电路设计。

at89c51单片机在启动运行时或者出现死机时需要复位,使cpu以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图3所示。

上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由rst引脚送入到内部的复位电路,对at89c51单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使at89c51单片机可靠复位。当上电时,c1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。

at89c51单片机复位电路如下图所示:

图2.2 上电复位电路图图2.3 按键电平复位电路图。

复位电路工作原理:上电瞬间rst引脚的电位与vcc等电位,rst引脚为高电平,随着电容c5充电电流的减少,rst引脚的电位不断下降,可以保持rst引脚在为高电平的时间内完成复位操作。

当单片机已在运行当中时,按下复位键s5后再松开,也能使rst引脚为一段时间的高电平,从而实现at89c51单片机复位。

2.2.2 led驱动电路设计。

正向点亮一颗led,至少也要10~20ma,若电流不够大,则led不够大。而不管是at89c51的i/o口,还是ttl、cmos的输出端,其高态输出电流都不是很高,不过1~2ma而已。因此很难直接高态驱动led,这时候就需要额外的驱动电路,通常有共阳型与共阴型led阵列驱动电路,本设计采用共阴型高态扫描信号驱动电路。

共阴型led阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它则为低态。一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,at89c51本身内置一个反向驱动器,本设计将at89c51作为点矩阵显示控制系统的控制核心,通过点矩阵实时显示并移动字符。

2.2.3 74ls245的介绍。

74ls245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74ls245还具有双向三态功能,既可以输出,也可以输入数据。当89c51单片机的p0口总线负载达到或超过p0最大负载能力时,必须接入74ls245等总线驱动器。

3硬件设计。

3.1硬件设计。

8×8的led点阵是由64个发光二极管按矩阵形式排列而成,每一行上的发光管有一个公共的阳极(或阴极),每一列上的发光管有一个公共的阴极(或阳极),一般按动态扫描方式显示汉字或图形。扫描分为点扫描、行扫描和列扫描三种方式。

当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图3.1所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:

1)一根竖柱:对应的列置1,而行则采用扫描的方法来实现。

2)一根横柱:对应的行置0,而列则采用扫描的方法来实现。

图3.1 8*8led点阵硬件图。

3.2电路原理图与说明。

图3.2 电路原理图。

本设计led矩阵显示器电路选用8×8点阵模块,系统由单片机控制。 led显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。

4软件设计。

4.1程序主要模块流程图。

程序流程图如图4.1所示。

4.2源程序清单与注释如下。

程序: rs_cnt equ 31h

dsp_cnt equ 34h显示模式。

org 00h

start: mov rs_cnt,#00h

mov dsp_cnt,#00h ;显示模式初始值。

mov dptr,#switch ;设置程序跳转表首地址。

a0: mov a,dsp_cnt

add a,dsp_cnt ;双字节指令,偏移量乘2

jmp @a+dptr ;根据显示模式值跳转。

switch: sjmp dsp_0 ;程序跳转表。

sjmp dsp_1

sjmp dsp_2

sjmp dsp_3

dsp_0: mov p0,#00h ;显示模式0,行线全部置0

mov a,#01h列扫描码初值。

l0: mov p3,a输出显示。

lcall delay

rl a列扫描码移位。

inc rs_cnt

mov r0,rs_cnt

cjne r0,#24,l0 ;模式0显示完毕?

inc dsp_cnt ;显示下一模式。

mov rs_cnt,#00h

ljmp a0

dsp_1: mov p0,#00h ;显示模式1,行线全部置0

mov a,#80h列扫描码初值。

l1: mov p3,a输出显示。

lcall delay

rr a列扫描码移位。

inc rs_cnt

mov r0,rs_cnt

cjne r0,#24,l1 ;模式1显示完毕?

inc dsp_cnt ;显示下一模式。

mov rs_cnt,#00h

ljmp a0

dsp_2: mov p3,#0ffh ;显示模式2,列线全部置1

mov a,#7fh行扫描码初值。

l2: mov p0,a输出显示。

lcall delay

rr a行扫描码移位。

inc rs_cnt

mov r0,rs_cnt

cjne r0,#24,l2 ;模式2显示完毕?

inc dsp_cnt ;显示下一模式。

mov rs_cnt,#00h

ljmp a0

dsp_3: mov p3,#0ffh ;显示模式3,列线全部置1

mov a,#0feh ;行扫描码初值。

l3: mov p0,a输出显示。

lcall delay

rl a行扫描码移位。

inc rs_cnt

mov r0,rs_cnt

cjne r0,#24,l3 ;模式3显示完毕?

mov dsp_cnt,#00h ;显示下一模式。

mov rs_cnt,#00h

ljmp a0

delay: mov r5,#10延时子程序。

d1: mov r6,#

d2: mov r7,#

djnz r7,$

djnz r6,d2

djnz r5,d1

retend

5实验结果。

**图如下:

图5.1 电路**图。

图5.2 电路**图。

6课程设计体会及总结。

单片机是功能比较强大的控制技术,成本较低,在以后的工作中有很大的用处。在这次课程设计的过程中,我们做了一次全面,较规范的设计练习,用理论联系实际,全面温习了单片机原理课程中所学过的知识,巩固,加深和扩展了单片机设计方面的知识,并提高了我们的应用能力。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...