- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电源控制器项目开发技术说明
输出电压: 12V
电压输出种类: 持续可调的脉冲波形
脉冲高电平时间:从1毫秒到500毫秒可调
脉冲低电平时间:从1毫秒到500毫秒可调
设定脉冲输出的时间,10秒~3分钟
显示方式:4个0.3寸数码管显示,显示设定的脉冲高低电平的宽度时间,及显示输出的倒计时持续时间,两个LED指示灯用于指示起停状态。
按 键:共有6个按键。修改3个键(包括 + 键 – 键和光标键),设置1个键,启停2个键,启停需要指示灯,两指示灯。
按键说明:第一次按设置键,设置高电平时间,数码管第4位显示“H”
后三个数码管显示设置的值,以毫秒单位。
第二次按设置键,设置低电平时间,数码管第4位显示“L”
后三个数码管显示设置的值,以毫秒单位。
第三次按设置键,设置脉冲持续时间,数码管第4位显示“-“,以秒为单位,时间不能超过3*60=180秒。
设定脉冲输出的时间,10秒~3分钟
设计限定要求:
单片机使用20管脚的单片机,推荐使用stc单片机.数码管使用4各位一组连体共阳数码管,如果口线不够用则使用串转并芯片例如:74hc595等,电路板尺寸为40mm*120mm.
电源入口使用四芯插座,输出使用2芯插座,需要设计串口输出,串口输出用9针串口插座.
键盘显示应留有输出到面板的接口.
程序设计要求:
1:要求程序使用表示整个程序执行的状态变量,依据程序运行不同状态来修改该状态变量,也依据该状态变量来运行不同的程序.使用枚举类型定义状态标志如下:
typedef enum _MACHINE_STATE_ENUM {
MACHINE_STATE_IDLE, //机器空闲状态
INPUT_STATE_HIGH, //输入高电平时间状态,/
INPUT_STATE_LOW, //输入地电平状态
INPUT_STATE_TIME, //输入电平持续时间状态
MACHINE_STATE_START //启动状态 到计时状态
} MACHINE_STATE_ENUM;
MACHINE_STATE_ENUM Machine_State;
本程序有以下几个状态:
1:机器空闲状态MACHINE_STATE_IDLE
表示机器处于空闲状态,pwm没有输出.停止灯亮,启动灯灭.
在pwm输出倒计时时间到0时,或用户按下停止键,程序将机器状态设置为空闲状态.
2:输入高电平状态INPUT_STATE_HIGH
表示机器处于输入高电平状态,该状态是由于用户按下设置键时进入.
3:输入低电平状态INPUT_STATE_ LOW
表示机器处于输入低电平状态,该状态是由于用户按下设置键时进入.
4:输入电平持续时间状态INPUT_STATE_ TIME
表示机器处于输入电平持续时间状态,该状态是由于用户按下设置键时进入.
5:起动状态MACHINE_STATE_START
表示机器处在pwm输出状态,该状态由用户按下启动键时,程序将机器状态设置为启动状态.到持续时间到0或用户按下停止键是系统进入空闲状态.
程序结构设计原则:
1:对于时间性要求不高,但需不断运行的程序放在主程序中.例如键盘扫描程序.
2:对于由主程序中程序引发的程序一般放在主程序中,例如键盘处理程序.
3:对于时间性要求严格的程序放到定时器中断程序中,例如数码管动态扫描程序及pwm程序.
4:硬件设备有几个字节长度的,在内存中应该有对应等长度的缓冲区,例如
1):本案中2个hc595,在程序中应定义2个字节的缓冲区.应写一个把这两个字节内容一次整体送到2个595中程序(以下简称595的驱动程序).其他程序如果要修改这两个595中的某个口线只需将内存中对应位修改后调用595驱动程序.
2):本案中数码管有4个,因此应在内存中设置4个字节的显示缓冲区.由于动态显示有很强时间性因此在定时器中断程序中依次将每个字节的数据送显示.
5:对于有键盘产品输入参数来讲.有几组多字节的参数就应该在内存中设置几组多个字节的缓冲区.在本例中有三组参数 那应该设计3组缓冲区.
且每组都设计一个字节光标位置寄存器,这一点非常重要.要求使用以下定义:
typedef struct _SETUP_KEY_NUM{
uchar DispBuf[4];
uchar Cursor_Num; //光标键
uchar Value_Cursor; //光标所在单元的值
}SETUP_KEY_NUM;
DispBuf[4];为输入参数缓冲区;
Cursor_Num;为光标位置寄存器;
Value_Cursor;光标所在单元的值
SETUP_KEY_NUM Set
您可能关注的文档
最近下载
- 2023年11月深圳市福田区公开选用机关事业单位辅助人员和社区专职工作者笔试历年(2016-2023年)真题荟萃带答案解析.pdf VIP
- 2024秋(人教版)英语七年级上册:单词表 汇总表.pdf
- 2022年通信工程师中级传输与接入(无线)真题及答案.pdf
- 第二章一元二次函数、方程和不等式教学设计(全章).docx
- 国家开放大学《电子商务概论》1-9章 形考任务阶段测验1、2答案(无错版本)82295 .pdf VIP
- 江苏省普通高校“专转本”选拔考试管理专业大类专业综合操作技能考试大纲.docx
- 银行开展减费让利宣传活动的总结范文(30篇).docx VIP
- 美育——美即生活-期末复习-题库-试卷.docx
- 预定动作时间标准法(PTS).doc VIP
- 中国饮食文化(教案) (中职教育).docx
文档评论(0)