单片机课程设计最后完稿.docx

上传人:b****4 文档编号:3486736 上传时间:2022-11-23 格式:DOCX 页数:14 大小:139.80KB
下载 相关 举报
单片机课程设计最后完稿.docx_第1页
第1页 / 共14页
单片机课程设计最后完稿.docx_第2页
第2页 / 共14页
单片机课程设计最后完稿.docx_第3页
第3页 / 共14页
单片机课程设计最后完稿.docx_第4页
第4页 / 共14页
单片机课程设计最后完稿.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机课程设计最后完稿.docx

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

单片机课程设计最后完稿.docx

单片机课程设计最后完稿

目录

摘要

一:

投票器简介

(1)设计投票器的目的

(2)投票器基本主要功能及组成简介

(3)投票器所需硬件设备

二:

投票器硬件电路的设计及其功能的描述

(1)主要硬件概要

(2)硬件电路设计原理图

(3)电路功能描述

(4)硬件总连接图

三:

投票器软件部分设计框图(含主程序及典型子程序或中断服务程序)及描述

四:

程序汇编

五:

课程设计体会

六:

参考文献

摘  要

现场投票统计器是单片机系统的简单应用。

它是由硬件和软件相配合使用的,这样可以弥补硬件成本高,结构复杂的特点,提高响应速度。

该统计器经济实惠,适用小型会议室和娱乐场所的现场投票统计。

电路是由控制部分和显示部分两大部分组成。

利用单片机程序进行控制,并通过数码管进行显示。

每个人“赞成通过”的“OFF”和“反对通过”的“ON”两个按键,单片机统计“赞成通过”键的人数,并用动态显示方式显示投票结果。

每人仅能投一次票,再投则无效。

这个现场投票统计器共有八个终端,每个终端有“赞成通过”的“OFF”和“反对通过”的“ON”两个按键,八个评委通过控制按键,给选手投票。

“赞成通过”的票数显示在LED数码管上。

 

基于单片机的投票器设计

一:

投票器简介

(1)设计投票器的目的:

综合运用单片机的主要性能,完成一个实用电路的设计和制作。

利用MCS-51系列单片机为控制核心,设计投票系统的主机控制器,用于表决活动.要求主机能通过双绞线实现与各分机通信。

设计一个投票系统,由八个评委对若干个参赛选手投票,各个评委手中有“ON”和“OFF”两个按键,“ON”按键代表“反对通过”,“OFF”按键代表“赞成通过”。

设由1号、2号、3号、……n号选手,在1号选手登台时,八个评委对1号选手投票,投完票后,按“OFF”键投“赞成通过”的票数显示在LED数码管上,按“ON”键投“反对通过”的票数不显示。

然后,2号选手再登台,评委再对2号选手投票,依次类推。

(2)投票器基本主要功能及组成简介:

在比赛中,系统八个评委对参赛者投票,每个人通过按键“ON”和“OFF”开关操作,当有N个人投“赞成通过”时,数码管显示N,不读票时数码管呈现霓虹灯状态。

各个评委投票时,不计先后顺序。

投票器由单片机、二个按键、一只LED数码显示管和串行通信接口等组成。

二个键分别表示“ON”和“OFF”,投票前由主持人按总控制台的复位键对整个系统复位(包括分机复位),投票时主持人按下启动键开始投票,系统统计赞成票的票数N,显示在数码显示器上。

(3)投票器所需硬件设备:

1.一个Intel8031

2.一个Intel2724(8KB的UVEPROM)

3.一个Intel6264(8KB的静态RAM)

4.一个Intel8155(I/O口芯片)

5.一只共阳八段LED显示管

6.独立式非编码键盘

7.若干双绞线

8.一个74LS373(IC型号74LS373-90,生产厂商:

Motorola)

9.一个低电位或门

10.八只LED驱动器(AD8240,9~27V,0.36mA,250mA,500Hz窗体底端,,,,PWM,8-MSOP,)

二:

投票器硬件电路的设计及其功能的描述

(1)主要硬件概述:

1.Intel8031:

Intel公司生产

   8031单片机是Intel公司生产的MCS-51系列单片机中的一种,除无片内ROM外,其余特性与MCS-51单片机基本一样。

