📄 main.c
字号:
#include <iom128v.h>
#include<macros.h>
#include "delay.h"
#include "7705.h"
#include "KeyScay.h"
#include "lcd.h"
/****************************************************************************/
//功能: AD7705使用
//输入: 无
//输出: 无
//备注:
/****************************************************************************/
/***************************全局变量声明*************************************/
uint vol16bit=0;
uchar test1[]=" AD7705TEST ";
uint vint=0;
float voltemp=0;
uchar flag=0;
//void int0_isr(void);
/****************************************************************************/
//函数名: ad7705()
//功能: 实现模数转换
//输入: chan(通道)
//输出: adc16(经ADC转换后的16位2进制数)
//备注:
/****************************************************************************/
//unsigned int ad7705(unsigned char chan)
//{ unsigned int adc16=0;
//init_adc7705();
//adc16=read_adc7705(0);
//return(adc16);
//}
/****************************************************************************/
//函数名: main(void)
//功能: 主函数
//输入: 无
//输出: 无
//备注:
/****************************************************************************/
void main(void)
{
uchar tongdao=0x00;
uchar key_vale;
DDRF=0xF3;
PORTF=0xFF;
DDRD=0xf7; //PD0为输入,与键盘的所有行线连接,采用键盘中断查询法
MCUCR=0x30; //打开SE和SM1,允许sleep和power_down模式
EIMSK=0x01; //允许外部中断INT0,低电平触发中断
LCD_init();
LCD_DisplayString(1,1,test1);
while(1)
{
CLI();
SEI();
asm("sleep"); //进入sleep模式
if(flag=1)
{
key_vale=key_scay();
if(key_vale==10)
{
vol16bit=ad7705(tongdao);
voltemp=(vol16bit/65535.0)*2500;
vint=(int)voltemp;
LCD_DisplayInt(2,5,vint);
delay_nms(1);
}
}
}
}
//功能:键盘中断扫描程序,外部0中断
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
EIMSK=0x00; //禁止外部中断
flag=1;
EIMSK=0x01; //允许外部中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -