




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 发光二极管实验一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。2、掌握用查表方式实现AT89C51 单片机IO 口的控制。3、练习单片机简单延时子程序的编写。4、熟练运用Proteus 设计、仿真AT89C51 系统。二、实验内容1、编写延时子程序,延时时间为0.1S。程序代码如下: #include<reg51.h> void delay100ms() int m,n; for(m=0;m<100;m+) for(n=0;n<100;n+); 2、见图一。通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0
2、.1S。程序代码如下:#include<reg51.h>void delay();/#define uchar unsigned char/#define uint unsigned intvoid main() int k; while(1) P1=0Xfe; delay(); for(k=0;k<7;k+) P1=P1<<1|0X01; delay(); void delay() int m,n; for(m=0;m<100;m+) for(n=0;n<120;n+); 仿真电路图如下:3、见图一。通过AT89C51 单片机控制8 个发光二极管发光
3、,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。程序代码如下: #include<reg51.h> int k; void delay(int k); void main() while(1) int m,n; P1=0Xfe;delay(200);for(m=0;m<7;m+) P1=P1<<1|0X01; delay(200); for(n=0;n<7;n+) P1=P1>>1|0X80; delay(200); P1=0X00; delay(1
4、00); P1=0Xff; delay(100); void delay(int k) int i,j;for(i=0;i<k;i+)for(j=0;j<120;j+);仿真电路图: 4、见图一。用数组方式实现 题3 。程序代码如下: #include<reg51.h> int k; void delay(int k); char A=0Xfe,0Xfd,0Xfb,0Xf7,0Xef,0Xdf,0Xbf,0X7f; void main() while(1) int m,n;for(m=0;m<8;m+) P1=Am; delay(200); for(n=6;n&g
5、t;=0;n-) P1=An; delay(200); P1=0X00; delay(100); P1=0Xff; delay(100); void delay(int k) int i,j;for(i=0;i<k;i+)for(j=0;j<120;j+);电路图如题三。5、P2 口作为输入口,接8 只开关。P1 口做为输出口,接8 只发光二极管,通过设置8只拨动开关的状态控制8 只发光二极管的亮灭。程序代码如下: #include<reg51.h> sbit k0=P20; sbit k1=P21; sbit k2=P22; sbit k3=P23; sbit k4=
6、P24; sbit k5=P25; sbit k6=P26; sbit k7=P27; sbit y0=P10; sbit y1=P11; sbit y2=P12; sbit y3=P13; sbit y4=P14; sbit y5=P15; sbit y6=P16; sbit y7=P17; char a0,a1,a2,a3,a4,a5,a6,a7; void main() while(1) if(k0=0) y0=0 ; else y0=1; if(k1=0) y1=0 ; else y1=1; if(k2=0) y2=0 ; else y2=1; if(k3=0) y3=0 ; else
7、 y3=1; if(k4=0) y4=0 ; else y4=1; if(k5=0) y5=0 ; else y5=1; if(k6=0) y6=0 ; else y6=1; if(k7=0) y7=0 ; else y7=1; 仿真电路图如下:6、用蜂鸣器发出固定电话回音声音。见图三。 固定电话回音声音:450Hz,通1秒断4秒。程序代码如下: #include<reg51.h> int k; void delay(int k); sbit P37=P37; void main() int i; while(1) for(i=0;i<500;i+) P37=1; delay
8、(1); P37=0; delay(1); P37=0; delay(4000); void delay(int k) int m,n; for(m=0;m<k;m+) for(n=0;n<120;n+); 7、1、按键若不按下,LED灯全灭。2、按键每按下一次,LED灯亮状态实现加法功能。 即:第一次按下,灯状态为1111 1110;第二次按下,灯状态为1111 1101; 第三次按下,灯状态为1111 1100;.。 直到灯状态为0000 0000 。再次按下后,状态又如同第一次按下。3、按键每次按下时,蜂鸣器有声音发出。(高电平1毫秒,低电平1毫秒,表明确实有按键按下)。程序
9、代码如下:#include<reg51.h>sbit P20=P20;sbit P37=P37;void delay(int k);void main() P1=0Xff; P37=0; while(1) if(P20=0) delay(20);if(P20=0) P37=0; delay(1); P37=1; delay(1); P1=P1-1; while(!P20); P37=0; void delay(int k) int m,n; for(m=0;m<k;m+) for(n=0;n<120;n+); 仿真电路图如下: 图三8、 简易模拟交通灯说明:东西向绿灯亮
10、10秒,黄灯闪烁3次后红灯亮, 红灯亮后,南北向由红灯变为绿灯,15秒后南北向黄灯闪烁3次后变红灯,东西向变绿灯,如此重复。程序代码如下:#include<reg51.h>#define uint unsigned int void delay(uint k); void main () while(1) P3=0X1E; delay(10000); uint i;for(i=0;i<3;i+) P3=0X2E; delay(1000); P3=0X3E; delay(1000); P3=0X33; delay(15000); uint m;for(m=0;m<3;m+
11、) P3=0X35; delay(1000); P3=0X37; delay(1000); void delay(uint k) uint i,j; for(i=0;i<k;i+) for(j=0;j<110;j+); 仿真电路图如下: 9、利用开关控制LED。要求:1、 每次按下K1时递增点亮一只LED,全亮时再次按下则再次循环开始;2、 K2按下后点亮上面4只LED3、 K3按下后点亮下面4只LED4、 K4按下后关闭所有LED程序代码如下: #include<reg51.h> #define uchar unsigned char sbit k1=P14; sbi
12、t k2=P15; sbit k3=P16; sbit k4=P17; static uchar i=0;m; uchar tab=0Xff,0Xfe,0Xfc,0Xf8,0Xf0,0Xe0,0Xc0,0X80,0X00; void keyboardscan(); void main() while(1) keyboardscan(); void keyboardscan() if(k1=0) if(i=8) i=0;else i=i+1; P0=tabi;while(!k1); if(k2=0) P0=0Xf0; if(k3=0) P0=0X0f; if(k4=0) P0=0Xff; 仿真电路图如下:按下K1: 按下K2:按下K3:按下K4:三、实验心得:第一次做单片机的实验,说实话是感慨万分。从写代码到仿真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 娄底职业技术学院《图像分析与处理》2023-2024学年第二学期期末试卷
- 建东职业技术学院《规划CAD》2023-2024学年第二学期期末试卷
- 武汉商学院《建筑工程计量》2023-2024学年第二学期期末试卷
- 西安培华学院《现代凝固技术基础》2023-2024学年第二学期期末试卷
- 南阳职业学院《建筑施工组织实训》2023-2024学年第二学期期末试卷
- 阜新高等专科学校《方案快题设计》2023-2024学年第二学期期末试卷
- 浙江横店影视职业学院《中外建筑史C》2023-2024学年第二学期期末试卷
- 沙洲职业工学院《机械工程训练A》2023-2024学年第二学期期末试卷
- 昆明铁道职业技术学院《模式识别与人工智能》2023-2024学年第二学期期末试卷
- 广州民航职业技术学院《创新思维与创业能力培养》2023-2024学年第二学期期末试卷
- 石油工程概论智慧树知到期末考试答案章节答案2024年中国石油大学(华东)
- 提升销售团队的领导力与激励效果
- 导航栏式毕业开题答辩有内容模板
- 2024年《宪法》知识竞赛必背100题题库带解析及参考答案(考试直接用)
- 高等数学(下)练习题库
- 初中生涯规划班会课教案
- 2024年湖南省高中英语学业水平考试合格考模拟试卷(答案详解)
- 常用元器件识别与测量课件
- 2023年江苏省常州市中考一模历史试卷(含答案解析)
- 2024年西安亮丽电力集团有限责任公司招聘笔试参考题库附带答案详解
- 乡村振兴视域下的乡村生态振兴路径及对策研究
评论
0/150
提交评论