第五章 单片机课程设计.docx

上传人:b****7 文档编号:8809099 上传时间:2023-02-01 格式:DOCX 页数:26 大小:71.74KB
下载 相关 举报
第五章 单片机课程设计.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

第五章单片机课程设计

第五章单片机课程设计

设计一多功能数字时钟

一、设计目的

1、通过一个单片机应用实例建立系统的整体概念;

2、学习掌握单片机系统的硬、软件的工作原理以及二者间的配合关系和方法;

3、掌握8255等可编程接口芯片及实验箱中数码管、LED等电路的应用;

4、掌握单片机汇编语言应用程序的设计和调试方法。

二、设计要求

利用STARES598PCI实验仪的硬件资源设计一个“电子钟”。

使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电子钟电路,并编制一程序使得该电子钟正常运行。

三、设计内容

1、选用单片机内部计数器产生内部定时器中断,当定时到100ms时产生一个中断信号,在中断服务程序中进行中时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号,时、分、秒的数值通过对8255的编程可送到七段数码管上显示。

2、选用8253的计数器2进行100ms的定时,其输出OUT2作为单片机外部中断信号,当定时到100ms时产生一个中断信号,在中断服务程序中进行中时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号,时、分、秒的数值通过对8255的编程可送到七段数码管上显示。

四、设计分析

1.在主程序中要对8255、8253进行初始化编程。

2.8255的A口、B口都设为方式0,为基本的输入输出方式。

3.在中断服务程序中对中断次数进行统计,当满10次时就进行一次时、分、秒的处理。

时、分、秒分别对应6个存储单元,分别存放时、分、秒的十位和个位。

当中断次数满10次时,将秒的个位加1,判断是否到10,如到了则十位加1,个位清零;再判十位是否到6,如到了则十位清零,分的个位加1,同理对分、时作相应处理。

4.七段数码管显示作为子程序,将时、分、秒对应存储单元的内容分别取出并转换成相应的段码,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。

参考流程图如下:

 

 

设计二简易电子琴

一、设计目的

1、通过一个单片机应用实例建立系统的整体概念;

2、学习掌握单片机系统的硬、软件的工作原理以及二者间的配合关系和方法;

3、掌握8255等可编程接口芯片及实验箱中数码管、LED等电路的应用;

4、掌握单片机汇编语言应用程序的设计和调试方法。

二、设计要求

利用STARES598PCI实验仪的硬件资源设计一个“简易电子琴”。

使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电路,并编制一程序正常运行。

三、设计内容

利用实验仪的硬件资源设计出的简易电子琴通过一开关控制具有两种模式:

模式1:

音乐播放模式。

开关闭合时为此功能,在此功能下,单片机通过扬声器能够自动播放几首不同的歌曲,通过按键进行选择要播放的某首歌曲。

并通过数码管显示当前状态为模式1、第几首歌曲。

模式2:

弹奏模式。

开关断开时为此功能,在此功能下,单片机将16只按键分作两个八度的音符,按下不同的键后单片机通过扬声器能够发出不同频率的音符,从而实现弹奏功能。

通过数码管显示当前状态为模式2。

1、利用单片机内部定时器进行定时使其输出不同频率的波形至扬声器。

2、利用8253进行定时输出不同频率的波形至扬声器。

四、设计分析

1.实验原理

要产生音频脉冲,只要计算出某一音频的周期,然后将此周期除以2即为半周期的时间。

2.在主程序中要对8255、8253进行初始化编程。

3.8255的A口、B口都设为方式0,为基本的输入输出方式。

4.在中断服务程序中对连接扬声器的引脚的电平进行反转,从而产生相应的频率到扬声器。

5.对于模式1应采用两个定时器中断,一个用来产生发声的频率波形,另外一个用来控制每个音符所持续的时间。

当音符持续的时间结束时,两个定时器的计数初值应重新修改使其可以继续产生下一个音符对应的频率波形和它所持续的时间。

6.七段数码管显示作为子程序,将目前电子琴所处的工作模式显示出来,应使用动态显示方式,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。

 

设计三温度闭环控制

一、设计目的

1、

2、

3、

二、设计要求

利用STARES598PCI实验仪的硬件资源设计一个“电子钟”。

使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电子钟电路,并编制一程序使得该电子钟正常运行。

三、设计内容

 

四、设计分析

 

设计四语音录放

一、设计目的

1、

2、

3、

二、设计要求

利用STARES598PCI实验仪的硬件资源设计一个“电子钟”。

使用单片机内部计数器或外部计数器芯片8253、8255可编程并行接口芯片和七段数码管设计一个电子钟电路,并编制一程序使得该电子钟正常运行。

三、设计内容

 

四、设计分析

 

附录

附录A美国标准信息交换码(ASCII)字符表

低位

高位

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

E

1110

F

1111

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

NUL

DLE

SP

0

P

