本文章为新手提供学习参考 控制开发板上的LED灯,独立完成一个单片机课程实验内容——实验一:能够独立控制点亮开发板上的每一个小灯,并且可以实现小灯点亮和关闭以及闪烁功能,LED闪烁的时间由自己设置。(LED闪烁) 进取者STC15开发板原理图 本次实验使用的是P0_0到P0_78个管脚,实际开发板中用杜邦线接出来,例如下图所示模块(为淘宝随机找的一张图,侵删)实验二:LED流水灯实验
强调:
实验二:LED流水灯实验
使用的开发板原理图及本次使用的模块
原理图
使用的模块备注:
LED流水灯模块背面
LED流水灯模块正面
模块1个脚提供高电平,其余脚与单片机P0口连接实验二的代码部分
#include <reg51.h> //调用reg51头文件 #include <intrins.h>//调用intrins头文件 #define uchar unsigned char//定义uchar类型为unsigned char 储存大小1字节,值范围:0 到 255 #define uint unsigned int //定义uint类型为unsigned int 储存大小2或4个字节,值范围:0~65536 /*延迟函数,延迟0.1s*/ void Delay100ms() //@11.0592MHz, { unsigned char i, j, k; _nop_();//使用_nop_()函数需要调用‘intrins.h’文件 _nop_(); i = 5; j = 52; k = 195; do { do { while (--k); } while (--j); } while (--i); } /*LED平移函数,默认为低电平亮灯,实现先从P0^7向P0^0移动,到P0^0再向P0^7移动*/ void shift() { uchar i; for(i=0;i<8;i++) { P0=~(0x80>>i);//先为1000_0000然后右移,例如:i=1时,变为0100_0000。最后取反变为:1011_1111;实现第一个低电平转化为第二个低电平; Delay100ms();//延迟 } for(i=0;i<8;i++) { P0=~(0x01<<i); Delay100ms(); } } /*主函数*/ void main() { P0=0xff;//全灭 Delay100ms();//延迟100ms P0=0x00;//全亮 while(1)//死循环 { shift(); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算