当前位置:文档之家› 单片机复习要点

单片机复习要点

单片机复习要点
单片机复习要点

第一章MCS-51单片机原理

一、单片机存储器结构

A T89C51单片机内部有128字节的片内RAM,其中00H~1FH为通用寄存器区,20H~2FH 为可按位寻址区,30H~7FH为一般用户RAM区。这128字节的片内RAM可直接访问。在80H~0FFH范围内还离散地分布着一些特殊功能寄存器(SFR),特殊功能寄存器(SFR)用于设置单片机的工作方式及其他特殊需要(运算、端口输出等)。

00H~1FH范围内的通用寄存器区又可分为:00H~07H为第0组工作寄存器区,08H~0FH 为第1组工作寄存器区,10H~17H为第2组工作寄存器区,08H~17H为第3组工作寄存器区。R0~R7是8个工作寄存器,共32个字节。用户可以通过指令对PSW中RS1和RS0的设置来决定R0~R7对应哪一组工作寄存器区。见表1。

表1 工作寄存器地址表

20H~2FH范围内的可按位寻址区共16个字节,每个字节的8个位均可按位寻址。位地址范围是00H~7FH。见表2。

30H~7FH范围内一般用户RAM区一般用做堆栈、数据缓冲区等。

特殊功能寄存器(SFR)的地址分布见表3,位地址分布见表4。

与AT89C51完全相同,而地址范围为80H~0FFH的后128个字节只能采用间接寻址方法访问。

可按位寻址的各特殊功能寄存器的位名称和地址、作用

思考题:

1.EA引脚与执行片内程序和片外程序的关系。

2.使用间址寄存器R0、R1时,可寻址的片内存储器范围,片外存储器范围,使用DPTR 可寻址的片外存储器范围。

3.PSW中的位C、P、RS0、RS1的作用

4.复位的电平、持续时间要求,复位后,特殊功能寄存器的状态,复位操作对RAM内容

是否有影响。

5.特殊功能寄存器(只能直接寻址)与地址为80H~0FFH的RAM(只能间接寻址)的区别。

二、指令

AT89C51的指令有5大类,包括数据传送类、算术运算类、逻辑运算类、控制转移类、位操作类。指令系统中的符号说明如下:

1.指令助记符中的符号

Rn 表示8051内部工作寄存器R0~R7;但不指明所在的工作区号。

Ri 表示R0或R1。这两个寄存器可用于间接寻址。

#data表示立即数;例#59H,#74H,#05H等。

direct 表示直接地址;注意#59H与59H的区别。

addr16 表示16位的目的地址。用于LCALL和LJMP指令中,目的地址的范围是64KB程序存储器地址空间。

addr11表示11位的目的地址。用于ACALL和AJMP指令中。

rel表示一个八位的偏移量,相对下一条指令的第一字节范围是-128~+127。

DPTR数据指针,可用作16位的地址寄存器。

bit内部RAM或专用寄存器中的直接寻址地址位。

A累加器

B专用寄存器,用于MUL和DIV指令中。

@间址寄存器或基址寄存器前缀。

C或Cy 位处理机中的累加器或进位标志位。

(X)X中的内容。

((X))由X寻址的单元中的内容。

→箭头右边的内容被箭头左边的内容所取代。

思考题:

1.机器周期的含义

2.指令周期的含义

3.能读懂指令表,特别是MOVC A,@A+DPTR指令,MOVC A,@A+PC指令,JMP @A+DPTR指令,CJNE、JBC、ANL C,/bit、ORL C,/bit指令

4.执行PUSH、POP、LCALL、ACALL、RET、RETI及中断时,SP的变化情况。

三、引脚

1.EA、PSEN、ALE、X1、X2、RESET引脚的作用

2.P0(无上拉电阻)、P1(无复用功能)、P2、P3口特点(复位为1,可按位寻址等)及其复用功能。做一般I/O口时,都是准双向口,即输出状态为1时,才能作为输入口。

四、存储器的扩展

1.存储器地址判断:结合片选信号和地址线。

2.使用MOVX @DPTR,A和MOVX A,@DPTR指令时,DPH对应P2口,DPL对应P0口(经74LS373锁存后的低8位地址A0~A7)

3.使用MOVX @Ri,A和MOVX A,@Ri指令时,Ri(i为0或1)对应P0口(经74LS373锁存后的低8位地址A0~A7)

4.执行MOVX @DPTR,A和MOVX @Ri,A指令时WR(P3.6)引脚为0

5.执行MOVX A,@DPTR 和MOVX A,@Ri 指令时RD (P3.7)引脚为0 6.ALE 引脚及其与锁存器的连接 7.EA 引脚的作用

五、外中断

1.外中断的设置(主程序中):外中断0(INT0引脚):IT0、EX0、EA 、PX0。外中断1(INT 1引脚):IT1、EX1、EA 、PX1(TCON 、IE 、IP 寄存器)

2.外中断标志IE0、IE1,响应外中断时,由硬件自动清0

3.中断服务程序:入口地址:外中断0:0003H ,外中断1:0013H ,返回指令RETI 4.中断响应和返回时SP 内容的变化

5.2个中断优先级,中断优先级的设置(IP 寄存器)。低优先级中断可以被高优先级中断中断。

六、定时/计数器(2个,T0和T1)

1.4种定时/计数方式设置(T0有4种,T1有3种。有4种0工作在方式3时,T1仍可使用,通过TMOD 控制,T1的控制字中M1、M0=11时,T1停止计数,为其它数时,按其设置方式计数)

2.TMOD 寄存器各位的含义,不可按位寻址 3.TH0、TL0和TH1、TL1,都是加计数器 4.TCON 寄存器中TF1、TR1、TF0、TR0

5.定时/计数设置:方式设置:TMOD ,允许计数设置:TR0、TR1,中断设置:ET0、ET1、EA

6.中断服务程序:入口地址:T0:000BH ,T1:001BH ,返回指令RETI 7.中断标志TF0、TF1,响应中断时,由硬件自动清0 8.中断响应和返回时SP 内容的变化 9.各种方式的计数范围。

七、串行通信

1.4种方式设置,方式0、2波特率固定,方式1、3使用定时气T1做波特率发生器。方式0为同步方式,靠TXD 引脚发出的时钟做同步信号,无起、停位,波特率固定为f osc /12,半双工。其他方式为异步方式包括1个起始位、数据位、1个停止位。方式2、3有9位数据,方式1有8位数据。方式1、3波特率:)

256(1232

2N f S osc

SMOD -?

=

,方式2波特率:

osc SMOD f ?64

2

2.使用T1做波特率发生器,使用TCON 寄存器设置工作方式。 3.串口设置:工作方式、波特率、启动T1、中断设置 4.中断服务程序:入口地址:0023H ,返回指令RETI

5.中断标志RI 、TI ,响应中断后,由软件清0,不能硬件清0。

6.中断响应和返回时SP内容的变化

7.多机通讯方式,适用于方式2、3

第二章串行通讯接口技术

一、RS-232全双工接口逻辑:TXD和RXD采用负逻辑,即逻辑1:-3V~-15V;逻辑0:+3~+15V。其他控制线均采用正逻辑

二、TTL/RS-232电平转换芯片MAX232、MAX202,使用单一的+5V电源供电

三、RS-485 半双工接口:逻辑“1”以两线间的电压差(V A-V B)为+(2—6)V表示;逻辑“0”以两线间的电压差为(V A-V B)-(2—6)V表示。检测时,V A-V B大于0.2V为1,V A-V B小于-0.2V 为0

四、RS-485具有如下特性

RS-485的数据最高传输速率为10Mbps

RS-485接口的最大电缆长度为1200米

RS-485标准允许并联32台驱动器和32台接收器

RS-485接口均采用屏蔽双绞线传输

RS-485采用同名端连接,可作为工业控制总线

为确保可靠性及保护器件,实际使用时一般要共地。

第三章AT89C52及增强型单片机介绍

一、AT89C52:8K字节可编程闪速程序存储器,256字节片内RAM,3个定时/计数器

二、AT89C55:20K字节可编程闪速程序存储器

第四章输出驱动及I/O接口扩展

一、集成驱动芯片性能,见教材242页表11.1

二、光电耦合器:电流传输比=I C/I F,芯片性能,见教材246页表11.2

三、单向可控硅导通条件:G和A端电位一致,且高于K端,双向可控硅导通条件:G和MT2端电位一致。可控硅导通时有导通电压,截止时有漏电流。

四、双向可控硅驱动器输出的光耦/光隔离器,见教材247~250页

五、各类电机的驱动

六、I/O接口并行扩展:常用芯片:锁存器:74HC273、74HC373、74HC374,三态输出的八总线缓冲器:74HC244。

七、接口地址判断,参考存储器地址判断部分,使选中的芯片的片选或使能信号有效,而没被选中的芯片的片选或使能信号无效

八、I/O接口串行扩展:常用芯片:74HC165(8位并入串出移位寄存器)、74HC164(8位串入并出移位寄存器)、74HC595(8位移位寄存器带输出锁存(三态) )

第五章显示器件、键盘、打印机的接口

一、LED的驱动:单向电流驱动,字型码,静态显示、动态显示驱动原理

二、LCD的驱动:双向电压驱动

三、独立式键盘扫描

四、矩阵式键盘扫描

五、串行接口键盘、显示

第六章 D/A 和A/D 转换器件接口

一、并行接口8位D/A 转换芯片DAC0832接口电路:参考教材206页公式 1.单极性输出:256

REF

out V B

V -=,根据此公式确定参考电压,及其他数据 2.双极性输出:128

)

128(REF

out V B V -=,根据此公式确定参考电压,及其他数据 3.接口地址确定:参考存储器地址判断部分,使选中的芯片的片选(CS )及其他控制信号(ILE 、XFER 、WR1、WR2)有效,而没被选中的芯片的片选(CS )及其他控制信号(ILE 、XFER 、WR1、WR2)无效

4、驱动程序,参考实验讲义,注意单缓冲方式和双缓冲方式接口地址的差别

二、并行接口12位D/A 转换芯片DAC1208接口电路:参考教材210~212页,同DAC0832 1.单极性输出:4096

REF

out V B

V -=,根据此公式确定参考电压,及其他数据 2.双极性输出:2048

)2048

