- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 单片机IO实验
* * 实验三、单片机I/O实验 一、实验目的: 1.学习P1口的使用方法; 2.学习延时子程序的编写和使用; 3.了解LED动态显示电路结构,掌握LED动态显示方法。 4.学习继电器控制的基本方法和经验。 二、实验仪器: 1.C51实验开发板 1块 2.直流稳压电源(DF 1731 SB 3A) 一台 3.PC机 一台 4.仿真器(EASYPROBE) 1只 1、 指示灯循环显示: (1)实验要求:P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2)电路及连线如下: 三、实验内容: P1 CPU 89C51 (接仿真头) (3)运行程序TP1A,观察现象。 TP1A程序: ORG 0000H LJMP START ORG 0040H START:MOV A,#0FEH ; LOOP: MOV P1,A ;点亮1只LED RL A ;左循环 LCALL DELAY ;延时1秒 SJMP LOOP DELAY: MOV R5,#0AH MOV R6,#00H DELAY1:MOV R7,#0B3H DJNZ R7,$ DJNZ R6,DELAY1 DJNZ R5,DELAY1 RET END (4)修改程序TP1A,使指示灯左循环。 ?(5)*修改程序TP1A,使指示灯两两右循环。 ?(6)*修改程序TP1A,使指示灯从两边向中间循环。 (7)*修改程序TP1A,使指示灯从中间向两边循环。 ?(8)*修改程序TP1A,使指示灯右循环间隔时间为0.1秒。 2、?? 输入/输出实验: (1)实验要求:P1做输入口,连接至DIP开关接口JP4,P2口输出连接至8只发光二极管接口JP8,编写程序读取开关状态,将此状态在发光二极管上显示出来。 (2)电路及连线如下: P2 CPU 89C51 (接仿真头) P1 TP1B程序: ORG 0000H LJMP START ORG 0040H START:MOV P1,#0FFH ; 因P1是准双向口,所以把P1口 ;作为输入口时,应先置高电平 MOV A,P1 ;读开关状态 MOV P2,A ;把读入的数据输出到P2口输出至指示灯 AJMP START END (3)运行程序TP1B,观察现象。 3、七段LED动态显示输出: (1)电路及连线如下: (2)实验要求1: 编写程序,从左到右显示“1”、“2”、“3”、“4”,调整延时时间(1s,0.1s,0.0125s,1/160s),观察显示效果。 71H 0 1 1 1 0 0 0 1 07H 0 0 0 0 0 1 1 1 79H 0 1 1 1 1 0 0 1 7DH 0 1 1 1 1 1 0 1 5EH 0 1 0 1 1 1 1 0 6DH 0 1 1 0 1 1 0 1 39H 0 0 1 1 1 0 0 1 66H 0 1 1 0 0 1 1 0 7CH 0 1 1 1 1 1 0 0 4FH 0 1 0 0 1 1 1 1 77H 0 1 1 1 0 1 1 1 5BH 0 1 0 1 1 0 1 1 6FH 0 1 1 0 1 1 1 1 06H 0 0 0 0 0 1 1 0 7FH 0 1 1 1 1 1 1 1 3FH 0 0 1 1 1 1 1 1 十六进制码 DpGFEDCBA 十六进制码 DpGFEDCBA 字形 字段码 字形 字段码 参考程序: ORG 0000H LJMP START ORG 0040H START:MOV R7,#04H ;灯数 MOV R6,#0FEH ;起始灯位,1号灯 MOV R0,#00H MOV DPTR,#TAB ; LOOP: MOV A,R7 ; MOVC A,@A+DPTR ;读字段码 MOV P2,#60H ;字段码地址 MOVX @R0,A ;输出字段码 MOV A,R6 MOV P2,#80H
文档评论(0)