P

SON

DCI

1

A

Q

a

q

STX

DC2

2

B

R

b

r

ETX

DC3

#

3

C

S

c

s

EOT

DC4

4

D

T

d

t

ENQ

SYN

%

5

E

U

e

u

ACK

ETB

6

F

V

f

v

BEL

SYN

7

G

W

g

w

BS

CAN

8

H

X

h

x

HT

EM

9

I

Y

I

y

LF

SUB

*

J

Z

j

z

VT

ESC

+

K

[

k

{

FF

FS

L

\

l

l

CR

GS

-

=

M

]

m

}

SO

RS

N

n

SI

US

/

?

O

o

DEL

附录BMCS-51指令表

十六进制代码

助记符

功能

对标志影响

POVACCy

字节数

周期数

算术运算指令

28—2F

25

26,27

24

38—3F

35

36,37

34

98—9F

95

96,97

94

04

08—0F

05

06,07

A3

14

18—1F

15

18,17

A4

84

D4

ADDA,Rn

ADDA,direct

ADDA,Ri

ADDA,#data

ADDCA,Rn

ADDCA,direct

ADDCA,Ri

ADDCA,#data

SUBBA,Rn

SUBBA,direct

SUBBA,Ri

SUBBA,#data

INCA

INCRn

INCdirect

INCRi

INCDPTR

DECA

DECRn

DECdirect

DECRi

MULAB

DIVAB

DAA

A(A)+(Rn)

A(A)+(direct)

A(A)+((Ri))

A(A)+data

A(A)+(Rn)+(Cy)

A(A)+(direct)+(Cy)

A(A)+((Ri))-(CY)

A(A)+data+(CY)

A(A)-(Rn)-(CY)

A(A)-(direct)-(CY)

A(A)-((Ri))-(CY)

A(A)-data-(CY)

A(A)+1

Rn(Rn)+1

direct(direct)+1

(Ri)((Ri))+1

DPTR(DPTR)+1

A(A)-1

Rn(Rn)-1

direct(direct)-1

(Ri)((Ri))-1

AB(A)·(B)

AB(A)/(B)

对A进行十进制调整

1

2

1

2

1

2

1

2

1

2

1

2

1

1

2

1

1

1

1

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

4

1

*28-2F分别表示Rn选择R0~R7时的机器码。

如ADDA,R0,则机器码为28H。

续表

十六进制代码

助记符

功能

对标志影响

POVACCy

字节数

周期数

逻辑运算指令

58—5F

55

56,57

54

52

53

48—4F

45

46,47

44

42

43

68—6F

65

66,67

64

62

63

E4

F4

23

33

03

13

ANLA,Rn

ANLA,direct

ANLA,@Ri

ANLA,#data

ANLdirect,A

ANLdirect,#data

ORLA,Rn

ORLA,direct

ORLA,@Ri

ORLA,#data

ORLdirect,A

ORLdirect,#data

XRLA,Rn

XRLA,direct

XRLA,@Ri

XRLA,#data

XRLdirect,A

XRLdirect,#data

CLRA

CPLA

RLA

RLCA

RRA

RRCA

A(A)(Rn)

A(A)(direct)

A(A)((Ri))

A(A)data

direct(direct)(A)

direct(direct)data

A(A)(Rn)

A(A)(direct)

A(A)((Ri))

A(A)data

direct(direct)(A)

direct(direct)data

A(A)(Rn)

A(A)(direct)

A(A)((Ri))

A(A)data

direct(direct)(A)

direct(direct)data

A0

A(A)

A循环左移一位

A带进位循环左移一位

A循环右移一位

A带进位循环右移一位

1

2

1

2

2

3

1

2

1

2

2

3

1

2

1

2

2

3

1

1

1

1

1

1

1

1

1

1

1

2

1

1

1

1

1

2

1

1

1

1

1

2

1

1

1

1

1

1

续表

十六进制代码

助记符

功能

对标志影响

POVACCy

字节数

周期数

数据传送指令

E8—EF

E5

E6,E7

74

F8—FF

A8—AF

78—7F

F5

88—8F

85

86,87

75

F6,F7

A6,A7

76,77

90

93

83

E2,E3

E0

F2,F3

F0

C0

D0

C8—CF

C5

C6,C7

D6,D7

C4

MOVA,Rn

MOVA,direct

MOVA,@Ri

MOVA,#data

MOVRn,A

MOVRn,direct

MOVRn,#data

MOVdirect,A

MOVdirect,Rn

MOVdirect1,direct2

MOVdirect,@Ri

MOVdirect,#data

MOV@Ri,A

MOV@Ri,direct

MOV@Ri,#data

MOVDPTR,#dada16

MOVCA,@A+DPTR

MOVCA,@A+PC

MOVXA,@Ri

MOVXA,@DPTR

MOVX@Ri,A

MOVX@DPTR,A