HMOS制造工艺的MCS-51单片机都采用40引脚的直插封装(双列直插式),制造工艺为CHMOS的80C51/80C31芯片除采用双列直插封装方式外,还采用方型封装工艺(本设计不采用),双列直插封装引脚排列如图。

双列直插式封装

在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出(I/O)引脚。

Vcc:

+5V电源电压。

    Vss:

电路接地端。

    P0.0~P0.7:

通道0,它是8位漏极开路的双向I/O通道,当扩展外部存贮器时,这也是低八位地址和数据总线,在编程校验期间,它输入和输出字节代码。

    P1.0~P1.7:

通道1是8位拟双向I/O通道,在编程和校验时,它发出低8位地址。

    P2.0~P2.7:

通道2是8位拟双向I/O通道,当访问外部存贮器时,用作高8位地址总线。

    P3.0~P3.7:

通道3准双向I/O通道。

P3通道的每一根线还有第二功能:

外接晶体引脚XTAL1和XTAL2

 XTAL1:

接外部晶体的一个引脚。

在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。

当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。

  XTAL2:

接外晶体的另一端。

在单片机内部,接至上述振荡器的反相放大器的输出端。

采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。

  ST/VPD:

当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。

VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。

当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。

  ALE/PROG:

当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。

即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。

因此,它可用作对外输出的时钟,或用于定时目的。

PSEN:

此脚的输出是外部程序存储器的读选通信号。

在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。

但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。

  EA/VPP:

当EA端保持高电平时,访问内部程序存储器,当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。

对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。

表 P3各口线的第二功能定义

口线

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(定时器0外部输入)

P3.5

T1(定时器1外部输入)

P3.6

WR(外部数据存储器写脉冲)

P3.7

RD(外部数据存储器读脉冲)

地址总线(AB):

地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15)。

数据总线(DB):

数据总线宽度为8位,由P0提供。

控制总线(CB):

由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。

Intel8031采用双列直插式封装,为HMOS型器件。

2.Intel2724和Intel6264:

Intel2724是一种+5V的8KBUVEPROM存储器芯片,采用HMOS工艺,27是系列号,64和存储容量有关;Intel6264是一种静态RAM,62是系列号,64是序号,和存储容量有关,采用CMOS工艺.

如图:

型号

容量/KB

读出时间/ns

制造工艺

所用电源/V

管脚数

Intel2724

8

200~450

HMOS

+5

28

Intel6264

8K×8

200

CMOS

+5

28

62642764

3.Intel8155:

Intel8155是Intel公司研制的通用I/O接口芯片。

MCS-51和8155相连不仅可为外部设备提供两个8位I/O端口(A口和B口)和一个6位I/O端口(C口),也可为CPU提供一个256字节的RAM和一个14位定时器/计数器。

8155有40个引脚,采用双列直插封装,其引脚图和组成框图如图所示。

8155

地址/数据线(8条) :

AD0~AD7      

I/O口总线(22条):

PA0~PA7、PB0~PB7、PC0~PC5。

控制总线(8条):

ALE——地址锁存(输入)

IO/M——IO口/RAM选择,IO/M=0:

选内RAM;IO/M=1:

选内IO口

CE——片选线

RD、WR——读、写控制

TIMERIN——定时器输入(输入定时器所需时钟)

TIMEROUT——定时器输出(输出所产生的方波脉冲)

此时,8155内部RAM的地址范围为:

0000H~00FFH,8155各端口的地址(设无关位为0,这些地址都不是惟一的)为:

     命令/状态口    0400H

        A口           0401H

        B口           0402H

        C口           0403H

        定时器低字节  0404H

        定时器高字节  0405H

4.共阳八段LED显示管:

数码管结构:

有共阴极和共阳极两种接法,

显示方式:

静态显示—在静态显示方式下,每一位显示器的字段控制线是独立的。

当显示某一字时,该位的各字段线和字位线的电平不变,也就是各字段的亮灭状态不变。

静态显示方式下LED显示器的电路连接方法是:

每位LED的字位控制线门共阴极点或共阳极点连在一起,接地或接+SV;其字段控制线(a~SP)分别接到一个8位口。

动态显示—利用人眼的视觉暂留效应。

分时显示不同的数码管。

动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。

本设计采用动态显示方式。

