娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

簡介:本程序在實驗板ATMEGA16上測試通過,在示波器把SCL,SDA信號線有數據,移值到自己電路上可以放心使用,在ATMEGA32上一樣使用,本人24C02的A2,A1,A0都是接地,若地址不一樣,在程序相應位置改一下就可以,串口上調試單片機的基礎,所以它一定要會用。


#include

#include "I2C.h"

#include "1602.h"

#include "delay.h"


/*通過AVR往IIC寫數據,并通過串口把數據讀出顯示出來*/

//===============================================================

void uart_init(void) //UART初始化

{ DDRD = 0x02;

PORTD = 0x00;


UCSRA = 0x02; /*無倍速*/

UCSRB = 0x18; /*允許接收和發送*/

UCSRC = 0x06; /*8位數據,1位停止位,無校驗*/

UBRRH = 0x00;

UBRRL = 12; /*9600*/


}



//===============================================================

void USART_TXD(float data) //發送采用查詢方式

{

while( !(UCSRA & BIT(UDRE)) );

UDR=data;

while( !(UCSRA & BIT(TXC )) );

UCSRA|=BIT(TXC);

}



void main(void)


{

unsigned char i;

//LCD_init();


uart_init();//TART初始化

SEI(); //全局中斷使能


while(1)

{/*

I2C_Write('n',0x00);

I2C_Write('c',0x01);

I2C_Write('e',0x02);

I2C_Write('p',0x03);

I2C_Write('u',0x04);

*/

i=I2C_Read(0x00);

//LCD_write_char(0,0,i);

USART_TXD(i);

i=I2C_Read(0x01);

//LCD_write_data(i);

USART_TXD(i);

i=I2C_Read(0x02);

//LCD_write_data(i);

USART_TXD(i);

i=I2C_Read(0x03);

//LCD_write_data(i);

USART_TXD(i);

i=I2C_Read(0x04);

//LCD_write_data(i);

USART_TXD(i);


}


}


/*上面上主函數部分*/


#include

#include "delay.h"


//I2C 狀態定義

//MT 主方式傳輸 MR 主方式接受

#define START 0x08

#define RE_START 0x10

#define MT_SLA_ACK 0x18

#define MT_SLA_NOACK 0x20

#define MT_DATA_ACK 0x28

#define MT_DATA_NOACK 0x30

#define MR_SLA_ACK 0x40

#define MR_SLA_NOACK 0x48

#define MR_DATA_ACK 0x50

#define MR_DATA_NOACK 0x58


#define RD_DEVICE_ADDR 0xA1 //前4位器件固定,后三位看連線,最后1位是讀寫指令位

#define WD_DEVICE_ADDR 0xA0


//常用TWI操作(主模式寫和讀)

#define Start() (TWCR=(1<#define Stop() (TWCR=(1<#define Wait() {while(!(TWCR&(1<#define TestAck() (TWSR&0xf8) //觀察返回狀態

#define SetAck (TWCR|=(1<#define SetNoAck (TWCR&=~(1<#define Twi() (TWCR=(1<#define Write8Bit(x) {TWDR=(x);TWCR=(1<

unsigned char I2C_Write(unsigned char Wdata,unsigned char RegAddress);

unsigned char I2C_Read(unsigned RegAddress);


/*********************************************

I2C總線寫一個字節

返回0:寫成功

返回1:寫失敗

**********************************************/

unsigned char I2C_Write(unsigned char Wdata,unsigned char RegAddress)

{


Start(); //I2C啟動

Wait();

if(TestAck()!=START)

return 1; //ACK


Write8Bit(WD_DEVICE_ADDR); //寫I2C從器件地址和寫方式

Wait();

if(TestAck()!=MT_SLA_ACK)

return 1; //ACK


Write8Bit(RegAddress); //寫器件相應寄存器地址

Wait();

if(TestAck()!=MT_DATA_ACK)

return 1; //ACK


Write8Bit(Wdata); //寫數據到器件相應寄存器

Wait();

if(TestAck()!=MT_DATA_ACK)

return 1; //ACK


Stop(); //I2C停止

delay_nms(10); //延時

return 0;

}


/*********************************************

I2C總線讀一個字節

返回0:讀成功

返回1:讀失敗

**********************************************/