(REF

out V B V -=,根据此公式确定参考电压,及其他数据 3.接口地址确定:参考存储器地址判断部分,使选中的芯片的片选(CS )及其他控制信

号(ILE 、BYTE1/BYTE2、WR1、WR2)有效,而没被选中的芯片的片选(CS )及其他控制信号(ILE 、BYTE1/BYTE2、WR1、WR2)无效 4、注意只能使用双缓冲方式接口

三、串行接口1路模拟量输出的10位D/A 转换芯片TLC5615:通过SPI 总线与单片机接口 四、基准电压源

1.LM385-1.2:1.2V 、LM385-2.5:2.5V 2.LM336-2.5:2.5V 、 LM336-5.0:5.0V 3.TL431:电压可调,最大可到36V 4.2.5V IC 基准AD1403

五、常用标准信号:0~5V 、4~20mA 、0~10mA

六、并行接口逐次逼近型8位8通道A/D 转换芯片ADC0809接口电路:参考教材213~218页

1.转换结果:256?--=

-

+-

REF REF REF IN V V V V D ,根据此公式确定参考电压,及其他数据

2.接口地址确定:参考存储器地址判断部分,启动A/D 转换(使START 为1),查询EOC 为1时,转换结束,使OE 为1,读出转换结果。 3、驱动程序,参考实验讲义

七、12位逐次逼近型并行接口A/D 转换器AD574:有10V 量程和20V 量程2个输入端,可单极性和双极性输入。参考教材218~221页

八、3位半双积分型并行接口A/D 转换器MC14433。参考教材221~225页 九、4位半双积分型并行接口A/D 转换器ICL7135。参考教材225~230页 十、12位双积分型并行接口A/D 转换器ICL7109。参考教材230~234页

十一、串行接口和11个输入端的12位模数转换器:TLC2543:通过SPI 总线与单片机接口

十二、用V/F变换实现A/D转换:LM331,参考教材234~238页

十三、单电源,满幅度,低成本测量放大器AD623

第七章过程数据的处理方法

一、shannon采样定理

当ωs≥2ωmax时,相邻的频谱就不会重叠,采样后的信号经低通滤波后,再放大T倍,就可以不失真地恢复原来的连续信号y(t)。

实际一般:f s=(4~10)f max

ωs、f s为采样频率,ωmax、f max为信号最高频率

二、滤波(参考教材372~375页)

1.中值滤波

对某一参数连续采样n次,然后把n次的采样值从小到大(或从大到小)排队,再取中间值作为本次采样值。

2.算术平均值滤波

加权平均值滤波

作用:突出信号的某一部分,一般使新采样的数值的权重较大。

3.滑动平均值滤波

第八章其他扩展接口及实用电路

一、并行接口日历时钟芯片DS12887

二、串行接口日历时钟芯片DS1302

三、带看门狗复位器MAX705/MAX708

四、带4K位SPI 总线接口的EEPROM的CPU监控器X5045

五、64K位的串行(I2C)接口FRAM存储器24C64

第九章电源电路

一、线性三端正输出固定稳压器:7805(+5V)、7806(+6V)、7809(+9V)、7812(+12V)、7815(+15V)、7824(+24V)

二、线性三端负输出固定稳压器:7905(-5V)、7906(-6V)、7909(-9V)、7912(-12V)、7915(-15V)、7924(-24V)

三、降压型开关稳压器LM2576

四、1.5 A升压/降压/反向型开关稳压器MC34063

五、DC-DC电压反向变换器7660

第十章可靠性及抗干扰设计

参考教材第16章

实验参考答案

实验3 I/O端口的使用

1.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

L02: MOV P2,P1

LJMP L02

2.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

L02: MOV A,P1

CPL A

MOV P2,A

LJMP L02

3.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

L02: MOV A,P1

CJNE A,#01H,L03 MOV P2,#00H

LCALL DELAY

MOV P2,#0FFH LCALL DELAY

LJMP L02

L03: CJNE A,#02H,L04 MOV P2,#00H

LJMP L02

L04: MOV P2,#0FFH LJMP L02 DELAY: MOV R2,#5

S01: MOV R3,#100

S02: MOV R4,#200

S03: DJNZ R4,S03

DJNZ R3,S02

DJNZ R2,S01

RET

4.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

L02: MOV A,P1

CJNE A,#03H,L03

LCALL DELAY

MOV P2,#0FFH

LCALL DELAY

LJMP L02

L03: CJNE A,#04H,L04

MOV P2,#0FH

LCALL DELAY

MOV P2,#0FFH

LCALL DELAY

LJMP L02

L04: MOV P2,#0FFH

LJMP L02

DELAY: MOV R2,#5

S01: MOV R3,#100

S02: MOV R4,#200

S03: DJNZ R4,S03

DJNZ R3,S02

DJNZ R2,S01

RET

5.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

MOV A,#0FEH

L02: JNB P1.7,L02

LCALL DELAY

RL A

MOV P2,A

LJMP L02

DELAY: MOV R2,#5

S01: MOV R3,#100

S02: MOV R4,#200

S03: DJNZ R4,S03

DJNZ R3,S02

DJNZ R2,S01

RET

实验4 外部扩展RAM和外中断的使用1.

ORG 0000H

LJMP L01

ORG 0030H

MOV A,#55H

MOV DPTR,#1000H L02: MOVX @DPTR,A

INC DPTR

MOV R2,DPH

CJNE R2,#20H,L02 ABC: LJMP ABC

或:

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

MOV R2,#00H

MOV R3,#10H

MOV A,#55H

MOV DPTR,#1000H L02: MOVX @DPTR,A

INC DPTR

DJNZ R2,L02

DJNZ R3,L02 ABC: LJMP ABC

2.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

MOV DPTR,#1000H MOV R0,#30H

L02: MOVX A,@DPTR

MOV @R0,A

INC R0

INC DPTR

CJNE R0,#50H,L02 ABC: LJMP ABC

END

或:

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

MOV DPTR,#1000H MOV R0,#30H

MOV R2,#20H

MOV @R0,A

INC R0

INC DPTR

DJNZ R2,L02

ABC: LJMP ABC

3.

ORG 0000H

LJMP L01

ORG 0003H

LJMP LINT0

ORG 0030H

L01: MOV SP,#5FH

SETB IT0

SETB EA

L02: JB P1.0,L03

SETB EX0

LJMP L02

L03: CLR EX0

LJMP L02

LINT0: MOV R2,#20

CLR P2.6

LI1: CLR P2.0

LCALL DELAY

SETB P2.0

LCALL DELAY

DJNZ R2,LI1

SETB P2.0

RETI

DELAY: MOV R2,#5

S01: MOV R3,#100

S02: MOV R4,#200

S03: DJNZ R4,S03

DJNZ R3,S02

DJNZ R2,S01

RET

4.把3中的“SETB IT0”去掉

实验5 定时/计数器的使用

1.

ORG 0000H

LJMP L01

ORG 000BH

LJMP LT0

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB ET0

SETB EA

MOV R2,#00H

SETB TR0 LOOP: LJMP LOOP

LT0: MOV TH0,#3CH MOV TL0,#0B0H INC R2

CJNE R2,#20,LT1 LT1: JC LT2

MOV R2,#00H

CPL P2.0

LT2: RETI

2.

ORG 0000H

LJMP L01

ORG 000BH

LJMP LT0

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB ET0

SETB EA

MOV R2,#00H

MOV R3,#00H

MOV R4,#00H

MOV R5,#00H

SETB TR0 LOOP: LJMP LOOP

LT0: MOV TH0,#3CH MOV TL0,#0B0H INC R2

CJNE R2,#20,LT1 LT1: JC LT4

MOV R2,#00H

CPL P2.0

INC R3 ;秒

CJNE R3,#60,LT2 LT2: JC LT4

MOV R3,#00H

CPL P2.1

INC R4 ;分

CJNE R4,#60,LT1 LT3: JC LT4

MOV R4,#00H

CPL P2.2

INC R5 ;时

LT4: RETI

3.

ORG 0000H

LJMP L01

ORG 001BH

LJMP LT1

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#60H MOV TH1,#251 MOV TL1,#251 SETB ET1

SETB EA

SETB TR1 LOOP: LJMP LOOP

LT1: CPL P2.1

RETI

实验6 通讯实验

1.

ORG 0000H

LJMP L01

ORG 0023H

LJMP LCOM

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON,#50H SETB ES

SETB EA

SETB TR1

LCOM: JNB RI,LC1

CLR RI

MOV A,SBUF

MOV 30H,A

MOV SBUF,A

LJMP LC2

LC1: CLR TI

LC2: RETI

2.

ORG 0000H

LJMP L01

ORG 0023H

LJMP LCOM

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#20H

MOV TH1,#0FDH

MOV TL1,#0FDH

MOV SCON,#0D0H

SETB ES

SETB EA

SETB TR1

LOOP: LJMP LOOP

LCOM: JNB RI,LC1

CLR RI

MOV A,SBUF

JB P,LJ1

JB RB8,LC2

LJMP LJ2

LJ1: JNB RB8,LC2

LJ2: MOV 30H,A

MOV C,P

MOV TB8,C

MOV SBUF,A

LJMP LC2

LC1: CLR TI

LC2: RETI

实验7 步进电机、直流电机的驱动步进电机4相4拍.

ORG 0000H

LJMP L01

ORG 000BH

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#01H

MOV TH0,#0FCH

MOV TL0,#18H

SETB ET0

SETB EA

MOV R2,#00H

MOV R3,#00H

SETB TR0

L02: LJMP L02

T01: MOV TH0,#0FCH

MOV TL0,#18H

MOV 30H,P1

ANL 30H,#7FH

INC R2

MOV A,R2

CJNE A,30H,T02

T02: JC T0E

MOV R2,#00H

JB P1.7,T03

DEC R3

LJMP T04

T03: INC R3

T04: CJNE R3,#04H,T05

T05: JC T07

JB P1.7,T06

MOV R3,#03H

LJMP T07

T06: MOV R3,#00H

T07: MOV A,R3

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P2,A

T0E: RETI

TAB: DB 0FEH,0FDH,0FBH,0F7H 步进电机4相8拍.

ORG 0000H

LJMP L01

ORG 000BH

LJMP T01

ORG 0030H

L01: MOV SP,#5FH

MOV TMOD,#01H

MOV TH0,#0FEH

MOV TL0,#0CH

SETB ET0

SETB EA

MOV R2,#00H

MOV R3,#00H

SETB TR0

L02: LJMP L02

T01: MOV TH0,#0FEH

MOV TL0,#0CH

MOV 30H,P1

ANL 30H,#7FH

INC R2

MOV A,R2

CJNE A,30H,T02

T02: JC T0E

MOV R2,#00H

JB P1.7,T03

DEC R3

LJMP T04

T03: INC R3

T04: CJNE R3,#08H,T05

T05: JC T07

JB P1.7,T06

MOV R3,#07H

LJMP T07

T06: MOV R3,#00H

T07: MOV A,R3

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P2,A

T0E: RETI

TAB: DB 0FEH,0FCH,0FDH,0F9H DB 0FBH,0F3H,0F7H,0F6H

实验8 I/O口的扩展

1.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

L02: MOV P1,#0FFH

CLR P3.6

MOV A,P1

SETB P3.6

CLR P3.7

MOV P1,A

SETB P3.7

LJMP L02

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH L02: MOV P1,#0FFH CLR P3.6

MOV A,P1

SETB P3.6

MOV P1,A

CLR P3.7

SETB P3.7

LJMP L02

2.

ORG 0000H

LJMP L01

ORG 0030H

L01: MOV SP,#5FH

L02: MOV R0,#20H

CLR P2.0

CLR P2.1

SETB P2.1

MOV R1,#02H

L03: MOV SCON,#10H L04: JNB RI,L04

CLR RI

MOV A,SBUF

MOV @R0,A

INC R0

DJNZ R1,L03

SETB P2.0

MOV R0,#20H

MOV R1,#02H

MOV SCON,#00H L05: MOV A,@R0

MOV SBUF,A

L06: JNB TI,L06

CLR TI

INC R0

DJNZ R1,L05 CLR P2.2

SETB P2.2

LJMP L02

3.

ORG 0000H LJMP L01

ORG 0030H L01: MOV SP,#5FH L02: MOV R0,#20H CLR P2.0

CLR P2.1

SETB P2.1

MOV R1,#02H L03: LCALL READ

MOV @R0,A INC R0

DJNZ R1,L03 SETB P2.0

MOV R0,#20H MOV R1,#02H L04: MOV A,@R0 LCALL WRITE INC R0

DJNZ R1,L04 CLR P2.2

SETB P2.2

LJMP L02 READ: MOV R2,#08H R01: CLR P3.1

MOV C,P3.0 RLC A

SETB P3.1

DJNZ R2,R01 RET

WRITE:MOV R2,#08H W01: CLR P3.1

RLC A

MOV P3.0,C SETB P3.1

DJNZ R2,W01 SETB P3.0

RET

实验9 键盘、显示接口

1.

ORG 0000H

LJMP L00

ORG 0030H

L00: MOV SP,#5FH

L01: MOV A,P1

CJNE A,#0FFH,L02 LJMP L01

L02: LCALL DELAY

MOV A,P1

CJNE A,#0FFH,L03 LJMP L01

L03: CJNE A,#0FEH,L04 MOV R2,#01H

LJMP L0D

L04: CJNE A,#0FDH,L05 MOV R2,#02H

LJMP L0D

L05: CJNE A,#0FBH,L06 MOV R2,#03H

LJMP L0D

L06: CJNE A,#0F7H,L07 MOV R2,#04H

LJMP L0D

L07: CJNE A,#0EFH,L08 MOV R2,#05H

LJMP L0D

L08: CJNE A,#0DFH,L09 MOV R2,#06H

LJMP L0D

L09: CJNE A,#0BFH,L10 MOV R2,#07H

LJMP L0D

L10: CJNE A,#7FH,L01 MOV R2,#08H

L0D: MOV A,#00H

MOV DPTR,#TAB MOVC A,@A+DPTR MOV P2,A

MOV A,R2

MOVC A,@A+DPTR MOV P0,A

LJMP L01

TAB: DB 24H,0EEH,45H,46H,8EH DB 16H,14H,6EH,04H,06H DELAY:MOV R3,#30

S02: MOV R4,#200

S01: DJNZ R4,S01

DJNZ R3,S02

RET

或:

ORG 0000H

LJMP L01

ORG 0030H

L01:MOV SP,#5FH

L02:MOV A,P1

CJNE A,#0FFH,L03

LJMP L02

L03:MOV 30H,A

LCALL DELAY

MOV A,P1

CJNE A,30H,L02

L04:MOV A,P1

CJNE A,#0FFH,L04

MOV A,30H

CJNE A,#0FEH,L05

MOV R2,#01H

LJMP LDS

L05:CJNE A,#0FDH,L06

MOV R2,#02H

LJMP LDS

L06:CJNE A,#0FBH,L07

MOV R2,#03H

LJMP LDS

L07:CJNE A,#0F7H,L08

MOV R2,#04H

LJMP LDS

L08:CJNE A,#0EFH,L09

MOV R2,#05H

LJMP LDS

L09:CJNE A,#0DFH,L10

MOV R2,#06H

LJMP LDS

L10:CJNE A,#0BFH,L11

MOV R2,#07H

LJMP LDS

单片机实验指导书

《单片机原理与应用》 实验指导书 注意: 1、做实验前必须预习 2、带教材和实验指导书 理工大学 自动化学院自动化系

实验仪的使用 本实例是仿真INTEL的8031单片机,来循环点亮P1口的发光二极管(低电平有效)。程序是用汇编语言来编写。下面介绍相应的操作步骤: 1、运行桌面“星研集成软件”,画面如下: 2、建立源文件 执行 [主菜单?文件?新建],(或者点击图标)打开窗口。 选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:.ASM文件,使用A51来对它编译。本实 例文件名为xunhuan.asm 。窗口如下: 按“确定”即可。然后即出现文件编辑窗口: 输入源程序,参照实验一源程序。 .专业DOC.

这样一个源文件就建立好了。 3.编译、连接文件 首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单?项目?编译、连接 ]或[主菜单?项目?重新编译、连接]”。(2)点击图标或来“编译、连接”或“重新编译连接”。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下: 若有错误则出现如下信息框: 有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。 这时用户可以作相应的修改,直到编译、连接文件通过。 4.调试 编译、连接正确后,可以开始调试程序。进入调试状态方法有: a)执行[ 主菜单?运行?进入调试状态] b)点击工具条的进入后的窗口如下:

