湖南工业大学单片机课程设计答案.docx

上传人:b****1 文档编号:23105059 上传时间:2023-04-30 格式:DOCX 页数:14 大小:353.39KB
下载 相关 举报
湖南工业大学单片机课程设计答案.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.1设计一个单片机最小系统,用仿真软件设计,要求有5V电源,8个LED灯,12MHZ晶振,完成流水灯的仿真。

1.2外部脉冲自动计数,自动显示。

1.2.1设计一个255计数器:

0-255计数,计满后自动清0,重新计数(在数码管中显示)。

1.2.2设计一个50000计数器:

0-50000计数,计满后自动清0,重新计数(在数码管中显示)。

1.3设计一个出租车计费系统:

起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)

1.4单片机最小系统实训板的设计。

(要求采用PROTEL完成单片机最小系统的硬件电路设计)

二.课程安排:

17周完成设计任务(1.1-1.2)的程序设计以及软件仿真

18周完成设计任务(1.3-1.4)以及所有设计任务的硬件实现

三、单片机最小系统硬件资源介绍:

※89S51单片机;

※6位共阳极数码管;

※段码驱动器74HC573,位选译码器74HC138;

※4路独立式按键;

※外部晶振电路;

※ISP下载接口(Insystemprogram,在系统编程);

※DC+5V电源试配器(选配);

※ISP下载线(选配)。

单片机最小系统实训板硬件资源分布见图1元件布局图和图2电路原理图:

其中P1为外部电源输入座(DC+5V),S8为电源最小系统的电源开关,E1和C3为电源滤波,去耦电容。

D1为系统电源指示灯。

J2为ISP下载接口,S7系统复位按键。

CRY1,C1,C2为外部时针电路。

IC1为89S51(DIP-40),左上角为第一脚。

PRE1,PRE2。

为上拉排阻(阻值4.7k—10k)。

J5,J9,J6,J10分别对应单片机的P0,P1,P2,P3口。

便于二次开发。

6路共阳极数码管动态显示电路,P0口通过74HC573(起驱动和隔离作用,让电流通过74CH573流入公共地),来控制数码管的8路段码,P20-P22通过74HC138译码器(使用其中的6路)控制数码管的公共端(中间还有三极管做驱动器)。

这样设计的理由:

为了保证该单片机最小系统的二次开发的资源充足和合理性。

如果单只做一个动态显示电路,可以省去74HC573,和74HC138。

 

图1元件布局图

图2单片机最小系统原理图

四、设计思路:

1、255计数:

255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。

然后对TL1的内容进行相应的二进制---十进制转换:

首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。

接着将相应的十进制数进行译码,并在LED数码管上显示出来。

每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。

开始

初始化堆栈,定时器初始化

清零相关RAM地址单元

TF1=1?

调用显示子程序

脉冲数加1

即20H加1

20H=100?

21H加1

20清零

计算出脉冲数的个,十,百位

分别存放于30H,31H,32H

(20H=54)&(21H=2?

 

脉冲数计到255后重新计数

即20H,21H清零

Y

N

Y

N

Y

N

说明:

1.20H存放脉冲的个位和十位数值,21H存放脉冲的百位和千位数值。

2.计算脉冲数的个位和十位数值:

(20H)/10的商即十位数值存放于31H,余数即个位数值存放于30H。

3.计算脉冲数的百位数值:

(20H)/10的余数即百位数值存放于32H。

例如:

脉冲数212(十进制),(20H)=12,(21H)=2。

脉冲的个位数值(30H)=2,脉冲的十位数值(31H)=1,脉冲的百位数值(32H)=2.

图3255计数程序流程图

2、0-50000计数:

思路1:

由于DIVAB指令中A、B均为8位寄存器,因此255二进制转十进制计数的方法不能用于0-50000的循环计数。

可根据TH0(T0计数)或TH1(T1计数)中的内容为多少进行256累加,因为TH0或TH1中每一个二进制‘1’代表十进制的256,再和TL0或TL1按前一步二转十的方法转换得到的百、十、个相加,即可完成16位二进制转十进制。

 

思路2:

置TL0或TL1的内容为0FFH,这样每来一个计数脉冲,TL0或TL1的内容就会溢出回零,只要通过指令判断TL0或TL1的内容是否为零,为零则70H(个位)加1,70H(个位)逢9进一,71H(十位)加1,十位个位为99进一,72H(百位)加1,以此类推,可实现0-999999(只有6个数码管)的循环计数。

3、出租车计费:

在上步的基础上,每1个脉冲当作1公里(可自己设置几个脉冲1公里),5个脉冲,数码管显示05.0005,前3位金额,后3位为里程,超过5个脉冲,里程加1,金额加0.8元。

难点主要在于计费金额的显示,可将初值置为50,其中十位调用带点的字型码,即显示05.0,超过5个脉冲,里程加1,金额加8,由于十位是带有小数点,即可实现金额加0.8元。

 

五、设计报告要求:

1.要求完成所有的设计任务,并且将仿真的效果截图贴在设计报告中。

2.写出所有的程序,关键部分要求写出注释

3.写不少于1000字的设计心得。

4.要求统一风格的封面,封面上注明班级,姓名,学号,以及湖南工业大学的标示。

单片机课程设计

1引言随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善,同时也标志了自动控制领域成为了数字化时代的一员。

它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。

它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。

2设计任务

2.1外部脉冲自动计数,自动显示。

2.1.1设计一个255计数器:

0-255计数,计满后自动清0,重新计数(在数码管中显示)。

2.1.2设计一个50000计数器:

0-50000计数,计满后自动清0,重新计数(在数码管中显示)。

2.2设计一个出租车计费系统:

起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)

