?? x3c.c
字號:
//測試雙通道對比雙DPTR----okey
#include <reg51.h>
//#include<tabb.h>
#include <hex_bin.H>
#include<intrins.h>
#pragma optimize(9,speed)
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define NOP _nop_();
#define DAPORT P1 //DA51
sbit CP=P3^2;//INT0--51
sbit LOCK=P2^5;
sbit A_B=P2^6;
sbit WWR=P2^7;
uchar code * data tabpa1;//CP輸出時的數(shù)組指針 A相
uchar code * data tabpb1;//CP輸出時的數(shù)組指針 B相
uchar data m;
uchar data outa;
uchar data outb;
bit bdata cp_b;
void init(void);
uchar code tab12[]={//12--0010
0x80,0xBF,0xEE,0xFF,0xEE,0xBF,0x80,0x40,0x11,0x0,
0x11,0x3F,0x7F};
uchar code tabb12[]={//12--0010
0xEE,0xBF,0x80,0x40,0x11,0x0,0x11,0x40,0x7F,0xBF,
0xEE,0xFF,0xEE};
uchar code tab24[]={//24--0101
0x80,0xA0,0xBF,0xDA,0xEE,0xFB,0xFF,0xFB,0xEE,0xDA,
0xBF,0xA1,0x80,0x5F,0x40,0x26,0x11,0x4,0x0,0x4,
0x11,0x25,0x3F,0x5E,0x7F};
uchar code tabb24[]={//24--0101
0xEE,0xDA,0xBF,0xA1,0x80,0x5F,0x40,0x25,0x11,0x4,
0x0,0x4,0x11,0x25,0x40,0x5E,0x7F,0xA0,0xBF,0xD9,
0xEE,0xFB,0xFF,0xFB,0xEE};
uchar data t1_h1;//本次插值定時器
uchar data t1_l1;
uchar data t1_h2;//下次插值定時器
uchar data t1_l2;
uchar data th0_o;//舊的計數(shù)值
uchar data tl0_o;
//**********************************************************
void main(void)
{
init();//定時器和外部中斷初始化,以及A相B相端口的初始值
tabpa1=tab12;
tabpb1=tabb12;
m=0;
outa=*tabpa1;
outb=*tabpb1;
cp_b=0;
EA=1;
while(1)
{
//cp_b=1;//****測試用
if(cp_b)
{
cp_b=0;
if(++m==12)
{
m=0;
tabpa1=tab12;
outa=*tabpa1;
tabpb1=tabb12;
outb=*tabpb1;
}
else
{
outa=*(++tabpa1);
outb=*(++tabpb1);
}
}
}
}
//**********************************************************
void init(void)//
{
A_B=0;
DAPORT=0x80;
NOP;
WWR=0;WWR=1;//A相
A_B=0;DAPORT=0xEE;WWR=0;WWR=1;//A相
IT0=1;EX0=1;//INT0下降沿--cp
}
//**********************************************************
void pix0(void) interrupt 0//----cp---INT0
{
A_B=0;DAPORT=outa;WWR=0;WWR=1;
A_B=0;DAPORT=outb;WWR=0;WWR=1;
cp_b=1;
TR0=0;
th0_o=TH0;//保存本次CP脈寬
tl0_o=TL0;
TH0=0;
TL0=0;
TR0=1;//開啟T0開始測
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -