• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::


Browsing this Thread:   1 Anonymous Users






Re: 各位高手我把程式pO上來了~~~指點中
#3
高級會員
高級會員


查看用戶資訊
Hello,

temp宣告為local variable好像沒什幫助。
union及struct用在A/D讀值的擷取,你可以參考TAIWAN MICROCHIP的範例程式!

發表於: 2007/4/25 11:32
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 各位高手我把程式pO上來了~~~指點中
#2
初級會員
初級會員


查看用戶資訊
下面這段程式結果儲存有問題,不應該使用char
再者.....依你程式正確應該是要存在這個地方

AD_Int.AD_10bit= ADRESH*256+ ADRESL;



/***********************************
Convert A/D Channel
************************************/

void A2D( unsigned char channel )
{
unsigned char temp; // Temp storage

ADGO = 1; //啟動一次A/D轉換
while (ADGO==1) ; // 等待AD轉換完成

temp = ADRESH*256+ ADRESL;
}

發表於: 2007/4/24 18:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


各位高手我把程式pO上來了~~~指點中
#1
高級會員
高級會員


查看用戶資訊
各位高高手我把我的程式都PO上來 想問為何無法顯示 我將電壓輸入經由A/D轉換顯示在LCD

#include <pic.h> // processor if/def file
#include "cnfig877a.h"
#include "mid_lcd.h"
unsigned char i ;
//================================
//////// A/D延遲 /////////////////////////////
void ADdelay(unsigned char i)
{
while(i--);
}
//**********************************
//* Function Prototype Declaration
//**********************************
void Init_IO(void);
void Init_Adc( void );
void A2D( unsigned char );
void LCD_ItoA(unsigned int);
unsigned char Set_BCD_ASCII(unsigned char);

__CONFIG ( HS_OSC & BODEN_ON & WDT_OFF & CP_OFF & LVP_OFF & DEBUG_ON );

const char LCD_Msg1[]=" Voltage: ";
const char LCD_Msg2[]=" MSB: LSB: ";

unsigned int AD_Temp;
bit DS_Zero_Flag;

union {
int AD_10bit;
struct
{
char AD_LSB;
char AD_MSB;
}
AD_Byte;
}
AD_Int;
/*****************************
INITIALIZE I/O PORT
*****************************/

void Init_IO(void)
{
TRISA0=1; // Set RA0 for input
}
/*****************************************
Initialize A/D & Comparator Module
******************************************/

void Init_Adc( void )
{
ADCON1=0b00001110; // AN0 is A/D input
ADFM=1; // Right justified
ADCON0=0b10000001; // Selext CH0 , A/D on
ADdelay(2); //delay20us

}

/***********************************
Convert A/D Channel
************************************/

void A2D( unsigned char channel )
{
unsigned char temp; // Temp storage

ADGO = 1; //啟動一次A/D轉換
while (ADGO==1) ; // 等待AD轉換完成

temp = ADRESH*256+ ADRESL;
}
//***************************************
//* Program Main ( ) *
//***************************************
void main(void)
{
Init_IO();
Init_Adc();
OpenLCD();
LCD_Set_Cursor(0,0);
putrsLCD(LCD_Msg1);


while(1)
{
A2D(0x00); // Get 10-bit A/D result from CH0
LCD_Set_Cursor(7,0);
LCD_ItoA(AD_Int.AD_10bit);

}

}

void LCD_ItoA(unsigned int AD_Data)
{
AD_Temp=AD_Data;
DS_Zero_Flag=1;

putcLCD(Set_BCD_ASCII(AD_Data/1000));// 顯示千位數
AD_Temp=AD_Temp%1000; // 取出百位以後的數

putcLCD(Set_BCD_ASCII(AD_Temp/100));// 顯示百位數
AD_Temp=AD_Temp%100;

putcLCD(Set_BCD_ASCII(AD_Temp/10)); // 顯示十位數
AD_Temp=AD_Temp%10;

putcLCD(AD_Temp+='0'); // 顯示個位數
}

unsigned char Set_BCD_ASCII(unsigned char BCD_Data)
{
if (BCD_Data==0)
{
if (DS_Zero_Flag) return ' '; // 居先零抑制
else return '0'; // 顯示一般的零
}
else
{
DS_Zero_Flag=0; // 取消居先零的抑制
return (BCD_Data +='0');// 並傳回 ASCII Code
}
}




發表於: 2007/4/24 11:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------