C51单片机脉冲检测程序问题 点击:1630 | 回复:3



wrock

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2010年10月06日
发表于:2011-07-21 21:12:31
楼主

请教下各位:

sbit a= P1^0;//定义按键

while(1)
{
display();//调用显示函数
if(a==0) //a为按键
{
if(da==0) //da为指示标志
{
temp++; //temp为数码管需要显示的数。
_nop_;
da=1;
}
if(a!=0)
{
da=0;
}
}
}

以上程序我的想法是在按键按下去时,将temp加1后,用display数码管显示程序显示出来,按键在按下去后第一个低电平有效,一直是低电平时,temp只加一次。程序在软件下运行可以,但是在硬件上运行时,数码管只加到1,就不动了,不知是何原因?

 




jinshanyinshan

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:0
  • 历史总积分:355
  • 注册:2011年7月06日
发表于:2011-07-21 21:33:24
1楼

能不能贴一下 完整的程序看看? 硬件原理图 也发下

看你刚才的这个小程序,没有问题的,但是一般机械按键 程序都加 去抖动的,你没有加,但是不是导致你的问题的原因

wrock

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2010年10月06日
发表于:2011-07-21 22:02:47
2楼
#include<REG52.h>
#define uint unsigned int
#define  unsigned 定义的变量(论坛指示有错)
#include<intrins.h>
sbit a =P0^0 ; //定义端口 
定义的变量(论坛指示有错) temp,da;
void display(定义的变量(论坛指示有错)bai,r shi, ge);
定义的变量(论坛指示有错) code table[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};//定义位的16个数
定义的变量(论坛指示有错) code wei[]={0xa0,0x90,0x88,0x84,0x82,0x81};//定义6位位选
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=150;y>0;y--);//延时
}
void main()
{
temp=0;
while(1)
{
display();//调用显示函数
if(a==0)
{
if(da==0)
{
temp++;
_nop_;
da=1;
}
if(a!=0)
{
da=0;
}
}
}
}
void display( 定义的变量(论坛指示有错)bai, shi, ge)//分离函数
{
bai=temp/100;//百位是对100求模
shi=temp%100/10;//十位是对百位求余后再对10求模,看有几个10
ge=temp%10;//个位是10求余,看除于10后有剩多少
P1=table[bai];
P2=wei[0];
delay(1);
P1=table[shi];
P2=wei[1];
delay(1);
P1=table[ge];
P2=wei[2];
delay(1);
}
不好意思,没有审请为VIP会员,不能上图,以上为完整程序,硬件图接法是,P1口经驱动后接数码管的段选,P2口接位选择。P0.0加上拉电阻后按开关。不知问题出在哪里?请大家指点下,先谢谢了!

