📄 max187.c
字号:
// 程序调试成功 7/19
#include<reg51.h>
#include<absacc.h>
#define COM_8279 XBYTE[0X3FFF]
#define DAT_8279 XBYTE[0X3FFE]
#define DAC0832 XBYTE[0X7fff]
#define uchar unsigned char
#define uint unsigned int
//sbit SDI_536=p1^0;
//sbit SCK=p1^1;
sbit clflag=ACC^7;
sbit CS_187=P1^4;
sbit SDO_187=P1^5;
sbit SCK_187=P1^3;
uchar anjian;
uint ad_value=0,gain_value=10;
uchar diss[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //显示数组
uchar display[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar t; // 为按键判断出在display[t]中的位置
uchar gainh,gainl,flag_gi=0,flag_gainh,flag_gainl;
void delay()
{
uint i;
for(i=0;i<30000;i++)
;
}
void max187()
{
uchar i=0,t=0;
CS_187=0;
for(i=0;i<9;i++) //延时8.5uS,等待转换结束
{;}
SCK_187=1;
SCK_187=0;
//开始读数据
for(i=0;i<12;i++)
{
SDO_187=1;
SCK_187=1;
t=SDO_187;
if(t==1)
ad_value=ad_value|0x0001;
SCK_187=0;
if(i<11)
ad_value<<=1;
}
i=i;
i=i;
i=i;
CS_187=1;
}
void disp() //显示函数
{
uchar i,m=0;
COM_8279=0x90;
for(i=0;i<8;i++) //写显示 8位 RAM
{
COM_8279=i+0x90;
DAT_8279=diss[m];
m++;
if(m>7)
m=0;
}
}
void init()
{
//其他初始化待定
EA=1;
EX1=1;
COM_8279=0xd1; //总清除命令
do
{
ACC=COM_8279;
}while(clflag==1); //等待清除
COM_8279=0x00; //显示方式:8 位,左入口;键盘方式:编码扫描键盘,双键锁定
COM_8279=0x3f; //分频次数31 ,8279工作频率在100KHz左右
COM_8279=0xb0; // 显示RAM 恢复显示
}
/*
uchar deky(void) //判断FIFO有键按下函数
{
uchar k;
k=COM_8279; //读入 8279 状态字
return(k&0x0f); // 非0有键按下
} */
/*
void jianzhi(uchar h) // 键盘值判断,在数组display[t]选择对应的段码值
{
if(h==0)
t=0;
else if(h==1)
t=1;
else if(h==2)
t=2;
else if(h==3)
t=3;
else if(h==8)
t=4;
else if(h==9)
t=5;
else if(h==10)
t=6;
else if(h==11)
t=7;
else if(h==16)
t=8;
else if(h==17)
t=9;
}
void int1() interrupt 2 //键盘中断处理函数
{
uchar i;
while(deky()==0) //判断FIFO有键按否,若无则等待
{;}
COM_8279=0x40; //读FIFO RAM 命令
i=DAT_8279; //取键盘数据低6位
i=i&0x3f;
anjian=i; //把按键值赋给 anjian (是FIFO中低6位的值)
jianzhi(anjian);
}*/
void main()
{
uint adzhi=0;
uchar i=0,m;
init();
while(1)
{
max187();
adzhi=ad_value;
for(i=0;i<8;i++)
{
m=adzhi%10;
adzhi=adzhi/10;
diss[i]=display[m];
}
disp();
ad_value=0;
delay();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -