您的位置 首页 IC

电动车充电控制器制造

几天熬夜控制器终于完工,买别人的要几百块一套自己做只要几十块就能OK,还算是有点价值,不罗嗦直接上代码,依然是以往的风格但注释更加详

几天熬夜操控器总算竣工,买他人的要几百块一套自己做只需几十块就能OK,还算是有点价值,不罗嗦直接上代码,依然是以往的风格但注释愈加具体,有爱好的骚年能够参阅下


工程文件及hex文件下载:http://www.51hei.com/f/chongdianqia.rar

#include //包括头文件
#include//包函_nop_延时函数的头文件
#define uchar unsigned char//宏界说
#define uint unsigned int//宏界说
//595芯片操控脚界说
sbit SH=P1^7;//HC595移位操控
sbit ST=P1^6;//HC595锁存更新显现
sbit DS=P1^5;//HC595串行数据输入
//输入引脚界说
sbit TB=P1^4; //投币键
sbit shu1=P1^3; //第一组输入挑选
sbit shu2=P1^2; //第二组输入挑选
sbit shu3=P1^1; //第三组输入挑选
sbit shu4=P1^0; //第四组输入挑选
//输出引脚界说
sbit out1=P3^0; //第一组输出
sbit out2=P3^1; //第二组输出
sbit out3=P3^2; //第三组输出
sbit out4=P3^3; //第四组输出
//计时用变量
int cou=0; //计数器
int TIME_SS=0;//秒
int TIME_MM=0;//分
int TIME_HH=0;//时
//显现缓存数组,第一个元素为显现数据,后边两个为显现八段码的地址现已初始赋值后边的程序只需保护显现数据元素
char P_HC[4][4][3]={{{0x00,0x00,0x01},{0x00,0x00,0x02},{0x00,0x00,0x04},{0x00,0x00,0x08}},{{0x00,0x00,0x10},{0x00,0x00,0x20},{0x00,0x00,0x40},{0x00,0x00,0x80}},{{0x00,0x01,0x00},{0x00,0x02,0x00},{0x00,0x04,0x00},{0x00,0x08,0x00}},{{0x00,0x10,0x00},{0x00,0x20,0x00},{0x00,0x40,0x00},{0x00,0x80,0x00}}};
//定时器数据数组,别离代表四个输出口所剩时刻值单位为分钟
int TIME[4]={0,0,0,0};
//投币器计数器,存储投币数量挑选输出口时一个投币值能够添加某一输出口240分钟的定时值
int TOUBI=0;
///////////////////////////////////////////////////
void delay(unsigned char x) //延时函数
{
unsigned char i,j;
for(i = 0;i < x;i++)
for(j = 0;j < 200;j++); }
///////////////////////////////////////////////////
//高位先入
void sendbyte(char Rdate)//HC595串口输入一个字节
{
char a;
char date=Rdate;
for(a=0;a<8;a++)
{
SH=0;
if(date&0x80)//先将最高位移入
{
DS=1;
SH=1;
}
else
{
DS=0;
SH=1;
}
date=date<<1;//输入的字节位左移
}
}
///////////////////////////////////////////////////
void print(void)
{
//显现函数功用是把显现缓存数组中的数据显现到八段码上
int i,j,k;
for(k=0;k<4;k++)
{
for(j=0;j<4;j++)
{
for(i=0;i<3;i++)
{
sendbyte(P_HC[k][j][i]);
}
ST=0;
_nop_();
_nop_();
ST=1;
}
}
}
///////////////////////////////////////////////////
void P_HC_fuzhi(int x,int y,int z )
{
//显现数组显现数据赋值函数,第一个常数为八段码组别,第二个为八段码方位 ,第三个位赋值数据(0-9)
switch(z)
{
case 0:
P_HC[x][y][0]=0xc0;
break;
case 1:
P_HC[x][y][0]=0xf9;
break;
case 2:
P_HC[x][y][0]=0xa4;
break;
case 3:
P_HC[x][y][0]=0xb0;
break;
case 4:
P_HC[x][y][0]=0x99;
break;
case 5:
P_HC[x][y][0]=0x92;
break;
case 6:
P_HC[x][y][0]=0x82;
break;
case 7:
P_HC[x][y][0]=0xf8;
break;
case 8:
P_HC[x][y][0]=0x80;
break;
case 9:
P_HC[x][y][0]=0x90;
break;
case 10:
P_HC[x][y][0]=0xff;
break;
}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/317232.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部