完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
P1口输入、输出实验
一.实验要求 1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 2.P1口做输入口,接八个扭子开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。 二.实验目的 1.学习P1口的使用方法。 2.学习延时子程序的编写和使用。 三.实验电路及连线 实验一时,P1.0-P1.7接L1-L8。 实验二时,P1.0-P1.7接K1-K8,PO0-PO7接L1-L8。CS273接8300H。 四.实验说明 1.P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 2.延时子程序的延时计算问题 对于程序 DELAY: MOV R0,#00H DELAY1: MOV R1,#0B3H DJNZ R1,$ DJNZ R0,DELAY1 查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为: ((0B3+1)×256+1)×2×12÷11059200=100.002mS 五.实验程序框图 主程序框图(1): 程序框图(2): 六. 1、主程序 ORG 0000H LJMP START ORG 0040H START: MOV SP,#60H MOV A,#0FEH ROTATE: MOV P1,A ;写 P1口 RL A ;循环左移 LCALL DELAY ;延时 NOP SJMP ROTATE DELAY: ;延时子程序(1秒) MOV R0,#0AH DELAY1: MOV R1,#00H DELAY2: MOV R2,#0B2H DJNZ R2,$ DJNZ R1,DELAY2 DJNZ R0,DELAY1 RET END 2、读P1口程序框 ORG 0000H LJMP START ORG 0040H START: MOV DPTR,#8300H ;并行输出口地址 MOV P1,#0FFH ;因P1口是准双向口,所以把P1口作为 ;输入口时,应先置高电平. READ: MOV A,P1 ;读开关状态 MOVX @DPTR,A ;把读入的数据输出 AJMP READ END 更多请关注微信公众号“伊斯电子编程” 取至”单片机实验汇编“ |
|
|
|
只有小组成员才能发言,加入小组>>
2497 浏览 0 评论
1060浏览 2评论
679浏览 1评论
441浏览 0评论
175浏览 0评论
293浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 17:37 , Processed in 1.253258 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号