- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一 I/O口输入输出实验
一、实验目的
掌握单片机P1口、P3口的使用方法。
二、实验内容
以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验步骤
1)系统各跳线器处在初始设置状态。用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口); 用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序 运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
五、实验参考程序
;//******************************************************************
;文件名: Port for MCU51
;功能: I/O口输入、输出实验
;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);
; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
;//******************************************************************
DIR BIT P3.0
ORG 0000H
LJMP START
ORG 0100H
START:
OUTPUT1:
MOV A, #0FEH
MOV R5, #8
LOOP1: CLR C
MOV C,DIR
JC OUTPUT2
MOV P1, A
RL A
ACALL DELAY
DJNZ R5, LOOP1
SJMP OUTPUT1
OUTPUT2:
MOV A, #07FH
MOV R5, #8
LOOP2:
CLR C
MOV C,DIR
JNC OUTPUT1
MOV P1, A
RR A
ACALL DELAY
DJNZ R5,LOOP2
SJMP OUTPUT2
DELAY:
MOV R6,#0
DELAYLOOP1:
MOV R7,#0
DELAYLOOP2:
NOP
NOP
DJNZ R7,DELAYLOOP2
DJNZ R6,DELAYLOOP1
RET
END
实验结果
当八位逻辑电平的K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至右循环点亮,当K0拨到下方,即输出低电平时,八个LED灯从右至左循环点亮。
结果分析
程序通过查询方式不断检测P3.0口的输入状态,当P3.0输入为0时,由P1口通过左移指令RL轮流输出低电平驱动LED发光,在左移时通过软件延时控制LED 亮的时间;当P3.0输入为1时,由P1口通过右移指令RR轮流输出低电平驱动LED发光,在右移时同样通过软件延时控制LED 亮的时间,如此循环扫描查询,便可实现流水灯的效果。
实验二 外部中断实验
一、实验目的
学习外部中断技术的基本使用方法。
二、实验内容
INT0 端接单次脉冲发生器。按一次脉冲产生一次中断,CPU 使P1.0 状态发生一次反转,P1.0接LED 灯,以查看信号反转。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验步骤
1)系统各跳线器处在初始设置状态,用导线连接单次脉冲模块的输出端到CPU 模块的P32;CPU 模块的P10 接八位逻辑电平显示模块的灯。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)连续按动单次脉冲产生电路的按键,发光二极管L0 每按一次状态取反,即隔一次点亮。
五、实验参考程序
;//*************************************************
;文件名: EXint for MCU51
;功能: 外部中断实验
;接线: 导线连接单次脉冲模块的输出端到CPU模块的P32,
; CPU模块的P10接八位逻辑电平显示模块的L0灯。
;//*************************************************
LED BIT P1.0
LEDBUF BIT 20H
ORG 0
LJMP START
ORG 3
INTERRUPT0:
PUSH PSW ; 保护现场
CPL LEDBUF ; 取反LED
MOV C, LEDBUF
MOV LED, C
POP PSW ; 恢复现场
RETI
文档评论(0)