PWM控制输出代码.doc

PWM控制输出代码.doc

ID:58821432

大小:49.00 KB

页数:13页

时间:2020-10-25

PWM控制输出代码.doc_第1页
PWM控制输出代码.doc_第2页
PWM控制输出代码.doc_第3页
PWM控制输出代码.doc_第4页
PWM控制输出代码.doc_第5页
资源描述:

《PWM控制输出代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#ifndefINCLUDE_H#defineINCLUDE_H#include"AT89X51.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedint#define_BV(x)(1<<(x))#defineGET_BIT(x,y)(((x)&(1<<(y)))==0?0:1)/*取x变量y位的数据*/#defineSET_BIT(x,y)((x)

2、=(0x0001<<(y)))/*置位x变量y位*/#defineCL

3、R_BIT(x,y)((x)&=~(0x0001<<(y)))/*清零x变量y位*/#defineLET_BIT(x,y,z)((x)=(x)&(~(0x0001<<(y)))

4、(z)<<(y))/*置位或清零x变量y位*/#defineF_CPUUL/*cpu震荡周期*/#definesei()(EA=1)/*开总中断*/#definecli()(EA=0)/*关总中断*/#endif--------------------------------------------------------

5、-----------------------------------------------------------------------------------------------------------------------------------------#defineKEY_GLOBAL1#include"Key.h"staticucharkeyValueBuff;/*读取键值的缓冲区*/staticucharkeyValueOld;/*前一次的键值*/staticuchark

6、eyValueTemp;/*键值中间交换变量*/staticuintstillTimes;/*键按下保持次数*/staticuintstillTimesMax;staticucharget_data_1_count(ucharnumber);staticvoidread_all_key(uchar*buff);/********************************************函数名称:key_init(void)*函数功能:初始化按键扫描*函数入口:无*函数出口:无****

7、***************************************/voidkey_init(void){keyValueBuff=0x00;keyValueOld=0x00;keyValueTemp=0x00;stillTimes=0;stillTimesMax=FIRST_TIMES;}/*******************************************************函数名称:read_all_key(uchar*buff)*函数功能:扫描按键下的键,

8、将按下的键的位置存入变量buff*函数入口:buff*函数出口:无*******************************************************/voidread_all_key(uchar*buff){if(IN_PRESS_UP==KEY_FORCE_VALUE)//检测按下的键READ_KEY(1,KEY_UP,*buff);elseREAD_KEY(0,KEY_UP,*buff);if(IN_PRESS_DOWN==KEY_FORCE_VALUE)READ_

9、KEY(1,KEY_DOWN,*buff);elseREAD_KEY(0,KEY_DOWN,*buff);}/*******************************************************函数名称:get_key_value(void)*函数功能:读取键值*函数入口:无*函数出口:返回按下的有效键值*******************************************************/ucharget_key_value(void){keyV

10、alueBuff=0x00;read_all_key(&keyValueBuff);keyValueTemp=keyValueBuff;delay_us(KEY_DELAY_TIME);read_all_key(&keyValueBuff);/*两次读到的键盘值相同则为有效键盘值*/if(keyValueTemp==keyValueBuff){if(keyValueTemp==0){keyValueOld=0;stillTimes=0;stillTimesMax=FIRST_TIM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。