单片机实验板详细步骤--原理图设计部分

单片机实验板 单片机是电子工程师的基本技能之一,单片机实验板是学习单片机的必备工具之一。通过层次原理图的设计方法,以单片机实验板设计实例介绍Protel DXP的原理图到PCB设计的整个过程。 一、一款单片机实验板简介 经典单片机实验板 单片系统包括MCU组成的最小系统、各种功能的外围电路及接口。 1、89C52单片机。 2、6位数码管(做动态扫描及静态显示实验)。 3、8位LED发光二极管(做流水灯实验)。 4、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口同时也可做为单片机下载程序的接口)。 5、USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源。 6、蜂鸣器(做单片机发声实验)。 7、ADC0804芯片(做模数转换实验)。 8、DAC0832芯片(做数模转换实验)

9、PDIUSBD12芯片(USB设备开发,如单片机读写U盘,自制U盘,自制MP3等,还可通过此芯片让计算机与单片机传输数据)。 10、USB转串口模块,直接由计算机USB口下载程序至单片机。 11、DS18B20温度传感器,(初步掌握单片机操作后即可亲自编写程序获知当时的温度)。 12、AT24C02外部EEPROM芯片(IIC总线元件实验) 13、字符液晶1602接口。(可显示两行字符) 14、图形液晶12864接口(可显示任意汉字及图形) 15、4*4矩阵键盘另加四个独立键盘(键盘检测试验)。 二、设计任务 采用自底向上(Bottom up)的层次原理图方法绘制单片机实验板原理图及PCB。本实验板主要有CPU部分、电源部分(Power)、串口通信(RS232)部分、数码显示(LED)部分、继电器(Relay)部分、其它(misc)各部分。 同时,通过层次原理图的绘制掌握原理图绘制的众多技巧。 单片机原理图总图 三、子图绘制 下面开始各原理子图的绘制。如【单片机实验板工程】所示,建立单片机实验板工程,建立各个原理图,并把库文件加载到工程里。

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV@R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H

MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

《单片机》课程实验教案

《单片机》课程实验教案 实验一流水灯实验 实验目的: 1、熟悉仿真软件PROTEUS的使用方法。 2、掌握利用PROTEUS软件进行单片机系统设计与仿真的过程。 3、掌握发光二极管的控制方法。 实验原理: 利用P1口的通用I/O口功能,P1口做输出口,通过程序向P1口传送数据,用8只发光二极管分别显示P1.7~P1.0各管脚的电平状态,编写程序实现暗点以1HZ频率由低位到高位循环。 P1口接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮,实验电路如图所示。 1、从 (1)AT89S51:单片机; (2)RES、RX8:电阻、8排阻; (3)LED-GREEN:绿色发光二极管; (4)CAP、CAP-ELEC:电容、电解电容; (5)CRYSTAL:晶振。 2、放置元器件。 3、放置电源和地。 4、连线。 5、元器件属性设置。 6、电气检测。 实验设备及软件系统: 1、电脑;

2、MA TLAB软件。 实验步骤: 1、画流程图。 2、编写汇编程序。 3、通过菜单“source→Add/Remove Source Files…”新建源程序文件:DSJ1.ASM。 4、通过菜单“source→DPJ1.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。 5、程序编辑好后,单击按钮存入文件DSJ1.ASM。 6、源程序编译汇编、生成目标代码文件。 7、通过菜单“source→Build All”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇编成功。 8、加载目标代码文件。 9、全速仿真。 单击按钮,启动仿真。暗点以1HZ频率由低位到高位循环移动。 10、仿真调试。 (1)带断电仿真。

单片机技术实验教程

单片机技术实验教程

单片机技术实验教程 《单片机技术》原理与应用是机电一体化、应用电子技术、自动控制及数控技术应用等专业的一门实用技术骨干课程,它对培养学生的工程思维能力和解决问题的能力具有重要作用。通过本课程的学习 , 可以使学生较系统地掌握汇编语言的编程方法,掌握单片机的基本原理、接口和应用技术。熟悉单片机技术在工业控制中的应用 , 可以培养和锻炼学生动手操作和技术创新的能力,使得学生能紧跟计算机技术的发展脚步,为将来从事工业领域相关工作,尤其是自动控制以及应用电子产品的检测和维修奠定坚实的基础,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础,是理工信息类大学生一门重要的技术课程。 课程重点是:单片机体系结构、存储器体系结构、指令系统、汇编语言程序设计、中断系统及其应用、定时器及其应用、外围设备与单片机的接口 技术。

实验一循环结构程序设计 实验目的 1、掌握汇编语言设计和调试方法; 2、熟悉键盘操作; 3、熟悉8051指令系统,掌握循环结构程序设计方法。 实验器材 DAILS 80985B+、微机开发系统、PC机 实验原理 利用R0寄存器做为循环次数计数器,利用DPTR寄存器做为外部RAM的地址指针,通过循环赋值实现外部RAM 2000H-20FFH 单元内容的清零。 程序设计的参考流程如下: 图1-1 清零程序流程图 实验内容与步骤 1、把单片机片外数据存储器的2000H-20FFH的内容清零。 2、把单片机片内数据存储器的40H-60H单元的内容依次送到片外数据存储器以2000H 作为首地址的数据块中。 实验注意事项 1、认真预习外部RAM读写操作和循环类指令。 2、认真预习外部RAM读写操作、逻辑与操作和交换类指令。 3、实验中认真记录程序在编译、链接和调试过程中出现的问题以及解决的方法,

单片机数据传送实验报告

实验名称: 数据传送实验 实验类型: 设计性实验 姓名:袁志生 时间:第五六节课 一、实验目的与要求 实验目的:1、掌握单片机的汇编指令系统及汇编语言程序设计方法。 2、掌握单片机的存储器体系结构。 3、熟悉keil软件的功能和使用方法。 4、掌握单片机应用程序的调试方法。 实验要求:1、实现单片机内部RAM之间,外部RAM之间以及内部RAM 与外部RAM之间的数据传送。 2、利用Keil软件编辑、汇编、调试、运行实验程序并记录实验数据。 二、设计要求 1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH 单元中。 2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。 3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。 4、编写程序将片外4800H~480FH单元内容送到外部RAM 5800H~580FH 单元中。 5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH 单元中。

