找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1306|回复: 0
打印 上一主题 下一主题
收起左侧

pcf8591单片机程序

[复制链接]
跳转到指定楼层
楼主
ID:518005 发表于 2019-5-8 22:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#include "IIC.h"  //i2c库函数
code uchar seg[]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60};    //数码管码表
code uchar tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};      //数码管位选
sbit bz=P3^3;   //喇叭位
uchar outdata; //模拟量输出值
sbit k1=P1^2 ;   //模拟量输出者增加
sbit k2=P1^1;   //模拟量输出者减少
void delay(uint k)    //延时子函数
{
while(k--);
}
  
void key1()    //模拟输出值增加
{
if(k1==0)
{
delay(1000);
if(k1==0)
outdata++;
}
}
void key2()     //模拟输出值减少
{
if(k2==0)
{
delay(1000);
if(k2==0)
outdata--;
}
}
void ADCinshow(uchar dd)   //模拟量输入值显示
{
   P0=seg[dd/100];
   P2=tab[7];
   delay(8);
   P0=0xff;                             //显示消影
   P2=0xff;
   P0=seg[dd%100/10];
   P2=tab[6];
   delay(8);
   P0=0xff;
   P2=0xff;
   P0=seg[dd%10];
   P2=tab[5];
   delay(8);
   P0=0xff;
   P2=0xff;
}

void ADCoutshow(uchar k)    //模拟量输出值显示
{
P0=seg[k/100];
P2=tab[2];
delay(8);
P0=0xff;
P2=0xff;
P0=seg[k%100/10];
P2=tab[1];
delay(8);
P0=0xff;
P2=0xff;
P0=seg[k%10];
P2=tab[0];
delay(8);
P0=0xff;
P2=0xff;
}


8591c (1).rar

1.59 KB, 下载次数: 9, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表