找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3524|回复: 7
打印 上一主题 下一主题
收起左侧

51单片机点阵!

[复制链接]
跳转到指定楼层
楼主
ID:140568 发表于 2016-9-26 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
unsigned char seg[8]={0xFF,0x99,0x00,0x00,0x00,0x81,0xC3,0xE7};
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
sbit k5=P3^4;
sbit k6=P3^5;
sbit k7=P3^6;
sbit k8=P3^7;
unsigned char i=0;
void main(){
TMOD=0X01;
TH0=0XFC;
TL0=0X18;
TR0=1;
EA=1;
ET0=1;
P2=0Xff;
while(1);



}
void tm()interrupt 1
{
TH0=0XFC;
TL0=0X18;
P3=0XFF;
switch(i)
{
case 0: k1=1; k2=1; k3=1; k4=1; k5=1; k6=1; k7=1; k8=0; i++; P3=seg[0]; break;
case 1: k1=1; k2=1; k3=1; k4=1; k5=1; k6=1; k7=0; k8=1; i++; P3=seg[1]; break;
case 2: k1=1; k2=1; k3=1; k4=1; k5=1; k6=0; k7=1; k8=1; i++; P3=seg[2]; break;
case 3: k1=1; k2=1; k3=1; k4=1; k5=0; k6=1; k7=1; k8=1; i++; P3=seg[3]; break;
case 4: k1=1; k2=1; k3=1; k4=0; k5=1; k6=1; k7=1; k8=1; i++; P3=seg[4]; break;
case 5: k1=1; k2=1; k3=0; k4=1; k5=1; k6=1; k7=1; k8=1; i++; P3=seg[5]; break;
case 6: k1=1; k2=0; k3=1; k4=1; k5=1; k6=1; k7=1; k8=1; i++; P3=seg[6]; break;
case 7: k1=0; k2=1; k3=1; k4=1; k5=1; k6=1; k7=1; k8=1; i=0; P3=seg[7]; break;
default: break;
}
}
不知道为什么就是全部亮~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:140371 发表于 2016-9-27 07:55 | 只看该作者
點陣電路的驅動需要行與列同時驅動,在程式內未見有行與列有同時驅動 ,,,因為看見樓主行與列皆用P3來控制
回复

使用道具 举报

板凳
ID:111634 发表于 2016-9-29 17:10 | 只看该作者
可用2维数组。
回复

使用道具 举报

地板
ID:140568 发表于 2016-10-3 12:58 | 只看该作者
a0931727149 发表于 2016-9-27 07:55
點陣電路的驅動需要行與列同時驅動,在程式內未見有行與列有同時驅動 ,,,因為看見樓主行與列皆用P3來控制

最后自己搞明白了!是需要二个数组同时的扫描。并且方向也是值得注意的一件事情
回复

使用道具 举报

5#
ID:141195 发表于 2016-10-3 13:17 | 只看该作者
中断标志位没有清0
回复

使用道具 举报

6#
ID:141149 发表于 2016-10-4 12:28 | 只看该作者
行,列同时扫描
回复

使用道具 举报

7#
ID:141278 发表于 2016-10-4 12:33 | 只看该作者
这也可以
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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