单片机课程设计的内容。最好用汇编语言,实在不行,C语言也可以。需要大家快速点。
答案:4 信息版本:手机版
解决时间 2019-10-06 05:16
已解决
2019-10-05 21:11
以6个数码管中间4个分别代表东南西北4个方向,以数码管的上、中、下3个横段分别代表红、绿、黄三盏灯,绿灯变黄灯时,黄灯闪烁两次。
8XX51型片实现该功能。最好附有电路原理图。谢谢。
最佳答案
2019-10-05 21:57
keil2编程 用了Atmel 89c52 ,锁存器74hc573两片,LED
时间长都忘记了,没有硬件,你调试看看吧
#include
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
void delay(uint z);
void main()
{
while(1)
{
wela=1;
P0=0xd7;//东西
wela=0;
dula=1;
P0=0x40;//绿
dula=0;
delay(60000);//延时60s
wela=1;
P0=0xeb;//南北
wela=0;
dula=1;
P0=0x01;//红
dula=0;
delay(60000);
wela=1;
P0=0x3a;//东西南北
wela=0;
dula=1;
P0=0x08;//黄
dula=0;
delay(2000);
wela=1;
P0=0x3a;
wela=0;
dula=1;
P0=0x00;//灭
dula=0;
delay(2000);
wela=1;
P0=0x3a;
wela=0;
dula=1;
P0=0x08;//黄
dula=0;
delay(2000);
wela=1;
P0=0xd7;//东西
wela=0;
dula=1;
P0=0x01;//红
dula=0;
delay(60000);
wela=1;
P0=0xeb;//南北
wela=0;
dula=1;
P0=0x40;//绿
dula=0;
delay(60000);
}
}
void delay(uint z)//1ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
全部回答
1楼
2019-10-06 00:15
这个应该不难,但是也不是那么容易做的出来,要花时间的。C51系列的芯片一般都用C编程啊,为什么要用汇编啊。主要就是控制输出的高低电平就行了,好好学习,以后找工作容易些,年薪也高的多。你要知道你这几年多学习一点,以后可以少奋斗几十年。
2楼
2019-10-05 23:22
给你给出关键代码吧,你看懂了才有写的
srand((unsigned)time(null));
while(1)
{
int value = rand()%13;
int k = getvalue(); //得到用户输入的值,这部分没法帮你弄
while(1)
{
int k = getvalue();
if(k>value)
{
continue;
}
if(k
{
continue;
}
if(k==value)
{
break;
}
}
}
3楼
2019-10-05 22:26
我暂时保留我的看法!
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