河南理工大学单片机实验报告

2026/4/24 1:41:30

单 片 机 验 收 报 告

姓名:学号:班级:学院:

实验一 流水灯实验

一、 实验目的

1) 简单 I/O 引脚的输出 2) 掌握软件延时编程方法 3) 简单按键输入捕获判断

二、 实验实现的功能

1) 开机是点亮 12 发光二极管,闪烁三下 2) 按照顺时针循环依次点亮发光二极管

3) 通过按键将发光二极管的显示改为顺逆时针方式

三、 系统硬件设计

四、 系统软件设计

/*

*******程序名:流水灯实验***********

*******程序功能:按键控制流水灯的顺逆旋转****** *******完成时间: 2015年12月29号下午*** *******完成人 :电科1303班 何海坤 */

/****头文件,注:如果没有添加stc10.h文件到keil安装路径里,则需要添加,否则请将头文件改成reg51.h*****/

#include

/****宏定义****/

#define uchar unsigned char #define uint unsigned int /***定义按键端口***/ sbit key = P3^6; sbit keyl = P0^5;

/****led控制数组******/ uchar table[] =

{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfb,0xf7,0xef,0xdf};

//当引脚电平为时,引脚对应的led亮

/******子函数定义*******/

void delay1ms(); //延时函数1ms时间 void delaynms(uint); //延时函数自定义毫秒数 void delay(); //定义延时函数100ms时间

void led_init(); //初始化led全体同时亮灭三次

/**主函数**/ void main() { uchar m = 0; uchar k = 0; keyl = 0 ; led_init(); //led初始化为全体led同时闪灭三次 while(1) { if(!key) { delaynms(5); if(!key) { m++; if(m == 2) { m = 0; } while(!key); } } if(m == 0) { k++; if(k == 13)k=1; } else k--; if(k == 0)k = 12; switch(k-1) { case 0 : P2 = table[0]; P3 = 0xff; delay(); break; case 1 : P2 = table[1];


河南理工大学单片机实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 河南理工大学单片机实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219