




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include /* common defines and macros */#include /* derivative information */#include #include #include #pragma link_info derivative mc9s12xs128 uchar i=0; char k,z=0; float fp, fi; void delay(unsigned int h) unsigned int j,tk; for(tk=0;tkh;tk+) for(j=0;j100;j+); /设置时钟 24mvoid pllclk(void)/24mhz ,外部时钟为 16mhzclksel=0x00;pllctl=0xe1;synr=0xc7;/pllclk =2*oscclk*(synr + 1)/(refdv + 1)refdv=0x81;pllctl=0x60;asm nop;asm nop;asm nop;while(crgflg&0x08)=0);/ 时钟校正同步clksel=0x80;/设置中断5msvoid initpit(void)/ 定时中断初始化函数 50ms 定时中断设置pitcflmt_pite=0; / 定时中断通道 0 关pitce_pce0=1;/ 定时器通道 0 使能pitmtld0=160-1;/逼鞒踔瞪瓒?240 分频,在 24mhzbusclock 下,为 0.1m/即10us.pitld0=2000-1;/16 位定时器初值设定。 pittime*0.01mspitinte_pinte0=1;/ 定时器中断通道 0 中断使能pitcflmt_pite=1;/ 定时器通道 0 使能/ad初始化void adc_init(void) /printf(adc_initn); atd0ctl1=0x40; /7:1-外部触发,65:00-8位精度,4:放电,3210:ch atd0ctl2=0x40; /禁止外部触发, 中断禁止 atd0ctl3=0xc0; /右对齐无符号,每次转换8个序列, no fifo, freeze模式下继续转 atd0ctl4=0x05; /765:采样时间为4个ad时钟周期,atdclock=busclock*0.5/prs+1 atd0ctl5=0x20; /6:0特殊通道禁止,5:1连续转换 ,4:1多通道轮流采样 atd0dien=0x00; /禁止数字输入 /pwm初始化void pwm() pwmprclk=0x11; /对总线时钟进行预分频,总线时钟为 8m,分频后为500k pwmclk=0x0f; /设 sa sb为其时钟源 pwmscla=0x05; pwmsclb=0x05; /a时钟为 2000hz pwmpol=0x00;/上升沿翻转 pwmcae=0x00;/左对齐输出 pwmper0=0xf0; pwmper1=0xf0; pwmper2=0xf0; pwmper3=0xf0; pwmcnt0=0x00;/0通道计数器清 0 pwmcnt2=0x00; int getad(char m) int ad; atd0ctl5=(0x20+m); while(!atd0stat0_scf); switch(m) case 0:ad=atd0dr0; case 1:ad=atd0dr1; case 2:ad=atd0dr2; case 3:ad=atd0dr3; case 4:ad=atd0dr4; return ad;float filter(char n) float sum = 0; char count; int jieguo; for ( count=0;count0) / portb_pb3=1; /else /portb_pb3=0; g_nspeedcontrolcount +; if(g_nspeedcontrolcount=20) speedcontrol(); g_nspeedcontrolcount = 0; pouty=carangle*32+gry*1.4-fp-cha;poutz=carangle*32+gry*1.4-fp+cha;dianjiy=(int)pouty; dianjiz=(int)poutz;pwme=0x00; if(dianjiy0) k=1; if(carangle30) dianjiy=0; if(dianjiy240) dianjiy=240; pwmdty1=240-dianjiy; pwmdty0=240; else k=-1; if(carangle-30) dianjiy=0; if(dianjiy0) k=1; if(carangle30) dianjiz=0; if(dianjiz240) dianjiz=240; pwmdty2=240-dianjiz; pwmdty3=240; else k=-1; if(carangle-30) dianjiz=0; if(dianjiz-240) dianjiz=-240; pwmdty2=240; pwmdty3=240
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亲爱的鳄鱼爸爸课件
- 麦当劳调研报告汇报
- 教学基地工作总结
- 员工时间管理企业培训
- 公司组织安全培训意义课件
- 亲亲指甲钳健康课件
- 亮化安全培训记录课件
- 静脉输液后青记的护理课件
- 公司级安全教育培训内容课件
- 公司级安全培训职责
- 2025年第一届安康杯安全生产知识竞赛试题题库及答案(完整版)
- 电力工程冬季施工安全技术措施
- 贵州省贵阳市2026届高三上学期摸底考试数学试卷含答案
- 公司年度员工安全教育培训计划
- 潍坊市2026届高三开学调研监测考试化学试题及答案
- 供电所安全教育培训课件
- 采购成本控制培训
- 2025年杭州市上城区望江街道办事处 编外人员招聘8人考试参考试题及答案解析
- 百果园水果知识培训资料课件
- 收单外包管理办法
- 学习JJF1001-2011《通用计量术语及定义》规范的体会
评论
0/150
提交评论