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

正文內(nèi)容

單片機串口通信設(shè)計方案(完整版)

2025-05-31 13:37上一頁面

下一頁面
  

【正文】 件PCB設(shè)計。通過以上六個方面的闡述說明,將會對單片機串行通信控制系統(tǒng)基于Proteus的設(shè)計、開發(fā)與仿真過程以及電路板制作有一個清晰全面的認(rèn)識。通信速度快,但傳輸?shù)臄?shù)據(jù)有多少位,就相應(yīng)地有多少根傳輸線,傳輸信號線多,傳輸距離較遠時線路復(fù)雜,成本高,較適合于短距離的數(shù)據(jù)通信。通信雙方通過兩條傳輸線進行互連,兩者之間的數(shù)據(jù)可以同時進行發(fā)送和接收,這樣的通信方式稱為全雙工方式。這樣組合而成的一組數(shù)據(jù)被稱為一幀。在異步串行通信中,波特率一般為509600bps。 51系列單片機串行口的功能51單片機的串口是一個可編程的全雙工串行通信接口,通過軟件編程,它可以作為通用異步接收和發(fā)送UART使用,可以同時發(fā)送、接收數(shù)據(jù)。 51系列單片機的串行結(jié)構(gòu)51系列的單片機串行口主要由發(fā)送數(shù)據(jù)寄存器、發(fā)送控制器、輸出控制門、接收數(shù)據(jù)寄存器、接收控制器和輸入移位寄存器等組成,: 51單片機串行口結(jié)構(gòu)圖 串行通信數(shù)據(jù)寄存器SBUF,字節(jié)地址為99H,實際對應(yīng)兩個寄存器:發(fā)送數(shù)據(jù)寄存器、接收數(shù)據(jù)寄存器。對于發(fā)送器,因為發(fā)送時CPU是主動的,不會產(chǎn)生寫重疊的問題,一般不需要雙緩沖器結(jié)構(gòu),為了保持最大的傳送速率,僅用了SBUF一個緩沖器。(對于方式2和方式3,當(dāng)發(fā)送完數(shù)據(jù)位后,要把串行口控制寄存器SCON中的TB8位發(fā)送出去后才能發(fā)送停止位)。如果接收是起始位的值不是“0”,則起始位無效,復(fù)位接收電路;如果起始位為“0”,則開始接受其它數(shù)據(jù)。上級主機則根據(jù)接收的下級子系統(tǒng)的信息,進行判斷,產(chǎn)生相應(yīng)的處理命令傳送給下級子系統(tǒng)。當(dāng)從機的SM2=1時,該從機只接受地址幀,對數(shù)據(jù)幀不進行處理,即只有接收的RB8位等于1數(shù)據(jù)時,接收才有效,RI才置1,對接收的RB8位等于0的數(shù)據(jù)不進行處理。多機通信協(xié)議約定:主機為了正確地和指定的從機正確的通信,雙方需要對各種數(shù)據(jù)、地址、指令和狀態(tài)等進行明確的約定。為了能夠?qū)崿F(xiàn)多單片機之間的數(shù)據(jù)傳送,本系統(tǒng)采用多機通信模式[8][9][10]。采用Flash ROM,內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS51系列單片機完全兼容,可反復(fù)進行系統(tǒng)實驗[12]。但是匯編語言可讀性差,而且不同的CPU,其匯編語言可能有所差異,也不易移植。三個下位機系統(tǒng)的構(gòu)成完全相同主要有AT89C51單片機串行通信最小系統(tǒng)、LCD1602顯示器和中斷數(shù)據(jù)加1按鈕組成。根據(jù)總體設(shè)計方案框圖,總系統(tǒng)由4個分系統(tǒng)組成,1個上位機系統(tǒng),3個下位機系統(tǒng)。(4)程序計數(shù)器PC,是獨立的16位專用寄存器,內(nèi)容為將要執(zhí)行的指令地址。GND(20):接地端。P3口:是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。(29):外部ROM讀選通信號。1602液晶模塊帶標(biāo)準(zhǔn)字庫,內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個57點陣字符圖形,32個510點陣字符圖形。 1602引腳圖 表3 1602引腳使用說明編號符號引腳說明使用方法1VSS電源地2VDD電源3V0對比度信號調(diào)整端外接分壓電阻,調(diào)節(jié)屏幕亮度4RS數(shù)據(jù)/命令選擇端RS=1時選擇數(shù)據(jù)寄存器,RS=0時選擇指令寄存器5RW讀/寫選擇端RW=1時執(zhí)行讀操作,RW=0時執(zhí)行寫操作6E使能信號端高電平使能714D0D7數(shù)據(jù)I/O雙向數(shù)據(jù)輸入與輸出15BLA背景光源正極接到或通過10Ω左右電阻接到VDD16BLK背景光源負(fù)極接到VSS對1602顯示字符控制,通過訪問1602內(nèi)部RAM地址實現(xiàn),1602內(nèi)部控制具有80 字節(jié)RAM。原理圖中所有器件及其標(biāo)稱值、數(shù)量和代號如表5所示。單擊“System/Set Sheet Size”,,選擇“User(自定義)”復(fù)選框,定義長為16in,寬位8in,點擊“OK”。單擊自動布線圖標(biāo) ,自動布線有效,根據(jù)原理圖中器件的接線,單擊要連線的起點和終點,系統(tǒng)便會自動以直角走線,成連線。 電氣檢測結(jié)果對于串行通信原理圖中的每一個元器件,都有對應(yīng)的編號。本系統(tǒng)的程序采用C51模塊化程序編寫,主要包括串行通信初始化、LCD液晶顯示部分,硬件接口部分、主機程序和從機程序等幾部分組成。 void init_serial() { TMOD=0x20。 //選擇負(fù)跳變來觸發(fā)外中斷 EA=1。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的百位到數(shù)組a[2] a[3]=(t/10)%10。 //將BCD碼按字符串的方式輸出到LCD } 硬件接口定義模塊編程為了能夠集中管理硬件接口,在硬件接口有沖突時,方便改換接口,將用到的接口定義在“”頭文件[8]中,“”頭文件如下: ifndef __HARDWAR_H__ define __HARDWAR_H__ include define LCD_DATA P1 //LCD的數(shù)據(jù)接到AT89C51的P1口 sbit LCD_BUSY=LCD_DATA^7。 //定義兩個4維數(shù)組用于存放接收的數(shù)據(jù)void DispTable( unsigned int t);//聲明顯示數(shù)據(jù)的函數(shù)void error(void) //錯誤標(biāo)志函數(shù){ SBUF=0xff。 //輸出一個字符串“R1:”到LCDLCD_set_position(0x40)。 //輸出send_data到LCDif(send_data==1) goto Lable1。 //等待從機回發(fā)地址if(SBUF!=SLAVE) error()。 //接收從機返回的命令if((statusamp。 //TB8賦值1,準(zhǔn)備接收下一幀地址}LCD_set_position(0x03)。} } 。 TI=0。TI=0。0x01)==0x01) //如果接收的數(shù)據(jù)是01H{ SBUF=PL_data[SLAVE]。 //地址賦值0,準(zhǔn)備下一次循環(huán)}系統(tǒng)從機有3個,其編程基本完全相同,只是地址定義不同。 //關(guān)串口中斷if(SBUF!=SLAVE) //非本機地址繼續(xù)監(jiān)聽{ES=1。 //等待從機回發(fā)地址if(RB8==1) //如果RB8為1,是地址幀{SM2=1。 RI=0。 ES=1。 //SM2置1,只接收地址幀ES=1。系統(tǒng)從機外部中斷INT0中斷服務(wù)程序: void ISR0(void) interrupt 0{ tdata++。 Keil uVision 3集成開發(fā)環(huán)境生成工程文件,單擊“Project/New uVision Project”,在彈出的對話框中,鍵入工程名為“串行通信主機程序”,單擊保存。Targer 39。 編譯并生成HEX文件 利用同樣的方法編譯0、1和2機的并生成“”、“”和“”三個單片機可執(zhí)行文件。單擊菜單欄“Debug”“8051CPU/RegistersU1”打開單片機寄存器窗口,可以看到R0RSFR、SP、PC、PSW等寄存器中的值,以及將要執(zhí)行的指令等[16][17]。PCB經(jīng)加工成板,焊接元器件之后將串行通信最小系統(tǒng)人為規(guī)定為上位機或下位機,然后給進行下位機編號即可完成本系統(tǒng)的工作。外接電容CC2沒有十分嚴(yán)格的要求,單電容值的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性,如果使用石英晶振,推薦電容使用,如果使用陶瓷諧振器建議選擇[13][15]。 LCD1602外圍電路 RS 232模塊電路設(shè)計串行通信的距離和傳輸率與電氣特性有關(guān),傳輸距離隨傳輸速度的增加而縮短。通過RS232使用MODEM還可以通過電話線遠距離傳送。但這個封裝并不一定適合系統(tǒng)的設(shè)計,因此需要重新添加適合的封裝。我們用2D G。雙擊ISP元器件, Package后面的問號,在Keywords輸入TRANS 10 DIL,點擊“OK”即可。 RS232模塊電路圖 系統(tǒng)硬件PCB總原理圖根據(jù)AT89C51單片機串行通信最小系統(tǒng)模塊化電路設(shè)計,以及通用單片機實驗板設(shè)計思想,本系統(tǒng)設(shè)計所需要的器件如表6。如要增加傳輸距離,則通信信號需要驅(qū)動或調(diào)制。對于復(fù)位電路,選用了電容與電阻串聯(lián)的形式,另將一按鍵與電容并聯(lián)可實現(xiàn)手動復(fù)位,電容為電解電容C=100uF,電阻為R=10KΩ。對于一個能夠?qū)崿F(xiàn)串行通信的最小系統(tǒng)的單片機還應(yīng)有ISP下載端口、串行接口RS23MAX232電路、開關(guān)、按鍵、指示燈、顯示器、報警喇叭等部分組成。該界面是主機調(diào)試環(huán)境,圖中Keil環(huán)境和Proteus環(huán)境調(diào)試窗口中顯示“r0r8”的值依次為“0B、000、00、00、0030”,從機0、1和2機發(fā)送來的數(shù)據(jù)“0008”依次在數(shù)組rdata中,在數(shù)據(jù)存儲器中還顯示了主機處理后的數(shù)據(jù)排列“0002”。打開在Proteus ISIS已經(jīng)繪制好的仿真原理圖。在左側(cè)“Projece Workspace”欄中右擊“Taget1”,選擇“Optitions for Target 39。返回集成開發(fā)環(huán)境界面,單擊“Feil/New”,然后單擊“Feil/Save”,在彈出的對話框中輸入文件名“ ”(后綴名一定要有,本系統(tǒng)程序用C51語言編寫,),單擊“保存”將文件存儲到“串行通信主機程序”所在的文件夾中。 //如果數(shù)據(jù)大于8,清零} 外部中斷服務(wù)程序流程圖本章主要完成系統(tǒng)的軟件設(shè)計,通過對功能的分析,軟件流程圖的繪制,編寫了系統(tǒng)的模塊化子程序,多機串行通信的主機和從機程序。 //命令非法,發(fā)狀態(tài)while(TI!=1)。 //回發(fā)命令幀0X02,從機準(zhǔn)備好發(fā)送數(shù)據(jù)while(TI!=1)。ES=1。goto reback。 //開串行中斷,跳轉(zhuǎn)到標(biāo)號reback}SM2=0。系統(tǒng)從機主程序與主機主程序相關(guān)部分基本相同,在此不再敘述。 TI=0。RI=0。 //如果地址大于2while(RI!=1)。 //保護現(xiàn)場TB8=1。 //顯示0機發(fā)送的數(shù)據(jù) LCD_set_position(0x0b)。 //TB8賦值1,發(fā)復(fù)位信號給從機error()。 //清地址標(biāo)志位,準(zhǔn)備接收數(shù)據(jù)SBUF=0X02。SLAVE3。 //輸出一個字符串“R2:”到LCDLCD_set_position(0x48)。 TI=0。 // sbit LCD_RS=P2^1。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的萬位到數(shù)組a[4] for(k=0。本系統(tǒng)中主機和從機的顯示部分主要用到了一下功能函數(shù)[7][14]:void LCD_initial(void) //初始化LCDvoid LCD_set_position(unsigned char x) //LCD顯示定位到x處void LCD_printc(unsigned char lcd_data) //輸出一個字符到LCDvoid LCD_prints(unsigned char *lcd_string) //輸出一個字符串到LCD在進行數(shù)據(jù)顯示時,要將單片機處理的十六進制數(shù)轉(zhuǎn)化成BCD碼,BCD碼各位再轉(zhuǎn)化成ASCⅡ碼,LCD才能進顯示。 //計數(shù)初值243 TH1=0xf3。其結(jié)構(gòu)是按功能劃分為若干個基本模塊;各模塊之間的關(guān)系盡可能簡單,在功能上相對獨立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成;其模塊化實現(xiàn)的具體方法是使用子程序。設(shè)置電容的值為22Pf,PCB封裝信息為CAP10。 整體編號結(jié)果 整體編號對話框8. 網(wǎng)絡(luò)標(biāo)號由于串行通信原理圖中器件較多,都進行直接連線比較麻煩,而且容易造成連線錯誤,因此采用網(wǎng)絡(luò)表號的方法,將部分要連接的端口,使其具有電氣聯(lián)系。在“Keyword”欄中輸入元器件“AT89C51”,則可元器件列表。ISIS原理圖輸出流程包括設(shè)置編輯環(huán)境、原理圖連線、建立網(wǎng)絡(luò)表、報表輸出等過程。表 4 控制指令表指令名稱指令功能D7D6D5D4D3D2D1D0模式設(shè)置設(shè)置為162,57點陣,8位數(shù)據(jù)接口00111000開/關(guān)及光標(biāo)設(shè)置D=1開顯示;D=0關(guān)顯示000
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1