|
#include <reg52.h>
#include "i2c.h"
#include "delay.h"
#include "display.h"
#define AddWr 0x90 //寫數據地址
#define AddRd 0x91 //讀數據地址
extern bit ack;
bit WriteDAC(unsigned char dat);
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
unsigned char num=0;
Init_Timer0();
while (1) //主循環
{
WriteDAC(num);
num++;//連續累加,值從0-255反復循環,并顯示在數碼管上,
TempData[0]=dofly_DuanMa[num/100];
TempData[1]=dofly_DuanMa[(num%100)/10];
TempData[2]=dofly_DuanMa[(num%100)%10];
DelayMs(100);
}
}
/*------------------------------------------------
寫入DA轉換數值
輸入參數:dat 表示需要轉換的DA數值,范圍是0-255
------------------------------------------------*/
bit WriteDAC(unsigned char dat)
{
Start_I2c(); //啟動總線
SendByte(AddWr); //發送器件地址
if(ack==0)return(0);
SendByte(0x40); //發送器件子地址
if(ack==0)return(0);
SendByte(dat); //發送數據
if(ack==0)return(0);
Stop_I2c();
}
其他在附件
|
|