共阳八段LED显示管

  连4.独立式非编码键盘:

在非编码键盘中,每个按键的作用只是使相应接点接通或断开,每个按键的编码并非由硬件电路产生,而是由相应扫描处理程序对它扫描形成的。

因此,非编码键盘硬件电路极为简单,在微型计算机中得到了广泛的应用。

在独立联接式非编码键盘中,每个按键都是彼此独立的,均需占用CPU的一条I/O输入数据线。

5.74ls373(生产厂商:

Motorola)

74ls373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片。

6.LED驱动器

AnalogDevices,Inc.(简称ADI)为液晶背光照明应用提供发光二极管(LED)驱动器。

AD8240由于降低了与LED驱动相关的复杂性从而降低了系统成本,它包括过流保护功能并且采用MSOP封装,同时能够保证背光照明液晶显示的亮度均匀。

它通过单独监视每只LED的电流实现了优良的匹配性能。

ADM8845可以在3种电荷泵工作模式之间根据输入电压自动切换,所以它还用来最大化功率效率。

(2)硬件电路设计原理图:

1.Intel8031对独立式非编码键盘的电路连接原理图:

图1

此电路原理图说明:

独立式非编码键盘的优点是硬件电路简单;缺点是每个按键都要占用一条I/O端口线。

2.Intel8031与一个Intel2724(8KB的UVEPROM)和一个Intel6264(8KB的静态RAM)的电路连接原理图:

 

图2

此电路原理图说明:

Intel8031无内部ROM,所以需要扩展外部ROM;

Intel8031仅有4KBRAM,相对来说存储容量较小,所以需要扩展外部RAM。

3.Intel8031通过Intel8155(I/O口芯片)与一只共阳LED数码显示管的电路连接原理图:

图3

此电路原理图说明:

Intel8031通过扩展的Intel8155I/O接口,控制三只共阳LED数码显示管的显示。

4.共阳LED数码显示管的电路图:

图4

此电路原理图说明:

八段LED显示管由八只发光二极管组成,分别编号a、b、c、d、e、f、g、SP所有发光二极管共连后接到G脚,正常显示时G接+5V。

(3)电路功能描述:

图l:

独立式键盘的结构如图l所示,是最简单的键盘结构形式,每个按键的电路是独立的,都有单独一根数据线输出键的通断状态。

单片机一条I/O口线对应一个按键。

按键操作存在的问题——键抖动

由于机械触点的弹性作用,触点在闭合和断开瞬间的电接触情况不稳定,造成了电压信号的抖动现象,如图所示。

键的抖动时间一般为5~10ms。

这种现象会引起单片机对于一次键操作进行多次处理,因此须设法消除键接通或断时的抖动现象。

去抖动的方法有硬件和软件两种。

硬件去抖动和软件去抖动。

a.硬件消除抖动

b.软件去抖动:

采用软件去抖动的方法是在单片机检测到有键按下时执行一个10~20ms的延时程序后再次检查该键电平是否仍保持闭合状态.如保持闭合状态,则确认为有键按下,否则从头检测。

这样就能消除键的抖动影响。

   

按键监测方法——监测有无键按下(查询方式)。

图中的每个按键8031的P1口中一条相连。

若“ON”键按下时,8031从P1口读得的引脚电平均为“1”(+5V);若“OFF”键按下时,则该键所对应的端口线变为地电平。

单片机定时对P1口进行程序查询,即可发现是“OFF”键按下还是“ON”键按下。

图2:

8031与2764的连接,2764存储容量为8KB,故片内地址线为P2.4~P2.0和P0.7~P0.0(P2.4~P2.0直接与2764的A12~A8相接,P0.7~P0.0经74LS373输出后接到2764的A7~A0),共13条。

8031与6264的连接,6264存储容量为8KB,故片内地址线为P2.4~P2.0和P0.7~P0.0(P2.4~P2.0直接与6264的A12~A8相接,P0.7~P0.0经74LS373输出后接到6264的A7~A0),共13条。

8031的地址采用线选法译码方式,片选线P2.7悬空片选线,P2.6与2764的CE相连,P2.5与6264的CE相连。

PSEN与2764的OE相接,以便8031执行MOVC指令时产生低电平而选中2764工作。

