1 / 18
文档名称:

单片机实验报告(00002).docx

格式:docx   大小:820KB   页数:18页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告(00002).docx

上传人:儒林 2022/3/7 文件大小:820 KB

下载得到文件列表

单片机实验报告(00002).docx

文档介绍

文档介绍:单片机实验报告
实验一:8255输入、输出实验

编写程序,使用8255可编程并行口芯片,来检测八位拨动开关的状态,并控制八位发光二极管。使得八位发光二极管的亮灭变化与八位拨动开关的状态相一致。实验中用825 ;置显示初始值
MOV DPTR,#C8255
; MOV A,#82H ;PB口输入,PA,PC口输出
MOV A,#90H ;PC口输出,PA输入,PB口输出
MOVX ***@DPTR,A
MOV DPTR,#P8255C
MOV A,#00H
MOVX ***@DPTR,A

KB_DIS:
LCALL RD_KB ;读键子程序
LCALL DISP ;显示子程序
SJMP KB_DIS ;循环扫描
;---------------------------------------------------------
DISP:
MOV A,FLAG
JZ DISP_END ;无键转DISP_END;有键显示
MOV DPTR,#C8255
MOV A,#89H ;PC口输入,PA,PB口输出
MOVX ***@DPTR,A
; MOV DPTR,#P8255A ;显示键值
MOV DPTR,#P8255A ;写位码
MOV A,R2
MOVX ***@DPTR,A
MOV DPTR,#P8255B ;显示键值
MOV A,KEYVAL
MOVX ***@DPTR,A
LCALL DELAY1 ;显示延时
LCALL DELAY1
MOV A,R2 ;下一位
SETB C
RLC A
MOV R2,A
CJNE A,#0FFH,DISP_END;八位轮回
MOV R2,#0FEH ;重置位码初值
DISP_END:
RET
;---------------------------------------------------------
;读取键盘子程序
RD_KB:
MOV DPTR,#C8255
MOV A,#90H ;PC口输出,PA输入,PB口输出
MOVX ***@DPTR,A
MOV A,#02H ;键盘扫描第一行
MOV DPTR,#P8255C
MOVX ***@DPTR,A
; MOV DPTR,#P8255B
MOV DPTR,#P8255A
MOVX A,***@DPTR
CJNE A,#0FFH,KEY_L0 ;判键是否按下,有键转KEY_L0
SJMP KEY_L1 ;无键转第二行
KEY_L0:
LCALL DELAY22 ;延时消抖
; MOV DPTR,#P8255B ;读键值
MOV DPTR,#P8255A
MOVX A,***@DPTR
MOV R1,#00H
CJNE A,#0FFH,KEYCAL ;计算键值
KEY_L1:
MOV A,#01H ;扫描第二行
MOV DPTR,#P8255C
MOVX ***@DPTR,A
;