unsigned char I2C_Read(unsigned RegAddress)


{

unsigned char temp;

Start();//I2C啟動

Wait();

if (TestAck()!=START)

return 1; //ACK


Write8Bit(WD_DEVICE_ADDR); //寫I2C從器件地址和寫方式

Wait();

if (TestAck()!=MT_SLA_ACK)

return 1; //ACK


Write8Bit(RegAddress); //寫器件相應寄存器地址

Wait();

if (TestAck()!=MT_DATA_ACK)

return 1;


Start(); //I2C重新啟動

Wait();

if (TestAck()!=RE_START)

return 1;


Write8Bit(RD_DEVICE_ADDR); //寫I2C從器件地址和讀方式

Wait();

if(TestAck()!=MR_SLA_ACK)

return 1; //ACK


Twi(); //啟動主I2C讀方式

Wait();

if(TestAck()!=MR_DATA_NOACK)

return 1; //ACK


temp=TWDR;//讀取I2C接收數據

Stop();//I2C停止

return temp;

}


/*以上是IIC.h頭文件部分,需要對照技術文檔好好研究*/


*-----------------------------------------------------------------------

延時函數

編譯器:ICC-AVR v6.31A 日期: 2005-11-24 20:29:57

目標芯片 : M16

時鐘: 8.0000Mhz

作者:archeng504

-----------------------------------------------------------------------*/

#ifndef __delay_h

#define __delay_h

void delay_nus(unsigned int n);

void delay_nms(unsigned int n);

void delay_1us(void);

void delay_1ms(void) ;


void delay_1us(void) //1us延時函數

{

asm("nop");

}


void delay_nus(unsigned int n) //N us延時函數

{

unsigned int i=0;

for (i=0;idelay_1us();

}


void delay_1ms(void) //1ms延時函數

{

unsigned int i;

for (i=0;i<1140;i++);

}


void delay_nms(unsigned int n) //N ms延時函數

{

unsigned int i=0;

for (i=0;idelay_1ms();

}


#endif

/*以上是delay.h部分,再加上IIC中自帶的iom16v.h 和macros.h就可以編譯通過*/


/*注意點:本程序在實驗板ATMEGA16上測試通過,在示波器把SCL,SDA信號線有數據,移值到自己電路上可以放心使用,在ATMEGA32上一樣使用,本人24C02的A2,A1,A0都是接地,若地址不一樣,在程序相應位置改一下就可以,串口上調試單片機的基礎,所以它一定要會用*/


/*本程序調試軟件環境是ICC6.31*/

關鍵字:ATmega16  讀寫iic  24c02 引用地址:ATmega16讀寫iic(24c02) C語言程序測試通過

上一篇:基于電動車鋰電池組保護電路的設計方案
下一篇:一種數控低壓大電流脈沖電源設計方案

推薦閱讀

2017年毫無疑問是智能手機行業的轉折年,大家普遍感覺手機變貴了,牌子也變少了,但具體情況卻說不出所以然來,也不知道自己感覺是對是錯,不過現在國家權威機構的統計數據出來了!據工信部旗下的中國信息通信研究院發布了《2017年國內手機市場運行情況及發展趨勢分析》,列出了2017年國內手機市場的各項變化與具體數據。《分析》統計,2017年國內市場出貨...
深圳和上海,2019年1月18日BISTel是智能制造的自適應智能(AI)解決方案的領先供應商,它已加入MindSphere合作伙伴計劃,西門子的工業物聯網解決方案和技術提供商合作伙伴計劃。預計BISTel應用程序將在MindSphere平臺Q1 2019上提供.BISTel將通過宣布推動中國智能制造業增長的新型人工智能產品,討論該公告的重要性以及如何幫助其擴展在中國的業務。 1月18...
福祿克網絡(Fluke Networks) 推出 FI-3000 FiberInspector? Ultra,高效、完備的光纖端面檢測顯微儀。該方案能夠幫助光纖技術人員查找幾乎任何光纖連接端面上的污染,這是常見的光纖故障根源。使用 FI-3000 的技術人員可以利用手機或 Versiv 布線認證系統即時查看光纖端面的實時視圖,并利用手勢操作放大單根光纖,或在短短幾秒鐘內完成“合格...
在嵌入式世界大會2021上,恩智浦(NXP)發布了先進的i.MX 9應用處理器,該處理器在工業和物聯網邊緣的安全性,能效和可擴展性方面具有改進的性能。對其產品組合的更新通過集成EdgeLock安全區域來增強邊緣處理器的安全性,EdgeLock安全區域是一個獨立的,自我管理的芯片上的安全子系統,可簡化尖端安全技術的部署。在與EEWeb的采訪中,恩智浦邊緣處理業務...

史海拾趣

問答坊 | AI 解惑

DC/DC變換器與DC/AC逆變器連接問題的研究

DC/DC變換器與DC/AC逆變器連接問題的研究   隨著各種各樣的逆變電源的應用越來越廣泛,對逆變器的研究也日益深入。目前,應用最多的為輸出工頻220V的逆變器,它廣泛應用在各種不間斷電源(UPS)、小型太陽能逆變電源及通訊用逆變電源中。 ...…

查看全部問答∨

WM輸入法的問題,能不能把拼音輸入刪掉或者進入編輯框是默認是英文

總是默認拼音,搞的很郁悶,我只用字母和數字,不打漢字 。。 …

查看全部問答∨

我用UE-PA15CC(USB轉并口線)下載bootloader沒反應

我連接上線,然后安裝驅動。 然后運行vivi.bat,之后就出現error:unable to find a parallel port 我在我的“設備管理器”里面中的“端口”沒有出現并口端口,不過我看了它出現在“通用串行總線控制器”有多出了一個“USB printing support”…

查看全部問答∨

找USB驅動開發和簡單硬件開發的硬件人員

各位,我正在做一個項目,需要有經驗的您參與: (1)USB驅動開發。 (2)普通電話機硬件。 (3)地點:上海 需要有豐富經驗,酬金面談,您如果需要掙外快,請和我聯系:13818802872。 …

查看全部問答∨

預編譯處理/程序格式命名

預編譯處理/程序格式命名 2010-05-03 13:11 第九章  c/c++編譯預處理 一、文件包含#include <頭文件名稱>#include "頭文件名稱" 第一種形式 : 用來包含開發環境提供的庫頭文件,它指示編譯預處理器在開發環境設定的搜索路 ...…

查看全部問答∨

太陽能電池的一些資料(整理)

先是發一些論文,論文列表如下: RTP硅太陽電池的研究進展.CAJ單晶硅太陽電池納米減反射膜的研究.CAJ多孔硅在多晶Si太陽電池中的應用研究.CAJ多孔硅的光電性質及在太陽能電池中的應用.KDH太陽電池減反射膜設計與分析.CAJ太陽電池新進展.CAJ太陽電 ...…

查看全部問答∨

51增強型板子

手里一塊stc12c5a60s2增強型51單片機,資料顯示為1T的,定時器里面可以設置它為12T或1T,我現在有個疑問,這個單片機別的時候就都是按照1T運行的嗎?我程序里面對延時稍有要求,希望大蝦們不吝賜教!…

查看全部問答∨

max3232防護

max3232需要用TVS管進行防護,那tvs管應該選多大的? Input voltage range, VI: Drivers …………………………………… −0.3 V to 6 V                    Receivers ……… ...…

查看全部問答∨

手機PCB設計指南

天線的設計   1, PIFA雙頻天線高度≥7mm,面積≥600mm2,有效容積≥5000mm3 PIFA 2, 三頻天線高度≥7.5mm,面積≥700mm2,有效容積≥5500mm3 3, PIFA天線與連接器之間的壓緊材料必須采用白色EVA(強度高/吸波少) 4, 圓形外置天 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 井陉县| 乌拉特中旗| 绥宁县| 松阳县| 建始县| 通许县| 德安县| 唐河县| 中卫市| 绍兴市| 清远市| 都江堰市| 和林格尔县| 本溪市| 荣成市| 苍溪县| 彰化县| 嘉兴市| 诏安县| 陕西省| 榕江县| 吉木萨尔县| 邵武市| 丰宁| 大关县| 泾阳县| 小金县| 通山县| 金门县| 和静县| 河源市| 雅安市| 吉水县| 沅江市| 溧阳市| 嘉义县| 满城县| 富顺县| 温州市| 稻城县| 陇川县|