已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
直流电机调速,显示设定速度以及实际速度,共阳数码管显示,测速装置为100线编码器,电位器控制速度。#include #include #pragma LINK_INFO DERIVATIVE mc9s12xs128#define PITTIME 5000/设定为50ms定时#define Max 306#define Maichong 200/*变量定义*/ unsigned int i,p,vTmpPIT1; unsigned char j,ad0; float result; unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; unsigned char caiji6=0; unsigned int bits,Speed,later_result,data,duty,flag,flagPIT,delta_result; long Real_Speed;/*变量及数组初始化*/ void InitVariable(void) vTmpPIT1=0; bits=0; flag=1; flagPIT=1; vTmpPIT1=0; /*主频设置(72M)*/void Busclock(void) /05,01 48MHz 06,01 56MHz 07,01 64MHz 08,01 72MHz CLKSEL=0x00; PLLCTL_PLLON=1; SYNR=0xC0 | 0x08; REFDV=0xC0 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; /-PWM初始化程序-/void PWM_Init(void) PWME_PWME1=0x00; / Disable PWM 禁止 PWME_PWME2=0x00; PWMPRCLK_PCKA=2; PWMPRCLK_PCKB=2; PWMSCLA=9; PWMSCLB=9; PWMCLK_PCLK1=1; / PWM1-SA 时钟源的选择 PWMPOL_PPOL1=1; PWMCLK_PCLK2=1; / PWM2-SB 时钟源的选择 PWMPOL_PPOL2=1; / Duty=High Time 极性设置 PWMCAE_CAE1=0; PWMCAE_CAE2=0; / Left-aligned 对齐方式设置 PWMCTL=0x00; / no concatenation 控制寄存器设置 PWMPER1=255; PWMDTY1=0; PWMPER2=255; PWMDTY2=0; PWME_PWME1=1; PWME_PWME2=1; / Enable PWM 使能/*PIT定时器初始化*/void initPIT(void)/定时中断初始化函数 50MS定时中断设置 PITCFLMT_PITE=0; /禁止PIT PITCE_PCE0=1;/定时器通道0使能使用0通道 PITCE_PCE1=1;/定时器通道1使能使用1通道 PITMTLD0=72-1;/8位定时器初值设定。72分频,?2MHzBusClock下,为1MHz。即1us. PITMTLD1=72-1;/8位定时器初值设定。72分频,?2MHzBusClock下,为1MHz。即1us. PITLD0=PITTIME-1;/16位定时器初值设定。PITTIME*0.001ms=5ms PITLD1=PITTIME-1;/16位定时器初值设定。PITTIME*0.001ms=5ms PITCFLMT_PITE=1;/PIT定时器使能/*ECT定时器初始化*/void InitEct(void) TIOS=0x00; /外部输入捕捉0,1通道 TCTL4=0x59; /通道3上升沿触发,通道2上升沿触发,通道0上升沿触发,通道1下降沿触发 TCTL3=0xc0;/通道7任何沿捕捉 TSCR1=0x80; /使能定时器 TIE_C7I=1; /光电编码器输入脉冲中断使能 /*脉冲捕捉初始化*/void IOC_Init(void) PACTL=0X50;/PT7 PIN,PACN32 16BIT,ALLing edge,NOT INTERRUPT TCTL3=0xc0;/c-输入捕捉7任何沿有效, TIE =0x00;/每一位对应相应通道中断允许,0表示禁止中断 TIOS =0x00;/每一位对应通道的: 0输入捕捉,1输出比较 PACNTH=0x00; PACNTL=0x00; /计数寄存器初始化为0 /*I/O初始化*/ void InitIoport(void) DDRB=0xfc;/高6位做片选输出 DDRA=0xff;/A口做数码管段码输出 /*AD及其初始化程序*/void ADInit(void) ATD0CTL1=0x00; ATD0CTL2=0x40; ATD0CTL3=0xf0; ATD0CTL4=0x01; ATD0CTL5=0x30; ATD0DIEN=0x00;/初始化ADunsigned int read_ad0() /AN0做采集 unsigned int ad0=0; while(!ATD0STAT0_SCF); ad0=ATD0DR0L; return ad0; /AD转换0/*电机PWM输出控制*/void PWMDian_duty() duty=delta_result; PWMDTY1=duty; PWMPER1=255; PWMDTY2=0; PWMPER2=255; PWME_PWME1=1; PWME_PWME2=1; / Enable PWM 使能 /*延时子程序*/ void delay(long m) while(m-); /*LED显示子程序*/ void led_display(int bits) for(j=0;jbits;j+) for(i=0;i=9;i+) if(caijij=i) caijij=ai; i=9; else ; PORTB|=0x04;/传输第一位 PORTA=caiji0; delay(100); PORTB|=0x08;/传输第二位 PORTA=caiji1; delay(100); PORTB|=0x10;/传输第三位 PORTA=caiji2;/显示小数点 delay(100); PORTB|=0x20;/传输第四位 PORTA=caiji3&0x7f; delay(100); PORTB|=0x40;/传输第五位 PORTA=caiji4; delay(100); PORTB|=0x80;/传输第六位 PORTA=caiji5; delay(100); void chuli(unsigned int data) p=100; for(j=0;j=3;j+) caijij=data/p; data=data%p; p=p/10; /数据处理/*主函数*/void main(void) DisableInterrupts; Busclock(); InitVariable(); InitIoport(); ADInit(); InitEct(); initPIT(); IOC_Init(); PWM_Init(); EnableInterrupts; delay(4000); for(;) if(flagPIT=1) flagPIT=0; PITINTE_PINTE0=0;/定时器中断通道0中断禁止 PITINTE_PINTE1=1;/定时器中断通道1中断使能 if(flag=1) flag=0; result=read_ad0(); later_result=result*Max/255; delta_result=result; PWMDian_duty(); led_display(6);/调用数码管显示 delay(100); if(flag=0) flag=1; delta_result=result; PWMDian_duty(); led_display(6);/调用数码管显示 delay(100); /*PIT定时器1中断*/#pragma CODE_SEG _NEAR_SEG NON_BANKEDvoid interrupt 67 PIT1(void) vTmpPIT1+; if(vTmpPIT1=100)/定时1s vTmpPIT1=0; DisableInterrupts; Real_Speed=PACNTL+256*PACNTH; PACNTH=0x00; PACNTL=0x00; PITTF=0x02;/清中断标志位 EnableInterrupts; if(Real_Speedlater_result) delta_result-=2; else delta_result+=0; Real_Speed=Real_Speed/100; p=100; caiji5=Real_Speed/p; Real_Speed=Real_Speed%p; p=10; caiji4=Real_Speed/p; Real_Speed=Real_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实景地理信息采集员保密强化考核试卷含答案
- 2025年行政管理、人事管理等管理人员综合技能知识考试题库及答案
- (2025年)黑龙江省牡丹江市全国计算机等级考试网络技术预测试题及答案
- 2025年保密教育线上培训考试题库附完整答案(各地真题)
- 2025年投资项目管理师之投资建设项目决策押题练习试题A卷含答案
- 2025年一级注册建筑师之建筑经济、施工与设计业务管理通关试题库(有答案)
- 2025北京国电思达科技限公司招聘50人易考易错模拟试题(共500题)试卷后附参考答案
- 2025内蒙古西部考试招募900人易考易错模拟试题(共500题)试卷后附参考答案
- 2025内蒙古恩吉新能源限公司招聘30人易考易错模拟试题(共500题)试卷后附参考答案
- 2025内蒙古伊利实业集团深圳分公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2022-2023学年河南省南阳市高三上学期秋季期中考试物理试题及答案
- 静脉输血并发症预防处理
- 2022年06月上海外国语大学行政管理人员公开招聘笔试题库含答案解析
- 成人高等教育本科生学士学位英语水平考试大纲(非英语专业第二版)
- 直辖市城投集团固定资产管理制度
- 医疗机构消毒技术规范(2023年版)
- GH/T 1117-2015桂花茶
- 精品课程《人文地理学》完整版
- 公司废弃物清单
- 《幼儿园中班个别化学习活动中科学区域活动材料的投放与思考》讲座课件
- 旅游产业经济MA
评论
0/150
提交评论