标题:
交通灯编码问题
[打印本页]
作者:
Liuyangp
时间:
2018-7-20 22:23
标题:
交通灯编码问题
#include<reg51.H> // 对单片机的口进行了定义
#define uint unsigned int
#define uchar unsigned char
uchar code a[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//段码组合,共阳极
uchar code b[4]={0x01,0x02,0x04,0x08}; //位码组合
uchar code c[4]={0xcc,0xd4,0x78,0xb8};/*P1 绿红、黄红、红绿、红黄*/
这是交通灯的开头几行,看不懂后面三行编码
作者:
HC6800-ES-V2.0
时间:
2018-7-21 08:53
我也看不懂,试了一下段码,搞不出来。
所以,我要知道电路才行。
作者:
pylpc3
时间:
2018-7-21 10:14
所以,我要知道电路才行
作者:
zl2168
时间:
2018-7-21 10:47
找看得懂的程序(有注释的)。
作者:
关外秀才
时间:
2018-7-21 11:06
有电路图吗?这样看不懂,个人理解是用单片机的I/O口来控制LED灯的一个极,另一个极(阳极)上拉接电源,如果阴极则接地,单片机根据不同时间段控制相应的LED灯导通显示不同的颜色。
作者:
jerry_fuyi
时间:
2018-7-21 13:34
a[10]是数码管的数据,7段显示10个数
b[4]是用来移位的
比如让A端口的第3位为高电平:PORTA |= 1 << 3;
用b数组就写作:PORTA |= b[3];
类似地,让D端口的第0位为低电平:PORTD &= ~b[0];
(这是AVR的寄存器名,51我不懂)
c[4]是信号灯的数据,原理和a数组相同
0xCC 11001100
0xD4 11010100
0x78 01111000
0xB8 10111000
对应:绿黄红绿黄红XX(MSB -> LSB, X = N.C.)
共阳极接法,0亮1不亮
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1