proteuswilliam hill官网 |仿真william hill官网
直播中

宝物沉海123

9年用户 12经验值
擅长:嵌入式技术
私信 关注
[问答]

仿真时,点阵屏不亮。

怎么仿真不了的,调试时,点阵屏不亮。

  • 360截图20150413131432342.jpg
已退回1积分

回帖(7)

武力戡乱

2015-4-13 23:42:02
有可能点阵接反了!
举报

宝物沉海123

2015-4-14 13:03:25
引用: xianyoudian 发表于 2015-4-13 19:40
引脚电平有变化吗?

A~DP引脚电平没有变化。程序在开发板可以正常运行的。
举报

宝物沉海123

2015-4-14 13:05:17
引用: 武力戡乱 发表于 2015-4-13 23:42
有可能点阵接反了!

我试过调换点阵接线,还是不行!
举报

武力戡乱

2015-4-14 17:59:09
引用: 宝物沉海123 发表于 2015-4-14 13:05
我试过调换点阵接线,还是不行!

那7219的输出端口是否有高低电平变化?
举报

宝物沉海123

2015-4-15 12:22:38
引用: 武力戡乱 发表于 2015-4-14 17:59
那7219的输出端口是否有高低电平变化?

DIG0~DIG7之间有电平变化,A~DP引脚电平没有变化。程序在开发板可以正常运行的。
举报

武力戡乱

2015-4-15 17:54:55
引用: 宝物沉海123 发表于 2015-4-15 12:22
DIG0~DIG7之间有电平变化,A~DP引脚电平没有变化。程序在开发板可以正常运行的。
...

是这样的。仿真可以的,真是威廉希尔官方网站 一定可以(无错误,无警告)。反之不一定行!
当然这话还要具体的理解。
比如哈ds1302。需要开启。仿真一般默认开启了。而真实的不一定。
但是大部分仿真逻辑都严格可靠的。

你试试这个。
#include "MAX7219.h"

void Max7221_Write(unsigned char Address,unsigned char Data)
{
        unsigned char i;
        Max7221_CS = 0;
        for (i=0;i<8;i++)
        {
                Max7221_CLK = 0;
                Max7221_DIN = (Address&(0x80>>i)) ? 1:0;
                _nop_();_nop_();
                Max7221_CLK = 1;
                _nop_();_nop_();
        }
        for (i=0;i<8;i++)
        {
                Max7221_CLK = 0;
                Max7221_DIN = (Data&(0x80>>i)) ? 1:0;
                _nop_();_nop_();
                Max7221_CLK = 1;
                _nop_();_nop_();
        }
        Max7221_CS = 1;       
}

void Max7221_Init(void)
{
        Max7221_Write(0x0A,0x07);        //亮度地址0AH,0x00~0x0F,0x0F最亮
        Max7221_Write(0x0B,0x07);        //扫描LED个数地址0BH,0x00~0x07,最多扫描8个数码管
        Max7221_Write(0x0C,0x01);        //工作模式地址0x0C. 0x00:ShutDown;0x01:Normal
        Max7221_Write(0x09,0xff);        //编码模式地址0x09. 0x00~0xFF:哪一位为1,哪一位就支持编码
}

void Max7221_Display(unsigned char *buffer)
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                Max7221_Write(i+1,*(buffer+i));
        }
}


#include
#include

#ifndef _MAX7219_H_
#define _MAX7219_H_

***it Max7221_DIN = P3^0;
***it Max7221_CS  = P3^1;
***it Max7221_CLK = P3^2;

#define SHUT_DOWN             0x0C // 关断
#define DISPLAY_TEST          0x0F // 测试
#define DECODE_MODE           0x09 // 译码器
#define SCAN_LIMIT            0x0B // 扫描界限
#define INTENSITY             0x0A // 亮度

void Max7221_Write(unsigned char Address,unsigned char Data);
void Max7221_Init(void);
void Max7221_Display(unsigned char *buffer);

#endif


记得,把这里的引脚改了哈!
举报

dmdz2015

2016-8-6 11:39:10
!!!!!!!!!!!!!!!!1
举报

更多回帖

发帖
×
20
完善资料,
赚取积分