?? 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 + -