发光二极管广石化.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
发光二极管广石化

实验一 发光二极管实验一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。2、掌握用查表方式实现AT89C51 单片机IO 口的控制。3、练习单片机简单延时子程序的编写。4、熟练运用Proteus 设计、仿真AT89C51 系统。实验内容编写延时子程序,延时时间为0.1S。void delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 122; j++);}通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。电路图:程序:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 122; j++);}void main(){P1 = 0xFE;while(1){P1=_crol_(P1,1);delay();}}通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。电路图:程序:#includereg51.h#includeintrins.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for(i=0;i100;i++);for(j=0;j122;j++);}void updown(){uchar k;P1=0xFE;for(k=0;k8;k++){delay();P1=_crol_(P1,1);}}void downup(){uchar k;P1=0x7F;for(k=0;k8;k++){delay();P1=_crol_(P1,-1);} }4、用数组方式实现 题3电路图:程序:#includereg51.h#includeintrins.h#define uchar unsigned char#define uint unsigned intuint tables[8] = {0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};void delay(){uint i, j;for (i=0;i 100;i++){for (j=0; j122;j++){}}}void updown(){uchar i;for (i=0;i8;i++){delay();P1=tables[i];}}void downup(){char i;for (i=7;i=0;i--){delay();P1=tables[i];}}void main(){while(1){updown();downup();}}5、P2 口作为输入口,接8 只开关。P1 口做为输出口,接8 只发光二极管,通过设置8只拨动开关的状态控制8 只发光二极管的亮灭。(自己画硬件连线图,程序流程图如下)程序:#includereg51.hvoid main(){while(1){P1 = P2;}}电路图:仿真图:6、用蜂鸣器发出固定电话回音声音。 固定电话回音声音:450Hz,通1秒断4秒。程序:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay_1ms(){uchar j;for (j = 0;j 122; j++){}}void delay_4s(){uint i;for (i = 0; i 4000; i++){delay_1ms();}}void Sound(){uint i;for(i = 0; i 500; i++){delay_1ms();P3 = 0x80;delay_1ms();P3 = 0x00;}}void main(){while(1){Sound();delay_4s();}}仿真波形图:7、要求: 1、按键若不按下,LED灯全灭。2、按键每按下一次,LED灯亮状态实现加法功能。 即:第一次按下,灯状态为1111 1110;第二次按下,灯状态为1111 1101; 第三次按下,灯状态为1111 1100;.。。。。。。。。。。。 直到灯状态为0000 0000 。再次按下后,状态又如同第一次按下。3、按键每次按下时,蜂鸣器有声音发出。(高电平1毫秒,低电平1毫秒,表明确实有按键按下)。电路图:程序:#includereg51.h#define uchar unsigned char#define uint unsigned intsbit

文档评论(0)

cjbckk + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档