|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
用指针编程点亮led的单片机程序,及指针讲解
4 g/ J. N$ ?1 P+ a/ k) K
5 j4 C0 w# s7 w# O1 N/ |% ?$ F" k: o# N3 |0 V' R- {6 w; s+ ~
用指针编程点亮led,还有指针的详细讲解。' ?- G$ C3 T \' A
* i1 \- D* s7 Z. F3 k4 d/ T! x6 w" }1 w& I' @
, _* p( h8 K- g
单片机源程序:, Z( M6 ^6 z5 |4 v+ _# b. p
#include<reg51.h>
! `& B. p' H1 w. y" w" E5 c) v b#define uchar unsigned char! [6 S1 [2 x. k* ~9 d
sbit LED = P1^0;
, A5 ]/ I+ J7 `* l& ]uchar t[] = {0,1},*px;! J- f6 C5 H3 y# |* y
void main()
; J- V5 G' p _{( Z" n0 R' q: U& E2 P/ N6 n
while(1)
+ W& c0 U+ I% e8 c; J! f* N- p% F, T {
! `5 n. p7 L" n! R) o) K px = t; // 把数组t里的第一个元素 0 的地址给指针px. X- M- l* g& G, e& v. T6 ^3 S
LED = *px; // 取px地址的值赋给led。如果是要数组里面第二个元素 1 这一步就该写成*(px+1)。- C1 I7 w. Z) i- q/ E# k
}
/ v' C* r+ ?$ Q}
8 j* h: I. G) q) ^8 H2 E. y2 w7 ~# x( P6 p& ?
/ m, R- i5 z/ J" ?5 q) I1 k //指针的说明: # M6 U. G n, y+ k
//程序中用到的原始数据,最后结果都在内存。
! Z7 s: c0 H, l3 [. d //用指针处理数据。指针就是数据存放的地址。内存空间被划分成若干个大小相同(1个字节); C% b+ U1 o3 U
//的存储单元,并为每一个存储单元安排一个编号,这个编号被称为内存地址。
7 t3 l4 E) E4 C //*******而指针就像一个指示器,它告诉程序在内存的什么地方可以找到数据********。
. Q9 P# S5 ~% W1 a0 a //指针是指向的相应数据在内存中存储空间4 @! e3 a% ?5 h' s( U& U+ E
//的第一个单元的地址;因此把地址叫作指针,存放地址的变量称 指针变量。- s" X$ W! Z/ `, @* |( d, O
H. g! v( x. T: ?7 Y: ]! X$ c! f/ Y j7 d! Q1 Z; b; W1 L3 h+ d5 D9 L9 n
仿真工程文件和源码下载:* q* m& X7 R! C3 y! r) s
0 X5 U& s" B& W! [: c1 \2 X
% y9 x$ x. {7 @$ C3 h |
|