|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
用指针编程点亮led的单片机程序,及指针讲解
: l% O \/ A- |1 z- X; A
v" W, j: y0 N6 ^- P
9 K7 r5 a+ U, I b用指针编程点亮led,还有指针的详细讲解。. n3 Z7 c+ Q! m: Y6 a, A; O7 M
5 g4 I Y% D' z# O0 y8 w3 P1 N! Z5 ]/ o% o1 M6 g
1 J: Y4 H8 q0 \$ s) x
单片机源程序:5 l X5 R; a: l5 l) b7 ?0 i
#include<reg51.h>
! k: v( G0 m& ~; A7 Z9 S#define uchar unsigned char% Z5 w' g- ~! \8 I
sbit LED = P1^0;
O. A; j' [; D, xuchar t[] = {0,1},*px;0 H3 n6 ?- M c7 M, {5 k
void main()2 {6 a! Q8 x$ \# _: q' a0 D( J! z
{
. X7 Q/ m8 v0 r while(1)( y5 V% p' E& L- O0 U5 G& {& ? ~
{
p! M/ I4 X+ u9 a px = t; // 把数组t里的第一个元素 0 的地址给指针px
( R1 J0 J q, D$ Y LED = *px; // 取px地址的值赋给led。如果是要数组里面第二个元素 1 这一步就该写成*(px+1)。
; g5 W6 H3 r8 b% m; |( [/ P' [ }
$ u) ]# w: ]( {- z}1 \% E2 L- f4 j6 }% r
, i9 p, y8 t' [) H* I' j7 g0 U
4 b$ U# l. D) ]1 n //指针的说明: 2 Y$ F' N6 ?! }: u
//程序中用到的原始数据,最后结果都在内存。
% m, K" f; E# E& a //用指针处理数据。指针就是数据存放的地址。内存空间被划分成若干个大小相同(1个字节)! ~) y# S" t6 }) }5 @. ^; W
//的存储单元,并为每一个存储单元安排一个编号,这个编号被称为内存地址。
+ M: |" k4 ], Y W& H //*******而指针就像一个指示器,它告诉程序在内存的什么地方可以找到数据********。
9 ]' d2 h) W; J k //指针是指向的相应数据在内存中存储空间
" X( e _1 F. }- O. V //的第一个单元的地址;因此把地址叫作指针,存放地址的变量称 指针变量。: R1 y) r6 z& j, V- t5 }6 `1 X* e
T& u! O& R6 \1 u
0 R' G6 Q0 h9 t4 Q7 V4 H: P0 T! g仿真工程文件和源码下载:
. L- ~4 E+ O6 y( l2 O" o( K% |/ Q/ U# n3 n: L
: e( Z/ R6 [& U2 H3 U$ z3 s) y
|
|