单片机实验七-肖爰龙(2)

2019-08-01 23:32

实验人:肖爰龙学号:08321067 专业:微电子学时间:2012年12月11日

4.998V

2.508V

内容二:用中断方法来读取AN0的输入模拟电压,通过P1口输出到LED上显示。 一、接线方法:

1、0809的片选信号CS0809接CS0

2、电位器的输出信号AN0接ADC0809的ADIN0 3、EOC接CPU的INT0 4、P10-P1.7连L1-L8 二、代码分析 ;D62.ASM ORG 4000H LJMP MAIN ORG 4003H ;外中断0的中断向量 LJMP INTX0 PORT EQU 0CFA0H ORG 4050H MAIN: MOV R0,#50H ;存数RAM的地址 MOV P3,#0FFH SETB EA SETB EX0 SETB IT0 START: MOV DPTR,#PORT MOV A, #0 MOVX @DPTR,A ;启动ADC0809开始转换 ACALL DEL SJMP START INTX0: CLR EA ;中断服务程序 MOVX A,@DPTR ;取出转换的数据

实验人:肖爰龙学号:08321067 专业:微电子学时间:2012年12月11日

CPL MOV MOV SETB EA EXIT: RETI DEL: MOV DEL1:

A P1,A

@R0,A

;存储数据

;从中断返回

R7,#15

MOV R6,#130 ;延时一段时间 DEL2: MOV R5,#200 DEL3: DJNZ R5,DEL3 DJNZ R6,DEL2 DJNZ R7,DEL1 RET END

三、现象及分析

通过旋转电位器,可以看到LED灯的亮灭不断改变,若将其转换为十进制,则抽取了部分数据如下表

7 30 31 100 200 201 255 7 LED显示 表示电压 电位器电压 0.1372 0.137 0.588 0.588 0.6076 0.608 1.96 1.96 3.92 3.92 3.9396 3.94 4.998 5.00 0.1372 0.14 156 3.0576 3.058 四、结论

通过比对上核定有格,可以看出A/D测出的电压基本与实际电压相符

内容三:用EOC电位法作上述测量 一、前期连接:

1、 P1口的P1.0~P1.5与数码管的输入:LED1~LED6相连;

2、 74LS273的00~07与LEDA~LEDDP相连,片选信号与CS1相连 3、 0809的片选信号CS0809接CS0,EOC接CPU的P3.0 二、代码分析 PORTAD EQU 0CFA0H PORT EQU 0CFA8H ORG 4000H MOV 30H,#01H ;选把30~36H处存好数值,#10H表示数码管 MOV 31H,#01H ;不显示 MOV 32H,#10H MOV 33H,#10H MOV 34H,#10H MOV 35H,#10H MOV 36H,#10H

实验人:肖爰龙学号:08321067 专业:微电子学时间:2012年12月11日

MOV B,#36H MOV R0,#30H MOV P3,#0FFH MAIN:

;******************************************************************显示模块开始 PUSH ACC PUSH PSW ANL PSW,#0C7H ORL PSW,#10H DISPLAY:

MOV B,#36H

NOP DS1: MOV R0,B MOV R4,#60H MOV R2,#20H DS2: MOV A,@R0 ACALL TABLE MOV DPTR,#PORT MOVX @DPTR,A MOV A,R2 CPL A MOV P1,A MOV

R3,#0FFH

DEL: NOP DJNZ R3,DEL

CLR C MOV A,R2 RRC A

MOV R2,A

DEC R0 MOV A,R0 CJNE A,#30H,DS2 MOV R0,B MOV R2,#20H DJNZ R4,DS2 MOV R4,#60H JMP NONUM TABLE: INC A

MOVC

A,@A+PC

;显示模块

;R0赋予要显示的最后一个数据地址 ;扫描需要显示60次 ;位码的初值

;A里面暂存RAM里的数据 ;取段码

;送段码的入口地址 ;送段码 ;读位码 ;取反 ;送位码 ;适当延时

;判断地是否结束 ;清C

;右移位码

;若没有显示到足够的码,则继续扫描 ;重新赋给R0要显示的最后一个数的地址 ;重新赋给R2显示的位码 ;扫描60次完毕

;显示程序完,准备退出显示程序 ;算上RET一个字节

实验人:肖爰龙学号:08321067 专业:微电子学时间:2012年12月11日

RET

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H NONUM: POP PSW POP ACC

;****************************************************************显示模块结束

START: MOV DPTR,#PORTAD MOV A, #0 MOVX LOP:

@DPTR,A

;启动AD0809开始转换

MOV A,P3 ;读取P3口的值 CJNE A,#0FFH,LOP ;如果没有转换完,则继续等待 MOVX A,@DPTR ;取出转换的数据 MOV B,#10H ;准备把高四位与低四位分开 DIV AB ;A存储低四位,B存储高四位 MOV 32H,A ;低四位存入32H中 MOV 31H,B ;高四位存入31H中 JMP MAIN ;跳回程序开始,准备显示31H与32H中的值 END

三、现象及分析 当旋转电位器时,数码管上显示ADC所读到的数,其中最大为FE,最小为00,如果将ADC所读取的数放到LED上显示,可以明显感觉到转换的速度要比内容二中用中断法要快很多

四、结论 用中断查询法可以使程序更加简洁,在程序不大时,其响应的速度还比中断法更快。

内容四:用中断法再作测量 一、前期连接:

1、 P1口的P1.0~P1.5与数码管的输入:LED1~LED6相连;

2、 74LS273的00~07与LEDA~LEDDP相连,片选信号与CS1相连 3、0809的片选信号CS0809接CS0,EOC接CPU的INT0 二、代码分析 PORTAD EQU 0CFA0H PORT EQU 0CFA8H ORG 4000H ORG 4000H LJMP MAIN ORG 4003H ;外中断0的中断向量 LJMP INTX0 ORG 4050H

实验人:肖爰龙学号:08321067 专业:微电子学时间:2012年12月11日

MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MAIN:

30H,#01H 31H,#01H 32H,#10H 33H,#10H 34H,#10H 35H,#10H 36H,#10H B,#36H R0,#30H P3,#0FFH

;选把30~36H处存好数值,#10H表示数码管 ;不显示

;******************************************************************显示模块开始 PUSH ACC PUSH PSW ANL PSW,#0C7H ORL PSW,#10H DISPLAY: ;显示模块 MOV B,#36H NOP DS1: MOV MOV MOV DS2: MOV ACALL MOV MOVX MOV CPL MOV MOV DEL: NOP DJNZ CLR MOV RRC MOV DEC MOV CJNE MOV

R0,B R4,#60H R2,#20H A,@R0 TABLE DPTR,#PORT @DPTR,A A,R2 A P1,A R3,#0FFH

;R0赋予要显示的最后一个数据地址 ;扫描需要显示60次 ;位码的初值

;A里面暂存RAM里的数据 ;取段码

;送段码的入口地址 ;送段码 ;读位码 ;取反 ;送位码 ;适当延时

R3,DEL C A,R2 A R2,A R0 A,R0

A,#30H,DS2 R0,B

;判断地是否结束 ;清C

;右移位码

;若没有显示到足够的码,则继续扫描 ;重新赋给R0要显示的最后一个数的地址


单片机实验七-肖爰龙(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:危险化学品项目试生产方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: