c语言程序设计数字电位器,数字电位器X9C103 100级调节电路和单片机源程序
/*
* 按键子函数子函数
* 按键子函数共涉及两个按键检测和控制,分别对应P3^2和P3^3.两个按键每次按下分别实现10K数字
* 电位器中间滑动端往上端和往下端滑动1k数值。
* 数字电位器接口说明:INC接P2^0,U_D接P2^1,CS接P2^2。
*/
#include"HEADER.h"
#include"LCD1602.h"
#include"BUTTON.h"
volatile unsigned char FLAG_BUTTON = 0;//按键检测标志位
volatile unsigned char BUTTON_DAT = 0;//按键键值变量
volatile unsigned int TIME_10MS = 0;//时间变量
volatile unsigned char VOLUME = 0;//电位器值
void T0_Timer() interrupt 1//定时器0中断服务程序
{
TR0 = 0;
// WDT_CONTR = 0X31; //喂狗
TH0 =55536/256; //重装初值
TL0 =55536%256; //重装初值
TR0 = 1;
TIME_10MS ++; //time_10ms变量累加
if(TIME_10MS == 1000)TIME_10MS = 0;//time_10ms变量清零
ButtonTest();//按键检测;
}
void ButtonTest(void)
{
static uchar Count_ButtonDown;//静态按键按下计数
static uchar Count_ButtonUp;//静态按键松开计数
if((SW_1 == 0)||(SW_2 == 0))
{
Count_ButtonDown++;
Count_ButtonUp = 0;
if(Count_ButtonDown==2)
{
if(SW_1 == 0)BUTTON_DAT = 1;
else if(SW_2 == 0)BUTTON_DAT = 2;
if(BUTTON_DAT != 0)FLAG_BUTTON = 1;
}
if(Count_ButtonDown>=50)
{
Count_ButtonDown = 0;
if(SW_1 == 0)BUTTON_DAT = 1;
else if(SW_2 == 0)BUTTON_DAT = 2;
if(BUTTON_DAT != 0)FLAG_BUTTON = 1;
}
}
else
{
if(Count_ButtonDown>2) //如果按键已经确认按下,则开始判断松开
{
Count_ButtonUp++;
if(Count_ButtonUp>=2)
{
Count_ButtonUp = 0;
Count_ButtonDown = 0;
}
}
}
}
void ButtonService(unsigned char dat)
{
switch(dat)
{
case 1: //电位器值增加
{
unsigned char n = 0;
CS = 0;
U_D = 1;
_nop_();
for(n=10;n>0;n--)
{
INC = 0;
_nop_();
_nop_();
INC = 1;
}
CS = 1;
VOLUME++;
if(VOLUME > 10)VOLUME = 10;
DISPLAY[0] = VOLUME%100/10+0x30;
DISPLAY[1] = VOLUME%10+0x30;
Lcd_Set_xy(2,7);
Lcd_Wdat(DISPLAY[0]);
Lcd_Wdat(DISPLAY[1]);
}
break;
case 2: //电位器值减小
{
unsigned char n = 0;
CS = 0;
U_D = 0;
_nop_();
for(n=10;n>0;n--)
{
INC = 0;
_nop_();
_nop_();
INC = 1;
}
CS = 1;
if(VOLUME == 0)VOLUME = 1;
VOLUME--;
DISPLAY[0] = VOLUME%100/10+0x30;
DISPLAY[1] = VOLUME%10+0x30;
Lcd_Set_xy(2,7);
Lcd_Wdat(DISPLAY[0]);
Lcd_Wdat(DISPLAY[1]);
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
c语言程序设计数字电位器,数字电位器X9C103 100级调节电路和单片机源程序相关推荐
- c语言程序设计第四版乌云高娃,C语言程序设计教学课件作者第2版乌云高娃课件源程序及习题答案第4章课件.ppt...
C语言程序设计教学课件作者第2版乌云高娃课件源程序及习题答案第4章课件.ppt 第4章循环结构的流程及应用 学习目标 ? 使用循环处理需要反复执行的操作. ? 循环结构的流程图. ? 循环与条件的综合 ...
- 大工17春 c 语言,大工20春《C/C++语言程序设计》在线作业【答案100分】
大工20春<C/C++语言程序设计>在线作业1 共20道题 总分:100分 答题中 单选题 判断题 一.单选题 共10题,50分 1 5分 一个函数功能不太复杂,但要求被频繁调用,则应把它 ...
- 数字秒表c语言程序设计,课程设计 数字秒表
<课程设计 数字秒表>由会员分享,可在线阅读,更多相关<课程设计 数字秒表(24页珍藏版)>请在人人文库网上搜索. 1.计算机控制技术综合应用设计题目 数字秒表 二级学院 电子 ...
- 中南大学c语言程序设计2013年下学期期末考试,2013级计算机专业本科生C语言程序设计期末考试资料.doc...
中南大学考试试卷 -2014学年第 1 学期期末考试试题 时间95分钟 计算机与程序设计语言基础 课程40学时 2.5学分 考试形式:闭卷 专业年级:计算机科学与技术2013级 总分 100分,占总评 ...
- 从用户的角度看 c语言中函数有两种,【南开大学】20秋学期(1709、1803、1809、1903、1909、2003、2009 )《C语言程序设计》在线作业答卷...
20秋学期(1709.1803.1809.1903.1909.2003.2009 )<C语言程序设计>在线作业 试卷总分:100 得分:100 一.单选题 (共 40 道试题,共 80 ...
- c语言程序设计理论考试,《C语言程序设计》理论试题库-程序题100例
<<C语言程序设计>理论试题库-程序题100例>由会员分享,可在线阅读,更多相关<<C语言程序设计>理论试题库-程序题100例(59页珍藏版)>请在人人 ...
- 南开大学c语言程序设计在线作业,[南开大学]18秋学期(1709、1803、1809)《C语言程序设计》在线作业...
[南开大学]18秋学期(1709.1803.1809)<C语言程序设计>在线作业 谋学网http://doc.xuehai.net [奥鹏][南开大学]18秋学期(1709.1803.18 ...
- c语言中如何打出草花图案,C语言程序设计程设计题目1.doc
C语言程序设计程设计题目1 通信工程10级C语言课程设计任务书 各位同学可以自由组合,不超过以下题目中所规定的人数进行选题(不允许重复选题). 辅导时间:另定 地点:软件中心(语音楼8楼) 答辩检查时 ...
- 2018北语c语言程序2答案,北语21春《JAVA语言程序设计》作业2题目【标准答案】...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 加VX513274704 21春<JAVA语言程序设计>作业2 试卷总分:100 得分:100 一.单选题 (共 20 道试题,共 100 分 ...
- 单片机秒表c语言程序设计思路,单片机秒表程序设计
<单片机秒表程序设计>由会员分享,可在线阅读,更多相关<单片机秒表程序设计(8页珍藏版)>请在人人文库网上搜索. 1.51单片机秒表程序设计班级:姓名:学号指导老师时间一.课题 ...
最新文章
- html语言设计表格,HTML标记语言——表格标记
- 【Hibernate步步为营】--(一对多映射)之单向关联
- html5 酒店入住插件,jQuery酒店类入住日期时间范围选择器插件
- 关于IO模式(浮空、推挽、开漏...)描述及应用
- mysql下拉框记忆,Mysql alter语句记忆分析
- [react] 状态管理器它精髓是什么?
- oracle 增量设为3 循环_Oracle 差异性增量 和 累计增量 原理(转)
- Likecloud-吃、吃、吃(洛谷-P1508)
- 美丽的字符正方形FINAL
- 周志华-机器学习.pdf 学习心得 附整理材料
- python上传文件至指定服务器
- kettle 教程(一):简介及入门
- php tcpdf image,php采用tcpdf生成pdf支持中文,图片
- intel网卡211linux驱动,Intel网卡通用驱动下载
- 走进 Redis 的世界
- 传智播客dos命令_命令行英雄,原始播客
- 计算机根号的3次方怎么,excle 开几次方|excel中咋开3次根号啊
- AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(八)
- ::ZheTian / 遮天 强大的Anti-Virus对抗工具
- theano 安装_Theano-安装
热门文章
- python 进阶面试题_python面试题
- devops什么意思_devops是什么意思
- 面向对象9:方法的重写、super关键字、子类对象的实例化过程
- C#语法基础(二)---数组stringArrayList
- javaint接收float_Java Float intValue()用法及代码示例
- php7.1 win7,win7 配置AMP环境(apache2.4.39 + php7.1.28)
- thinkphp5 mysql加1_ThinkPHP5.1的数据库链接和增删改查
- jmeter java_Jmeter 使用-JAVA请求
- mysql 通过ssh通道安全连接数据库
- 深入理解Java动态代理及手动实现