- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一LED二极管闪烁十次再循环再闪烁的编程及仿真.
实验一 单片机实验装置及使 LED二极管闪烁十次再循环再闪烁的编程及仿真一、实验目的 1熟悉keil4和Proteus可编程控制器实验装置的功能结构及使用。2熟悉用单片机编辑循环程序的方法。3熟悉用keil4和Proteus编程及仿真。二、实验器材1、keil4和Proteus可编程控制器实验装置。2、装有keil4和Proteus编程软件的PC机。3、89C51单片机一块,8个LED二极管最好是有颜色变化的,1块respack-8的排阻,一块74HC245缓流器。4、虚拟接地、电源、导线若干。三、实验原理1、应用keil4和Proteus的高度兼容性和完美的仿真功能,以计算机的计算能力来模拟出现实实验的现象,以程序编程后并定义好关口的引脚,通过实验逻辑的变化来达到控制原件的变化。四、实验内容1、先根据你的实验需要来设计实验。2、然后再使用keil4在电脑上把程序编好并输出.HEX格式文件,打开proteus将画好的实验电路图画到软件里,并且把.HEX文件编辑到实验的器件89C51中。3、仿真实验,观察实验的现象并总结实验结果。五、实验步骤1、根据实验的要求来设计实验。首先应该先在草稿纸上把实验的步骤和方法先提前写好,并把实验电路图画出。2、在keil4中编辑程序并输出.HEX文件,如下编辑:第一种编程方法:要加stdio.h#include reg51.h //80C51的头文件//#include stdio.h#define unit unsigned int#define uchar unsigned char //对int和char定义,以减少实验操作的简便//uchar y;sbit led0=P2^0;sbit led1=P2^1;sbit led2=P2^2;sbit led3=P2^3;sbit led4=P2^4;sbit led5=P2^5;sbit led6=P2^6;sbit led7=P2^7; //定义P2上八个管脚的名称,以控制引脚//void delayms (unit); //必须要先定义,后才能引用使文件得以延时//void main(){while(1) //必须要是1使循环变成死循环,才能控制实验// lable0: {for(y=10;y0;y--) //控制灯的闪烁次数// {led0=0;delayms(100); led0=1;delayms(100);}goto lable1;} //达到循环跳出的目的// lable1: //跳出的地址//{for(y=10;y0;y--) {led1=0;delayms(100); led1=1;delayms(100);}goto lable2; } lable2:{for(y=10;y0;y--) {led2=0;delayms(100); led2=1;delayms(100);}goto lable3;} lable3:{for(y=10;y0;y--) {led3=0;delayms(100); led3=1;delayms(100);}goto lable4;} lable4:{for(y=10;y0;y--) {led4=0;delayms(100); led4=1;delayms(100);;}goto lable5;} lable5:{for(y=10;y0;y--) {led5=0;delayms(100); led5=1;delayms(100);}goto lable6;} lable6:{for(y=10;y0;y--) {led6=0;delayms(100); led6=1;delayms(100);}goto lable7;} lable7: {for(y=10;y0;y--) {led7=0;delayms(100); led7=1;delayms(100);}goto lable0;}}void delayms(unit x) //延时程序// {uniti,z;for(i=x;i0;i--)for(z=113;z0;z--);}编译后输出.HEX文件。(这种程序很麻烦,但是很基础!)第二种方法:用时要多加一个intrins.h#includereg51.h#includ
文档评论(0)