立即注册
登录
返回首页
uid:123289的个人空间
空间首页
主题
个人资料
论坛
问答区
单片机教程
单片机DIY
电子DIY
帮助
我的空间
好友
帖子
收藏
道具
勋章
任务
淘帖
群组
排行榜
留言板
JOANNA1978
2018-5-18 11:41
我们公司招聘嵌入式软件硬件工程人员,月薪可以过万,是否有兴趣?工作地点上海
dvga
2018-1-7 20:04
老师,你说的什么意思,我实在不会改啊
小白求知
2017-12-26 15:56
大佬,可以帮帮我吗?
xiong123154
2017-9-3 15:55
请问如何输出一段这样的方波,下面是我写的 我想知道有多少个脉冲 我想输出的是下面的两段方波
/*************************步进电机调试程序****************************************/
/***51单片机发送脉冲控制步进驱动器,*/
/** 输出两段方波 0 0 0 0(按键触发)1 0 1 0 1 0 1 0 1 0 1 0(输出停止)0 0 0 0*/
/* 0 0 0 0(按键触发)10 10 10 10 10 10 10 10 10 10 10 10(输出停止)0 0 0 0 */
#include<reg52.h>
/*****************************************************************/
unsigned char s,x,y,z;
int flag,a;
unsigned char Open=1;
sbit LED1=P1^5; // 测试灯1
sbit LED2=P1^6; // 测试灯2
sbit P00=P0^0; //脉冲输出
sbit P01=P0^1; //控制方向
sbit ANJIAN=P2^0; //按键控制 距离
/*------------------------------------------------
定时器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD = 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH0=(65536-100)/256; //重新赋值 12M晶振计算,指令周期1uS, 1s=1000ms
TL0=(65536-100)%256; //10mS方波半个周期5mS,
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
// EA=1; //总中断打开
}
/*------------------------------------------------
定时器中断子程序
50hz,每秒50个脉冲,就是100次跳变。1/100 =10ms 这是频率
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 1
{
TH0=(65536-100)/256; //重新赋值 12M晶振计算,指令周期1uS, 1s=1000ms 1ms=1000us
TL0=(65536-100)%256; //1mS方波半个周期500uS,即定时500次 20US 40US
if(flag--==0) // 20US flag=10时,已过去了10*20Us=200Us时间(12MHz),即每200Us执行一次下面的程序; 5MS if(flag==2) // flag=2时,已过去了2*5ms=10ms时间(12MHz),即每10ms执行一次下面的程序;
{
flag=Open; // 清除重新计
P00=!P00; // 取反
}
}
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{ int i;
a=0; //按键值累加前置零
LED1=0; //检测灯置低电平不亮
LED2=0;
Init_Timer0();//定时器初始化
while(1)
{
if(!ANJIAN) //按键
{
delay(20);
if(!ANJIAN) //确认按键按下
{
a++;
while(!ANJIAN);
switch(1)
{
case 1:
P01=0; //前进 一段距离
EA=1; //开中断
Open=10; //值越小 速度越快
EA=0; //关中断
break;
case 2:
P01=0; //前进 一段距离
EA=1; //开中断
Open=100; //值越小 速度越快
EA=0; //关中断
break;
case 3:
a=0;
break;
default:break;
}
}
}
}
}
q6563008
2017-6-28 18:20
江都老乡
TIANYUN1573
2016-7-20 00:23
你好
可以探讨一下机械和电子
uid:123289
加为好友
打个招呼
发送消息
手机版
|
小黑屋
|
51黑电子论坛
|
管理员QQ:125739409;技术交流QQ群281945664
Powered by
单片机教程网
返回顶部