找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1005|回复: 8
收起左侧

做了一个单片机数码管,测试通过但是和设计不同

[复制链接]
ID:658914 发表于 2023-3-4 11:33 来自手机 | 显示全部楼层 |阅读模式
用STC12C5A60S2 控制
因为是串联灯管用9v电压
共阳极
阳极控制P3(如图)0-3

设计低电位导通。可以是实际测试竟然是高电平才能导通。
请问,有懂得告知怎么回事

单片机代码:
P3 = 0x01 << Digi ;   //高电平移位
bitopet = 0xfe;
for( i=0;i<7;i++)   
{  
tmp = NUM[SEG] | bitoper;    //或操作,同为零结果才是零
  P2 = tmp;   
bitoper = bitoper << 1;     //移位操作。与上面或操作联动最终变成补1
delay(50);  
}
IMG20230304110643.jpg
IMG20230304111637.jpg
1676648239149.png

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:658914 发表于 2023-3-5 12:50 来自手机 | 显示全部楼层
P2^i = 0;//怎么编译提示near '='  不能通过
回复

使用道具 举报

ID:658914 发表于 2023-3-5 13:14 来自手机 | 显示全部楼层
kzzk 发表于 2023-3-5 12:50
P2^i = 0;//怎么编译提示near '='  不能通过

明白了。不能这么写。编译器会以为^是异或运算符
回复

使用道具 举报

ID:161164 发表于 2023-3-5 13:57 | 显示全部楼层
kzzk 发表于 2023-3-5 12:50
P2^i = 0;//怎么编译提示near '='  不能通过

因为 ^是 XOR运算符与|类似
你写P2 | i = 0;是啥意思?
你想控制P2各端口输出不能这样写
回复

使用道具 举报

ID:883242 发表于 2023-3-5 14:01 | 显示全部楼层
kzzk 发表于 2023-3-5 12:50
P2^i = 0;//怎么编译提示near '='  不能通过

左值不得参与运算。
回复

使用道具 举报

ID:658914 发表于 2023-3-5 14:45 来自手机 | 显示全部楼层
Hephaestus 发表于 2023-3-5 14:01
左值不得参与运算。

谢谢各位
回复

使用道具 举报

ID:658914 发表于 2023-3-5 22:23 来自手机 | 显示全部楼层
结果还是
回复

使用道具 举报

ID:658914 发表于 2023-3-5 22:26 来自手机 | 显示全部楼层
结果还是改为P2=NUM[SEG]  延迟200个时钟周期(亮度够了)看来占空比控制好就行了。原来28分之一,现在四分之一
回复

使用道具 举报

ID:658914 发表于 2023-3-5 22:30 来自手机 | 显示全部楼层
接下来。想搞搞GPS.把卫星上的时钟信号当下来显示在这四个'数码管'上。大家有什么好用便宜推荐
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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