藍橋杯微控制器ctd107 ds13020
比賽時官方提供用驅動函式,但是不能直接使用,需要修改相應的.c和.**件,
第一步:修改包含的標頭檔案
將.c檔案包含的標頭檔案 #include 和 #include 改為 #include 「ds1302.h」
在.**件新增 #include 「common.h」
第二步:新增內容 寫位址和讀位址,初始化時間
uint8 write_addr=; //寫時分秒
uint8 read_addr=; //讀時分秒
uint8 time[3]=; //初始化時間
第三步:寫ds1302_init() 和 ds1302_readtime()
void ds1302_init()
write_ds1302(0x8e, 0x80); //開啟寫保護
}void ds1302_readtime()
}
以下為完整的.**件
#ifndef __ds1302_h
#define __ds1302_h
#include "common.h"
extern uint8 time[3];
void write_ds1302_byte(unsigned char temp);
void write_ds1302( unsigned char address,unsigned char dat );
unsigned char read_ds1302 ( unsigned char address );
void ds1302_init();
void ds1302_readtime();
#endif
以下為完整的.c檔案
#include "ds1302.h"
sbit sck=p1^7;
sbit sda=p2^3;
sbit rst = p1^3;
//以下為自己新增部分
uint8 write_addr=;
uint8 read_addr=;
uint8 time[3]=;
void ds1302_init()
write_ds1302(0x8e, 0x80);
}void ds1302_readtime()
}//以上為自己新增部分
void write_ds1302_byte(unsigned char temp)
}
void write_ds1302( unsigned char address,unsigned char dat )
unsigned char read_ds1302 ( unsigned char address )
rst=0;
_nop_();
rst=0;
sck=0;
_nop_();
sck=1;
_nop_();
sda=0;
_nop_();
sda=1;
_nop_();
return (temp);
}
工程模板: 藍橋杯微控制器CT107D ds18b20驅動
藍橋杯微控制器ctd107 ds18b20 比賽時官方提供用驅動函式,但是不完整,需要修改相應的.c和.件,第一步 修改單匯流排延時函式,只需要在延時函式中新增一行即可 void delay onewire unsigned int t 第二步 修改.件,將 include reg52.h 改為 i...
藍橋杯微控制器CT107D ADC
adc轉換需要寫入pcf8591三個位元組 1 0x90,器件位址及寫控制位 2 0x01光敏電阻 0x03電位器 選擇輸入控制位 3 0x91,器件位址及讀控制位 固定位址部分為 1001 可程式設計位址部分為a2 a1 a0為 000 位址 讀 1001 0001 即 0x91 位址 寫 100...
藍橋杯微控制器CT107D 底層驅動基礎
這兩個 檔案是其他底層驅動 的基礎 包含了控制138573 間接控制數碼管led和蜂鳴器等 delay延時函式 ct107開發板上點初始化 基礎 ct107.h 標頭檔案 ifndef ct107 h define ct107 h include define uint unsigned int d...