資源簡介
脈沖采集程序脈沖采集程序脈沖采集程序脈沖采集程序脈沖采集程序脈沖采集程序脈沖采集程序脈沖采集程序
代碼片段和文件信息
#include
#include
#include
/******************************
P0.0------------------A0_8255
P0.1------------------A1_8255
P2.7------------------CS‘_8255
個人認為,單純的用單片機的p口亦可實現(xiàn)之
******************************/
#define?PA8255?XBYTE[0xfffc]
#define?PB8255?XBYTE[0xfffd]
#define?PC8255?XBYTE[0xfffe]
#define?COM8255?XBYTE[0xffff]
#define?char_?0xaa
unsigned?long?int?xdata?counter[24]={0};?//global?variablerecord?number?of?impluse?from?24?ways.
char?present_state[3]={0};???
char?original_state[3]={0};
char?code?str[]?=?“multiple?impulse?collect?system\n“;
void?collect();
void?send_str();
void?initcom();
main()
{
char?data?command;
short?int?i;
PA8255=0xff;PB8255=0xff;PC8255=0xff;
original_state[0]=PA8255;
original_state[1]=PB8255;
original_state[2]=PC8255;
initcom();
COM8255=0x9b;???????????//8255?works?in?mode0?10011011
send_str();
while(1)
{
collect();
if(RI) //?是否有數(shù)據(jù)到來
{
RI?=?0;
command?=?SBUF; //?暫存接收到的數(shù)據(jù)
send_str();
????????????if(command==‘r‘)
{
TI=1;
for(i=0;i<24;i++)
{
printf(“The?%d?way?impulse?is?%ld\n“icounter[i]);
???????????? }
}
}
}
}
void?send_str()
//?傳送字串
{
unsigned?char?i?=?0;
while(str[i]?!=?‘\0‘)
{
SBUF?=?str[i];
while(!TI); //?等特數(shù)據(jù)傳送
TI?=?0; //?清除數(shù)據(jù)傳送標志
i++; //?下一個字符
}
}
///
評論
共有 條評論