打印

当前计数值读出来为何一直是0

[复制链接]
571|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
morrisk|  楼主 | 2015-8-18 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ousj| | 2015-8-18 19:19 | 只看该作者
程序看看啊

使用特权

评论回复
板凳
morrisk|  楼主 | 2015-8-18 19:19 | 只看该作者
#include <reg52.h>
#include <absacc.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
#define CT0 XBYTE[0x8000]//8254计数器地址
#define CT1 XBYTE[0x8001]
#define CT2 XBYTE[0x8002]
#define CTW XBYTE[0x8003]
//sbit test=P1^7;
//sbit rd=P3^7;
//sbit wr=P3^6;
sbit gate=P1^6;
uchar a,b,c;
uint d;
void main()
{
        gate=0;

    CTW=0x16;//计数器0,只写低字节,方式3
        CT0=255;
//        gate=0;
        CTW=0x00;
    d=a=CT0;
        c=XBYTE[0x8000];
        CTW=0x56;//计数器1,只写低字节,方式3
    CT1=10;
        b=XBYTE[0x8001];
if(P3^2==0)
{a++;}
c=XBYTE[0x8003];
while(1);
}

使用特权

评论回复
地板
zyf部长| | 2015-8-18 19:20 | 只看该作者

我用的是keil和protues联合仿真?

使用特权

评论回复
5
morrisk|  楼主 | 2015-8-18 19:20 | 只看该作者
嗯,可以控制8253产生方波,但是就是读出计数器当前值为0,这是为什么啊?急急急、、

使用特权

评论回复
6
小小猫咪| | 2015-8-18 19:20 | 只看该作者
还有没有其他信息

使用特权

评论回复
7
morrisk|  楼主 | 2015-8-18 19:21 | 只看该作者
读出指令a=CT0,结果发现a=0,即使我使gate=0,不计数,存入的计数值读出来还是0。是这个读出指令错误了吗?

使用特权

评论回复
8
zyf部长| | 2015-8-18 19:21 | 只看该作者
keil和protues联调的问题

使用特权

评论回复
9
zwll| | 2015-8-18 19:21 | 只看该作者
对,下载到电路板上试试

使用特权

评论回复
10
morrisk|  楼主 | 2015-8-18 19:22 | 只看该作者
嗯,好的,我看下

使用特权

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

本版积分规则

701

主题

6879

帖子

2

粉丝