www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文以銀行現(xiàn)有排隊(duì)系統(tǒng)為實(shí)例,提出了IIC總線的單片機(jī)排隊(duì)系統(tǒng)接口設(shè)計(jì),通過對(duì)系統(tǒng)的仿真模擬試驗(yàn),不僅簡(jiǎn)化設(shè)計(jì)電路,減小電路板面積,節(jié)省常規(guī)設(shè)計(jì)中的元器件,減少使用各項(xiàng)費(fèi)用,而且系統(tǒng)能耗、消噪、可靠性等性

本文以銀行現(xiàn)有排隊(duì)系統(tǒng)為實(shí)例,提出了IIC總線單片機(jī)排隊(duì)系統(tǒng)接口設(shè)計(jì),通過對(duì)系統(tǒng)的仿真模擬試驗(yàn),不僅簡(jiǎn)化設(shè)計(jì)電路,減小電路板面積,節(jié)省常規(guī)設(shè)計(jì)中的元器件,減少使用各項(xiàng)費(fèi)用,而且系統(tǒng)能耗、消噪、可靠性等性能得到提高,在MCS-51系列單片機(jī)不帶IIC總線接口組成的數(shù)據(jù)測(cè)控和智能儀表儀器中,可以通過IIC總線增加系統(tǒng)的接口器件種類,降低系統(tǒng)成本,提高應(yīng)用系統(tǒng)性能[1-3]。

1 IIC總線

IIC總線(Inter Integrate Circuit Bus)是一種雙向二線制總線,由串行時(shí)鐘線(SCL)與串行數(shù)據(jù)線(SDA)構(gòu)成,通過兩根線連接不同的具有IIC總線的器件,在不同的器件間傳送數(shù)據(jù),數(shù)據(jù)傳輸速率在高速模式最高可達(dá)3.4 Mb/s,既簡(jiǎn)化了電路設(shè)計(jì)又提高了硬件使用效率,使IIC總線在嵌入式系統(tǒng)串行傳輸設(shè)計(jì)中得到廣泛應(yīng)用,目前主要用于中央控制中心、音頻集成電路及視頻等數(shù)字控制系統(tǒng)。

1.1 IIC總線時(shí)序

(1)啟動(dòng)及停止

總線不忙時(shí),時(shí)鐘線和數(shù)據(jù)線保持為高電平。啟動(dòng)條件(S)是時(shí)鐘線在高電平而數(shù)據(jù)線為下降沿時(shí),停止條件(P)是時(shí)鐘線處于高電平而數(shù)據(jù)線為上升沿時(shí),IIC總線啟動(dòng)停止條件如圖1所示。

 

 

(2) 數(shù)據(jù)傳送

一個(gè)數(shù)據(jù)位的傳送需要一個(gè)時(shí)鐘脈沖,每1 B后加1個(gè)標(biāo)志位,由傳送器產(chǎn)生的標(biāo)志位為高電平時(shí),主設(shè)備會(huì)產(chǎn)生1個(gè)附加的標(biāo)志位時(shí)鐘脈沖。數(shù)據(jù)線SDA上信息只有時(shí)鐘脈沖為高電平時(shí)應(yīng)該保持?jǐn)?shù)據(jù)穩(wěn)定,否則數(shù)據(jù)線SDA上的數(shù)據(jù)會(huì)變?yōu)榭刂菩盘?hào),如圖2所示。

 

 

(3) IIC 總線協(xié)議

IIC總線進(jìn)行數(shù)據(jù)傳遞前,應(yīng)先標(biāo)明接收的設(shè)備地址。當(dāng)IIC總線啟動(dòng)后,一起傳送這個(gè)地址與第1個(gè)被傳送字節(jié)。

本系統(tǒng)中PCF8563 芯片作為一個(gè)從傳送器或從接收器,SCL信號(hào)線只是輸入線,SDA數(shù)據(jù)線為1條雙向的信號(hào)線。

1.2 芯片PCF8563概述

PCF8563是經(jīng)典低功耗實(shí)時(shí)時(shí)鐘/日歷芯片[4],具有IIC總線接口技術(shù),總線最大傳輸速度可達(dá)400 kb/s,每次寫讀數(shù)據(jù)后,內(nèi)部包含的字地址寄存器就會(huì)自動(dòng)遞增,具有功耗低、精度高等特點(diǎn)。PCF8563 具有定時(shí)器功能、多種報(bào)警功能、中斷輸出功能及時(shí)鐘輸出功能,可以完成多種定時(shí)服務(wù),還可為單片機(jī)系統(tǒng)實(shí)現(xiàn)看門狗技術(shù),其內(nèi)部的振蕩電路、時(shí)鐘電路、低電壓1.0 V檢測(cè)電路及IIC兩線制總線通訊方式,同時(shí)解決了2000年問題,不但使外圍電路及其簡(jiǎn)潔,而且也增加了芯片的可靠,可廣泛應(yīng)用于水表、電表、移動(dòng)電話、便攜儀器、傳真機(jī)、電池電源等產(chǎn)品領(lǐng)域中。

2 系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)需求分析

銀行服務(wù)大廳設(shè)有8個(gè)業(yè)務(wù)服務(wù)窗口,服務(wù)窗口屬性分為五類服務(wù)業(yè)務(wù)進(jìn)行描述,可以進(jìn)行個(gè)人理財(cái)業(yè)務(wù)、對(duì)公業(yè)務(wù)、VIP銀行卡業(yè)務(wù)、個(gè)人存取款儲(chǔ)蓄和代收手機(jī)費(fèi)、水電費(fèi)等混合業(yè)務(wù)。

排隊(duì)系統(tǒng)性能要求:服務(wù)大廳入口處擺放排隊(duì)機(jī),供儲(chǔ)戶按時(shí)間順序索取排隊(duì)編號(hào),打印編號(hào);服務(wù)窗口內(nèi)人員可以通過按鈕實(shí)現(xiàn)叫號(hào);叫號(hào)后在屏幕上顯示編號(hào)并通過揚(yáng)聲器連續(xù)兩次播放編號(hào)信息;工作人員通過后臺(tái)可以進(jìn)行排隊(duì)系統(tǒng)的相關(guān)(功能、模式、菜單等)設(shè)置。

2.2 系統(tǒng)硬件設(shè)計(jì)

單片機(jī)排隊(duì)系統(tǒng)由銀行柜臺(tái)操作模塊、存儲(chǔ)器模塊、柜臺(tái)叫號(hào)模塊、液晶顯示模塊、儲(chǔ)戶操作模塊組成,系統(tǒng)結(jié)構(gòu)如圖3所示。系統(tǒng)中IIC電路用于參數(shù)存儲(chǔ)器(E2PROM)和實(shí)時(shí)精確時(shí)鐘等接口的應(yīng)用[2]。

 

 

實(shí)時(shí)精確時(shí)鐘使用較低功耗的CMOS實(shí)時(shí)日歷/時(shí)鐘芯片,通過分頻器(用于提供源時(shí)鐘給實(shí)時(shí)時(shí)鐘RTC)、定時(shí)器、可編程時(shí)鐘輸出、掉電檢測(cè)器、報(bào)警器和IIC總線接口,來具體設(shè)置系統(tǒng)必需的精準(zhǔn)時(shí)鐘信號(hào)。所有的數(shù)據(jù)和地址通過IIC總線接口串行傳輸,每次寫讀數(shù)據(jù)后,字地址寄存器就會(huì)自動(dòng)遞增[5]。

參數(shù)存儲(chǔ)器(E2PROM)[6]使用較低功耗的CMOS串行IIC電路,通過片內(nèi)存儲(chǔ)空間,記錄柜臺(tái)操作和儲(chǔ)戶排隊(duì)等信息。其操作控制完全遵循IIC協(xié)議。

3 系統(tǒng)總線軟件模擬的實(shí)現(xiàn)方法

排隊(duì)系統(tǒng)原理圖如圖4所示,由P3.4、P3.3模擬串行總線的SDA端及SCL輸出端,構(gòu)成模擬的IIC串行總線系統(tǒng)??偩€功能的實(shí)現(xiàn)除了簡(jiǎn)單硬件連接,大部分功能通過軟件模擬來實(shí)現(xiàn),下面給出部分總線常用子程序,這些子程序通用性較好,基本適用于大部分IIC總線接口的芯片[2-3]。

 

 

