找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

单片机实验端口的输入输出,求教

[复制链接]
uuuuuuu 发表于 2014-4-12 11:30:33 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
编写一程序实现下列功能:KEY1 键每按下一次,30H 单元加一(30H初值为30H=0x0f),并将30H 单元内容送到8位逻辑电平显示电路显示;KEY2 键每按下一次,31H 单元加二(31H初值为31H=0x0a0),并将31H 单元内容送到8位逻辑电平显示电路显示,KEY3 键按下(键值=0FBH), 一盏指示灯连续闪烁五次;KEY4键按下(键值=0F7H),指示灯全部熄灭。
#include<c8051f020.h>
#include<stdio.h>
void tttt(void);
void ttt(void);
void tt(void);
unsigned char data0 _at_ 0x40;
unsigned char key;
sbit ZSD=P2^7;
void ttt(void)
{ int i;
for (i=0;i<300;i++){}
}
voidtt(void)
{unsigned long j;
for (j=0;((j<80000)&&((P1&0xff)!=0xf7)); j++){}
}
void main()
{
WDTCN=0x0DE ;
WDTCN=0x0AD;
OSCXCN=0x065 ;
ttt();
OSCICN|=0x08 ;
XBR2=0x040 ;
P1MDOUT=0x0FF ;
P2MDOUT=0x0FF ;
P2=0x0ff;
P1=0x0ff;
while(1)
{
while((P1&0x0f)==0x0f)
{}
key=data0=P1;
do {
ttt();
}
while((P1&0x0f)!=0x0f);
switch(key){
case 0xfe:
P2=0xfe; break;
case 0xfd:
P2=0xf9; break;
case 0xfb:
P2=0xff;
do {
ZSD=0; tt();
ZSD=1; tt();
}
while((P1&0xff)!=0xf7);
break;
case 0xf7:
P2=0xff; break;
default:
break;
}
}
}我不懂怎么写,怎么办
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 14:50 , Processed in 0.060566 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表