三、实验程序流程框图和程序清单.

程序清单: ORG 0000H START: MOV R0, #30H MOV DPTR, #QW1 MOV R5, #0 MOV R7, #16 LOOP: MOV A, R5 MOVC A, @A+DPTR MOV @R0, A INC R0 INC R5 DJNZ R7, LOOP LJMP QW2 QW1: DB 00H, 01H, 02H, 03H, 04H, 05H, 06H, 07H DB 08H, 09H, 0AH, 0BH, 0CH, 0DH, 0EH, 0FH QW2: MOV R0, #30H MOV R1, #40H MOV R5, #16 LOOP1: MOV A, @R0 MOV @R1, A INC R0 INC R1 DJNZ R5, LOOP1 MOV R1, #40H MOV DPTR, #4800H MOV R5, #16 LOOP2: MOV A, @R1 MOVX @DPTR, A INC R1 INC DPTR DJNZ R5, LOOP2 MOV SP, #60H MOV 11H, #48H MOV 10H, #58H MOV R2, #00H LOOP3: MOV DPL, R2 PUSH 10H PUSH 11H

单片机实验内容

实验一P1口输入输出实验、继电器控制、音频控制 一、实验目的: 1.学习I/O端口的使用方法 2.掌握继电器控制的基本方法,了解用弱点控制强电的工作原理 3.学习单片机汇编语言源程序的编制方法和调试方法,学习延时子程序的编写和使用 4.了解音频发声原理 二、实验要求: 1.P1口做输出口,接8只发光二极管,编写程序使发光二极管循环点亮。 2.P1.0、P1.1作输入口,接两个拨动开关,P1.2、P1.3作输出口接两个发光二极管,编程 读取开关状态,并在二极管上显示出来。 3.利用单片机的端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。 4.用端口输出不同频率的脉冲,控制喇叭发出不同音调。 5.用P1.0和延时子程序实现占空比可调的PWM电压波形。 三、实验说明: 1. P1口用为输入口时,必须先对它置“1”才能正确读入数据。 2. 继电器可以实现电子电路和电气电路的连接桥梁。其控制电压是5V,控制端为高电平时继电器的工作常开触点吸合,电气线路连接;控制端为低电平时,触点断开,电气线路切断。 3. 声音的频率由端口输出时延时时长来控制,输出的方波经放大滤波后驱动扬声器发声。 4. PWM是脉宽调制电压信号,可以通过占空比(脉冲中高电平与低电平的宽度比)来输出可调模拟电压,是单片机上常用的模拟量输出方法。例如50%(5:5),10%(1:9),90%(9:1)占空比。 四、实验思考题: 将1位十六进制数存放在40H单元中,利用查表法将其转换为相应的ASCII码 实验二外部中断实验 一、实验目的: 1.学习外部中断技术的基本使用方法 2.学习中断处理程序的编程方法 二、实验要求: 1.用单次脉冲申请中断INT0,在中断处理程序中对输出信号进行反转。 2.用单次脉冲申请中断INT1,在中断处理程序中实现8个小灯左移点亮1次。 三、实验思考题: 1. 相应中断请求的条件是什么? 2. 写出同级中断的查询优先次序。

单片机实验指导书

《单片机原理实验指导书》 2013年03月

单片机实验是学习单片机理论的重要实践环节。其目的在于通过试验来验证和研究单片机理论,增强感性认识, 以促进认识的深化,培养学生科学的分析能力,使学生掌握单片机试验的操作方法和基本技能;培养学生严肃认真和实事求是的科学作风,锻炼科学实验的能力。 为了培养学生独立分析问题和解决问题的能力;培养学生的动手操作能力;为了更有效的完成每项实验,要求学生在实验前必须作充分预习。除复习与实验有关的理论,还要认真研究实验指导书,了解实验目的、内容、弄清实验原理,掌握编程步骤、调试程序的方法。 本指导书是根据数控专业实验教学大纲的要求以及我校单片机实验室的现状编写的。

前言 keil51软件使用简要说明---------------------------------------------------4 实验一数据传送类指令实验----------------------------6 实验二算术指令实验-----------------------------------9 实验三逻辑指令实验-----------------------------------------------------11 实验四控制转移和子程序调用实验-----------------------------------13 实验五典型程序设计-----------------------------------------------------14 实验六定时/计数器及中断实验---------------------------18 keil51使用简要说明

单片机实验报告

汇编语言程序设计 1)编译后,系统提示:目标越界,改为AJMP后编译通过,将ORG 07FFH 改为0800H, 系统提示:目标越界,这说明AJMP可以在2KB 范围内无条件转移。 2.改为LJMP编译通过,这说明LJMP可以在64KB 范围内无条件转移。 3.将LJMP LP1改为SJMP LP0,机器码为80FC,其中FC为偏移量,它是一个补码,01H~7FH说明向PC(增大√、减小)方向跳,80H~FFH说明向PC(增大、减小√)方向跳,这说明SJMP可以在当前PC值-128B~+127B 范围内无条件转移。 1、X、Y以补码的形式存放在20H、21H中,编写程序实现如下函数: 实验程序: MOV A,20H JZ ZREO JB ACC.7,NEG MOV 21H,#01H SJMP PEND ZREO:MOV 21H,A SJMP PEND NEG:MOV 21H,#0FFH PEND:SJMP$ END 结果记录: 1.将数89H存放于20H中,运行程序,观察到21H单元中的内容为FF; 2.将数05H存放于20H中,运行程序,观察到21H单元中的内容为01; 3.将数00H存放于20H中,运行程序,观察到21H单元中的内容为00; 2、将20H~27H中的压缩BCD码拆为两个单字节BCD码,存放在以2000H为首地址的外部RAM 中。 实验程序: MOV R0,#20H MOV R7,#08H MOV DPTR,#2000H LOOP:ACALL CZ INC R0

