|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
用指针编程点亮led的单片机程序,及指针讲解
% ?2 Y7 G4 C4 r6 C+ x: {2 \
; j) u7 o) _0 d# d! @
$ D6 t, K% H, X) b! W; P用指针编程点亮led,还有指针的详细讲解。+ v/ s2 J7 k0 _
6 K: v" u9 F( v6 w0 f2 J
# C" w. H- u6 F
p0 C: h! _: V1 d单片机源程序:* E I7 h2 K% O/ e
#include<reg51.h>
% `* y" X, U ^# _6 X( X2 B$ `4 d! X#define uchar unsigned char
8 R/ I! A$ t! { Hsbit LED = P1^0;
0 q. J& j, x- h% ~7 Q& \7 Zuchar t[] = {0,1},*px;0 C$ Q5 Z' h. E# m! M
void main()
: b+ Z$ R( o3 J# K7 C l+ d0 J{
7 T6 D) f1 x1 P' w/ X4 F7 Q3 @0 @ while(1)
. S- `8 r+ ^& t: v* l {4 q2 w. ]1 m9 D7 d' T% r
px = t; // 把数组t里的第一个元素 0 的地址给指针px
$ H# h6 d' m( d/ `1 Y7 A LED = *px; // 取px地址的值赋给led。如果是要数组里面第二个元素 1 这一步就该写成*(px+1)。/ \. L: `! J$ p% @! ]5 _# w7 g
} : ]1 c# R9 c: c( h( H, e
}' y7 ~! w! ?4 V7 ? G$ ]
- b& C( U$ f. F! N- J4 Z# [$ ~
4 d- b$ \0 J$ } //指针的说明:
8 l7 a2 J; O \5 v* I4 M' t" ] Q, p //程序中用到的原始数据,最后结果都在内存。
' }* v9 `0 d6 `& I7 L: y //用指针处理数据。指针就是数据存放的地址。内存空间被划分成若干个大小相同(1个字节)
* n$ Z- X. l" z( l6 N //的存储单元,并为每一个存储单元安排一个编号,这个编号被称为内存地址。
8 X# g- u3 X5 t# X: h2 f //*******而指针就像一个指示器,它告诉程序在内存的什么地方可以找到数据********。
8 n/ u6 q. K. | //指针是指向的相应数据在内存中存储空间$ R! H3 z& k0 E" g' E
//的第一个单元的地址;因此把地址叫作指针,存放地址的变量称 指针变量。. P1 e R! F$ n7 v6 k
5 |* s q- `, |0 z- a+ e% m. ?
# A; {3 s4 u" B# E1 X5 O仿真工程文件和源码下载:6 U8 P' B% b/ @6 ]
1 w7 {. ^! T& ]4 R$ N& Y$ ?
% P% E' U: w# Y w/ F |
|