3.1 總線啟動(dòng)、停止函數(shù)

void IIC_Start(void)
{
IIC_SCL=1;
IIC_Delay();
IIC_SDA=1;
IIC_Delay();
IIC_SDA=0;
IIC_Delay();
IIC_SCL=0;
IIC_Delay();
}
void IIC_Stop(void)
{
IIC_SDA=0;
IIC_Delay();
IIC_SCL=1;
IIC_Delay();
IIC_SDA=1;
IIC_Delay();
IIC_SCL=1;
IIC_Delay();
}

3.2 從IIC器件指定位置讀若干字節(jié)

bit RetBit;
unsigned char i;
IIC_Start(); /*啟動(dòng)總線*/
RetBit=IIC_Write_Byte(Device_Addr);
/*發(fā)送器件從地址*/ if(RetBit==0)
return(0);
RetBit=IIC_Write_Byte(Mem_Addr);
/*發(fā)送器件子地址*/ if(RetBit==0)
return(0);
IIC_Stop(); /*結(jié)束總線*/    IIC_Start(); /*重新啟動(dòng)總線*/
RetBit=IIC_Write_Byte(Device_Addr+1);
if(RetBit==0)
return(0);
for(i=0;i<Num-1;i++)
{
*DataPointer=IIC_Read_Byte(); /*接收數(shù)據(jù)*/
IIC_Ack(0); /*發(fā)送應(yīng)答位*/
DataPointer++;
}
*DataPointer=IIC_Read_Byte(); /*接收數(shù)據(jù)*/
IIC_Ack(1);
IIC_Stop(); /*結(jié)束總線*/
return(1);

3.3 向IIC發(fā)送1字節(jié)函數(shù)

bit Ack_Flag;
unsigned char i;
for(i=0;i<8;i++) /*要傳送的數(shù)據(jù)長(zhǎng)度為8位*/
{
IIC_SDA=(bit)((Data<<i)&0x80);
/*依次判斷待發(fā)送位高低*/
IIC_Delay();
IIC_SCL=1;
/*置時(shí)鐘線為高,通知E2PROM開始接收數(shù)據(jù)位*/
IIC_Delay();
IIC_SCL=0;
IIC_Delay();
}
IIC_SDA=1;
/*8位數(shù)據(jù)發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/
IIC_Delay();
IIC_SCL=1;
IIC_Delay();
if(IIC_SDA)
Ack_Flag=0; /* E2PROM無應(yīng)答*/    else
Ack_Flag=1; /*數(shù)據(jù)成功發(fā)送*/
IIC_SCL=0;
IIC_Delay();
return(Ack_Flag); /*返回E2PROM應(yīng)答標(biāo)志*/

3.4 系統(tǒng)仿真

經(jīng)過軟件分析后,即可利用keil c集成開發(fā)環(huán)境uVision2對(duì)用C語言編寫的程序進(jìn)行編譯、調(diào)試,通過JTAG口將編譯好的程序燒寫到單片機(jī)中,完成所需排隊(duì)功能。系統(tǒng)經(jīng)過仿真測(cè)試,得到銀行入口處擺放排隊(duì)機(jī)供儲(chǔ)戶索取排隊(duì)編號(hào),打印編號(hào);銀行柜臺(tái)內(nèi)工作人員通過按鈕可以實(shí)現(xiàn)叫號(hào);叫號(hào)后在大屏幕顯示上顯示并通過喇叭播放叫號(hào)信息;銀行工作人員可以通過后臺(tái)進(jìn)行系統(tǒng)的相關(guān)設(shè)置。

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

在電子設(shè)計(jì)開發(fā)中I2C大家已經(jīng)很熟悉了,每一種電子產(chǎn)品小到電子開關(guān),大到衛(wèi)星通信都會(huì)利用的I2C總線。據(jù)統(tǒng)計(jì)I2C在電子產(chǎn)品中占據(jù)了93%的份額,幾乎任何一種電路都要使用。

關(guān)鍵字: I2C總線

I2C總線是由Philips公司開發(fā)的一種簡(jiǎn)單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。I2C總線(Inter-Integrated Circuit)是一種同步半雙工串行通信總線,是P...

