freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)串口通信設(shè)計(jì)方案(編輯修改稿)

2025-05-22 13:37 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2所示:表2 P3口的第二功能:端 口 引 腳 第 二 功 能 RXD (串行輸入口) TXD (串行輸出口) (外中斷0)P33 (外中斷1) T0 (定時(shí)/計(jì)數(shù)器0) T1 (定時(shí)/計(jì)數(shù)器1) (外部數(shù)據(jù)存儲(chǔ)器寫選通) (外部數(shù)據(jù)存儲(chǔ)器讀選通) (3) 時(shí)鐘引腳XTAL1(19):振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2(18):振蕩器放大器的輸出端。(4)控制線引腳RST(9):復(fù)位輸入端。此引腳出現(xiàn)至少兩個(gè)機(jī)器周期的高電平,將單片機(jī)復(fù)位。ALE/(30):地址鎖存/編程脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳用于輸入編程脈沖。(29):外部ROM讀選通信號(hào)。當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的信號(hào)不出現(xiàn)。/VPP(31):內(nèi)、外ROM選擇/編程電源。為片內(nèi)外ROM選擇端。當(dāng)保持高電平時(shí),先訪問(wèn)片內(nèi)ROM,當(dāng)PC的值超過(guò)4KB時(shí),自動(dòng)轉(zhuǎn)向執(zhí)行片外ROM中的程序。當(dāng)保持低電平時(shí),只訪問(wèn)片內(nèi)ROM。在Flash存儲(chǔ)器編程期間,該引腳用于施加編程電壓Vpp[13]。 LCD1602液晶顯示器模塊1602是一款常用的字符型液晶,可顯示2行16個(gè)字符。1602液晶模塊帶標(biāo)準(zhǔn)字庫(kù),內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)57點(diǎn)陣字符圖形,32個(gè)510點(diǎn)陣字符圖形。這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等。每一個(gè)字符都有一個(gè)固定的代碼,這個(gè)代碼就是對(duì)應(yīng)字符的ASCⅡ碼。比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí),只要將41H存入顯示數(shù)據(jù)存儲(chǔ)器DDRAM即可,液晶自動(dòng)將地址41H中的中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。1602采用標(biāo)準(zhǔn)的16引腳接口,其功能如表3所示。其中8位數(shù)據(jù)總線D0D7和RS、R/W、EN三個(gè)控制端口,個(gè)分解時(shí)序操作速度支持到1MHz,并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光。當(dāng)RS和RW同時(shí)為低電平時(shí),可以寫入指令或顯示地址;當(dāng)RS為低電平,RW為高電平時(shí),可以讀忙信號(hào);當(dāng)RS為高電平,RW為低電平時(shí),可以寫入數(shù)據(jù)。1602LCD主要技術(shù)參數(shù):顯示容量:162個(gè)字符、芯片工作電壓:—、工作電流:()、模塊最佳工作電壓:、字符尺寸:(WH)mm。 1602引腳圖 表3 1602引腳使用說(shuō)明編號(hào)符號(hào)引腳說(shuō)明使用方法1VSS電源地2VDD電源3V0對(duì)比度信號(hào)調(diào)整端外接分壓電阻,調(diào)節(jié)屏幕亮度4RS數(shù)據(jù)/命令選擇端RS=1時(shí)選擇數(shù)據(jù)寄存器,RS=0時(shí)選擇指令寄存器5RW讀/寫選擇端RW=1時(shí)執(zhí)行讀操作,RW=0時(shí)執(zhí)行寫操作6E使能信號(hào)端高電平使能714D0D7數(shù)據(jù)I/O雙向數(shù)據(jù)輸入與輸出15BLA背景光源正極接到或通過(guò)10Ω左右電阻接到VDD16BLK背景光源負(fù)極接到VSS對(duì)1602顯示字符控制,通過(guò)訪問(wèn)1602內(nèi)部RAM地址實(shí)現(xiàn),1602內(nèi)部控制具有80 字節(jié)RAM。 1602的RAM地址與字符位置對(duì)應(yīng)關(guān)系1602的讀/寫操作,即顯示控制,是通過(guò)控制指令實(shí)現(xiàn)的,控制指令如表4所示[7][14]。表 4 控制指令表指令名稱指令功能D7D6D5D4D3D2D1D0模式設(shè)置設(shè)置為162,57點(diǎn)陣,8位數(shù)據(jù)接口00111000開(kāi)/關(guān)及光標(biāo)設(shè)置D=1開(kāi)顯示;D=0關(guān)顯示00001DCBC=1顯示光標(biāo);C=0不顯示光標(biāo)00001DCBB=1光標(biāo)閃爍;B=0光標(biāo)不顯示00001DCB輸入模式設(shè)置N=1光標(biāo)右移;N=0光標(biāo)左移000001NSS=1文字移動(dòng)有效;S=0文字移動(dòng)無(wú)效000001NS 電路原理圖設(shè)計(jì)是在實(shí)現(xiàn)系統(tǒng)功能基礎(chǔ)之上,進(jìn)行器件選型、器件值計(jì)算以及整合模塊功能電路。但是在Proteus ISIS仿真環(huán)境中AT89C51微控制器和LCD1602的外圍電路可以不加,通過(guò)屬性設(shè)置對(duì)話框可以直接設(shè)置AT89C51的外部晶振頻率,加載程序即可實(shí)現(xiàn)仿真。具體的電路模塊設(shè)計(jì)說(shuō)明將在本文第六部分AT89C51最小系統(tǒng)的外圍電路中詳細(xì)介紹,在此不再累述。本節(jié)主要介紹如何在Porteus ISIS環(huán)境中進(jìn)行原理圖繪制和原理圖電氣檢測(cè)。根據(jù)選擇的設(shè)計(jì)方案,以及系統(tǒng)框圖,可將硬件作如下連接:主、從機(jī)系統(tǒng)的液晶顯示器的數(shù)據(jù)I/,液晶顯示器的RW讀/寫選擇端、RS數(shù)據(jù)/、。上位機(jī)系統(tǒng)接收/。原理圖中所有器件及其標(biāo)稱值、數(shù)量和代號(hào)如表5所示。表 5 元器件列表序號(hào)名稱標(biāo)稱數(shù)量代號(hào)1電阻470Ω7RRRRRRR72電阻10KΩ4RRRR313電容22pF8CCCCCCCC114電容100uF4CCCC125單片機(jī)AT89C514UUUU46液晶顯示器LM061L4LCDLCDLCDLCD478引腳排阻RESPACK84RPRPRPRP48晶振12M4XXXX4 基于Proteus ISIS系統(tǒng)原理圖設(shè)計(jì)Proteus ISIS 原理圖設(shè)計(jì)是具智能性和人性化的設(shè)計(jì),過(guò)程簡(jiǎn)明高效。ISIS原理圖輸出流程包括設(shè)置編輯環(huán)境、原理圖連線、建立網(wǎng)絡(luò)表、報(bào)表輸出等過(guò)程。本系統(tǒng)的原理圖繪制過(guò)程如下[3][12]: ISIS圖標(biāo) ,進(jìn)入ISIS窗口,: ISIS 窗口ISIS主要包括:菜單欄、工具欄、對(duì)象預(yù)覽窗口、編輯區(qū)、器件選擇按鈕、對(duì)象選擇器、仿真按鈕、方位控制按鈕、狀態(tài)欄等。單擊菜單欄中的“FILE/NEW DESIGN”,(Create New Design)對(duì)話框。單擊“OK”按鈕,則以默認(rèn)的模板(DEFAULT)建立一個(gè)新的空白文件。 創(chuàng)建新設(shè)計(jì)文件單擊工具按鈕 ,取文件名“串行通信原理圖”,后綴為DSN是系統(tǒng)自動(dòng)加上去是,然后單擊保存按鈕,則完成新建文件操作。根據(jù)設(shè)計(jì)串行通信原理圖的大小,默認(rèn)的A4的原理圖紙不能滿足設(shè)計(jì)的要求,需要對(duì)圖紙的大小重新設(shè)置。單擊“System/Set Sheet Size”,,選擇“User(自定義)”復(fù)選框,定義長(zhǎng)為16in,寬位8in,點(diǎn)擊“OK”。 圖紙大小設(shè)置窗口“P”按鈕。在“Keyword”欄中輸入元器件“AT89C51”,則可元器件列表。從列表中選中AT89C51行后,再雙擊,便將AT89C51選入對(duì)象選擇器中。同樣的方法把原理圖中的其他器件放入對(duì)象選擇器中,以備畫原理圖時(shí)調(diào)用。 元器件選擇框 選取元件按鈕,即可將元器件AT89C51放置在原理圖編輯區(qū)中。同樣的方法把對(duì)象選擇器中的其他器件放入原理圖編輯區(qū)中,以備原理圖連線。 放置AT89C51 對(duì)象選擇器 、地、和輸入輸出終端單擊繪圖工具中的終端按鈕 ,在對(duì)象選擇器中單擊終端符號(hào)POWER,放置電源,單擊GROUND放置地,單擊DEFAULT放置普通端子。單擊自動(dòng)布線圖標(biāo) ,自動(dòng)布線有效,根據(jù)原理圖中器件的接線,單擊要連線的起點(diǎn)和終點(diǎn),系統(tǒng)便會(huì)自動(dòng)以直角走線,成連線。 原理圖連線結(jié)果 放置電源、地和端子單擊Toos /Global Anntator,,在范圍框中選擇整體設(shè)計(jì),在模式中選擇Toal,單擊“OK”即可將原理圖中所有器件進(jìn)行編號(hào)。 整體編號(hào)結(jié)果 整體編號(hào)對(duì)話框8. 網(wǎng)絡(luò)標(biāo)號(hào)由于串行通信原理圖中器件較多,都進(jìn)行直接連線比較麻煩,而且容易造成連線錯(cuò)誤,因此采用網(wǎng)絡(luò)表號(hào)的方法,將部分要連接的端口,使其具有電氣聯(lián)系。雙擊原理圖中的普通端 。在字符名稱后中輸入網(wǎng)絡(luò)標(biāo)號(hào)“L0”,單“OK”即可完成“L0網(wǎng)絡(luò)編號(hào)”。兩個(gè)或多個(gè)相對(duì)應(yīng)端子的網(wǎng)絡(luò)標(biāo)號(hào)要相同。采用同樣的方法完成原理圖中的其他的網(wǎng)絡(luò)標(biāo)號(hào)。 網(wǎng)絡(luò)標(biāo)號(hào)結(jié)果 編輯網(wǎng)絡(luò)標(biāo)號(hào)單擊菜單欄上的“Tools/Electrical Rule Check”,彈出檢測(cè)結(jié)果窗口,結(jié)果顯示本系統(tǒng)所設(shè)計(jì)的原理圖符合電氣規(guī)則,點(diǎn)擊“另存為”保存結(jié)果。 電氣檢測(cè)結(jié)果對(duì)于串行通信原理圖中的每一個(gè)元器件,都有對(duì)應(yīng)的編號(hào)。電阻、電容等還有相應(yīng)的量值。設(shè)置電容的值為22Pf,PCB封裝信息為CAP10。按照同樣的方法設(shè)置串行通信原理圖中其他器件的屬性。至此完成了仿真原理圖的繪制工作,完整的原理圖見(jiàn)附件一。 元器件屬性對(duì)話框 設(shè)置結(jié)果本章介紹了系統(tǒng)的硬件設(shè)計(jì),首先對(duì)串行通信控制系統(tǒng)的核心器件AT89C51單片機(jī)與LCD1602液晶顯示器作了簡(jiǎn)單介紹。其次,給出了系統(tǒng)原理圖的連線和器件清單。最后,著重介紹在具智能性、人性化和過(guò)程簡(jiǎn)明高效的Proteus ISIS編輯環(huán)境中進(jìn)行本系統(tǒng)電路原理圖的繪制過(guò)程。本系統(tǒng)的程序采用C51模塊化程序編寫,主要包括串行通信初始化、LCD液晶顯示部分,硬件接口部分、主機(jī)程序和從機(jī)程序等幾部分組成。 為了使程序易于編寫和移植以及具有可讀行,結(jié)合本系統(tǒng)的功能特點(diǎn),模塊化子程序包括多機(jī)通信初始化程序、LCD液晶顯示模塊程序、 硬件接口定義模塊等部分組成。其結(jié)構(gòu)是按功能劃分為若干個(gè)基本模塊;各模塊之間的關(guān)系盡可能簡(jiǎn)單,在功能上相對(duì)獨(dú)立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成;其模塊化實(shí)現(xiàn)的具體方法是使用子程序。本系統(tǒng)的串行通信工作方式選擇模式3,模式3為11位異步發(fā)送接收方式。它的波特率是由定時(shí)器T1的溢出頻率和波特率倍增位SMOD共同決定的[15]。本系統(tǒng)的波特率設(shè)置為4800比特/秒,波特率倍增位置1,單片機(jī)的時(shí)鐘頻率=12MHz。根據(jù)系統(tǒng)設(shè)定的波特率求定時(shí)器T1的計(jì)數(shù)初值,串行通信工作方式模式3的波特率計(jì)算公式[8]如下:波特率=4800bps其中為定時(shí)器的計(jì)數(shù)初值。代入下列公式得計(jì)數(shù)初值 。 void init_serial() { TMOD=0x20。 //控制字001000,定時(shí)器T1工作于方式2作為波特率發(fā)生器 TL1=0xf3。 //計(jì)數(shù)初值243 TH1=0xf3。 PCON=0x80。 //SMOD=1,波特率加倍 TR1=1。 SCON=0xd8。 //11011000 串口工作方式3,REN=1允許串行接受 EX0=1。 //允許使用外中斷 IT0=1。 //選擇負(fù)跳變來(lái)觸發(fā)外中斷 EA=1。 //CPU開(kāi)總中斷 } LCD液晶顯示模塊程序本系統(tǒng)程序中包含“”和“”兩個(gè)文件,具體內(nèi)容見(jiàn)附件二,程序中包括了LCD1602液晶顯示器初始化程序和所有功能編程函數(shù),在需要顯示的時(shí)候,只需根據(jù)顯示要求,調(diào)用相應(yīng)的功能函數(shù),并加以修改相應(yīng)的參數(shù)即可完成數(shù)據(jù)、字符或圖形的顯示。本系統(tǒng)中主機(jī)和從機(jī)的顯示部分主要用到了一下功能函數(shù)[7][14]:void LCD_initial(void) //初始化LCDvoid LCD_set_position(unsigned char x) //LCD顯示定位到x處void LCD_printc(unsigned char lcd_data) //輸出一個(gè)字符到LCDvoid LCD_prints(unsigned char *lcd_string) //輸出一個(gè)字符串到LCD在進(jìn)行數(shù)據(jù)顯示時(shí),要將單片機(jī)處理的十六進(jìn)制數(shù)轉(zhuǎn)化成BCD碼,BCD碼各位再轉(zhuǎn)化成ASCⅡ碼,LCD才能進(jìn)顯示。其數(shù)據(jù)轉(zhuǎn)化函數(shù)如下:void DispTable( unsigned int t){ unsigned char a[5]。 //定義一個(gè)5位數(shù)組,用于存放BCD碼的個(gè)十百千萬(wàn)位char k。 //定義一個(gè)變量k a[0]=(t/10000)%10。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的個(gè)位到數(shù)組a[0]a[1]=(t/1000)%10。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的十位到數(shù)組a[1] a[2]=(t/100)%10。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的百位到數(shù)組a[2] a[3]=(t/10)%10。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的千位到數(shù)組a[3] a[4]=(t/1)%10。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的萬(wàn)位到數(shù)組a[4] for(k=0。 k5。 k++) a[k]=a[k]+39。039。 //將BCD碼的個(gè)十百千萬(wàn)位分別轉(zhuǎn)成ASCI
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1