



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include unsigned long thesysclock=12000000ul; #includelcdinit.h #define pb0_pwm2 gpio_pin_0 /pwm2 、产生正转信号#define pb1_pwm3 gpio_pin_1 /pwm3 、产生反转信号#define key_periph sysctl_periph_gpioc #define key_port gpio_portc_base #define key1_pin gpio_pin_4 /正反转切换#define key2_pin gpio_pin_5 /2 档#define key3_pi
2、n gpio_pin_6 /1 档#define key4_pin gpio_pin_7 /制动unsigned int flag,value,d,s; /*/ void clockinit(void) sysctlldoset(sysctl_ldo_2_50v); / 设置 ldo 输出电压sysctlclockset(sysctl_use_osc | / 系统时钟设置sysctl_osc_main | / 采用主振荡器sysctl_xtal_6mhz | / 外接 6mhz 晶振sysctl_sysdiv_1); / 不分频thesysclock = sysctlclockget(); /
3、 获取当前的系统时钟频率 void gpio_port_c_isr(void) unsigned long ulstatus; ulstatus = gpiopinintstatus(gpio_portc_base, true); / 读取中断状态gpiopinintclear(gpio_portc_base, ulstatus); / 清除中断状态,重要if (ulstatus & key1_pin) / 如果 pc4 的中断状态有效 sysctldelay(200); /消除按键抖动flag=flag; if (ulstatus & key2_pin) / 如果 pc5 的
4、中断状态有效 sysctldelay(200); value=50; s=2; /s=2 表示高速 if (ulstatus & key3_pin) / 如果 pc6 的中断状态有效 sysctldelay(200); value=200; s=1; /s=1 表示低速 if (ulstatus & key4_pin) / 如果 pc7 的中断状态有效 sysctldelay(200); value=300; s=0; /s=0 表示制动 /*/ void lcd_disp() lcd_pos(0,0); lcd_strwdat(direct is:); /第一行显示正反转lc
5、d_pos(0,14); lcd_write(1,d); /lcd 写数据lcd_pos(1,0); lcd_strwdat(now speed is:);/ 第二行显示转速的档位lcd_pos(1,14); lcd_write(1,s); /lcd 写数据 void flag_1() /反转 pwmoutputstate(pwm_base, pwm_out_3_bit, true); pwmoutputstate(pwm_base, pwm_out_2_bit, false); /使能或禁止pwm 的输出pwmgenperiodset(pwm_base, pwm_gen_1, 300); /
6、 设置 pwm 发生器 1的周期pwmpulsewidthset(pwm_base, pwm_out_3, value); / 设置 pwm2 输出的脉冲宽度d=0; /d=0 表示反转 void flag_0() pwmoutputstate(pwm_base, pwm_out_2_bit, true); /正转pwmoutputstate(pwm_base, pwm_out_3_bit, false); pwmgenperiodset(pwm_base, pwm_gen_1, 300); / 设置 pwm 发生器 1的周期pwmpulsewidthset(pwm_base, pwm_out
7、_2, value); / 设置 pwm3 输出的脉冲宽度d=1; /d=1 表示正转 /*/ int main (void) lcd_init(); clockinit(); sysctlperipheralenable (key_periph); / 使能 key 所在的 gpio 端口gpiopintypegpioinput(key_port, key1_pin|key2_pin|key3_pin|key4_pin); / 设置 key1、key2、key3、key4 为输入gpiointtypeset(key_port, key1_pin|key2_pin|key3_pin|key4_
8、pin, gpio_low_level); / 设置 key1 、 key2 、 key3 、 key4管脚的中断类型gpiopinintenable(key_port, key1_pin|key2_pin|key3_pin|key4_pin); / 使能 key1 、 key2 、 key3 、 key4所在管脚的中断intenable(int_gpioc); / 使能 gpioc 端口中断sysctlperipheralenable(sysctl_periph_gpiob); / 使能 pwm2 和 pwm3 输出所在 gpio sysctlperipheralenable(sysctl_
9、periph_pwm); / 使能 pwm 模块sysctlpwmclockset(sysctl_pwmdiv_1); / pwm 时钟配置:不分频gpiopintypepwm(gpio_portb_base, pb0_pwm2); / pb0配 置 为pwm 功能gpiopintypepwm(gpio_portb_base, pb1_pwm3); / pb1配 置 为pwm 功能pwmgenconfigure(pwm_base, pwm_gen_1, / 配置pwm发生器1:加减计数pwm_gen_mode_up_down | pwm_gen_mode_no_sync); pwmoutputstate(pwm_base, pwm_out_2_bit, true); /初始化时flag=0、即电机初始化时是正转pwmoutputstate(pwm_base, pwm_out_3_bit, false); pwmgenperiodset(pwm_base, pwm_gen_1, 300); / 设置 pwm 发生器 1的周期pwmpulsewidthset(pwm_base, pwm_out_2, value); / 设置 pwm3 输出的脉冲宽度pwmgenenabl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预应力工程施工现场安全保障措施
- 2025国考阜新市金融监管岗位申论模拟题及答案
- 2025国考大连市劳动监察岗位行测必刷题及答案
- 四川省中学篮球课堂教学质量评价指标体系构建及其提升策略研究
- 难点详解人教版八年级上册物理声现象《声音的产生与传播》章节训练试题(含答案解析)
- 混凝土回弹检测实施方案
- 达标测试人教版八年级上册物理声现象《声音的特性》单元测试试题(含答案解析)
- 2025国考乌兰察布市气象服务岗位申论题库含答案
- 2025国考阿拉善盟巡视巡察岗位申论模拟题及答案
- 建筑预应力技术难题与解决方案
- GB/T 191-2025包装储运图形符号标志
- 青协申请书508字
- 2025年大连理工大学专职辅导员招聘考试参考题库及答案解析
- 旋挖桩施工专项方案设计要点
- 人工智能+应急管理智能应急演练评估与改进策略报告
- 人工智能+农业病虫害防治研究报告
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读课件
- GB 16325-2005干果食品卫生标准
- FZ/T 73001-2016袜子
- 曾奇峰精神分析初级50讲讲义
- 卡尔曼(Kalman)滤波课件
评论
0/150
提交评论