微机原理硬件实验5个.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理硬件实验5个

微机综合实践实验报告姓名:孙晓东班级:1011***学号:1120122***2015年1月1日实验一实验名称:8051单片机P1口输入输出应用试验实验目的:学习8051单片机P1口作为双向I/O口的使用方法,采用循环指令编写延时子程序。了解弱电控制强电的基本原理,采用单片机P1口实现继电器开关控制。实验环境:Keil调试环境、VW调试软件伟福单片机开发试验系统(Digital LAB 51)实验内容:(1)采用8051单片机的P1口作为输出口,外接8只发光二极管,编写程序使二极管循环点亮。(2)从P1.0输出不同频率的方波信号,经放大器滤波后驱动扬声器发声,声音的频率由延时程序控制。实验总结:(1)流程图:(1)C语言实验程序注解:#includereg51.h//引用库void delay(){unsignedinti; for(i=0;i20000;i++)//N次循环亮灯 { } }void main(){unsigned char index;unsigned char LED;while(1) //开始循环点亮程序{LED=1; //首先从右1灯起始亮for(index=0;index8;index++){ P1=~LED; //二进制数LED为1的位对应灯亮LED=1; //LED左移1位,从右往左依次点亮一位delay(); //亮灯延时}}}(2)流程图: N次循环持续发声(2)C语言程序注解:#includereg51.h//引用库程序51sbit Speaker=P1^0;void Delay(){unsigned char i;for(i=0;i50;i++); //响铃50次循环程序}void main(){while(1) //第i+1次循环响铃开始{Speaker=0; //第一次铃响delay(); //第一次延时Speaker=0; //第二次铃响delay(); //第二次延时}心得体会:开始先一步步跟着老师熟悉了软件环境以及编译运行等步骤。第一次输入程序,出现了很多不该有的错误,导致出现灯不亮等不理想的结果,经过对连线的检查和软件的错误指向,把错误的地方一一查找出来,改正后得到了二极管循环点亮的效果。发声的实验让我明白了简单声调音乐的原理,比如生日蛋糕里面点亮莲花蜡烛时的生日快乐歌。这次试验只要求得到一个持续的发声音调,但通过输入已有的音乐程序代码,还是得到了具体的音乐《兰花草》,让我感到了浓浓的乐趣。通过这次试验,使我更加深入的了解了单片机是如何控制二极管的以及简单程序的编写,加强了我们的实际动手操作能力。?实验二实验名称:8段数码管的静态显示实验目的:(1)学习在单片机系统中扩展简单I/o接口的方法;(2)学习数据输出程序的设计方法;(3)了解数据锁存的概念和方法。实验环境:Keil调试环境、VW调试软件伟福单片机开发试验系统(Digital LAB 51)实验内容:在实验板上用74LS244作为输出口,用8根线的排线分别连接P2和J17输出口,制一个LED显示模块。码显示器由7段条形LED组成,加一位小数点,共有8段。相应LED电平为“0”时灯灭,为“1”时灯亮。流程图:程序注解:#includereg52.hcode unsigned char LEDMAP[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};/*16进制数的数码管显示定义*/TIME_1S() //延时1S的程序{unsignedinti;for(i=0;i32780;i++){}}main(){unsignedinti;while(1) {P2=LEDMAP[i0x0f]; //取i的最后一位16进制数并显示i++; //i自加1,循环显示16进制数TIME_1S(); //延时1S }}心得体会:?这次试验要比第一次的实验难,在改写代码这一环节我们就遇到了很大的困难。这次试验我使用了汇编语言的程序代码。由于参考代码没有给出F的字型码,因此“F”无法显示出来。通过对其他16进制数与8段数码管亮灭情况的对照,我最终找出了“F”对应的字型码为”08EH”,进过实验检验结果正确,可以实现1~F所有16进制数的静态显示。这次试验证明汇编语言在编程中的重要性,而且从这次的实验中我发现了自己汇编语言的功底还是有待提高,以后的日子里还需努力。?实验三实验名称:8段数码管动态显示实验实验目的:(1)了解8段数码管动态显示的原理(2)了解用总线方式控制数码管显示实验内容:

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档