打印
[PIC®/AVR®/dsPIC®产品]

看不懂程序啊,谁来帮我讲解一下这个程序?

[复制链接]
1109|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Flora1991|  楼主 | 2015-7-16 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<pic.h>
unsigned char tab1[]={0x44,0xF5,0x1C,0x94,0xA5,0x86,0x06,0xF4,0x04,0x84,0x24,0x07,0x4E,0x15,0x0E,0x2E,0xff};
unsigned char tab2[]={0x40,0xF1,0x18,0x90,0xA1,0x82,0x02,0xF0,0x00,0x80,0x20,0x03,0x4a,0x11,0x0a,0x2a,0xfb};
#define data_595 RD0//串行数据输入端口
#define sck RD1//移位寄存器工作时钟
#define rck RD2//锁存器下载数据时钟
void delay(int x)
{
int j;
while(x--)
{
for(j=0;j<110;j++)
{
}
}
}
void send595data(int x)
{
int i;
for(i=0;i<8;i++)
{
sck=0;
if((x&0x80)==0)
data_595=0;
else data_595=1;
x=x<<1;
sck=1;
}
}
void output_595(void)//输出显示数据
{
rck=0;
delay(5);
rck=1;
delay(5);
}
void display()
{
send595data(tab1[1]);
send595data(tab1[2]);
send595data(tab1[3]);
send595data(tab2[5]);
output_595();

}
void main()
{
TRISD=0;
while(1)
{
display();
}
}
沙发
yklstudent| | 2015-7-16 12:29 | 只看该作者
软件模拟SPI读写595驱动数码管显示

使用特权

评论回复
板凳
Flora1991|  楼主 | 2015-7-16 15:18 | 只看该作者
yklstudent 发表于 2015-7-16 12:29
软件模拟SPI读写595驱动数码管显示

延时那段程序表示什么?

使用特权

评论回复
地板
czghn1| | 2015-7-17 12:28 | 只看该作者
你好 我们有专业的PIC FAE   有什么问题 可以 QQ:136525924

使用特权

评论回复
5
PICYINGYONG| | 2015-7-17 16:10 | 只看该作者
Flora1991 发表于 2015-7-16 15:18
延时那段程序表示什么?

void delay(int x)
{
int j;
while(x--)
{
for(j=0;j<110;j++)
{
}
}
}
这段延时?
这个就是延时函数啊!如delay(5),即X = 5; 5--,减到0,跳出,减1的时间是110个周期.

使用特权

评论回复
6
Flora1991|  楼主 | 2015-7-20 09:58 | 只看该作者
PICYINGYONG 发表于 2015-7-17 16:10
void delay(int x)
{
int j;

void send595data(int x)
{
int i;
for(i=0;i<8;i++)
{
sck=0;
if((x&0x80)==0)
data_595=0;
else data_595=1;
x=x<<1;
sck=1;
}
这一段是什么意思?

使用特权

评论回复
7
PICYINGYONG| | 2015-7-29 16:27 | 只看该作者
Flora1991 发表于 2015-7-20 09:58
void send595data(int x)
{
int i;

串行移位,发送一个字节(8位)的 数据,高位先发

使用特权

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

本版积分规则

3

主题

11

帖子

0

粉丝