实验一IO口的输出.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微处理器与接口技术实验报告班级:建智1412学号:14200124201姓名:周佳超 2016年5月18日实验报告应包括如下内容: 1、实验目的和要求 2、实验原理 3、主要仪器设备4、实验内容及实验步骤 5、实验数据记录、处理、分析 6、讨论、心得实验一 I/O口的输出实验一、实验目的和要求1.学习I/O口的使用方法;2.学习延时子程序的编写和使用;3.掌握蜂鸣器的驱动发音4.掌握单个数码管静态显示5.掌握流水灯的设计程序。二、实验内容 1.编写程序,使喇叭发音; 2 编写程序,点亮单个数码管,显示0-9; ?3.编写流水灯的程序,一种方法实验说明(1)蜂鸣器蜂鸣器有两种:一种是有源蜂鸣器,只要给他加上恒定的电压,就能发声,另一种是无源蜂鸣器,必须给他加上一定频率的方波或者正弦波才能发声,一般实验板配的是无源蜂鸣器,HJ-1G开发板也不例外,由于蜂鸣器电流要求比较大,所以我们使用8550三极管来放大驱动。七段数码管单片机直接驱动七段数码管以200ms为间隔,依次显示0,1,2,3,4,5,6,7,8,9这10个数字,根据表的亮段组合与显示数字的关系,可得到对应I/O口状态与显示数字的关系,比如要显示“5”,显示数据为12H。流水灯单片机控制着8支发光二极管,每一时刻只有一支发光二极管点亮,延时200ms后熄灭而与之相邻的发光二极管点亮。直到点亮最后一个发光二极管后又以相反的方向依次点亮发光二极管。单片机的p1口依次输出低电平就可以实现流水灯的效果,采用指令RRC A 可以让进位标志位C在累加器A中从左向右移动。四,实验原理图实验一:实验二:实验三:五、实验程序实验一程序:ORG 000H;程序开始MAIN:主程序SETB P1.6; P1.6口置1CALL DELAY1;调用延时子程序1CLR P1.6; P1.6口清0CALL DELAY1;调用延时子程序1SETB P1.6;P1.6口置1CALL DELAY2;调用延时子程序2CLR P1.6; P1.6口清0CALL DELAY2;调用延时子程序2SETB P1.6;P1.6口置1CALL DELAY3;调用延时子程序3CLR P1.6; P1.6口清0CALL DELAY3;调用延时子程序3JMP MAIN;跳转到主程序DELAY1:;延时子程序1,1ms延时D2: MOV R6,#10;D1: MOV R7,#50;DJNZ R7,$;R7减1,如果不为0,就执行本行DJNZ R6,D1;R6减1,如果不为0,跳转D1RET返回主程序DELAY2:延时子程序2,0.8ms延时D3: MOV R6,#8;D4: MOV R7,#50;DJNZ R7,$;R7减1,如果不为0,就执行本行DJNZ R6,D4;R6减1,如果不为0,跳转D4RET返回主程序DELAY3:延时子程序3,0.6ms延时D5: MOV R6,#6;D6: MOV R7,#50DJNZ R7,$;R7减1,如果不为0,就执行本行DJNZ R6,D6;R6减1,如果不为0,跳转D6RET返回主程序END程序结束实验二程序: ORG 0000H程序开始MAIN:;主程序开始MOV P1,#40H;给P1赋值(0)CALL DELAY;调用延时子程序MOV P1,#79H;给P1赋值(1)CALL DELAY;调用延时子程序MOV P1,#24H;给P1赋值(2)CALL DELAY;调用延时子程序MOV P1,#30H;给P1赋值(3)CALL DELAY;调用延时子程序MOV P1#19H;给P1赋值(4)CALL DELAY;调用延时子程序MOV P1,#12H;给P1赋值(5)CALL DELAY;调用延时子程序MOV P1,#02H;给P1赋值(6)CALL DELAY;调用延时子程序MOV P1,#78H;给P1赋值(7)CALL DELAY;调用延时子程序MOV P1,#00H;给P1赋值(8)CALL DELAY;调用延时子程序MOV P1#10H;给P1赋值(9)CALL DELAY;调用延时子程序DELAY:延时子程序MOV R5,#20;D2: MOV R6,#20;D1: MOV R7,#248;DJNZ R7,$;R7减1,如果不为0,就执行本行DJNZ R6,D1;R6减1,如果不为0,跳转D1DJNZ R5,D2;R5减1,如果不为0,跳转D2RET返回主程序END程序结束实验三程序:ORG 00H;开始程序START:;程序开始MOV A, #0FFH;累加器A的8位全置1(0FFH),发光二极管全熄灭CLR C;进位C被清0,C=0MOV R1, #8;给R1赋值8RIGHT:;RIGHT子程序RRC

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档