INC DPTR DJNZ R7,LOOP SJMP $ CZ:MOV A,@R0 SWAP A ANL A,#0FH MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH MOVX @DPTR,A RET END 结果记录: 20H 21H 22H 23H 24H 25H 26H 27H 87H 54H 36H 23 19H 43H 77H 69H 2000H 2002H2004H2006H2008H200AH200CH200EH 07H 04H 06H 03H 09H 03H 07H 09H 2001H 2003H2005H2007H2009H200BH200DH200FH 08H 05H 03H 02H 01H 04H 07H 06H 1、数在计算机中是以补码形式存放的,因此,判断数据的正负,往往采用判断第7 位,是0 则为正数,是1 则为正数 2、实验内容2中JZ ZREO 的机器码为600DH ,其中0DH 为偏移量,当前PC值0004 加上这个偏移量等于0011H ,这正是即将执行的程序的首地址,即标号为ZREO 语句。程序计算器PC的功能是指向下一条指令,因此,跳转语句是依靠偏移量来改变程序计数器PC的值,从而改变程序的流向。 3、分支程序一定要注意分支的语句标号的正确性,每一分支之间必须用跳转(如SJMP)指令分隔,并跳转到相应标号。 4、子程序往往用间址寄存器传递数据,内部RAM用@Ri ,外部RAM用@DPTR ,绝对不能用直接地址。最后以RET 结尾。 5、循环程序往往用寄存器传递数据,用R7控制循环次数,用调用作为循环体,用指令INC 修改地址指针,用指令DJNZ 判断循环结束。 6、执行ACALL前(SP)= 07H ,执行ACALL时,(SP)= 09H ,(08H)= 09H ,(09H)= 00H ,(PC)= 000FH ,PC的值正是子程序的入口地址,而堆栈中这两个单元存放的是断点处PC的值;执行到RET后,(SP)= 07H , 原08H的值弹给(PC)7~0 ,原09H的值弹给(PC)15~8 ,因此,返回断点继续执行主程序。

单片机课程设计指导书

单片机原理及应用课程设计指导书 一、课程设计目的 《单片机原理及应用》是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 二、课程设计要求 1、每个学生可以从下面的课程设计题目中任选一个(也可以根据自己的兴趣选题,但选题必须是和单片机应用有关的其他控制或测试系统,同时要通过指导老师确认),选题后按任务书的要求查阅资料,完成系统的总体设计和各个模块的设计。具体实现可以用Proteus仿真,也可以用硬件。 2、进入实验室以后应根据前面的设计在2周内独立完成仿真和调试任务。课程设计过程中,要认真记录资料来源、出现的问题和解决方法。 3、不同的学生如果选题相同,相互之间可以相互探讨,但杜绝抄袭。如果发现,按零分计算。 4、设计完成后学生要按要求认真撰写课程设计报告,并于设计完成后一周内交指导老师评阅。同时准备设计测试和答辩。

三、时间安排 1、13周之前完成分组和选题,并根据选题向指导老师要任务书 2、14周根据任务书的设计要求,查阅相关的资料,完成系统总体方案设计及各模块的软硬件设计 3、15周进入实验室进行仿真、调试,并馔写设计报告,并于16周周一交给指导教师,并准备系统测试和答辩。 四、设计作品提交 1、课程设计报告书 2、proteus仿真程序(对于用proteus仿真的学生) 3、硬件实物及单片机源程序文件 五、设计报告的撰写 1、设计报告采用统一的格式,封面包括:课程设计名称、班级、姓名、学号、设计时间,具体参考设计摸板。 2、设计报告书写规范,系列分以下几个部分进行书写: 1、绪论:介绍设计的背景和意义 2、系统总体方案设计:给出系统设计硬件框图,说明实现的基本原理 3、硬件系统设计:针对框图中的硬件模块,分别介绍选择的具体元器件型号,并介绍这些器件的性能及和单片机的连接图,最后画出详细的这个系统硬件原理图。 4、系统软件设计:根据设计的功能划分模块,画出主程序和主程序的软件流程图。 5、系统调试及仿真 写出调试方法和运行结果 6、设计总结 六、课程设计内容及提示

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

实验报告(单片机)

实 验 报 告 实验课程:单片机原理及应用 实验名称:实验1 ——原理图绘制练习 班级:13自动化2班学号:201310320226 :李浩 教师:张玲成绩: 实验日期:2016 年 5 月24 日

一、实验目的:学习Proteus 软件的使用,掌握单片机原理图的绘图方法 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图;3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microprocessor ICs “U1”80C51 Miscellaneous “X1”/12MHz CRYSTAL Capacitors “C1”~“C2”/1nF CAP Capacitors “C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors “R1”/100ΩRES Optoelectronics “LED1”~“LED2”7SEG-COM-CAT-GRN Switches & Relays “BUT”BUTTON ————————————————

1、绘图方法简述 Protues绘图:打开之后首先新建设计,然后按照元件英文名查找器件,单击鼠标即可放置好元件,单击引脚即可连好导线。点击左方标签后即可在相应导线上放置标签,点击总线图标后即可画出总线。Keic中生成hex文件后在protues中双击单片机芯片即可下载仿真程序。点击左下角播放开始仿真。 2、电路原理图

51单片机实验报告

实验一数据传送实验 实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV @R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 思考题: 1. 按照实验内容补全程序。 2. CPU 对8031内部RAM存储器有哪些寻址方式? 直接寻址,立即寻址,寄存器寻址,寄存器间接寻址。 3. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH ___0A0H~0AFH______________________ 内部RAM 50H~5FH___0A0H~0AFH_______________________ 实验二多字节十进制加法实验

实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。源程序清单:ORG 0000H RESET: AJMP MAIN ORG 0100H MAIN: MOV SP, #60H MOV R0, #31H MOV @R0, #22H DEC R0 MOV @R0, #33H MOV R1, #21H MOV @R1, #44H DEC R1 MOV @R1, #55H MOV R2, #02H ACALL DACN HERE: AJMP HERE DACN: CLR C DAL: MOV A, @R0 ADDC A, @R1 DA A MOV @R1, A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0 , C RET 思考题: 1. 按照实验内容补全程序。 2. 加数单元、被加数单元和结果单元的地址和内容为? 3130H,2120H,6688H 3. 如何检查双字节相加的最高位溢出? 看psw.3 的溢出标志位ov=1 则溢出 4. 改变加数和被加数,测试程序的执行结果。 实验三数据排序实验

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

单片机实验指导书

单片机实验 实 验 指 导 书 2017年2月

单片机实验报告 (自动化XX级) 实验名称 学生 联系方式 学号 院系工学院电气与信息工程系专业自动化 指导教师 填写日期

实验一数据传送 一、实验目的 1.进一步熟悉仿真器的使用方法。 2.练习设计简单的程序。 3.掌握8051片RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。 二、实验容 将8051部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH容传送到外部RAM的4800H~480FH,再将4800H~480FH传回部RAM的50H~5FH。设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的容。 三、实验准备 1、认真阅读本实验指导。 2、读懂下面的程序: #include #include char data *p40 ,*p50 ; char xdata *p4800; char i, j, k; void main( ) { p40=0x40; p50=0x50; p4800=0x4800; for(i=0;i<16;i++) { *p40=i; p40=p40+1; } //B1 p40=0x40; for(j=0;j<16;j++) { *p4800=*p40; p40=p40+1; p4800=p4800+1; } // B2 p4800=0x4800; for(k=0;k<16;k++) { *p50=*p4800; p50=p50+1;

