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

正文內容

信息與通信]基于mcs51的兩片單片機之間的串行通信接口設計-資料下載頁

2024-11-17 22:20本頁面

【導讀】條的線路特性不同而被廣泛地使用。而RS232是一種比較成熟的串口,所以本次設計使。的,每一位為1或者為0。本次設計就是要利用單片機來完成一個系統(tǒng),實現兩單片機之間的串行通信。使用DS18B20溫度傳感器,由一臺單片機測量溫度后傳到另外一臺單片機上顯示。機也可以對單片機進行控制。在本次設計中,我需要克服的問題有怎樣把兩串口與單。我需要對單片機有一定的基礎,同時數電和模電也需要好好溫習下。電路圖有很大的幫助。而且我希望通過本次設計,可以很好的學習單片機,同時喜歡上。其中單片機中,MCS51單片機上的通用異步接收/發(fā)送器UART,通過RXD

  

【正文】 用定時器 T1或直接用 CPU 時鐘作為通信波特率發(fā)生器的輸入,在串行接口的不同工作方式中,波特率發(fā)生器從兩個輸入信號中選擇一個分頻,產生移位脈沖來同步串口的接收和發(fā)送,移位脈沖的速率即是波特率。 通過本次畢業(yè)設計,然我對單片機有了一個全面的了解和學習,對 51單片機管腳,時鐘電路,上拉電阻,溫度傳感器有比較深刻的印象,對單片機有了一定的興趣,希望以后有時間及機會再研究單片機。但是在本次畢業(yè)設計中,對于初學者的我,明顯對基礎知識掌握的不夠好,以至于困難重重。在以后的學習生活中,我一定會學會腳踏實地的做好每一件值得做的事。 基于 MCS51的兩片單片機之間的串行通信接口設計 26 參考文獻 [1]沙愛軍 , 基于單片機的超聲波測距系統(tǒng)的研究與設計 [J].電子科技, 2020, 22( 11). [2]胡漢才.單片機原理與其接口技術(第二版)[ M].北京:清華大學出版社, 2020. [3]彭偉,單片機 C語言程序設計實例 100例 .電子工業(yè)出版社 .2020, 06 [4] 高峰 . 單片微機應用系統(tǒng)設計及實用技術 . 北京:機械工業(yè)出版社, 2020 [4] 陳光東,趙性初 . 單片微型計算機原理與接口技術 . 武漢:華中科技大學出版社,1995 [6]夏繼強 . 單片機實驗與實踐教程 . 北京:北京航空航天大學出版社 , 2020 [7]張傳新,徐少杰. PC機與 MCS51 單片機主從多機通信控制程序的研究 [J].伊圖里河分局研究所,鐵路計算機應用第 5卷第 2期 P1012. [8]黃亮.基于 AT89C51 單片機的串行通信程序設計 [J]. 中國地質大學,單片機實用電子制作 2932. 基于 MCS51的兩片單片機之間的串行通信接口設計 27 謝辭 光陰似箭, 日月如棱。 三年的時間, 在我漫長的人生旅途中顯得那么短暫,到了該告別的時候了,一念至此,竟有些恍惚。如果把大學生活看作一場場循環(huán)的演出,那么我只是一個安靜的演員。這篇畢業(yè)論文也將是這種循環(huán)演出即將告一段落時的謝幕詞。但是 ,這短短的三年是最真誠的青春,是最純真的歲月,是最美麗的大學生活?? 我的自學能力在這里得提升,我感謝所有的恩師:是您們賦予我最有意義的收獲;給我一個全新的角度去發(fā)現美、創(chuàng)造美、欣賞美,給我美的眼睛去發(fā)現世界的美,感悟生活的美;教會我珍惜友誼和時間;給了我看世界的眼睛,是你們用博大的胸懷,給予我們最無私的關懷和奉獻。 基于 MCS51的兩片單片機之間的串行通信接口設計 28 附錄 串口通信子程序: include void main (void) { SCON=0x50。 TH1=0xFD。 TR1=1。 EA=1。//打開總中斷 ES=1。//打開串口中斷 while(1) //主循環(huán)不做任何動作 { } } void UART_SER(void)interrupt 4 //串行中斷服務程序 { unsigned char Temp。//定義臨時變量 if(RI) //判斷是接收中斷產生 { RI=0。 //標志位清零 Temp=SBUF。 //讀入緩沖區(qū)的值 P1=Temp。 //把值輸出到 P1口 SBUF=Temp。 } if(TI) //如果是發(fā)送標志位,清零 TI=0。 } 基于 MCS51的兩片單片機之間的串行通信接口設計 29 發(fā)光二極管子程序: include void Delay1ms(unsigned int count) { unsigned int i,j。 for(i=0。icount。i++) for(j=0。j120。j++)。 } main() { unsigned char LEDIndex=0。 bit LEDDirection=1。 while(1) { if(LEDDirection) P2=(0x01LEDIndex)。 else P2=(0x80LEDIndex)。 if(LEDIndex==7) LEDDirection=!LEDDirection。 LEDIndex=(LEDIndex+1)%8。 Delay1ms(500)。 } } 顯示子程序: include include sbit K1=P3^7。 unsigned 基于 MCS51的兩片單片機之間的串行通信接口設計 30 char Table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 unsigned char AA=0。 unsigned char i=0。 unsigned char temp1。 void delay1(unsigned int delay_time)。 void UART_init(void)。 void DS18B20_dis()。 void display() { P0=dis[tmpamp。0x0f]。 P2=0x7f。 delayms(10)。 P0=dis[tmp/16]。 A機程序: include include sbit K1=P3^7。 //字符串發(fā)送按鈕 unsigned char Table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 unsigned char AA=0。 unsigned char i=0。 unsigned char temp1。 void delay1(unsigned int delay_time)。//延時 void UART_init(void)。//初始化異步傳輸時隙 void DS18B20_dis()。 void main() //主程序 { UART_init()。 //初始化異步收發(fā)器 init_1602()。 基于 MCS51的兩片單片機之間的串行通信接口設計 31 while(1) //開啟死循環(huán) { if(K1==0) { ES=0。 delay1(5000)。 if(K1==0) { SBUF=5。 while(!TI)。 // 等待發(fā)送完 TI=0。 while(!K1)。 } ES=1。 } else if(AA==100) { AA=0。 P1=Table[i]。 i++。 if(i9) { i=0。 } delay1(5000)。 } else { ES=0。 TI=0。 基于 MCS51的兩片單片機之間的串行通信接口設計 32 SBUF=4。 while(!TI)。 //等待發(fā)送完 TI=0。 ES=1。 DS18B20_dis()。 } delay1(5000)。 } } void UART_init(void) //初始化異步傳輸時隙 { SCON=0X50。//串口工作方式 1, TMOD=0X22。//定時器 1工作方式 2, 8位自動重裝 TH1=0XF3。 //設置 T1 初始值 TL1=0XF3。//波特率為 2400( 12MHZ) ( 填充值為 0xf4) TR1=1。 //啟動 T1 定時器 EA=1。//開總中斷 ES=1。//guan 串口中斷 } void delay1(unsigned int delay_time) //時隙延遲 { while(delay_time)。 } void DS18B20_dis() { write_mand(0x80)。//輸入命令 delay1(500)。 write_data(0x30+temp1%100/10)。 write_data(0x30+temp1%100%10)。 write_data (0xdf)。 基于 MCS51的兩片單片機之間的串行通信接口設計 33 write_data (39。C39。)。 } void ser() interrupt 4 //空閑時隙中斷 { RI=0。 AA=SBUF。 if(AA100) { temp1=AA。 } else 。 } B機程序: include include sbit LED1=P2^6。 //定義一個可尋址變量 sbit LED2=P2^7。 sbit KB=P1^7。 unsigned char aa。 void UART_init(void)。//設置初始值為空 unsigned int temp1 = 0。 void main() { UART_init()。 init_ds18b20()。 delay(50000)。//延遲 LED1=1。 LED2=1。 while(1) 基于 MCS51的兩片單片機之間的串行通信接口設計 34 { if(aa==5) { LED2=LED2。 LED1=LED1。 delay(50000)。//延遲 delay(50000)。 } else if(KB==0) { ES=0。 delay(5000)。//延遲 if(KB==0) { SBUF=100。 while(!TI)。//等待發(fā)送完 TI=0。 //發(fā)送標志位置零等待下次發(fā)送 while(!KB)。 } ES=1。 } else { ES=0。 LED1=1。 LED2=1。 temp1= rd_temperature()。//選擇溫度 SBUF=temp1。 while(!TI)。//等待接受完成 TI=0。 //發(fā)送標志位置,等待下次發(fā)送 基于 MCS51的兩片單片機之間的串行通信接口設計 35 ES=1。 } delay(50000)。 //延遲 } } void UART_init(void) //同步中斷 { SCON=0X50。//串口工作方式 1, TMOD=0X22。//定時器 1工作方式 2, 8位自動重裝 TH1=0XF3。 TL1=0XF3。//波特率為 2400( 12MHZ) ( 填充值為 0xf4) TR1=1。 EA=1。//開總中斷 ES=1。//開串口中斷 } void ser() interrupt 4 //中斷 { RI=0。//關閉接受使能位,等待下次接送 aa=SBUF。 }
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1