找回密码
 注册
关于网站域名变更的通知
查看: 399|回复: 1
打印 上一主题 下一主题

LED闪烁的简单试验 8盏LED交替亮灭的实验效果

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-16 09:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
LED闪烁的简单试验 8盏LED交替亮灭的实验效果% N& M% A7 G* V
4 p& L, X- l' _. L; c
7 z8 H3 Q4 P. v: F3 V( a
喜欢的朋友可以看看+ m& F) E3 G5 ^5 o' g# N3 y- R

$ u! Q$ H0 R& m2 r) o, z+ A2 m1 i/*******************************************************************************0 a, L$ C' ?* E* r7 R  J& L, u  c7 @4 i8 \
*                 8 e, u1 ]0 x/ Q5 J7 y5 Y5 J+ {. O7 W
*                     
3 Z' H; y9 a% O--------------------------------------------------------------------------------0 l$ Z0 S* |! m$ o) X7 H" q
* 实 验 名   : LED闪烁的简单试验1 H4 u1 [! O' T0 {/ ^. o
* 实验说明       : 得到8盏LED交替亮灭的实验效果
7 G' Z$ @& G/ P; S# v' F7 w" w* 连接方式       : 见连接图2 ~8 F" T5 s, T. ?' T6 P9 b+ V
* 注    意   :
% s# \# Y* r$ G$ b3 L' J. P, E*******************************************************************************// O8 m3 o8 ^" G' \) r
//--包含你要使用的头文件--//& }7 ]7 M! f: Y% ^/ b. w+ [0 L
#include <reg51.h>    //此文件中定义了51的一些特殊功能寄存器
$ \3 e- e# k9 b& p6 ~% G//--声明全局函数--//" V+ Y1 t; I' E8 s7 b
void Delay10ms(unsigned int c);   //延时10ms
+ F' [2 H7 \3 u$ b4 X% B8 O/*******************************************************************************. E4 G, w9 L: K
* 函 数 名         : main4 q) _6 F' ~6 E6 w
* 函数功能     : 主函数
! U% S9 w( n* d/ D" F* 输    入         : 无
4 F( z7 ?* s/ z' T" p- k# s, `* 输    出         : 无
; f: W0 M* z! }: n8 e# C*******************************************************************************/" f/ B! _* A* y5 i3 B% h% M
void main()% H0 o7 s- K, t' K3 w) O' \  F5 \
{ 3 A! b" R4 }. l
while(1)& d. a  m3 a' ^- ^1 p
{
0 P0 I! r7 n6 m3 T( F# O: T  //--数字前面加0x表示该数是十六进制的数,0x00就是十六进制的00--//! p: J2 X* n  o2 ^; C
  //--P0口一共有8个IO口,即从P0.0到P0.7,而0x00二进制就是0000 0000--//  K, v1 m, U6 s
  //--效果就是P0.0到P2.7都是0,即低电平。而如果你想给P0.1口赋高电平时--//0 e  q: o7 N# K- y
  //--二进制就是0000 0001,就是十六进制0x01.--//
4 @" I9 X% s# L4 a: c! F  P0  = 0x00; //置P0口为低电平) T; l0 v  F8 w0 X
  
, D, j6 Q+ x) U  Delay10ms(50); //调用延时程序,修改括号里面的值可以调整延时时间5 \/ ]2 X; `' }! m5 Z1 g& X6 X' V
  
6 F& r3 G( W; L5 }  P0  = 0xff; //置P0口为高电平$ V; D! S. ^8 D1 L! a) }
   
  n- i( p8 ?$ z/ z  Delay10ms(50); // 调用延时程序
+ v- c$ i& A. L) p}' ?' l/ Z) U& \8 @6 \1 e# V: ?$ G8 k
}% G4 ]: b4 C- w# F9 t
/*******************************************************************************
) I6 n5 M5 e3 i$ |* 函 数 名         : Delay10ms
4 i- A+ ?: W3 D* A  m) m2 a0 c' {6 I* 函数功能     : 延时函数,延时10ms) ~+ h  u8 U6 b4 I1 B; N0 G
* 输    入         : 无
3 t0 m% x  O+ h" Z* r2 f* 输    出         : 无
) E2 G9 R; }3 U  H2 k7 P*******************************************************************************/
6 O' P- q  M1 |# yvoid Delay10ms(unsigned int c)   //误差 0us
5 B# c0 V" ~/ @6 j" d' y{% B/ j* R9 }# `
    unsigned char a, b;
# K/ L; T& e0 a( X  g( A//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
  P, L/ \$ @4 b! L    for (;c>0;c--)
4 ~5 Q$ e* r6 u2 j, b{
1 F% W" ?0 ?9 I  for (b=38;b>0;b--)( {5 Y0 j% @- Q3 a9 r$ T
  {
' a3 v" G* V% W1 I   for (a=130;a>0;a--);
2 ^5 s6 H& [: Y$ B* V  }8 v2 t' a$ @% x+ t  _* q
           
; U3 b, Z/ G8 @7 T}7 c4 d* o9 `3 i8 \) u
        
3 M" W: m% ~1 A}
' D) Z& O) f, G, S$ j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-29 08:54 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表