|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
用指针编程点亮led的单片机程序,及指针讲解
+ x% Y* H; r* Q( O, O! R! Q; D' i! a
: R4 l( N+ v- r- v' M" u& `4 G$ y( h+ B0 ^5 V8 x% i
用指针编程点亮led,还有指针的详细讲解。* K9 h, o: T! R
) B! v6 w* p% k( ~. K: ^. A N4 |
8 H, w( K" G' n8 @ E
单片机源程序:
) F' B! n* c; l; f) q$ P#include<reg51.h>/ V l# p+ F, `) x" ]2 g
#define uchar unsigned char0 d% B5 L& e9 t i
sbit LED = P1^0;
4 T* v" K. y6 wuchar t[] = {0,1},*px;
( o6 t; [0 p D: b0 Hvoid main()) i" U# L9 i9 X
{
6 r- z1 H0 W; _1 v4 W; J while(1). S, K% V: ^$ w1 J+ b. G2 e1 w' E
{
/ |/ @; g+ j3 z- ~* @3 q px = t; // 把数组t里的第一个元素 0 的地址给指针px$ E8 h# x% ^$ L) Q4 \
LED = *px; // 取px地址的值赋给led。如果是要数组里面第二个元素 1 这一步就该写成*(px+1)。! I: c F/ D+ T9 x/ C
} 2 q, h2 L# w1 \6 N+ X3 {: A
}# _+ T a+ T- v- r1 ]& N" ^
* d/ e$ K) j2 T) o/ M; X. z. ?7 o |! I: ]/ D$ ^; b# ~
//指针的说明:
$ i) t! Q. ^; x1 b2 ^6 r //程序中用到的原始数据,最后结果都在内存。
" q o) j) _0 W //用指针处理数据。指针就是数据存放的地址。内存空间被划分成若干个大小相同(1个字节)7 g& G( \; V/ l3 d+ I0 f
//的存储单元,并为每一个存储单元安排一个编号,这个编号被称为内存地址。
$ @3 N& m4 m- w. I //*******而指针就像一个指示器,它告诉程序在内存的什么地方可以找到数据********。; v* p8 S3 V+ ^, V" M
//指针是指向的相应数据在内存中存储空间7 P% C+ y" X( a0 o
//的第一个单元的地址;因此把地址叫作指针,存放地址的变量称 指针变量。
* _% O9 O. `* c; E
9 E" I& q3 [+ e& ^; v& M; b# z& U5 P1 ?& U
仿真工程文件和源码下载:+ b: q/ Z, R/ I9 g( [
' l+ \0 s# O6 \. w# q: I# f/ |2 Z+ A# T+ e
|
|