3单片机最小系统硬件资源介绍

※89S51单片机;

※6位共阳极数码管;

※段码驱动器74HC573,位选译码器74HC138;

※4路独立式按键;

※外部晶振电路;

※ISP下载接口(Insystemprogram,在系统编程);

※DC+5V电源试配器(选配);

※ISP下载线(选配)。

单片机最小系统实训板硬件资源分布见图1元件布局图和图2电路原理图:

其中P1为外部电源输入座(DC+5V),S8为电源最小系统的电源开关,E1和C3为电源滤波,去耦电容。

D1为系统电源指示灯。

J2为ISP下载接口,S7系统复位按键。

CRY1,C1,C2为外部时针电路。

IC1为89S51(DIP-40),左上角为第一脚。

PRE1,PRE2。

为上拉排阻(阻值4.7k—10k)。

J5,J9,J6,J10分别对应单片机的P0,P1,P2,P3口。

便于二次开发。

6路共阳极数码管动态显示电路,P0口通过74HC573(起驱动和隔离作用,让电流通过74CH573流入公共地),来控制数码管的8路段码,P20-P22通过74HC138译码器(使用其中的6路)控制数码管的公共端(中间还有三极管做驱动器)。

这样设计的理由:

为了保证该单片机最小系统的二次开发的资源充足和合理性。

如果单只做一个动态显示电路,可以省去74HC573,和74HC138。

图1元件布局图

图2单片机最小系统原理图

4设计思路

1、255计数:

255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。

然后对TL1的内容进行相应的二进制---十进制转换:

首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。

接着将相应的十进制数进行译码,并在LED数码管上显示出来。

每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。

图3255计数程序流程图

5设计内容

5.10-255计数器数码管显示

图40-255计数显示

5.20-255计数程序

ORG0000H

SJMP0030H

ORG0030H;主程序开始

START:

L3:

MOVA,R1;将数码管选通信号送A

MOVP2,A;将A中的内容送P2口,控制数码管显示

MOVA,@R0

MOVCA,@A+DPTR;查表译码

MOVP0,A;将字符码送P0口输出显示

LCALLDIMS;调用延时子程序

DB92H,82H,0F8H,80H,90H

END

5.30-50000计数器数码管显示

图50-50000计数显示

5.40-50000计数程序

ORG0000H

SJMP0030H

ORG0030H

MAIN:

MOV70H,#00H

MOV71H,#00H

MOV70H,#00H

INC71H内容送P2口,控制数码管显示

MOVA,@R0

MOVCA,@A+DPTR;查表译码

RET;数码管译码表

TAB:

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

DB92H,82H,0F8H,80H,90H

END

5.5出租车计费显示数码管

图6出租车计费系统显示

5.6出租车计费系统程序

ORG0000H

SJMP0030H

ORG0030H

MAIN:

MOV70H,#00H

MOV77H,#00H

SJMPL4

L8:

MOV77H,#00H

INC78H

MOVA,78H

CJNER5,#0AH,L6

MOV77H,#00H

SJMPL5

RET;延时子程序

DIMS:

MOVR2,#06H;延时3ms子程序

DL:

MOVR3,#0FFH

DL1:

DJNZR3,DL1

DJNZR2,DL

RET;数码管译码表

TAB1:

DB0C0H,0F9H,0A4H,0B0H,99H;字符译码

DB92H,82H,0F8H,80H,90H

TAB2:

DB040H,079H,024H,030H,19H;带小数点字符译码

DB12H,02H,078H,00H,10H

END

6结束语

通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。

使之不断地战胜别人,超越前人。

同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。

于是,我坚持了下来。

当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何书,程序由自己独立完成,与用8255来制作的交通灯控制系统相比,程序简单易读,结构清楚,最重要的是成本低。

在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。

成本的高低也决定了产品的适用性。

7参考文献

[1] 李朝青.单片机原理及接口技术(简明修订版).杭州:

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

[2] 李广弟.单片机基础[M].北京:

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

[3] 阎石.数字电子技术基础(第三版).北京:

高等教育出版社,1989

[4] 廖常初.现场总线概述[J].电工技术,1999.

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

当前位置:首页 > 农林牧渔 > 林学

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

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