p4800=p4800+1; } } //B3 3、画出如下要测的数据表格: 四、实验步骤 1、向机器输入程序。 2、运行程序至第一个断点B1,检查40H~0FH单元容及指针p40的容。 3、运行程序至第二个断点B2,检查4800H~480FH单元容及指针p40,p4800的容。 4、运行程序至第三个断点B3,检查50H~5FH单元容及累加器及指针p50的容。 五、实验报告要求 1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。 2、将测得的数据填入表格,并和理论分析的结果相比较。 3、说明8031CPU对部存贮器和外部扩展RAM存贮器各有哪些寻址方式? 4、如果要读外部程序存储器0x4800中的容,该如何访问? 5.实验心得。(必须)

单片机实验4报告

学号14142200277 序号19 单片机原理与接口技术 实验报告 实验项目序号实验四 实验项目名称动态显示与矩阵式键盘实验 姓名卢志雄专业电子信息工程班级电信14-2BF 完成时间 2016-05-10

一、实验目的 1、 进一步理解数码管与单片机的接口原理与动态显示原理,理解单片机矩 阵式键盘按键识别的原理; 2、 掌握单片机动态显示应用和编程方法; 3、 掌握单片机矩阵式键盘按键识别的方法。 二、实验内容 实验内容为3项,其中第1、2项必做。 1、动态显示。 未按键不显示,按K1键,动态显示 “19491001”;按K2键,动态显示 “20141210”。 2、动态显示与按键识别。 矩阵式键盘键值分别是0-F ,未按键不显示。每按键一次,键值在最低位显示,原键值向高位移一位。 3、可控动态显示与按键识别。 矩阵式键盘键值分别是0-9,最下面一排键位功能键,左右两个键分别为“清0键”“C ”,和”“回车键”“ ”,其它键无效。未按键不显示,每按键 一次,键值在最低位显示,原键值向高位移一位。按8个键后,再按键无效。 按清0键全显示“0”。按“ ”后全部熄灭,再按键重新开始。 三、实验原理图 XTAL2 18 XTAL1 19 ALE 30EA 31 PSEN 29RST 9 P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732 P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78 P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD 17 P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1 AT89C51 D 02D 13D 24D 35D 46D 57D 68D 7 9 Q 019 Q 118Q 217Q 316Q 415Q 514Q 613Q 7 12 L E 11O E 1 U2 74HC573 D 02D 13D 24D 35D 46D 57D 68D 7 9 Q 019Q 118Q 217Q 316Q 415Q 514Q 613Q 7 12 L E 11O E 1 U3 74HC573 1 2 345678910RP8 1k K1 K2K3K4 U4 AND_4

单片机课程实验指导书

单片机实验指导书 编写者:小编 机械学院 2018年12月

目录 单片机实验指导书 (1) 实验1 - LED流水灯实验 (3) 实验2 - 模拟汽车转向灯实验 (5) 实验3 - 模拟二进制累加器实验 (7) 实验4 - 继电器控制实验 (9) 实验5 - 步进电机控制实验 (11) 实验6 - PWM波输出实验 (13) 实验7 - 直流电机调速实验 (15) 实验8 - 中断控制实验 (17)

实验1 - LED流水灯实验 一、实验目的 1.熟悉C51的开发环境; 2.掌握芯片的基本开发技能; 3.加深对单片机I/O口工作原理的了解; 4.掌握单片机引脚输出状态的基本控制方法。 二、实验原理 1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,可以通过控制寄存器输出对应的高低电平; 2.L1-L8等8颗LED灯管的电气特性与类似,正向电压点亮,反向电压熄灭; 3.P1口的8个引脚可以有效控制8颗LED的工作状态,合理编排输出状态即可实现LED流水灯的基本功能。 三、实验材料 1.DICE-598KⅢ实验平台; 2.PC机一台; 3.导线若干。 四、基本电路原理图 五、参考程序流程

六、实验步骤 1.单片机AT89S52的P1.0-P1.7口接L1-L8; 2.根据程序流程图编写出相应的C51工程代码; 3.使用keil_v5对代码进行调试和仿真; 4.记录调试过程和仿真结果,并结合理论知识进行分析; 5.将代码烧写到芯片上并运行,观察运行结果; 6.如实记录观察到的现象,并结合理论知识进行分析。 七、实验要求 1.准时到达实验室; 2.合理完善实验步奏; 3.独立完成单片机工程的建立、调试和仿真; 4.独立完成实验过程,能自由调整流水灯的周期; 5.如实记录实验过程; 6.认真撰写实验报告。

单片机实验 教学方案

《单片机实验》教学大纲 一、课程名称:单片机实验 Single-Chip Microcomputer Lab 二、课程编号: 三、学分学时:1学分/16学时 四、使用教材:自编教材《单片机实验》 五、课程属性:实践/ 必修 六、教学对象:应用物理学专业本科生 七、开课单位:理学院 八、先修课程:模拟电子技术、数字电子技术、微机原理及接口技术、单片机技术 九、教学目标: 单片机在物理量的采集、处理、控制等各方面有着十分广泛的应用,单片机技术涉及硬件、软件,是一门实践性很强的应用技术。 ?指导学生通过单片机实验进一步了解单片机的硬件结构,熟悉单片机指令系统和编 程语言、加深对单片机工作原理的理解。 ?培养与提高学生单片机应用系统的设计能力,其中包括:通过阅读实验教材或资料 着手进行单片机实验的能力;简单应用系统的硬件设计能力;简单应用系统的软件 编程能力;正确使用计算机开发平台的能力;完成简单设计性实验的能力等。 ?培养与提高学生的科学实验素养,要求学生具有理论联系实际和实事求是的科学作 风,严肃认真的工作态度,主动探索的进取精神,遵守纪律、团结协作和爱护公共 财物的优良品质。 十、课程要求: 通过HHXX2.0实验板的焊接,安装调试和一系列和综合应用实验,了解单片机的硬件结构,指令系统、编程语言,学习掌握单片机应用系统配置、接口技术、程序设计和软、硬件的调试,培养和提高独立开展科学实验研究工作的素质和能力,具体要求为: ?指导学生通过本课程完成16学时共4个设计性单片机实验, ?通过实验使学生加深对单片机软、硬件系统的理解与掌握; ?通过实验熟悉单片机应用系统的设计方法和调试过程; ?通过实验掌握单片机应用系统的硬件设计和软件设计。 十一、教学内容:

相关主题
文本预览
相关文档 最新文档