saijite

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 61回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2010年11月29日
发表于:2011-12-03 11:55:04
3楼
赛吉特科技IO卡资料大全
1.PCX-2026(PCI总线16路12位多功能DAS卡)
产品介绍:32位PCI总线,即插即用
12位分辨率模拟量输入,板载 1K字A/D FIFO 内存
自动扫描通道选择、最大110KHz A/D 采样速度,芯片带采样/保持
16路单端或8路差分模拟量输入
双极性或单极性输入信号,可编程增益×1,×2,×4,×8
2个12位单片乘法模拟量输出通道,8个数字输出通道,8个数字输入通道
3个独立的可编程16位递减计数器
三种A/D触发模式:软件触发,可编程定时触发和外部脉冲触发,
DC-DC集成转换器提供稳定的模拟电源,37Pin D型接口
2.PCX-2016(PCI总线 16路A/D转换及16路数字输入输出卡 )
产品描述:16路单端或8路差动模拟量输入,1KB A/D FIFO,各通道自动扫描
输入通道1500Vrms隔离
可编程增益
输入范围:±10V, ±1V,±0.1V或±5V,±0.5V,±0.05V或0~10V,0~1V,0~0.1V
采样速率 100K Hz
3种触发模式:软件/外部/可编程触发器
8路DI / 8路DO
3.PCX-3008A(PCI总线8路同步隔离模拟输出卡)
32位PCI总线,即插即用,遵守PCI 本地总线规范Rev 2.1
8通道12位电压输出 ,提供PC电源与外部设备完全隔离保护
隔离电压2500Vrms,单极性或双极性电压输出范围
PCX-3008A提供电流输出方式,在板DC-DC 转换器提供电压和电流源
8个隔离数字输入通道,8个隔离数字输出通道
电压输出: 通道数:8通道,转换器:DAC2815AP或兼容芯片,单片乘法
分辨率:12位无遗漏码(保证11位),电压输出范围:(跳线设定)
双极性:±10V,单极性:0~10V,用户定义单极性:0~用户定义的电压
电压输出驱动能力:±5mA最小 ,稳定时间:16m sec(-10V ~+10V)
DA刷新时间:90m sec 同时刷新四个通道,增益误差:±0.2%最大(无微调,内部10.0V参考电压)
差分线性误差:满量程的±0.002%,数据传输:可编程的I/O
隔离电压:2500Vrms (光隔离PC9D10),输出初始化状态:0V (在重启或开机时)
数值量输入
数字量输入通道:8个隔离输入通道,光隔离器:PC814或兼容芯片
隔离电压5000Vrms,输入电压:0-34VDC,逻辑低:0~3.0V,逻辑高:3.2~34V
输入阻抗:4.7KW@0.5W数字量输出:
数字量输出:通道:8个隔离输出通道,光隔离器:PC817或兼容芯片,隔离电压:5000Vrms
4.PCX-4064(64路数字量输出卡)
产品详述:64路光隔离集电极开路数字输出
8个独立的数据存储空间,3750Vdc隔离电压,较高的输出驱动电流(125mA/通道)
PCI控制器:Tiger 100 PCI控制器,输出类型:隔离型集电极开路输出(NPN)
输出驱动器:M52522P,额定输出电流:130mA/通道,外部电压:最大30V
反应时间:1KHz (典型值),隔离电压:1500V通道对通道,通道对地
软件工具包(DLL,Activex)支持Windows98/2000/NT/XP,支持Labview,Intouch
工作温度:0 ~ 50℃,储存温度:-20 ~ 70℃,工作湿度:0 ~ 90%,无凝结
功耗:+5V @ 380mA (最大值),设计尺寸:180 mm x 105 mm
5.PCX-4133(PCI总线32路光隔离集电极开路数字输出卡)
产品描述:32路集电极开路输出通道<br>•较高的输出驱动电流(130mA/通道)<br>•四个独立的数据存储空间<br>•通道与通道间光电隔离<br>2、规格:<br>•通道:32路光隔离集电极开路输出通道<br>•输出驱动器:M52522P<br>•光电隔离器:PC-814<br>•隔离电压:1500V通道对通道,通道对地<br>•负载电流:最大每通道130mA<br>•负载电压:30Vdc<br>•接口:37Pin D型接口<br>•软件支持:软件工具包(DLL,Activex)支持Windows 98/2000/NT/XP,支持Labview,Intouch<br>3、环境参数:<br>•工作温度:0 ~ 50℃<br>•储存温度:-20 ~ 70℃<br>•工作湿度:0 ~ 90%,无凝结<br>•功耗:+5V @ 200mA (最大)

联系人:李泽光 手机:13662275084


