天 津 理 工 大 学 专业实习报告(PROTEUS 单片机控制模块 )

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

天津理工大学

自动化学院专业实习报告

题目:PROTEUS 单片机控制模块

学生姓名刘杰学号20091260届2013 班级电五

指导教师陈鹏专业电气工程及其自动化

实习报告5:PROTEUS 单片机控制模块

一、实习目的与意义

理解A T89C51单片机的硬件和软件

熟悉PROTEUS的设计及仿真

二、实习设备

Keil uVision3编程软件

PROTEUS仿真软件

三、实习内容

1、实验一

设计一组8个LED灯的循环闪烁硬件和其软件程序

用PROTEUS做出LED灯循环闪烁的硬件,如下所示:

图1

图1中,U1是AT89C51单片机,X1是晶体振荡器,提供单片机的时钟脉冲,D1~D8是LED灯,电容C1和C2对X1起到震荡频率的微调和稳定作用。电容C3起到对单片机上电复位的作用。电阻RN1具有限流作用,防止流过LED灯的电流过大将P1口烧毁。

使用Keil uVision3写循环闪烁程序,并载入其硬件电路中,其程序如下所示:org 0

sjmp star

org 30h

star: mov p1,#1

mov p1,#2

mov p1,#4

mov p1,#8

mov p1,#10h

mov p1,#20h

mov p1,#40h

mov p1,#80h

nop

nop

call DL Y

sjmp star

DL Y: nop

nop

nop

ret

end

2、实验二

单片机外中断实验

外中断是单片机AT89C51的重要功能,本实验用AT89C51单片机外中断功能改变数码管的显示状态。当无外中断0时,主程序运行状态为七段数码管的a~g 段依次点亮,不断循环;当有外中断0输入时,立即产生中断,转而执行中断服务程序,数码管显示状态改为“8”亮灭闪烁显示,亮灭闪烁显示8次后,返回主程序原断点处继续执行,数码管继续段点亮的循环显示。单片机外中断实验电路原理如图2所示。电路设计在ISIS平台中进行。

图2

使用Keil uVision3写程序,并载入其硬件电路中,其程序如下所示:

ORG 0

SJMP STAR

ORG 3

SJMP INT0S

STAR: MOV IE,#81H

MOV TCON,#1

MOV A,#0FEH

MOV P3,#0FFH

ST1: MOV P2,A

ACALL DELAY

RL A

SJMP ST1

INT0S: PUSH ACC

MOV R2,#8

LOOP: CLR A

MOV P2,A

ACALL DELAY

MOV A,#0FFH

MOV P2,A

ACALL DELAY

DJNZ R2,LOOP

POP ACC

RETI

DELAY: MOV R7,#250

D1: MOV R6,#250

D2: NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R6

3、实验三

400us周期方波发生器,在PROTEUS库中提取元件,画出其原理图如下图所示

图3

使用Keil uVision3编辑程序,并载入其硬件电路中,其程序如下所示:

ORG0

SJMPSTAR

ORG08H

SJMPT0F

STAR:MOVTMOD,#0

MOVP3,#03FH

MOVTH0,#0F9H

MOVTL0,#18H

MOVIE,#0FFH

SETBTR0

SJMP$

T0F:CPLP3.5

CPLP3.7

MOVTH0,#0F9H

MOVTL0,#18H

CPLP3.0

RETI

END

运行仿真,得到示波器的波形如下图所示

图4

4、实验四

单片机与ADC0808的接口技术,利用AT89C51单片机控制ADC0808将模拟信号(0~5V)转换成数值量(0~255),再控制LED数码管以十六进制实时显示出来。ADC0808为A/D转换器。用PROTEUS实现该接口的电路设计和程序设计。其原理图如下所示:

图5

使用Keil uVision3编辑程序,并载入其硬件电路中,其程序如下所示:org 0

ljmp star

org 0x100

star: mov dptr,#0x0fe00

loop: clr p3.4

clr p3.5

movx @dptr,a

mov r6,#0x50;0x34

djnz r6,$

movx a,@dptr

mov 0x30,a

anl a,#0x0f

lcall seg7

setb p3.5

clr p3.4

mov p1,a

lcall dly

clr p3.5

mov a,0x30

anl a,#0x0f0

swap a

lcall seg7

setb p3.4

clr p3.5

mov p1,a

lcall dly

sjmp loop

seg7: inc a

movc a,@a+pc

ret

db 0x0c0,0x0f9,0x0a4,0x0b0,0x99,0x92,0x82,0x0f8

db 0x80,0x90,0x88,0x83,0x0c6,0x0a1,0x86,0x8e

dly: mov r7,#2

d1: mov r6,#249

djnz r6,$

djnz r7,d1

ret

end

5、实验5

用A T89C51单片机控制DAC0808实现数模转换从单片机输出数据到DAC0808经其转换成模拟量输出。单片机与DAC0808的接口电路部分原理图如图6所示:

相关文档
最新文档