nandflash在嵌入式设备中广泛的应用,学些nandflash的重要性不言而喻,这里分析一段实例代码,不管是编码规范还是程序的结构都是很有价值的。下边是K9F1208U0M的实例代码
AT89C2051驱动步进电机的电路和源码
资料详细技术说明
AT89C2051驱动步进电机的电路和源码:AT89C2051驱动步进电机的电路和源码 程序:
stepper.c stepper.hex
/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */
#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h
register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;
unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400
/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
main()
{ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */
while(1){ { tick_wait(); /* wait for 10ms elapsed */
energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }
}
cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
stepper.c stepper.hex
/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */
#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h
register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;
unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400
/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
main()
{ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */
while(1){ { tick_wait(); /* wait for 10ms elapsed */
energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }
}
cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
相关单片机编程资料推荐
下载与解压说明
下载积分规则
- 本资源下载仅需 2 积分
- 24 小时内重复下载免扣积分
- VIP 会员享专属免积分高速通道
文件解压指南
- 推荐使用 7-Zip 或新版 WinRAR 解压
- 原理图与 PCB 请使用对应 EDA 软件打开
- 压缩包内源码可直接在上方在线预览
免费获取积分
- 新用户注册即赠送 10 积分
- 上传分享工程资料可获得持续积分奖励
- 查看积分规则与会员权益 →