单片机控制两个步进电机画圆_单片机控制的步进电机程序框图
发表于:2007/3/23 8:03:00
#4楼
这个是我实验程序。希望可以给些帮助。
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
__CONFIG(XT&UNPROTECT&PWRTEN&BORDIS&WDTEN);
//asm("FILL (GOTO $),(0x0FFF-$)");
union {
struct {
unsigned b0:1;
unsigned b1:1;
unsigned b2:1;
unsigned b3:1;
unsigned b4:1;
unsigned b5:1;
unsigned b6:1;
unsigned b7:1;
}tpBit;
unsigned char tpBits;
} tp;
#define bj0 tp.tpBit.b0
#define bj1 tp.tpBit.b1
#define bj tp.tpBits
const unsigned char table[]={ 0x60,0x30,0x90,0x0C0, };
const unsigned char tablef[]={0x0C0,0x90,0x30,0x060, };
uchar i;
///AD 延时子程序
void ADdelay (uchar i)
{
while(i--) ;
}
/// 延时子程序
void delay(uint i)
{
while(i--)
{
uchar a=127;
while(a--);
}
}
系统 各I/O初始化子程序
void initial (void)
{ TRISB=0;
//TRISC=0;
TRISA=0x0ff;
}
///A/D转换初始化子程序/
void adinitial()
{
ADCON1=0;//;设置RA为A/D甬道模拟输入
//;RC时钟。打开A/D转换器。先中通道0
ADCON0=0x0c1;// B'11000001' // ;A/D时钟为RC。RA0作A/D输入等
// ADIE=1; //时。开放中断
ADIF=0; //清/AD中断标志位 PIR1,
// PEIE=1; //开放外围部件中断INTCON,
// GIE=1; //开放总中断 INTCON,
TRISA0=1;
TRISA1=1;
}
//A/D转换/
void AD_ad()
{
ADCON0=0x0c1; // B'11001001' // ;A/D时钟为RC。RA0作A/D输入等
ADdelay(3);//采样时间30us
ADGO=1; //启动A/D转换 ADCON0,
while(ADGO); //等待
}
主程序///
void main()
{
initial (); //系统 各I/O初始化子程序
adinitial(); //A/D转换初始化子程序
i=250;
while(1)
{
unsigned char c;
for(c=0;c<4;c++)
{
if(bj0)PORTB=table[ c] ;
else PORTB=tablef[ c] ;
CLRWDT();
AD_ad();
delay(ADRES );
}
i--;
while(i==0)
{
i=250;bj0=!bj0;
}
}
}
单片机控制两个步进电机画圆_单片机控制的步进电机程序框图相关推荐
- 单片机控制两个步进电机画圆_基于单片机的步进电机转速控制设计详解(附程序)...
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角.这 ...
- 单片机控制两个步进电机画圆_51单片机控制两个步进电机
/*----------------------------------------------- 步进电机控制 ------------------------------------------- ...
- python用渐变色画圆_利用python控制Autocad:pyautocad方式
发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...
- 用渐变色画圆_详细步骤!用ps画个中秋圆月亮
中秋明月圆又圆 举头看一看 低头画一画 云儿本次介绍的方法 是很灵活的应该说通用也不为过比如画button比如画哪吒的高光时刻(当然也可以用画笔画)既然如此就开始吧先找张海报来对标云儿比较喜欢电信这张 ...
- python怎么用turtle画圆_在Python中用turtle函数画同心圆
用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...
- 单片机交通灯的电路图以及代码_单片机晶振“问答篇”(下),17大单片机晶振问题全解答...
晶振,在现实生活中随处可见,因此人们对晶振的关注度逐渐提高.而对于单片机使用者而言,或多或少存在一些有关单片机晶振的疑问.为此,本文为大家带来17个网友提出的单片机晶振问题,并一一给出正确解答,以帮助 ...
- 给单片机焼写程序需要什么东西_单片机怎么烧写程序
1.单片机怎么烧写程序 STC系列单片机为例:首先,需要安装keil软件和STC_ISP程序下载软件.先对你想要实现对单片机的功能用keil编程,然后用STC_ISP下载软件下载到单片机上,最后打开给 ...
- 一个按键控制数码管的开和关_单片机是否能用一个按键控制数码管的显示图?...
展开全部 可以的62616964757a686964616fe58685e5aeb931333365646231. 代码如下: #include #define uint unsigned int # ...
- lisp取两直线交点画圆_求过圆心直线与圆的两个交点
主要是注意所使用的数据类型. 之前用的是float,出现了一些意外,而且花费了我不少时间来反复验证.推导, 做了很多的无用功,而且,反复推导得出来的计算步骤并没有什么不牢靠的地方. 然后计算得到的结果 ...
- JAVA math.sin(X)画圆_关于Math.sin(),Math.cos()画圆
1.因为Math.sin() , Math.cos()必须带入弧度计算,所以我们需要将角度转换为弧度.角度转弧度公式:弧度 = 2 * π / 360 * 角度 = π / 180 * 角度.(角度 ...
最新文章
- CodeGen融合核心扩展定制文件
- 机器学习——使用Apriori算法进行关联分析
- 买淘宝特价版,产业升级的证明
- 程序练习:Matlab 饼图绘制
- linux-noshell的模式
- ofo 押金被强制理财?黄章回应 OPPO 涉嫌抄袭;三星华为折叠手机重名 | 极客头条...
- openssl构建CA认证
- Hive原理及其使用(六)
- spss20安装许可证代码_SPSS23安装教程
- ansoft maxwell破解版下载v16 中文版 32bit 64bit 百度云盘分享下载链接目录点击下方链接下载即可获得
- 【目标设定】1. 目标设定模板
- 动态规划的特点及其应用[安徽 张辰]
- Dynamic CRM9.0 环境安装部署手册步骤和遇到的一些问题解决方案(包含ADFS部署)
- Scala中过滤操作filter与filterNot函数
- 哪款苹果无线充电宝最好?苹果无线充电宝哪个牌子好
- Dijkstra算法、Floyd算法的区别与联系,并由此谈到greedy和DP
- pygame一步步玩转圆、矩形、图像、旋转、透明度alpha、colorkey操作(有完整案例)
- 三种anti-TNF制剂生物学剂量增加、非生物制剂和类固醇强化作用的差异:来自临床实践的证据...
- 在项目中使用PageHelper实现分页功能
- Java *3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax^2 + bx + c = 0的两个根: