全球旧事资料 分类
时间200904版本V10i
cludereg52hdefi
eui
tu
sig
edi
tdefi
eucharu
sig
edchar
sbitwei1P20
ucharcodetable0xC00xF90xA40xB0
0x990x920x820xF8
全局变量
0x800x900x880x830xC60xA10x860x8E共阳数码管码表
uchar
umtemp
um1
f函数声明voiddelayui
tzucharkeysca
voiddisplayucharaa
voidmai

um1wei10P00xC0
while1
displaykeysca
voiddisplayucharaa
P0tableaa1
ucharkeysca
P10xfetempP1temptemp0xf0whiletemp0xf0
delay5tempP1temptemp0xf0whiletemp0xf0tempP1
fswitchtempcase0xee
um1breakcase0xde
um2breakcase0xbe
um3breakcase0x7e
um4break
whiletemp0xf0tempP1temptemp0xf0
P10xfdtempP1temptemp0xf0whiletemp0xf0
delay5tempP1temptemp0xf0whiletemp0xf0tempP1switchtempcase0xed
um5breakcase0xdd
um6breakcase0xbd
um7breakcase0x7d
um8break
fwhiletemp0xf0
tempP1temptemp0xf0
P10xfbtempP1temptemp0xf0whiletemp0xf0
delay5tempP1temptemp0xf0whiletemp0xf0tempP1switchtempcase0xeb
um9breakcase0xdb
um10breakcase0xbb
um11breakcase0x7b
um12breakwhiletemp0xf0tempP1temptemp0xf0

fretur
um
P10xf7tempP1temptemp0xf0whiletemp0xf0
delay5tempP1temptemp0xf0whiletemp0xf0tempP1switchtempcase0xe7
um13breakcase0xd7
um14breakcase0xb7
um15breakcase0x77
um16breakwhiletemp0xf0tempP1temptemp0xf0


voiddelayui
tz
ui
txyforxzx0x
fory110y0y
f
程序二:
i
cludeREG51H
defi
eU8u
sig
edchar
defi
ekey_portP1
code
U8
kcode0xb70xbe0xde0xee0xbd0xdd0xed0xbb0xdb0xeb0xd70xe7
反转码对应键值0123456789A
B
codeU8disp0xa00xbb0x620x2a0x390x2c0x240xba0x200x280xff
U8buf40000
U8c
t0
U8sc
0x7f0xbf0xdf0xef先点亮左边一个数码管
voiddelay_msU8ms
U8ij
fori0i100i
forj0jmsj

U8keyvoid
U8ar
delay_ms20延时20毫秒消除按键抖动
ifkey_port0xf0gotor

akey_port
key_porta0x0f
delay_ms20
akey_port
forr0r11r
ifakcoderbreak
ifr11r0xff0xff表示无效
r
key_port0xf0
retur
r

voidmai
void
U8kipf
pf为按过加号键的标志
i
tpp1p2p1p2为两个加数p为和
TMOD0x01设定时器0为模式116位
TH00xee晶振110592MHz5mS
TL00
TR01
开始计数
EA1
允许中断
ET01
定时器0中断允许
key_port0xf0
pf0
清除加号标志
p0
fdelay_ms20
while1
循环
ifkey_port0xf0
kr
好听全球资料 返回顶部