6.PCX-4132(PCI总线32路隔离数字输入卡(带中断,数字去抖功)
32路光隔离数字输入通道<br>•内置DC-DC转换器可检测干式接点(干接触)<br>•板带软件可编程数字去抖功能<br>•16路输入通道均可软件编程处理中断<br>2、规格:<br>•通道:32路光隔离数字输入通道<br>•光电隔离器:PC-814<br>•输入电压:5~24VDC(0~1KHZ)<br>•输入阻抗:4.7KΩ<br>•反应时间:20μSec<br>•中断触发:16路,上升沿或下降沿触发<br>•去抖时间:2~40m Sec可编程<br>•隔离电压:1500V通道对通道,通道对地<br>•软件支持:软件工具包(DLL,Activex)支持Windows 98/2000/NT/XP,支持Labview,Intouch<br>3、通用规范:<br>•工作温度:0 ~ 50℃<br>•储存温度:-20 ~ 70℃<br>•工作湿度:0 ~ 90%,无凝结<br>•功耗:+5V @ 500mA (最大)
7.PCX-4164(光隔离数字输入卡)
PCI总线,64路光隔离数字输入,板载DC-DC转换器,8个独立的数据存储空间
16个中断通道 ,板带软件可编程数字去抖功能,输入采用一个SCSI-68接口
3000Vdc隔离电压,类型:隔离型数字输入
隔离电压:3750V(电压输入方式)或3000V(干接触输入方式)
输入电压:3.5~30V,输入阻抗:4.7KΩ,中断源:0~15通道
去抖时间:2~20m Sec可编程,反应时间:最大1KHz,接口:SCSI 68Pin 母头
软件工具包(DLL,Activex)支持Windows98/2000/NT/XP,支持Labview,Intouch
工作温度:0 ~ 55℃,储存温度:-20 ~ 70℃,工作湿度:0 ~ 90%,无凝结
功耗:+5V @1000mA (最大),设计尺寸:180 mm x 105 mm
8.PCX-4232(PCI总线16路光隔离数字输入,16路集电极开路输出)
16路集电极开路输出通道<br>•16路光隔离数字输入通道<br>•内置DC-DC转换器可检测干式接点(干接触)<br>•软件可编程中断处理<br>2、规格:<br>•集电极开路输出(NPN)<br>•通道:16路集电极开路输出通道<br>•输出驱动器:M52522P<br>•负载电流:最大130mA/通道<br>•负载电压:30VDC<br>隔离输入:<br>•通道:16路光隔离数字输入通道<br>•光电隔离器:PC-814<br>•输入电压:5~24VDC (0~1KHZ)<br>•输入阻抗:4.7KΩ<br>•反应时间:20μSec<br>•隔离电压:1500V通道对通道,通道对地<br>软件支持:软件工具包(DLL,Activex)支持Windows 98/2000/NT/XP,支持Labview,Intouch<br>3、通用规范:<br>•工作温度:0 ~ 50℃<br>•储存温度:-20 ~ 70℃<br>•工作湿度:0 ~ 90%,无凝结<br>•功耗:+5V @ 250mA (最大) 联系人:李泽光 手机:13662275084


9.PCX-4264(32路数字量输入/32路数字量输出卡)
32路集电极开路输出通道,32路光隔离数字输入通道
内置DC-DC转换器可检测干式接点(干接触),板带软件可编程数字去抖功能
16个输入通道均可软件编程处理中断,集电极开路输出(NPN)
通道:32路集电极开路输出通道,输出驱动器:M52522P,负载电流:最大130mA/通道
负载电压:30Vdc
隔离输入:通道:32路光隔离数字输出通道(光电隔离器PC-814)
输入电压:5~24Vdc (0~1KHz),输入阻抗:4.7KΩ,反应时间:20μSec
中断触发:16路,上升沿或下降沿触发,去抖时间:2~40m Sec可编程
隔离电压:1500V通道对通道,通道对地,软件工具包(DLL,Activex)
支持Windows 98/2000/NT/XP,支持Labview,Intouch 工作温度:0 ~50℃
储存温度:-20 ~70℃,工作湿度:0 ~90%,无凝结,功耗:+5V @ 480mA (最大)
10.PCX-4288(PCX-4288 PCI总线16路隔离数字输入,16路继电器输出卡)
16路继电器输出通道<br>•16路光隔离数字输出通道<br>•内置DC-DC转换器可检测干式接点(干接触)<br>•可软件编程处理中断<br>2、规格: <br>继电器输出:<br>•触点负载:120Vac@0.3A ,30Vdc@1A<br>•触点排列:输出通道0~3为C型(包括常开常闭接点)通道4~7为A型(仅常开) <br>•操作时间:5m Sec<br>•释放时间:10m Sec (研翔的继电器开/闭时间为5m Sec)<br>•预期寿命>10万次(30V,1A)<br>隔离输入:<br>•光电隔离器:PC-814<br>•输入电压:5~24VDC (0~1KHZ)<br>•输入阻抗:4.7KΩ<br>•反应时间:20μSec<br>•隔离电压:1500V通道对通道,通道对地<br>•中断:上升或下降中断沿可编程(通道0,9)<br>•软件支持:软件工具包(DLL,Activex)支持Windows 98/2000/NT/XP,支持Labview,Intouch<br>通用规范:<br>•工作温度:0 ~ 50℃<br>•储存温度:-20 ~ 70℃<br>•工作湿度:0 ~ 90%,无凝结<br>•功耗:+5V @ 320mA (最大)<br>•设计尺寸:180×105mm
11.PCX-4632(PCI总线32路带中断通用数字I/O卡)
产品简介:
•32个输入输出通道分成4组,每组都可设置为输入或输出模式,SMT元件设计,4层半长卡
•37Pin D型接口,可编程中断处理,可回读输出状态,中断通过通道0,1触发
详细介绍:
1、特性:
•32个输入输出通道分成4组,每组都可设置为输入或输出模式
•SMT元件设计,4层半长卡,37Pin D型接口,可编程中断处理,可回读输出状态
•中断通过通道0,1触发

联系人:李泽光 手机:13662275084


2、规格:
•总线:PCI总线,32路TTL兼容输入输出,逻辑高电压:最小2.4V
•逻辑低电压:最大0.8V,灌电流:最大24mA,源电流:最大15mA,功耗:+5V@580mA
•软件支持:软件工具包(DLL,Activex)支持Windows 98/2000/NT/XP,支持Labview,Intouch
3、通用规范:
•工作温度:0 ~ 60℃,储存温度:-20 ~ 80℃,工作湿度:0 ~ 90%,无凝结
•功耗:+5V @ 320mA
12.PCX-4664(PCI总线64路带中断通用数字I/O卡)
产品简介:
•64个输入输出通道分成4组,每组都可设置为输入或输出模式
•在板软件可编程数字去抖功能,一个SCSI 68Pin接口
•可编程中断处理,可回读输出状态,中断通过通道0~15触发
详细介绍:
1、 特性:
•64个输入输出通道分成4组,每组都可设置为输入或输出模式
•在板软件可编程数字去抖功能,一个SCSI 68Pin接口
•可编程中断处理,可回读输出状态,中断通过通道0~15触发
2、规格:
•总线:PCI总线,通道:分成4组的64路数字I/O通道
•channel: 64 digital I/O channels divided into 8 ports
64路TTL兼容输入输出,中断:16路,正负中断沿可编程
•去抖时间:0~40m Sec可编程,逻辑高电压:最小2.4V
•逻辑低电压:最大0.8V,•灌电流:最大24mA
•源电流:最大15mA,功耗:+5V@580mA
软件支持:软件工具包(DLL,Activex)支持Windows 98/2000/NT/XP,支持Labview,Intouch

联系人:李泽光 手机:13662275084


3、通用规范:
•工作温度:0 ~ 60℃,储存温度:-20 ~ 80℃
•工作湿度:0 ~ 90%,无凝结,功耗:+5V @ 700mA (最大)
13.PCX-8354(PCI总线多功能定时/计数及数字I/O卡)
4个8254芯片提供12个16位递减计数器,定时/计数器有多种配置
每个独立的计数器均可灵活设置,时钟源可为外部、内部或串连
提供可灵活设置的去抖功能预防抖动现象发生,8路数字输出通道,8路数字输入通道
双中断源:第12号计数器输出,外部中断;定时器和计数器使用37Pin D型母头接口
可编程计数器/定时器,设备:82C54 x 4,计数器/定时器数量:10个独立定时器/计数器
使用固定8MHz内部时钟的串连的32位计数器,计数器模式:16位递减计数器
最大输入频率:10MHz,独立计数器的时钟源:外部时钟,普赖尔计数器输出CK1
(可编程),第10号时钟输出,CK1时钟源:(可编程)8MHZ内部基准时钟或第11号计数器的输出
门控制:缺省打开或外部控制数字滤波电路
去抖时钟:(可编程)8MHz内部基准时钟或第11号计数器的输出

公司地址:
深圳市福田区泰然工贸园201栋西座510
联系电话:0755-83021979 传真:26553785
联系人:李泽光 手机:13662275084



热门招聘
相关主题

官方公众号

智造工程师