PSEN和RD经过低电位或非门后接到6264的OE引脚。

各存储器的基本地址范围为:

1#2764:

0000H~1FFFH8KB

2#6264:

2000H~3FFFH8KB

重叠地址范围:

1#2764:

8000H~9FFFH8KB

2764中共有16KB的重叠地址范围,它们在整个64KB区域中是不连续的,使用硬件电路图时,程序和常数放在基本地质范围内。

图3:

为减少硬件开销,提高系统可靠性并降低成本,单片机控制系统采用动态扫描显示。

图2显示出8031通过8155对三只共阳LED的接口电路,B口和所有LED的a、b、c、d、e、f、g、SP引线相连,各LED控制端G和8155C口相连,故B口为字形口,C口为字位口,CPU通过C口控制各LED是否点亮。

8155的端口地址分配如下:

命令/状态口    0400HA口         0401H

B口         0402HC口         0403H

定时器低字节  0404H定时器高字节 0405H

8155RAM基本地址区0000H~00FFH

图4:

八段LED显示管,正常显示时G接+5V,各发光二极管是否点亮取决于a~SP各引脚上是否是低电平0伏。

(4)硬件总连接图

 

三:

投票器软件部分设计框图(含主程序及典型子程序或中断服务程序)及描述

假设有参赛选手共M人,评委共8人。

评委按“OFF”键投“赞成通过”,评委按“NO”键投“反对通过”。

30H单元作为显示缓冲区,存储显示数字,地址偏移量和显示数字相同。

 

四:

程序汇编

ORG0000H

MOVA,#0FFH;准备读P1口

MOVP1,A

MOVA,P1;读键盘状态

JNCACC.0,RP10;若“OFF”键按下,则转RP10

JNCACC.0,RP11;若“OFF”键按下,则转RP11

JNCACC.0,RP12;若“OFF”键按下,则转RP12

JNCACC.0,RP13;若“OFF”键按下,则转RP13

JNCACC.0,RP14;若“OFF”键按下,则转RP14

JNCACC.0,RP15;若“OFF”键按下,则转RP15

JNCACC.0,RP16;若“OFF”键按下,则转RP16

JNCACC.0,RP17;若“OFF”键按下,则转RP17

SJMPCHABIAO

RP10:

INC30H

RP11:

INC30H

RP12:

INC30H

RP13:

INC30H

RP14:

INC30H

RP15:

INC30H

RP16:

INC30H

RP17:

INC30H

RET

CHABIAO:

MOVA,#06H;8155命令字送A

MOVDPTR,#0400H

MOVX@DPTR,A;8155命令字送8155命令口

MOVR0,#30H;显示缓冲区地址送R0

MOVR3,#0FEH;字位码始值送R3

MOVA,R3;字位码始值A

MOVDPTR,#0403H;C口地址送DPTR

MOVX@DPTR,A;字位码送C口

MOVDPTR,#0402H;B口地址送DPTR

MOVA,@R0;待显字符地址偏移量送A

ADDA,#03;对A进行地址修正

MOVCA,@A+PC;查字形码表

LOOP:

MOVX@DPTR,A;字形码送B口输出显示

SJMPLOOP;循环显示

DTAB:

DB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,

END

五:

课程设计体会

根据课程设计的要求和自己通过参考有关资料拟的方案,写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序,达到能够实现所要求的功能的目的。

在写程序时,在每条指令后都写好注释,以便在程序出错的检查过程中可以更容易查找得到。

 这次的单片机课程设计重点是理论与实际的相结合,不单单只是书上的一条条分离的指令。

通过这次设计让我更系统的了解了个个指令以及单片机的扩展内容。

本系统是以单片机8031芯片为核心部件,通过这次设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。

使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。

六:

参考文献

1.胡汉才.单片机原理及其接口技术[M].第二版.北京:

清华大学出版社,2002

2.康华光.电子技术基础(模拟部分、数字部分)[M].第四版.北京:

高等教育出版出版社,1998

3.余永权.ATMEL89系列单片机应用技术[M].第二版.北京:

北京航天航空大学出版社,2002

期刊:

a.电子技术应用b.微型机与应用

4.《集成电路速查手册》

5.上网查阅资料

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

当前位置:首页 > 表格模板 > 合同协议

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

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