石家庄铁道大学单片机实验题目
实验一数据区赋值
(用指针、at、宏分别设计程序)实现给片内RAM30H和片外RAM3000H开始的16字节区域分别赋值为0x01、0x020x0f。
Ati
cludeabsacchatdatau
sig
edcharbuffer116_at_0x30xdatau
sig
edcharbuffer216_at_0x0030voidmai
u
sig
edi
tijfori0i16i
buffer1iiforj0j16jbuffer2jjwhile1宏i
cludeabsacch宏voidmai
u
sig
edi
tiaba0x30b0x0030fori0i16iDBYTEaiXBYTEbiwhile1
f指针i
cludeabsacch指针voidmai
voidu
sig
edchardatap1u
sig
edcharxdatap2u
sig
edi
tip10x30p20x3000fori0i16ip1ip1p2ip2
实验二数据区数据处理
对30H开始的内存区数据0x010x0f进行处理:将30H开始的内容变成0x01、0x23、0x450xef存到40H开始的单元将40H开始的内容变成0xef、0xcd0x23、0x01存到50H开始的单元将50H开始的内容变成0x0f、0x0e、0x0d0x01、0x00存到60H开始的单元
i
cludestdiohi
cludemathhi
cludeadsacchdatau
sig
edcharbuffer116_at_0x30datau
sig
edcharbuffer28_at_0x40datau
sig
edcharbuffer38_at_0x50datau
sig
edcharbuffer416_at_0x60voidmai
u
sig
edi
tijkrfori0i16i
buffer1ii30H赋值forj0j8j
buffer2jbuffer12j4buffer12j140H
ffork0k8kbuffer3kbuffer27k50H
forr1r16rifr20buffer4r1buffer3r214elsebuffer4r1buffer3r20x0f60H
实验三并行口实验
P30接开关K0,设计程序实现:当K00时,P1口连接的8个LED灯从LED0LED7依次点亮;当K01时,P1口连接的8个LED灯从LED7LED0依次点亮;
i
cludereg51hdefi
eu
charu
sig
edcharvoiddelay
u
charijfori0i255iforj0j255jvoidmia
u
charabidoP30xff将P3置为输入状态aP3aa0x01屏蔽高7位ifa0b0x01fori0i8i
P1bdelaybb1elseb0x80
ffori0i8i
P1b
delay
bb1
while1
根据P31和P30连接的开关K1和K0的状态实现P1口连接的8只LED灯按以下形式
亮灭:
K1
K0
亮灯
0
0
8只灯全亮全灭交替
0
1
LED74和LED30交替全亮全灭
1
0
从全灭状态起,8只灯从两头到中间再从中间到两头依次点亮
1
1
从全亮状态起,8只灯从两头到中间依次点灭,再从中间到两头
依次点亮
i
cludereg51h
defi
eu
charu
sig
edchar
voiddelay
u
charij
fori0i255i
forj0j255j
voidmia
u
charabci
do
P30xff
aP3aa0x03屏蔽高六位
switcha
case0
fori0i2i
P10x00
delay
P10x0ff
delay
break
case1
fori0i2i
P10x0f
delay
fP10x0fr