• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: 单片机  

资源简介

脉冲采集程序脉冲采集程序脉冲采集程序脉冲采集程序脉冲采集程序脉冲采集程序脉冲采集程序脉冲采集程序

资源截图

代码片段和文件信息

#include
#include
#include

/******************************
P0.0------------------A0_8255
P0.1------------------A1_8255
P2.7------------------CS‘_8255
个人认为,单纯的用单片机的p口亦可实现之
******************************/
#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) // 是否有数据到来
{
RI = 0;
command = SBUF; // 暂存接收到的数据
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); // 等特数据传送
TI = 0; // 清除数据传送标志
i++; // 下一个字符
}
}
///

评论

共有 条评论