打印

7219 不亮?

[复制链接]
1611|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhbwgh|  楼主 | 2007-4-12 08:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "reg52.h"
typedef unsigned char uchar;
sbit DIN_7219=P0^0;/*定义管脚*/
sbit LOAD_7219=P0^1;
sbit CLK_7219=P0^2;
#define addr_0        0x1 /*显示数据1的寄存器地址*/
#define addr_trans    0x9 /*译码方式寄存器地址*/
#define addr_light    0xA /*亮度寄存器地址*/
#define addr_scan     0xB /*扫描界线寄存器*/
#define addr_close    0xC /*掉电寄存器*/
#define addr_showtest 0xF /*显示测试寄存器*/
void send_7219(uchar da)
{
  uchar i;
  for(i=0;i<8;i++)
  {
   CLK_7219=0;
   DIN_7219=(bit)(da&0x80);
   da<<=1;
   CLK_7219=1;
  }
}
void write_7219(uchar addr,uchar dat)
{
LOAD_7219=0;
send_7219(addr);
send_7219(dat);
LOAD_7219=1;
}

//-----------------------------------------
void ini_7219()
{
write_7219(addr_trans,0xff);/*译码方式选择,1111 1111 最高位选择小数点,低四位数据选择*/
write_7219(addr_light,0x08);/*亮度方式选择,17/32;*/
write_7219(addr_scan,0x02);/*扫描界限服务器*/
write_7219(addr_close,0x01);/*掉电寄存器*/
write_7219(addr_showtest,0x00);/*测试寄存器,正常模式为0*/
}

main()
{
  ini_7219(); 
  while(1)
  {
  write_7219(addr_0,0x1);
  }
}
各位大虾 看看是程序的问题吗?如果我给p00高电平的话(在外部直接给高),显示为8小数点也亮,求教这是为什么,谢谢大家,我在线等,谢谢!!

相关下载

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

51

帖子

0

粉丝