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

正文內(nèi)容

單片機原理及應用c語言版周國運習題答案-資料下載頁

2025-06-27 13:41本頁面
  

【正文】 mag=0。if(cou==mag){P1_0=~P1_0。cou=0。 }else cou++。}14.MCS51單片機P1端口上,經(jīng)驅(qū)動器連接有8只發(fā)光二極管,若fosc=6MHz,試編寫程序,使這8只發(fā)光二極管每隔2s循環(huán)發(fā)光一次(要求T0定時)。include unsigned char data cou。unsigned int data tim。void main(){TMOD=0x02。 TL0=16。 TH0=16。 TR0=1。 ET0=1。 EA =1。P1=0。cou=0。tim=1。While(1)。}void serve() interrupt 1{ tim++。 if(tim==500) {P1=0x01cou。tim=1。cou++。if(cou==8) cou=0。}}15.設(shè)fosc=12MHz。試編寫一段程序,對定時器T1初始化,使之工作在模式2,產(chǎn)生200181。s定時,并用查詢T1溢出標志的方法。include void main(){unsigned char i,j。TMOD=0x20。 TL1=56。 TH1=56。 TR1=1。 while(1){while(TF1=1){ TF1=0。 i++。 if(i==5) { P1_1=~P1_1。 i=0。 }}}}16.使用一個定時器,如何通過軟、硬件結(jié)合的方法,實現(xiàn)較長時間的定時?答:先使用硬件實現(xiàn)單位時間的定時,通過軟件設(shè)置計數(shù)來實現(xiàn)較長時間的定時。 第7章 MCS51單片機的串行口1.什么是串行異步通信,它有哪些作用?答:單位信息的各位數(shù)據(jù)被分時一位一位依次順序傳送的通信方式稱為串行通信,通過起始位和停止位來進行同步的串行通信稱為串行異步通信。適用于速度較慢的數(shù)據(jù)傳輸。2.89C52單片機的串行口由哪些功能部件組成?各有什么作用?答:89C52通過引腳RXD(,串行數(shù)據(jù)接收端)和引腳TXD(,串行數(shù)據(jù)發(fā)送端)與外界進行通信,單片機內(nèi)部的全雙工串行接口部分,包含有串行發(fā)送器和接收器,有兩個物理上獨立的緩沖器,即發(fā)送緩沖器和接收緩沖器SBUF。發(fā)送緩沖器只能寫入發(fā)送的數(shù)據(jù),但不能讀出;接收緩沖器只能讀出接收的數(shù)據(jù),但不能寫入??刂茽顟B(tài)寄存器SCON ,用于定義串行通信口的工作方式和反映串行口狀態(tài)。3.簡述串行口接收和發(fā)送數(shù)據(jù)的過程。答:在發(fā)送過程中,當執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF(99H)的指令時,串行口把SBUF中8位數(shù)據(jù)以fosc/l2的波特率從RXD()端輸出,發(fā)送完畢置中斷標志TI=1。寫SBUF指令在S6P1處產(chǎn)生一個正脈沖,在下一個機器周期的S6P2處,數(shù)據(jù)的最低位輸出到RXD()腳上;再在下一個機器周期的SS4和S5輸出移位時鐘為低電平時,在S6及下一個機器周期的Sl和S2為高電平,就這樣將8位數(shù)據(jù)由低位至高位一位一位順序通過RXD線輸出。并在TXD腳上輸出fosc/12的移位時鐘。在“寫SBUF”有效后的第10個機器周期的SlPl將發(fā)送中斷標志TI置位。接收時,用軟件置REN=1(同時,RI=0),即開始接收。當使SCON中的REN=1(RI=0)時,產(chǎn)生一個正的脈沖,在下一個機器周期的S3P1~S5P2,從TXD()腳上輸出低電平的移位時鐘,.并在本機器周期的S6P2通過串行口內(nèi)的輸入移位寄存器將采樣值移位接收。在同一個機器周期的S6P1到下一個機器周期的S2P2,輸出移位時鐘為高電平。于是,將數(shù)據(jù)字節(jié)從低位至高位接收下來并裝入SBUF。在啟動接收過程(即寫SCON,清RI位),將SCON中的RI清0之后的第l0個機器周期的SlPl將RI置位。這一幀數(shù)據(jù)接收完畢,可進行下一幀接收。4.89C52串行口有幾種工作方式?有幾種幀格式?各工作方式的波特率如何確定?答:89C52串行口有4 種工作方式,有2種幀格式。方式0的波特率=fosc/12方式2的波特率=fosc串行口方式方式3的波特率=(T1溢出速率)5.若異步通信接口按方式3傳送,已知每分鐘傳送3 600個字符,其波特率是多少?答:波特率是3600*9/60=5400bit/s。6.89C52中SCON的SMTBRB8有何作用?答:SM2:多機通信控制位。TB8:發(fā)送數(shù)據(jù)的第9位。RB8:接收數(shù)據(jù)的第9位。7.設(shè)fsoc= 2MHz,試編寫一段程序,其功能為對串行口初始化,使之工作于方式1,波特率為1 200b/s;并用查詢串行口狀態(tài)的方法,讀出接收緩沖區(qū)的數(shù)據(jù)并回送到發(fā)送緩沖區(qū)。include void main(){unsigned char temp。SCON=0x50。TMOD=0x20。TH1=0xE8。TL1=0xE8。TR1=1。while(RI==0)。temp=SBUF。RI=0。SBUF=temp。}8. 2MHz,串行口工作于方式1,波特率為4 800b/s。寫出用T1作為波特率發(fā)生器的方式字和計數(shù)初值。SCON=0x50。TMOD=0x20。TH1=0xE8。TL1=0xE8。9.為什么定時器T1用作串行口波特率發(fā)生器時,常選用工作模式2?若已知系統(tǒng)時鐘頻率和通信用波特率,如何計算其初值?答:工作模式2有自動重裝入功能。X=25610.若定時器T1設(shè)置成模式2作波特率發(fā)生器,已知fosc=6MHz,求可能產(chǎn)生的最高和最低的波特率。答:最高波特率為8Mb/s。最低波特率為15625b/s。11.簡述單片機多機通信的原理。答:若置SM2=1,則允許多機通信。多機通信協(xié)議規(guī)定,第9位數(shù)據(jù)(D8)為1,說明本幀數(shù)據(jù)為地址幀;若第9位為0,則本幀為數(shù)據(jù)幀。當一片89C52(主機)與多片89C5l(從機)通信時,所有從機的SM2位都置l。主機首先發(fā)送的一幀數(shù)據(jù)為地址,即某從機機號,其中第9位為1,所有的從機接收到數(shù)據(jù)后,將其中第9位裝入RB8中。各個從機根據(jù)收到的第9位數(shù)據(jù)(RB8中)的值來決定從機可否再接收主機的信息。若(RB8)=0,說明是數(shù)據(jù)幀,則使接收中斷標志位RI=0,信息丟失;若(RB8)=1,說明是地址幀,數(shù)據(jù)裝入SBUF并置RI=1,中斷所有從機,被尋址的目標從機清除SM2,以接收主機發(fā)來的一幀數(shù)據(jù)。其他從機仍然保持SM2=1。12.當89C52串行口按工作方式1進行串行數(shù)據(jù)通信時,假定波特率為1 200b/s,以中斷方式傳送數(shù)據(jù),請編寫全雙工通信程序。include unsigned char data txbuf。unsigned char data rebuf。void main(){unsigned char temp。SCON=0x50。TMOD=0x20。TH1=0xE8。TL1=0xE8。TR1=1。ES=1。EA=1。}void re(){ rebuf=SBUF。} void tx(){ SBUF=txbuf。} void serial_server() interrupt 4 { if(TI) TI=0。 else { RI=0。 re()。 }}13.當89C52串行口按工作方式3進行串行數(shù)據(jù)通信時,假定波特率為1 200b/s,第9位數(shù)據(jù)作奇偶校驗位,以中斷方式傳送數(shù)據(jù),請編寫通信程序。include unsigned char data txbuf。unsigned char data rebuf。void main(){unsigned char temp。SCON=0xd0。TMOD=0x20。TH1=0xE8。TL1=0xE8。TR1=1。ES=1。EA=1。}void re(){ ACC=SBUF。 if(RB8==P) rebuf=ACC。 else error()。} void tx(){ ACC=txbuf。SBUF=ACC。 TB8=P。} void serial_server() interrupt 4 { if(TI) TI=0。 else { RI=0。 re()。 }}void error(){ F0=1。}第8章 單片機系統(tǒng)擴展1.假定一個存儲器有4096個存儲單元,其首地址為0,則末地址為多少?答:末地址為4095。2.6根地址線和11根地址線各可選多少個地址?答:6根地址線可選26個地址。11根地址線可選211個地址。3.用2K4位的數(shù)據(jù)存儲器芯片擴展4K8位的數(shù)據(jù)存儲器需要多少片?地址總線是多少位?畫出連線圖。答:需要4片,地址總線是12位。89C52地址總線A0~A10數(shù)據(jù)總線D0~D32K*4b2K*4b2K*4b2K*4b數(shù)據(jù)總線D4~D7地址總線A114.用兩片74HC573芯片擴展89C52的P1端口實現(xiàn)6位發(fā)光二極管的開關(guān)控制和點亮。LEQ0 D0Q1 D1Q2 D2Q3 D3Q4 D4Q5 D5Q6 D6Q7 D7D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7LE89C52++74HC257374HC5735.用2K8位的數(shù)據(jù)存儲器芯片擴展64K8位的數(shù)據(jù)存儲器需要多少根地址線?答:需要16根地址線。6.I2C和SPI各有什么特點?答:I2C總線是二線制,采用器件地址的硬件設(shè)置方法,通過軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)具有簡單靈活的擴展方法。I2C總線簡單,結(jié)構(gòu)緊湊,易于實現(xiàn)模塊化和標準化。SPI是Motorola公司推出的一種同步串行通訊方式,是一種三線同步總線。有多個SPI接口的單片機時,應為一主多從,在某一時刻只能由一個單片機為主器件;在擴展多個SPI外圍器件時,單片機應分別通過I/O口線來分時選通外圍器件。7.用P1口模擬SPI從外部先發(fā)送從片內(nèi)RAM中30H開始的10個字節(jié),再接收30個字節(jié)存放在40H開始的片內(nèi)RAM中。引腳自定義。unsigned char data txbuf[10] _at_ 0x30。unsigned char data rebuf[30] _at_ 0x40。void main(){ unsigned char i。 for(i=0。i10。i++) spiout(txbuf[i])。 for(i=0。i30。i++)rebuf[i]=spiin()。}8.用P1口模擬I2C從外部接收一組數(shù)據(jù),遇到“$”結(jié)束。引腳自定義。unsigned char xdata buffer[100] 。 void main(){ unsigned char temp=0。 unsigned char i=0。 temp=rxbyt()。 while(temp!=’$’) {buffer[i]=temp。i++。}} 第9章 單片機系統(tǒng)配置及接口?有哪些方法?答: 鍵抖動會引起一次按鍵被誤讀多次。為了確保CPU對鍵的一次閉合僅做一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定時,讀取鍵的狀態(tài),并且必須判別;在鍵釋放穩(wěn)定后,再作處理。按鍵的抖動,可用硬件或軟件兩種方法消除。如果按鍵較多,常用軟件方法去抖動,即檢測出鍵閉合后執(zhí)行一個延時程序,產(chǎn)生12~20 ms的延時,讓前沿抖動消失后,再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下。當確認有鍵按下或檢測到按鍵釋放后,才能轉(zhuǎn)入該鍵的處理程序。如何判斷按鍵釋放?答: 非編碼鍵盤的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行有無鍵按下的程序段,當確認有按鍵按下后,下一步就要識別哪一個按鍵被按下。對鍵的識別常用逐行掃描查詢法或行列反轉(zhuǎn)法。在獲取鍵號后,繼續(xù)掃描端口,直到狀態(tài)改變,去抖動后,再次確認狀態(tài)改變,即可判斷按鍵釋放。答: 模/數(shù)(A/D)轉(zhuǎn)換電路的種類很多,例如,計數(shù)比較型、逐次逼近型、雙積分型等等。逐次逼近型A/D轉(zhuǎn)換器.在精度、速度和價格上都適中,是最常用的A/D轉(zhuǎn)換器件。雙積分A/D轉(zhuǎn)換器,具有精度高、抗干擾性好、價格低廉等優(yōu)點,但轉(zhuǎn)換速度低。2的行列式鍵盤(同在P1口)電路并編寫鍵掃描程序。89C52+5Vincludeunsigned char key() {unsigned char row,col=0,k =1。 P1=0xf0。if((P1amp。0xf0)==0xf0) return(k)。 delay20ms()。 if((P1amp。0xf0)==0xf0) retur
點擊復制文檔內(nèi)容
化學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1