PUSHdirect

POPdirect

XCHA,Rn

XCHA,direct

XCHA,@Ri

XCHDA,@Ri

SWAPA

A(Rn)

A(direct)

A((Ri))

Adata

Rn(A)

Rn(direct)

Rndata

direct(A)

direct(Rn)

direct1(direct2)

direct((Ri))

directdata

(Ri)(A)

(Ri)(direct)

(Ri)data

DPTRdata16

A((A)+(DPTR))

A((A)+(PC))

A((Ri))

A((DPTR))

(Ri)(A)

(DPTR)(A)

SP(SP)+1,(SP)(direct)

direct(SP),SP(SP)-1

(A)(Rn)

(A)(direct)

(A)((Ri))

(A)0-3(Ri)-3

A半字节交换

1

2

1

2

1

2

2

2

2

3

2

3

1

2

2

3

1

1

1

1

1

1

2

2

1

2

1

1

1

1

1

1

1

1

2

1

1

2

2

2

2

1

2

1

2

2

2

2

2

2

2

2

2

1

1

1

1

1

位操作指令

C3

C2

D3

D2

B3

B2

82

B0

72

A0

A2

92

CLRC

CLRbit

SETBC

SETBbit

CPLC

CPLbit

ANLC,bit

ANLC,/bit

ORLC,bit

ORLC,/bit

MOVC,bit

MOVbit,C

CY0

bit0

CY1

bit1

CY(CY)

bit(bit)

CY(CY)(bit)

CY(CY)(bit)

CY(CY)(bit)

CY(CY)(bit)

CY(bit)

bit(CY)

1

2

1

2

1

2

2

2

2

2

2

2

1

1

1

1

1

1

2

2

2

2

1

2

 

续表

十六进制代码

助记符

功能

对标志影响

POVACCy

字节数

周期数

控制转移指令

1

 

12

 

22

32

 

1

02

80

73

60

70

40

50

20

30

10

B5

 

B4

 

B8—BF

 

B6,B7

 

D8—DF

 

D5

 

00

ACALLaddr11

 

LCALLaddr16

 

RET

RETI

 

AJMPaddr11

LJMPaddr16

SJMPrel

JMP@A+DPTR

JZrel

JNZrel

JCrel

JNCrel

JBbit,rel

JBCbit,rel

JBCbit,rel

CJNEA,direct,rel

 

CJNEA,#data,rel

 

CJNE@Rn,#data,rel

 

CJNERi,#data,rel

 

DJNZRn,rel

 

DJNZdirect,rel

 

NOP

PC(PC)+2,SP(SP)+1

(SP)(PC)L,SP(SP+1)

(SP)(PC)H,PC100addrll

PC(PC)+3,SP(SP)+1(SP)(PC)L,SP(SP)+1,(SP)(PC)H,PCaddr16

PCH((SP)),SP(SP)-1

PCL((SP)),SP(SP)-1

PCH((SP)),SP(SP)-1PCL((SP)),SP(SP)-1从中断返回

PC(PC)+2,PC10-0addr11

PC(PC)+3,PCaddr16

PC(PC)+2,PC(PC)+rel

PC(A)+(DPTR)

PC(PC)+2,

若(A)=0,PC(PC)+rel

PC(PC)+2,若(A)不等于0,则PC(PC)+rel

PC(PC)+2,若Cy=1,

则PC(PC)+rel

PC(PC)+2,若Cy=0,

则PC(PC)+rel

PC(PC)+3,若(bit)=1,

则PC(PC)+rel

PC(PC)+3,若(bit)=1,

则bit0,PC(PC)+rel

PC(PC)+3,若(bit)=1,

则bit0,PC(PC)+rel

PC(PC)+3

若(A)不等于(direct),

则PC(PC)+rel;

若(A)(direct),则Cy1

PC(PC)+3,

若(A)不等于data,

则PC(PC)+rel;

若(A)data,则Cy1

PC(PC)+3,

若((Rn))不等于DATA,

则PC(PC)+rel;

若((Rn))data,则Cy1

PC(PC)+3,

若((Rn))不等于DATA,

则PC(PC)+rel;

若((Rn))data,则Cy1

PC(PC)+2,Rn(Rn)-1

若(Rn)不等于0,

则PC(PC)+rel

PC(PC)+3

direct(direct)-1

若(direct)不等于0,

则PC(PC)+rel

空操作,PCPC+1

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

x

 

 

 

x

 

 

 

 

 

 

x

 

 

 

x

2

 

3

 

1

1

 

2

3

2

1

2

2

2

2

3

3

3

3

 

3

 

3

 

3

 

2

 

3

 

1

2

 

2

 

2

2

 

2

2

2

2

2

2

2

2

2

2

2

2

 

2

 

2

 

2

 

2

 

2

 

1

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

当前位置:首页 > 解决方案 > 工作计划

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

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