- 编程的时候你是怎么处理呢,对于大型汽车模具UG编程
-
2018-06-09 13:04:26
341
2
- UG 数控编程老提示 上一刀具未初始化,怎么处理。
-
2018-04-02 20:22:52
730
1
- 数控编程ug软件去哪里下载
-
2016-03-20 14:11:53
301
1
- 在深圳学CNC数控编程,UG四五轴编程培训哪里有
-
2017-01-16 02:37:11
420
4
- UG编程中什么是拆电极,拆铜工?
- 我在自学UG编程对拆电极和拆铜工不清楚
2009-08-18 13:53:10
312
2
- 宜兴哪有ug培训啊?ug数控编程哪有学?ug造型哪有学。
-
2018-11-22 11:44:48
358
0
- 想学CNC编程,应该怎么入手,买什么样的书,我用的是UG。
-
2013-08-27 17:32:46
407
2
- 你会编程,那软件开发这些你会不会
-
1969-12-31 14:45:49
210
3
- 扬尘检测仪怎么编程?
扬尘检测仪怎么编程?
2020-10-14 11:15:14
147
0
- Photoshop软件是怎么编程的呀?
-
2015-01-14 01:50:16
436
2
- 英语能力差,对于学习机器人编程有影响吗
-
2018-11-13 21:45:23
419
0
- 在数控编程中,什么是增量方式编程?
-
2013-07-20 09:20:20
799
3
- tc5540运动控制器怎么编程
-
2016-09-13 19:58:30
251
1
- 激光切割机怎么编程
-
2010-11-09 17:33:35
399
4
- BK-300T-10Tsoftware怎么开始编程
- BK-300T-10Tsoftware怎么开始编程
2018-06-15 10:59:40
620
1
- 怎么学习CNC编程?
-
2017-04-25 09:23:23
294
1
- 什么是软件编程
-
2017-09-29 15:52:20
771
1
- 我是学数控铣床的初学者,现在开始学编程了!编程用啥软件呢?
-
2016-04-23 13:04:50
306
2
- 精雕软件五轴编程是怎么的
-
2017-10-06 05:25:48
604
1
- 光电传感器测速编程怎么写?这个程序输出乱码是怎么回事呢
- #include //包含单片机寄存器的头文件 #define uchar unsigned char //定义uchar为无符号字符型变量 #define uint unsigned int //定义uint为无符号整型变量 uchar wei_code[]={0xfe,0xfd,0xfb,0xf7}; //位码数据组 uchar duan_code[]={0xC... #include //包含单片机寄存器的头文件
#define uchar unsigned char //定义uchar为无符号字符型变量
#define uint unsigned int //定义uint为无符号整型变量
uchar wei_code[]={0xfe,0xfd,0xfb,0xf7}; //位码数据组
uchar duan_code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//段码数据组0---9
uint zhuansu,a=0; //定义变量名称
bit flag; //计时标志位
/**************************************
延时,大约1ms
***************************************/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
/**************************************
定时器计数器初始化
***************************************/
void init()
{
TMOD=0x51; //定时器T1工作于计数模式1,定时器T0工作于计时模式1
TH0=(65536-50000)/256; //定时器T0的高8位设置初值,每50ms产生一次中断
TL0=(65536-50000)%256; //定时器T0的低8位设置初值,每50ms产生一次中断
TH1=0; //定时器T1高8位赋初值0
TL1=0; //定时器T1低8位赋初值0
EA=1; //开总中断
ET0=1; //定时器T0中断允许
TR1=1; //定时器T1启动
TR0=1; //定时器T0启动
}
/**************************************
数码管显示当前速度
***************************************/
void display(uint speed)
{
P0=duan_code[speed/1000]; //显示千位数值
P1=wei_code[0]; //点亮diyi位数码管
delay(3); //延时,给数码管一定的显示时间
P0=duan_code[speed%1000/100]; //显示百位数值
P1=wei_code[1]; //点亮第二位数码管
delay(3); //延时,给数码管一定的显示时间
P0=duan_code[speed%1000%100/10]; //显示十位数值
P1=wei_code[2]; //点亮第三位数码管
delay(3); //延时,给数码管一定的显示时间
P0=duan_code[speed%10]; //显示个位数值
P1=wei_code[3]; //点亮第四位数码管
delay(3); //延时,给数码管一定的显示时间
}
/**************************************
测速函数,每分钟转速
***************************************/
uint timer1()
{
if(flag==1) //如果计时到1S
{
flag=0; //标志位置0
zhuansu=(TH1*256+TL1)*60/3; //每分钟转速等于T1一秒计数脉冲值乘60秒除以码盘数
TL1=0; //定时器重新赋初值,从0开始计数
TH1=0;
}
return zhuansu; //返回转速值
}
/**************************************
主函数
***************************************/
void main()
{
P1=0xff; //关数码管显示
init(); //定时计数器初始化
while(1) //无限循环
{
display(timer1()); //显示转速
}
}
/**************************************
T0定时中断服务程序
***************************************/
void timer0() interrupt 1 using 1
{
a++; //每中断一次a加1
if(a==20) //20次中断等于1S
{
flag=1; //标志位置1
a=0; //a置0,为下一秒开始计数赋值
}
TH0=(65536-50000)/256;
TL0=(65536-50000)%256; //重装初值
} 展开
2016-08-07 20:03:58
491
1
参与评论
登录后参与评论