全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

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

[复制链接]
1923 0

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

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

x
编写一程序实现下列功能: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;
}
}
}我不懂怎么写,怎么办

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表