日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]mega162具有以下特性:1. 雙USART; 2. 低能耗,工作電壓低; 3. 多個I/O可以當(dāng)作外部中斷,相比之下M16只有3個外部中斷可用。當(dāng)初選型mega162的時候是看中了它的雙USART的功

mega162具有以下特性:1. 雙USART; 2. 低能耗,工作電壓低; 3. 多個I/O可以當(dāng)作外部中斷,相比之下M16只有3個外部中斷可用。

當(dāng)初選型mega162的時候是看中了它的雙USART的功能;但是它卻沒集成A/D,當(dāng)想要擴(kuò)展A/D功能的時候,只有外部掛接A/D芯片了;這本不是AV先生的初衷,因為許多AVR 單片機(jī) 集成了A/D、EEPROM。

外部A/D芯片選用TI公司的TLC1543,這是一個11通道、10位的A/D,速度38ksps,應(yīng)用非常廣泛,下面是根據(jù)51BBS龍版主的C源碼轉(zhuǎn)嫁過來的。設(shè)計主要注意以下幾個方面:

1。AVR具有 1指令/時鐘周期的特性,同時又可以預(yù)取指令,提高了指令執(zhí)行速度(1Mips/MHz);傳統(tǒng)51是每 1指令/6個時鐘周期。使在同樣外部晶振的條件下,ADD和DEC的執(zhí)行時間,AVR比51快了6倍(這個可能不太嚴(yán)格,由于內(nèi)核構(gòu)架的不同),所以在用nop或者i++/i--做芯片時序延時的時候,要考慮時間是否夠。

2。AVR的端口是可設(shè)置方向的,相對于TLC為進(jìn)的端口,AVR要設(shè)置為出,反之亦然。

3。AVR的端口邏輯有專門的寄存器,比如PINA是PA口的寄存器,這個寄存器只讀,當(dāng)判斷AVR的端口電平高低的時候,只能訪問它。

下面是我的代碼:由于網(wǎng)頁原因,格式總靠左。本來我是參照“華為編程規(guī)范”做的。

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

*File Name: UPSSpyMain_AD.c -

*Description: 從TLC1543讀取采樣值,形參port是采樣的通道號 -

*Project: -

*MCU type: Mega162 7.3728mhz -

-

*Company: WY -

*Compiler: ICCAVR6.30 -

*MODIFY: 郭準(zhǔn) 06.3.19 -

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

#include

#include

#include

#include

#include

#include

#include

#include

//-----------------

#define uchar unsigned char

#define uint unsigned int

#define ulint unsigned long int

#define nop() NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();

//-----------------TLC1543 端口定義

#define CLOCK 0 //PORTC的0位

#define D_IN 1 //PORTC的1位

#define D_OUT 2 //PORTC的2位

#define _CS 3 //PORTC的3位

//-----------------端口電平變化的 定義

#define CLOCK_0 PORTC&=~(1<#define CLOCK_1 PORTC|=(1<

#define D_IN_0 PORTC&=~(1<#define D_IN_1 PORTC|=(1<

#define D_OUT_0 PORTC&=~(1<#define D_OUT_1 PORTC|=(1<

#define _CS_0 PORTC&=~(1<<_CS)

#define _CS_1 PORTC|=(1<<_CS)

//------------------------------------------------------

//功能:從TLC1543讀取采樣值

//入口:channel = 通道號 .0:0通道;1:1通道。。。。。。。

//出口:

//設(shè)計:郭準(zhǔn),偉業(yè),2006/3/19

//------------------------------------------------------

uint read1543(uchar channel)

{

uint ad;

uint i;

uchar al=0;

uchar ah=0;

//----------------端口方向

PORTC = 0xFF; //PC0,PC1,PC3推挽1輸出;PC2 I/O帶上拉電阻輸入

DDRC = 0xFB; //

CLOCK_0; //時鐘源初始為低

_CS_0; //片選為低,選中芯片

//---------------等待一個設(shè)置時間+兩個內(nèi)部系統(tǒng)時鐘的下降沿

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

{;}

//---------------把通道號打入1543

channel<<=4; //左移4位的作用是為了,下面高位比較方便

al=0;ah=0;

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

{

if((channel&0x80))

{

D_IN_1;

nop();

}

else

{

D_IN_0;

nop();

}

CLOCK_1; //時鐘的下降沿 鎖存數(shù)據(jù),地址移入

nop();

CLOCK_0;

channel<<=1;

}

//---------------//填充6個CLOCK

for (i=0;i<6;i++) //采樣一直持續(xù)6個 I/O CLOCK周期

{

CLOCK_1;

nop();

CLOCK_0;

nop();

}

nop();

//---------------//等待AD轉(zhuǎn)換

_CS_1;

for(i=0;i<12;i++) //多個單周期延時nop,微秒級延時

{

nop();

}

_CS_0;

nop();

//---------------//取D9,D8

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

{

// D_OUT_1;

ah<<=1;

CLOCK_1;

if (PINC&(1< {

ah|=0x01;

}

CLOCK_0;

}

//---------------//取D7--D0

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

{

al<<=1;

CLOCK_1;

if (PINC&(1< {

al|=0x01;

}

CLOCK_0;

}

_CS_1; // 關(guān)閉1543

//---------------//得到AD值

ad=(uint)ah;

ad<<=8;

ad|=al;

return (ad);

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