- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《单片机应用系统设计》
实验报告
院系:仪器科学与工程学院专业:测控技术与仪器
实验室:机械楼5楼同组人员:
评定成绩:审阅教师:
硬件实验一I/O口输入/输出及控制实验
Ⅰ、I/O口输入/输出实验
一、实验目的
1、学习单片机I/O口的使用方法
2、学习延时子程序的编写和使用
二、实验内容
1、I/O口输出:P1口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。
2、I/O口输入/输出:P1.0、P1.1做输入口接两个拨动开关;P1.2、P1.3做输出口,接两个发光二极管。编写程序读取开关状态,将此状态在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
三、实验步骤
1、I/O口输出硬件连接
连线
连接孔1
连接孔2
1
P1.0
L0
2
P1.1
L1
3
P1.2
L2
4
P1.3
L3
5
P1.4
L4
6
P1.5
L5
7
P1.6
L6
8
P1.7
L7
MCS51的P1口循环点灯
2、I/O口输入/输出硬件连接
连线
连接孔1
连接孔2
1
K4
P1.0
2
K5
P1.1
3
P1.2
L4
4
P1.3
L5
MCS51的P1口输入/输出
3、实验说明
(1)对于MCS51,P1口是准双向口。它作为输出口时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置“1”,否则读入的数据容易产生错误。
(2)8051延时子程序的延时计算问题,对于程序
DELAY:
MOVR6,#0H
MOVR7,#0H
DELAYLOOP:
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间为:12/12MHZ=1ms,该延时子程序延时:(256X255+2)X2X1us=130ms。
4、分别连接硬件并执行相关程序,记录结果。
四、提高要求
修改I/O口输出程序,先1、3、5、7灯亮,延时后2、4、6、8灯亮,交替点亮。
五、程序框图
六、实验程序
I/O口输出(P1口循环点灯)
LOOP:
MOVA,#01H
MOVR2,#8
OUTPUT:
MOVP1,A
RLA
CALLDELAY
DJNZR2,OUTPUT
LJMPLOOP
DELAY:
MOVR6,#0
MOVR7,#0
DELAYLOOP:
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
END
I/O口输入/输出(P1口输入/输出)
KEYLEFTEQUP1.0
KEYRIGHTEQUP1.1
LEDLEFTEQUP1.2
LEDRIGHTEQUP1.3
SETBKEYLEFT
SETBKEYRIGHT
LOOP:
MOVC,KEYLEFT
MOVLEDLEFT,C
MOVC,KEYRIGHT
MOVLEDRIGHT,C
LJMPLOOP
END
七、实验结果
I/O口输出实验:运行程序后可以看到8个LED从右向左循环点亮;
I/O口输入/输出实验:运行程序后,拨动某一个开关后会看到对应LED发光。
八、实验提高部分
修改I/O口输出程序,改成先1,3,5,7灯亮,再2,4,6,8灯亮。
LOOP:
MOVA,#55H;55H,对应1、3、5、7灯亮
MOVR2,#8
OUTPUT:
MOVP1,A
RLA;作右移,对应2、4、6、8灯亮
CALLDELAY
DJNZR2,OUTPUT
LJMPLOOP
DELAY:
MOVR6,#0
MOVR7,#0
DELAYLOOP:
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
END
九、实验思考
查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间:12/12MHZ=1ms,该延时子程序延时:(256X256+2)X2X1us=130ms。
由于DJNZ指令
您可能关注的文档
- 苏教版二下20《欢乐的泼水节》.ppt
- 北师大版数学必修1《3.5.3对数函数的图像和性质(2)》教学设计.doc
- 自觉维护社会公共秩序.ppt
- 北师大版以一年级数学上册《一共有多少》基础练习.doc
- 反比例函数期末复习巩固练习.docx
- 吴湾小学书法兴趣小组活动记录1.doc
- 华师大版七年级科学上册竞赛题(3).doc
- 统一采供介绍.ppt
- 南京江宁区公司注册的五步流程.docx
- 良渚文化村商业案例.pptx
- 2023-2024学年山东省滨州市邹平双语学校三区高三第三次测评生物试卷含解析.doc
- 2023-2024学年上海市普通高中高三第三次测评英语试卷含解析.doc
- 2023-2024学年四川电子科大实验中学高考生物二模试卷含解析.doc
- 2025年昊华宇航化工有限责任公司校园招聘模拟试题附带答案详解及参考答案.docx
- 2023-2024学年山东省威海市示范名校高考考前提分生物仿真卷含解析.doc
- 消防知识及应急管理相关知识考试试卷.docx
- 硫化促进剂建议书可行性研究报告备案可修改案例模板.doc
- 2023-2024学年江西省宜春市奉新县第一中学高三第二次模拟考试英语试卷含解析.doc
- 2023-2024学年全国版天一大联考高三3月份模拟考试语文试题含解析.doc
- 2025届青海省果洛藏族自治州达日县三年级数学第二学期期末学业水平测试试题含解析.doc
文档评论(0)