關(guān)鍵字: I2C總線 SDA

在電子通信領(lǐng)域,I2C(Inter-Integrated Circuit)總線作為一種廣泛應(yīng)用的串行通信協(xié)議,以其簡(jiǎn)單、高效的特點(diǎn),在微控制器、傳感器、存儲(chǔ)器等多種設(shè)備間建立了穩(wěn)定的連接。然而,I2C總線的穩(wěn)定工作離不開...

關(guān)鍵字: I2C總線 上拉電阻

隨著大數(shù)據(jù)和高速通信技術(shù)的飛速發(fā)展,數(shù)據(jù)傳輸對(duì)帶寬和效率的需求日益增加。傳統(tǒng)的并行接口因受限于時(shí)序同步、信號(hào)干擾及設(shè)計(jì)復(fù)雜度等問題,逐漸被高速串行接口所取代。其中,基于FPGA的8b/10b SERDES(Seriali...

關(guān)鍵字: FPGA SERDES 接口設(shè)計(jì)

在現(xiàn)代電子通信領(lǐng)域,IIC(Inter-Integrated Circuit),或稱I2C總線,以其簡(jiǎn)潔的線路設(shè)計(jì)、高效的通信效率和廣泛的應(yīng)用范圍,成為了連接微控制器、傳感器、存儲(chǔ)器等多種集成電路元件的橋梁。IIC總線通...

關(guān)鍵字: IIC總線 I2C 電子通信

Micro熱插拔技術(shù)作為現(xiàn)代電子設(shè)備中常見的一種接口設(shè)計(jì),其便捷性和靈活性得到了廣泛應(yīng)用。然而,關(guān)于Micro熱插拔是否需要斷電的問題,一直存在爭(zhēng)議。本文將詳細(xì)探討Micro熱插拔的原理、優(yōu)缺點(diǎn),以及在不同情況下是否需要...

關(guān)鍵字: Micro熱插拔技術(shù) 現(xiàn)代電子設(shè)備 接口設(shè)計(jì)

I2C(Inter-Integrated Circuit)總線是Philips公司推出的一種雙向二線制同步串行總線,僅用兩根線即可實(shí)現(xiàn)器件之間的數(shù)據(jù)傳送。目前很多芯片集成了I2C總線接口,如CYGNAL公司的C805IF...

關(guān)鍵字: I2C總線 引腳功能 時(shí)序

其一,是把系統(tǒng)所需的外設(shè)和單片機(jī)連接起來,使單片機(jī)系統(tǒng)能與外界進(jìn)行信息交換。如通過鍵盤、A/D 轉(zhuǎn)換器等外部設(shè)備向單片機(jī)送入數(shù)據(jù)、命令等有關(guān)信息,去控制單片機(jī)運(yùn)行;通過顯示器、發(fā)光二極管、打印機(jī)等設(shè)備把單片機(jī)處理的結(jié)果送...

關(guān)鍵字: 單片機(jī) 外部總線 接口設(shè)計(jì)

摘 要 :視頻監(jiān)控系統(tǒng)是計(jì)算機(jī)應(yīng)用中的重要領(lǐng)域之一。數(shù)字化攝像頭網(wǎng)絡(luò)化之后,監(jiān)控系統(tǒng)正在不斷引入新的功能,為使現(xiàn)有監(jiān)控系統(tǒng)能更好地應(yīng)對(duì)復(fù)雜環(huán)境,滿足不同監(jiān)控要求,就需要追加新功能,在系統(tǒng)架構(gòu)與設(shè)計(jì)上進(jìn)行調(diào)整。因此,如何將...

關(guān)鍵字: 智能監(jiān)控 系統(tǒng)架構(gòu) 模塊化設(shè)計(jì) 接口設(shè)計(jì) 數(shù)據(jù)傳輸 深度相機(jī)

來源:電子電路設(shè)計(jì)一、前言I2C總線是由Philips公司開發(fā)的一種簡(jiǎn)單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。二、I2C總線開發(fā)設(shè)計(jì)需要注意點(diǎn)1、總線容量及驅(qū)動(dòng)能力I2C總線的外圍...

關(guān)鍵字: I2C總線
關(guān)閉