PLC的课程设计.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单 片 机 实 验 报 告 一.实验目的 通过本实验将所学单片机的理论知识与实践相结合,进一步加深对理论知识的理解。同时对真实的单片机产品和系统有所了解 实验所涉及到的程序编写和调试以及现象的测试和原理都需要我们了解和掌握其他方面的知识,如C语言,keil平台,单片机系统的结构原理等。因此我们可以借此实验延伸和拓展专业知识 最重要的一点是可以借助本实验深入掌握C51系列单片机的结构和功用 二.实验内容 本实验共分为四次,每次实验完成不同的内容,以此逐步掌握各知识要点 Unit1.输入、输出实验 1) 点亮板子上的第一个灯D0 2) 点亮板子上的D0、D2、D4、D6 灯,与D1、D3、D5、D7 灯交替闪烁 3)流水灯:从D7---D0 依次点亮 Unit2. 数码管实验 1)让第一个数码管显示一个8 字 2)在四个数码管上显示1,2,3,4 3) 在数码管上实现000-999 计数。 Unit3.按键应用实验 1)通过四个按键来控制LED 灯的显示情况: S1:D0-D3 点亮 S2:D2 点亮 S3:D0-D7 点亮 S4:D0-D5 点亮 2)按矩阵键盘上面的key0---key15,在第一个数码管上分别显示0-9,A-F。 Unit4.中断系统应用实验 右边的三个数码管从“000”开始进行加法计数。按动S2 键时计数暂停,再按继续计数。 三.实验设计及调试 Unit1.输入、输出实验 (一) 点亮板子上的第一个灯D0 #includereg52.h #define uint unsigned int sbit P1_0=P1^0; void main() { P1_0=0; //点亮第一个灯 } (二) 点亮板子上的D0、D2、D4、D6 灯,与D1、D3、D5、D7 灯交替闪烁 #includereg52.h #define uint unsigned int void delay(); void main() { while(1) { P1=0xaa; //点亮 D0、D2、D4、D6 delay(); P1=0x55; // 点亮D1、D3、D5、D7 delay(); } } void delay() //延时程序 { uint i,j; for(i=500;i0;i--) for(j=110;j0;j--); } (三)流水灯:从D7---D0 依次点亮 #includereg52.h #includeintrins.h //头文件 #define uchar unsigned char #define uint unsigned int void delay(); void main() { uchar temp; temp=0x7f; while(1) //大循环 { P1=temp; delay(); temp=_cror_(temp ,1); //右移 } } void delay() //延时程序 { uint x,y; for(x=100;x0;x--) for(y=110;y0;y--); } 实验感想: 首先在程序中出现的问题是P口的赋值。如果将P写成小写,则编译通不过。因此在C51中出现的不同于C语言的变量一般都是大写的,这个可以从最前面的头文件reg52.h中查看。里面列举了所有和C51相关变量的预定义。 在写延时子程序的时候,很容易将最后那个用于空操作的分号忘了写上,结果也是编译通不过。 另外,实例4中用于流水灯控制的循环右移函数_cror_则必须在前面加上另一个头文件intrins.h将其包含。 Unit2. 数码管实验 硬件图: (一)让第一个数码管显示一个8 字 #includereg52.h void main() { while(1) { P2=0xfe; //位选 P0=0x7f; //显示8 } } (二)在四个数码管上显示1,2,3,4 #includereg52.h #define uint unsigned int void delay(); void main() { while(1) //大循环 { P2=0xfe; P0=0x06; delay(); //显示1一段时间 P2=0xfd; P0=0x5b; delay(); //显示2一段时间 P2=0xfb; P0=0x4f; delay(); //显示3一段时间 P2=0xf7; P0=0x66; delay(); //显示4一段时间 } } void delay() //延时程序 { uint x,y

文档评论(0)

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

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

1亿VIP精品文档

相关文档