STC89C52單片機UART AD DA測試實(shí)驗
實(shí)現功能: 調節實(shí)驗板上的標號為AD0的電位器改變電壓,通過(guò)PCF8591的采集,把
實(shí)驗板型號:KBL-XYD-C52
實(shí)驗名稱(chēng):
編寫(xiě)人:
編寫(xiě)日期:
///////////////////////////////////////////////////////////////////////////
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共陰數碼管1至F數字編碼
sbit duan=P2^6;
sbit wei=P2^7;
sbit sda=P2^0;
sbit scl=P2^1;
float fValue;
#define FOSC 11059200L
#define TIMS
uint cCount,cFlag=0;
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):毫秒延時(shí)函數
函數功能:實(shí)現毫秒級的延時(shí)
參數介紹:Delay_MS: 定義需要延時(shí)的毫秒的數值
返回值:
注意事項:本實(shí)驗是在所用晶振為12M的前提下實(shí)現的毫秒延時(shí),本函數是通過(guò)循環(huán)的形
///////////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):DelayUs
函數功能:延時(shí)幾個(gè)微秒(us),用來(lái)IIC總線(xiàn)延時(shí)
參數介紹:無(wú)
返回值:
注意事項:無(wú)
///////////////////////////////////////////////////////////////////////////
void DelayUs()
{;;}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Display_V
函數功能:把通過(guò)PCF8591采集到的數據,在單片機處理完之后,顯示在數碼管上
參數介紹:cBai:要顯示在第一個(gè)數碼管上的數字
返回值:
注意事項:注意實(shí)驗板上所要用到底的數碼管為共陰極的數碼管
///////////////////////////////////////////////////////////////////////////
void
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Init_IIC
函數功能:完成對IIC總線(xiàn)數據線(xiàn)時(shí)鐘線(xiàn)初始化
參數介紹:無(wú)
返回值:
注意事項:無(wú)
///////////////////////////////////////////////////////////////////////////
void Init_IIC()
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Start_IIC
函數功能:IIC總線(xiàn)的開(kāi)始條件
參數介紹:無(wú)
返回值:
注意事項:具體請參考相關(guān)的文檔
///////////////////////////////////////////////////////////////////////////
void Start_IIC()//開(kāi)始條件
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Stop_IIC
函數功能:IIC總線(xiàn)的終止條件
參數介紹:無(wú)
返回值:
注意事項:具體請參考相關(guān)的文檔
///////////////////////////////////////////////////////////////////////////
void Stop_IIC()
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Response_IIC
函數功能:IIC總線(xiàn)的應答條件
參數介紹:cNumber: 定義一個(gè)延時(shí)的變量
返回值:
注意事項:具體請參考相關(guān)的文檔
///////////////////////////////////////////////////////////////////////////
void Response_IIC()//
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Write_byte
函數功能:通過(guò)IIC總線(xiàn)向PCF8591寫(xiě)入一個(gè)字節
參數介紹:cData:要寫(xiě)入的字節的值
返回值:
注意事項:具體請參考相關(guān)IIC文檔
///////////////////////////////////////////////////////////////////////////
void Write_byte(uchar cData)
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Read_byte
函數功能:通過(guò)IIC總線(xiàn),從器件里讀取一個(gè)字節,因為必須是一位一位讀,所以需要
參數介紹:cNumber:for句用到的循環(huán)變量
返回值:
注意事項:請參考相應的文檔
///////////////////////////////////////////////////////////////////////////
uchar Read_byte()
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Read_channel
函數功能:選取PCF8591的AD輸入通道,然后再讀出采集到數值,即電壓值
參數介紹:無(wú)
返回值:
注意事項:無(wú)
///////////////////////////////////////////////////////////////////////////
uchar Read_channel(uchar cChannel)//PCF通道選擇函數
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Write_Data
函數功能:把要寫(xiě)入的數據寫(xiě)入PCF8591,讓其開(kāi)始轉換,然后輸出相應的模擬值
參數介紹:cData:要寫(xiě)入PCF8591的數據
返回值:
注意事項:無(wú)
///////////////////////////////////////////////////////////////////////////
void Write_Data(uchar cData)
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):Init_UART
函數功能:設定UART的波特率,配置定時(shí)器0每一毫秒鐘中斷一次,打開(kāi)相應的中斷
參數介紹:無(wú)
返回值:
注意事項:無(wú)
///////////////////////////////////////////////////////////////////////////
void Init_UART()
{
}
///////////////////////////////////////////////////////////////////////////
函數名稱(chēng):main
函數功能:完成對采集到的電壓值的處理,然后顯示到前三個(gè)數碼管上,把采集到的
參數介紹:cBai:因為把數分離,才能顯示到數碼管上,作為分離后顯示在第一個(gè)數
返回值:
注意事項:無(wú)
///////////////////////////////////////////////////////////////////////////
void main()
{
}
void Timer0_Routine() interrupt 1
{
}
評論