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

pic16f72与hc165信号采集问题

[复制链接]
2822|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuxiangming2013|  楼主 | 2013-10-16 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xuxiangming2013 于 2013-10-16 14:33 编辑

下面是我写的程序,按照时序写的,可信号无法采集,求高手指教!!
#include<pic.h>
#include<stdio.h>
#include<math.h>
#define uint unsigned int
#define uchar unsigned char
#define data RA0
#define clk RA1
#define sl RA2
#define nop() asm("nop")
//__CONFIG(0X0052);
//void init_time0();
void gathernum();//采集
void display(uchar m,uchar n,uchar j);//显示
const uchar table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x09};
uchar dat;
uchar bit1,bit2,bit3;
void delay(uint x)//延时1ms
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=400;b>0;b--);
}
void delaynop()
{
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
        nop();
}
void main()
{
        TRISA=0x01;
        TRISB=0;
        TRISC=0;
        while(1)
        {
                gathernum();
        }
}
void gathernum()
{
        uint i;        
        sl=0;
        delaynop();
        sl=1;
//        clk=0;
        for(i=0;i<8;i++)
        {
                dat=dat<<1;
                clk=0;
                nop();
                nop();
                dat|=data;
                clk=1;
                nop();
                nop();
        }
        bit1=dat/100;
        bit2=dat%100/10;
        bit3=dat+1;
        display(bit1,bit2,bit3);
}
void display(uchar m,uchar n,uchar j)
{
        PORTB=table[m];
        RC0=0;
        delay(2);
        RC0=1;
        PORTB=table[n];
        RC1=0;
        delay(2);
        RC1=1;
        PORTB=table[j];
        RC2=0;
        delay(2);
        RC2=1;
}
沙发
yewuyi| | 2013-10-16 16:11 | 只看该作者
你这题目比哥德巴赫猜想难多了。。。

使用特权

评论回复
板凳
NE5532| | 2013-10-16 17:16 | 只看该作者
大家没有电路图,不知道楼主设计思路,只有一对程序,小伙伴们表示无能力为啊。

使用特权

评论回复
地板
yewuyi| | 2013-10-17 08:54 | 只看该作者
如果HC165指的是74HC165这种串并转换芯片的话,那根本就没啥问的,你自己对照其手册上的时序收发串行数据即可。

使用特权

评论回复
5
xuxiangming2013|  楼主 | 2013-10-17 09:32 | 只看该作者
本帖最后由 xuxiangming2013 于 2013-10-17 10:38 编辑

时序发射,端口电压不对,说明没有信号啊

QQ截图20130917152824.jpg (101.33 KB )

QQ截图20130917152824.jpg

QQ截图20131017102447.jpg (30.86 KB )

QQ截图20131017102447.jpg

使用特权

评论回复
6
xuxiangming2013|  楼主 | 2013-10-17 10:10 | 只看该作者
NE5532 发表于 2013-10-16 17:16
大家没有电路图,不知道楼主设计思路,只有一对程序,小伙伴们表示无能力为啊。 ...

按照时序写的,调试了好一段时间了就是没有效果,很是焦急,过两天就要用了。。。data直接接的是信号口(高低电平)电路图以附。晶振20mhz

使用特权

评论回复
7
NE5532| | 2013-10-17 10:20 | 只看该作者
xuxiangming2013 发表于 2013-10-17 10:10
按照时序写的,调试了好一段时间了就是没有效果,很是焦急,过两天就要用了。。。data直接接的是信号口( ...

楼主也太抠门了哈,电路图发个单片机局部,大家连HC165是啥都看不到~

使用特权

评论回复
8
xuxiangming2013|  楼主 | 2013-10-17 10:26 | 只看该作者
电路板很大,截图看不清。。。。

使用特权

评论回复
9
yewuyi| | 2013-10-17 10:30 | 只看该作者
很久前用74HC165有一段代码的,但很久很久了,产品都停产了,代码也删除掉了,所以,只能自己BAIDU相关网络**找答案去吧,我不可能重给你写示范代码的。

使用特权

评论回复
10
xuxiangming2013|  楼主 | 2013-10-17 10:39 | 只看该作者
NE5532 发表于 2013-10-17 10:20
楼主也太抠门了哈,电路图发个单片机局部,大家连HC165是啥都看不到~

上传了,问一下16f72用晶振20mhz没影响吧??

使用特权

评论回复
11
xuxiangming2013|  楼主 | 2013-10-17 10:41 | 只看该作者
yewuyi 发表于 2013-10-17 10:30
很久前用74HC165有一段代码的,但很久很久了,产品都停产了,代码也删除掉了,所以,只能自己BAIDU相关网络 ...

会不会是pic16f72的问题啊???我刚刚接触这个芯片。。。。20mhz晶振没关系吧??我复位键直接接10k上拉电阻没关系吧?

使用特权

评论回复
12
yewuyi| | 2013-10-17 11:11 | 只看该作者
PIC16F72最高可以达到20MHZ振荡频率,此时配置字必须选择HS,同时VCC应当选择5V系统

使用特权

评论回复
13
oldda| | 2013-10-17 12:18 | 只看该作者
建议单步调试看看管脚输出状态

使用特权

评论回复
14
xuxiangming2013|  楼主 | 2013-10-17 12:27 | 只看该作者
yewuyi 发表于 2013-10-17 11:11
PIC16F72最高可以达到20MHZ振荡频率,此时配置字必须选择HS,同时VCC应当选择5V系统 ...

谢谢

使用特权

评论回复
15
jiabin1024| | 2013-10-17 12:50 | 只看该作者
用示波器看看数据端口不就晓得了

使用特权

评论回复
16
xuxiangming2013|  楼主 | 2013-10-17 15:37 | 只看该作者
NE5532 发表于 2013-10-17 10:20
楼主也太抠门了哈,电路图发个单片机局部,大家连HC165是啥都看不到~

现在用示波器查看,就是sl(RA2)一直是低电平,照理说大部分应该是高电平,只有4us的低电平,我把其他功能都屏蔽掉,单独给sl置高电平,测出来还是低电平,为什么????

使用特权

评论回复
17
NE5532| | 2013-10-17 16:03 | 只看该作者
xuxiangming2013 发表于 2013-10-17 15:37
现在用示波器查看,就是sl(RA2)一直是低电平,照理说大部分应该是高电平,只有4us的低电平,我把其他功 ...

端口的模拟功能关闭了没??

使用特权

评论回复
18
xuxiangming2013|  楼主 | 2013-10-18 09:26 | 只看该作者
NE5532 发表于 2013-10-17 16:03
端口的模拟功能关闭了没??

怎么关啊??大侠

使用特权

评论回复
19
NE5532| | 2013-10-18 10:42 | 只看该作者
xuxiangming2013 发表于 2013-10-18 09:26
怎么关啊??大侠

看数据手册,端口相关章节,寄存器部分。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
xuxiangming2013 + 1 2
20
xuxiangming2013|  楼主 | 2013-10-18 12:32 | 只看该作者
NE5532 发表于 2013-10-18 10:42
看数据手册,端口相关章节,寄存器部分。

谢谢

使用特权

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

本版积分规则

4

主题

30

帖子

0

粉丝