开关电磁阀的节能设计PWM_第1页
开关电磁阀的节能设计PWM_第2页
开关电磁阀的节能设计PWM_第3页
开关电磁阀的节能设计PWM_第4页
开关电磁阀的节能设计PWM_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项 目 开关电磁阀的节能设计 时 间 2012 05 10 include include 宏定义 P27 P20 define KEY VALUE NOT 0 xff 1111 1111 define KEY VALUE DOWN 0 xfe 1111 1110 define KEY VALUE STOP 0 xfd 1111 1101 define KEY VALUE START 0 xfb 1111 1011 define KEY VALUE UP 0 xf7 1111 0111 define OPEN 0 define CLOSE 1 define NOT 0 define YES 1 管脚声明 sbit EOC 2543 P3 3 AD 芯片控制 sbit CLK 2543 P3 4 sbit DIN 2543 P3 5 sbit DOUT 2543 P3 6 sbit CS 2543 P3 7 sbit DIG GE P2 4 数码管动态扫描控制 sbit DIG SHI P2 5 sbit DIG BAI P2 6 sbit DIG QIAN P2 7 sbit LED WORK P1 0 工作指示灯 sbit SPEAKER P1 2 蜂鸣器 sbit MODE SET P1 1 工作模式选择 双电压 或者 PWM sbit SWITCH 6V P1 3 双电压控制 6V 输出 sbit SWITCH 24V P1 4 双电压控制 24V 输出 sbit PWM 24V P1 5 PWM 控制 全局变量定义 unsigned char leddata 0 xC0 0 0 xF9 1 0 xA4 2 0 xB0 3 0 x99 4 0 x92 5 0 x82 6 0 xF8 7 0 x80 8 0 x90 9 0 xFF 熄灭 unsigned char key value 按键键值 unsigned char key press timer 按键消抖计时器 unsigned char show data counter 数码管动态扫描哪一位 unsigned char LED qian 千位数 unsigned char LED bai 百位数 unsigned char LED shi 十位数 unsigned char LED ge 个位数 unsigned char timer 10ms work 工作指示灯 unsigned char timer 10ms AD AD 采样时间控制 unsigned int timer 10ms delay 延时 unsigned char set pwm data 设置的 PWM 数值 unsigned char now pwm data 当前的 PWM 数值 子函数声明 void initialize cpu void 单片机初始化 unsigned int ad2543 work void AD 转换器驱动 主函数 void main void unsigned int i unsigned char DEC qian unsigned char DEC bai unsigned char DEC shi unsigned char DEC ge bit flag start work float ad data unsigned char current initialize cpu 单片机初始化 SPEAKER OPEN 蜂鸣器响一声 i 65535 while i SPEAKER CLOSE flag start work NOT mainloop PWM 模式 if MODE SET 0 if flag start work YES 启动 if timer 10ms delay 50 0 5 秒进行一次 AD 采样 工作指示灯闪烁 LED WORK LED WORK AD 采样 计算电流 保留 2 位小数 ad data ad2543 work current 1 5 ad data 4096 100 DEC bai current 100 DEC shi current 100 10 DEC ge current 10 数码管显示电流值 LED qian leddata 10 千位数 空 LED bai leddata DEC bai 百位数 有小数点 LED shi leddata DEC shi 十位数 LED ge leddata DEC ge 个位数 else 停止时关闭 PWM 输出 LED 显示 占空比数值 0 9 ET0 0 禁止 PWM 输出 PWM 24V CLOSE timer 10ms delay 0 LED qian leddata 10 千位数 LED bai leddata 10 百位数 LED shi leddata 10 十位数 LED ge leddata set pwm data 个位数 占空比可调范围 0 9 双电压模式 if MODE SET 1 if flag start work YES 启动 if timer 10ms delay 500 AD 采样 计算电流 保留 2 位小数 ad data ad2543 work current 1 5 ad data 4096 100 DEC bai current 100 DEC shi current 100 10 DEC ge current 10 数码管显示电流值 LED qian leddata 10 千位数 空 LED bai leddata DEC bai 百位数 有小数点 LED shi leddata DEC shi 十位数 LED ge leddata DEC ge 个位数 else 停止时关闭 6V 及 24V 电压 LED 显示 24 6 timer 10ms delay 0 SWITCH 24V CLOSE SWITCH 6V CLOSE LED qian leddata 2 千位数 LED bai leddata 4 百位数 LED shi leddata 10 十位数 LED ge leddata 6 个位数 goto mainloop 单片机初始函数 函数功能 CPU 初始化函数 void initialize cpu void TMOD 0 x12 设置 T1 为 16 位定时器 T0 为 8 位自动重装载定时器 TH1 0 xdc 11 0592MHz 晶振 T1 定时 10 毫秒 TL1 0 x00 TR1 1 启动 T1 定时 ET1 1 允许 T1 中断服务函数执行 TH0 0 xa3 11 0592MHz 晶振 T0 定时 100 微秒 TR0 1 启动 T0 定时 ET0 0 禁止 T0 中断服务函数执行 PT0 1 T0 中断优先级高 EA 1 允许单片机总中断 函数功能 TLC2543 驱动程序 unsigned int ad2543 work void unsigned int din unsigned char dout unsigned char i din 0 dout 0 x0c 选择控制命令 while EOC 2543 0 CLK 2543 0 CS 2543 0 for i 0 i 16 i if dout 向 AD 发控制命令从 MSB LSB else DIN 2543 0 CLK 2543 1 dout 1 din 4 因为是 12 位精度 所以右移 4 位 键盘扫描 if P2 0 xf0 0 xff 如果有键按下 key press timer if key press timer 15 150ms 消抖时间 key value P2 0 xf0 if key value KEY VALUE START 按启动键 启动 flag start work YES SPEAKER OPEN 蜂鸣器响一声 i 65535 while i SPEAKER CLOSE if key value KEY VALUE DOWN 按停止键 停止 flag start work NOT SPEAKER OPEN 蜂鸣器响一声 i 65535 while i SPEAKER CLOSE if key value KEY VALUE UP 按向上键 占空比加 1 if set pwm data 0 set pwm data else key press timer 0 无键按下 消抖计时器清零 驱动显示 switch show data counter case 0 P0 LED qian DIG QIAN 0 DIG BAI 1 DIG SHI 1 DIG GE 1 show data counter 1 break case 1 P0 LED bai DIG QIAN 1 DIG BAI 0 DIG SHI 1 DIG GE 1 show data counter 2 break case 2 P0 LED shi DIG QIAN 1 DIG BAI 1 DIG SHI 0 DIG GE 1 show data counter 3 break case 3 P0 LED ge DIG QIAN 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论