da1621+51單片機仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (13.68 KB, 下載次數: 61)
下載附件
2019-12-9 01:36 上傳
單片機源程序如下:
- #include <ds1621.h>
- void DelayMS(uint ms)
- {
- uchar i;
- while(ms--)
- {
- for(i=0;i<120;i++);
- }
- }
- //寫
- void Master(uchar slave_addr)
- {
-
-
-
-
- if(!SCL || !SDA) //sda == 0或scl== 0;
- {}
- else
- {
- SDA = 0;
- _nop_();
- _nop_();
- SCL = 0;
- _nop_();
- _nop_();
- write_onebyte_iic(slave_addr);
- }
- }
- void SetTemp(uchar HI,uchar LO)
- {
- Master(0x90);
- write_onebyte_iic(0xa1);
- write_onebyte_iic(HI);
- SendStop();
- DelayMS(10);
- Master(0x90);
- write_onebyte_iic(0xa2);
- write_onebyte_iic(LO);
- SendStop();
- }
- void StartConversion()
- {
- Master(0x90);
- write_onebyte_iic(0xee);
- SendStop();
- DelayMS(750);
- }
- void StopConversion()
- {
- Master(0x90);
- write_onebyte_iic(0x22);
- SendStop();
- DelayMS(750);
- }
- //讀溫度
- uint ReadTemp()
- {
- uint d;
- Master(0x90);
- write_onebyte_iic(0xaa);
- SendStop();
- Master(0x91);
- d = read_onebyte_iic(0);
- point = read_onebyte_iic(1)>>7;
- SendStop();
- return d;
- }
- void WriteConfig(uchar c)
- {
- Master(0x90);
- write_onebyte_iic(0xac);
- write_onebyte_iic(c);
- SendStop();
- }
復制代碼
所有資料51hei提供下載:
ds1621.rar
(844.52 KB, 下載次數: 24)
2019-12-7 20:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|