一个单片机比例因子控制的例子

发布者:MysticalDreamer最新更新时间:2015-07-09 来源: 51hei关键字:单片机  比例因子 手机看文章 扫描二维码
随时随地手机看文章
//模块S2-----单片机P1.1
//模块S3-----单片机P1.0
//模块OUT----单片机P3.5(计数器1输入)
//模块VCC----单片机VCC
//模块GND----单片机GND
//K4按一次进入比例因子调节模式,再按退出;探测时按K8重置
//K1+,K5-控制R比例因子 K2+,K6-控制B比例因子 K3+,K7-控制G比例因子
#include	
#include       //Keil library  
#include      //Keil library	
#include

#define uchar unsigned char
#define uint  unsigned int	
#define DataPort P0	  //LCD1602 数据端口
sbit    LCM_RS=P2^6;   //LCD1602 控制端口	
sbit    LCM_RW=P2^5;   //LCD1602 控制端口	
sbit    LCM_EN=P2^7;   //LCD1602 控制端口

/**引脚定义**/  
sbit s2=P1^1;        //TCS3200 S2 
sbit s3=P1^0;        //TCS3200 S3
                     //TCS3200 S0 模块内部默认上拉
                     //TCS3200 S1 模块内部默认上拉
                     //TCS3200 OE 模块内部接地
sbit test_pin=P2^2;  //用示波器看这个引脚,可知道定时器中断频率
sbit K8=P1^7;sbit K1=P2^1;sbit K2=P2^0;sbit K3=P1^2;	
sbit K4=P1^3;sbit K5=P1^4;sbit K6=P1^5;sbit K7=P1^6;
//变量、常量定义
uchar ge,shi,bai ;
uchar rp=3,gp=3,bp=6; //定义比例因子,具体环境可以修改
uchar count;          //颜色标志位(0:红 1:绿 2:蓝)
uint    ryz,gyz,byz;//分别定义红色因子 绿色因子 蓝色因子
//显示数组
uchar disp_R[3];  //红
uchar disp_G[3];  //绿
uchar disp_B[3];  //蓝
uchar disp_rp[3];
uchar disp_bp[3];
uchar disp_gp[3];
//********定义函数*****************************
void    delay(unsigned int k);
void    InitLcd();
void    WriteDataLCM(uchar dataW);
void    WriteCommandLCM(uchar CMD,uchar Attribc);
void    DisplayOneChar(uchar X,uchar Y,uchar DData);
void    baipingheng();//白平衡子程序
void    DisplayRGB();//显示比例因子
//*********LCD1602初始化**********************
void InitLcd()	
{	
WriteCommandLCM(0x38,1);	
WriteCommandLCM(0x08,1);	
WriteCommandLCM(0x01,1);
WriteCommandLCM(0x06,1);	
WriteCommandLCM(0x0c,1);
}

//**********检测忙信号************************
void WaitForEnable(void)	
{	
DataPort=0xff;	
LCM_RS=0;LCM_RW=1;_nop_();
LCM_EN=1;_nop_();_nop_();
while(DataPort&0x80);	
LCM_EN=0;	
}
//**********写命令至LCD***********************
void WriteCommandLCM(uchar CMD,uchar Attribc)
{	
if(Attribc)WaitForEnable();	
LCM_RS=0;LCM_RW=0;_nop_();
DataPort=CMD;_nop_();	
LCM_EN=1;_nop_();_nop_();LCM_EN=0;
}	
//**********写数据至LCD************************
void WriteDataLCM(uchar dataW)
{	
WaitForEnable();	
LCM_RS=1;LCM_RW=0;_nop_();
DataPort=dataW;_nop_();	
LCM_EN=1;_nop_();_nop_();LCM_EN=0;
}
//*********写一个字符数据到指定的目标***********
void DisplayOneChar(uchar X,uchar Y,uchar DData)
{	
Y&=1;	
X&=15;	
if(Y)X|=0x40;	
X|=0x80;	
WriteCommandLCM(X,0);	
WriteDataLCM(DData);	
}

//**********延时函数***************
void delay(unsigned int k)	
{	
unsigned int i,j;	
for(i=0;i
				   
关键字:单片机  比例因子 引用地址:一个单片机比例因子控制的例子

上一篇:单片机4位数码管电子时钟
下一篇:单片机电子时钟程序

推荐阅读最新更新时间:2024-03-16 14:24

布局高端 瞄准16/32位市场
2008 年前,瑞萨在中国 MCU 市场的产品一直以 4 位和 8 位为主,而瑞萨 RX 系列诞生,正式吹响了进军 16 位和 32 位产品生产及销售的“集结号”。 MCU :持续拓展 16/32 位市场 针对中国 MCU 市场,瑞萨制定了新的策略:通过四大战略保持并扩大在 MCU 领域的优势。首先,进一步拓展高、中、低端产品阵容;其次,凭借 Super H 实现在中国高端领域市场的飞跃;第三,面向中端领域投入 RX 系列产品;第四,在低端领域通过 Tiny 继续维持良好的发展势头。 瑞萨的 MCU 产品大量应用
[单片机]
用87LPC76x单片机构成的键盘显示电路
在一些智能化仪表中,人机接口通常是LED数码管显示器和小型键盘。常见的工作方式有两种:一是直接使用系统中的 CPU对显示器进行动态扫描和键盘检测,为保证显示的稳定和键盘的及时响应,CPU需要频繁的执行动态扫描程序,显然在CPU工作比较繁忙的情况下不太适用;二是用专用的显示、键盘芯片如 8279、SAA1064等,这些芯片由于种种原因在实际应用中总有不便之处,如可显示的位数均较少,价格较高等。Phlips公司的P87LPC76X 系列单片机属51系列,其体积小、功能强、价格低廉,有很高的性价比,本文介绍一种利用该系列单片机构成的具有一定通用性的显示、键盘电路。 图1 硬件电路图 P87LPC76X单片机简介 P87LPC7
[单片机]
用87LPC76x<font color='red'>单片机</font>构成的键盘显示电路
STM32GPIO口8种模式细致分析(类比51单片机
关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1、浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时1读出的就是1,外部没有输入IO处于阻塞读不出电平状态。 用处:感觉在信号处理方面用的比较好,比如在读取一段一段的波形,可以清晰的知道什么时候是0信号,什么时候是1信号,什么时候是没有信号的。 类比:51单片机找不到类似的输入模式 2、上拉输入 上拉输入和浮空输入的区别是,上拉电阻的开关关闭了,如上图所示。IO没有输入的时候,IO电平等于VDD即1电平,当然IO输入低电平的事就是VDD和IO口形成一个闭环电路,根据分压
[单片机]
基于PIC单片机从24C02中读取数据到数码管显示的设计
该试验功能是单片机复位一次,自动从24C02中读取数据到数码管显示,然后对值加1再写入24C02,最终数码管中的数据就是开机的次数,具有一定的实用意义 ;本电路所使用24C02为ATMEL的,或不是该厂的,则烧写时间可能会有差异 ;必须调整本程序的DELAY时间 ;本实战的目的是让大家进上步熟悉I2C通信的时序,熟悉24CXX的读写,会用软件模拟I2C通信 ;硬件接法: ;1.24CXX的SDA接877A的RB5口,SCLK接877A的RB4口,WP接地,A0,A1,A2接地 ;2.实验本实验须将MCD-DEMO实验板上的93CXX系列芯片先取下,在实验过程中不要按动同样接在RB口的按键,以免影响通信时序。 ;3.实验
[单片机]
基于PIC<font color='red'>单片机</font>从24C02中读取数据到数码管显示的设计
51单片机基础之DS18B20温度传感器
外型: 代码: main.c 文件 #include smg.h #include ds18b20.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { u8 i=0; int t
[单片机]
51<font color='red'>单片机</font>基础之DS18B20温度传感器
基于单片机的智能手环系统设计
本文主要研究了智能手表的硬件结构和软件结构的设计,并研究了安卓手机APP设计。手环需要从功能出发来定义其硬件和软件功能。硬件结构包括STC12C5A60S2单片机,三轴数字加速度计ADXL345、蓝牙模块HC-05。手环通过蓝牙向健康APP传递健康数据,并通过手机屏幕显示出来,也在关键时刻通过振动来提醒用户。 软件功能从电量监测、运动监测和睡眠监测三部分来体现,当手环处于运动监测的时候可以计算运动步数,并且在达到预先设定运动步数时,会震动提醒;在睡眠监测的时候可以统计出当天的总睡眠时间、轻度睡眠时间和深度睡眠时间;同时手环端也需要对移动终端应用程序进行发送电量监测。 01 系统运行流程 手机APP依靠蓝牙传输不同的控制字
[单片机]
基于<font color='red'>单片机</font>的智能手环系统设计
PIC单片机内部上电延时复位(POR)的设计思路及电路图设计
1.设计思路   在单片机初始加电时,复位系统中首先投入工作、发挥作用的是VDD上升沿检测电路。在加电过程中,由于电源回路中的滤波电容的存在,单片机的电源电压VDD的值是逐渐上升的。   当VDD上升到-定值(一般为1.6~1.8V)时,会产生一个很窄的复位脉冲(正脉冲)。该复位脉冲一方面将复位锁存器的一端设置为低电平,另一方面利用本身的下降沿启动定时器PWRT开始工作,进行72ms的延时。   该延时时间一到,便启动定时器OST开始工作,再进行1024TOSC的延时。与内部上电延时复位功能相关的硬件等效电路如图1所示。上电延时复位的延时时间的长短与振荡器的振荡方式、定时器OST是否关闭等因素有关,如表1所示。   图
[单片机]
PIC<font color='red'>单片机</font>内部上电延时复位(POR)的设计思路及电路图设计
单片机构成的环境温湿度实时测控装置设计
摘要:介绍了环境温湿度实时测控装置的研制思路和方法。该装置可实现环境温度、湿度的实时测量与控制,并附有通信接口以及可控制多种设备的多点时间控制电路,能方便地应用于各种温湿度控制场合。 关键词:PIC16C73;测控;通信;温湿度 环境条件中的温湿度指标是许多工作场合的重要参数,不论是仓库管理、图书保存还是工业测量与计量检定,都需要符合操作规定的温湿度环境条件。而温湿度也是最不易保障的指标,针对这一情况,研制可靠且实用的温湿度控制器显得非常重要。本文介绍的温湿度实时控制装置可在0~50℃和20%~98%RH(相对湿度)的范围内任意设定温湿度值,其附加的通信接口可方便地实现与计算机的实时通信,而且便于功能的扩展,可保证温度、湿度
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved