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

正文內(nèi)容

單片機(jī)原理與應(yīng)用(c語言版)習(xí)題答案-資料下載頁

2025-01-15 07:25本頁面
  

【正文】 ,訪問速度降低。③串行方式擴(kuò)展時(shí),從SDA線上讀一個(gè)字節(jié)的數(shù)據(jù),單字節(jié)接收子程序。unsigned char rxbyt(void) { unsigned char rxdat=0。 unsigned int i。 for(i=0。i8。i++) //接收8位 { sda=1。 // scl=1。 //時(shí)鐘脈沖開始 if(sdaamp。1) // 讀SDA線 rxdat+=1。 else rxdat+=0。 rxdat=rxdat1。 //移入新接收位 scl=0。 //時(shí)鐘脈沖結(jié)束 } return rxdat。 } 68 現(xiàn)有12跟地址線,可選多少個(gè)地址?409669 試編程對(duì)8255A進(jìn)行初始化,A口位基本輸入,B口位基本輸出,C口上半部為輸入,C口下半部為輸出。define COM8255 0xXXXXvoid init8255(void) { XBYTE [COM8255]=0x90。 /*向控制口送初始化命令字*/}610設(shè)以8051為主機(jī),外部擴(kuò)展EEPROM28128一片、8255A一片和6264一片,利用譯碼法實(shí)現(xiàn),畫出設(shè)計(jì)電路圖,并寫出對(duì)應(yīng)的地址空間。答:外部擴(kuò)展EEPROM28128為程序存儲(chǔ)器,有14根地址線,需用到控制信號(hào),其地址范圍:8000H0BFFFH。8255A只有兩根地址線A0和A1,為提高CPU效率,采用偶地址,,其余地址取0,則地址為:0000H、0002H、0004H和0006H;6264為數(shù)據(jù)存儲(chǔ)器,有13跟地址線,用到控制信號(hào)和,經(jīng)譯碼,地址空間為:=0時(shí),4000H5FFFH ;=1時(shí),6000H7FFFH。題圖610 譯碼法實(shí)現(xiàn)外圍芯片擴(kuò)展611 對(duì)例65I2C總線擴(kuò)展實(shí)例,若采用頁寫的方法,如何實(shí)現(xiàn)?試編程并仿真。define N 2uchar disp[N]。Read_ye_add(uint address){ uint i。 uint read[N]。 uchar addrh,addrl。 addrh=address8。 addrl=address%256。 EA=0。 Start()。 I2C_Write(0xa0)。//發(fā)送命令字+芯片編號(hào)+P0+W I2C_ACK()。 I2C_Write(addrh)。//發(fā)高位地址 I2C_ACK()。 I2C_Write(addrl)。//發(fā)低位地址 I2C_ACK()。 Start()。 I2C_Write(0xa1)。//發(fā)送命令字+芯片編號(hào)+P0+R for(i=0。iN。i++) { I2C_ACK()。 *(disp+i)=I2C_Read()。 } I2C_NACK()。 Stop()。 EA=1。}/**頁寫**/void Write_ye_add(uint address,uchar *shu){ uint i。 uchar addrh,addrl。 addrh=address8。 addrl=address%256。 EA=0。 Start()。 I2C_Write(0xa0)。//發(fā)送命令字+芯片編號(hào)+P0+W I2C_ACK()。 I2C_Write(addrh)。//發(fā)高位地址 I2C_ACK()。 I2C_Write(addrl)。//發(fā)低位地址 I2C_ACK()。 for(i=0。iN。i++) {I2C_Write(shu[i])。//發(fā)送數(shù)據(jù) I2C_ACK()。 } Stop()。//停止 EA=1。}612 比較I2C總線和SPI總線的優(yōu)缺點(diǎn)。答:I2C 總線是一種用于IC器件之間連接的二進(jìn)制總線。其特點(diǎn):(1)只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL。二線傳輸時(shí),I2C總線上的所有主器件(單片機(jī)和微處理器等)、外圍器件等都連到同名端的SDA和SCL線上?! 。?)系統(tǒng)中有多個(gè)主器件時(shí),任何一個(gè)主器件在I2C上工作時(shí)都可以成為主控制器?! 。?)I2C總線傳輸時(shí),采用狀態(tài)碼管理方法。數(shù)據(jù)傳輸時(shí)的任何一種狀態(tài)都會(huì)產(chǎn)生相應(yīng)的狀態(tài)碼,并進(jìn)行自動(dòng)處理。 ?。?)所有外圍器件都可以采用器件地址和引腳地址的硬件編址方法,避免了片選線的連接方法。(5)所有帶I2C總線接口的外圍器件都具有應(yīng)答功能;片內(nèi)有多個(gè)連續(xù)存儲(chǔ)單元地址時(shí),數(shù)據(jù)讀寫時(shí)單元地址都有自動(dòng)加1的功能。缺點(diǎn)是不可實(shí)現(xiàn)全雙工數(shù)據(jù)傳輸。SPI總線是同步串行外圍接口,用于與各種外圍器件進(jìn)行通信??捎糜跀U(kuò)展I/O功能。其突出優(yōu)點(diǎn)是只需4根線即可實(shí)現(xiàn)I/O功能。主要特點(diǎn):(1) 全雙工,三線同步傳輸。(2) 主機(jī)或從機(jī)工作。(3) 。(4) 四中可編程主機(jī)位速率。(5) 可編程串行時(shí)鐘極性與相位。(6) 發(fā)送結(jié)束中斷標(biāo)志。(7) 寫沖突保護(hù)。(8) 總線競(jìng)爭(zhēng)保護(hù)。上述兩種總線主要缺點(diǎn)是:傳輸數(shù)據(jù)的吞吐能力小,速度慢。 第7章 習(xí)題71 為什么要消除按鍵的抖動(dòng)?有哪些方法? 按鍵的抖動(dòng)人眼是察覺不到得,但會(huì)對(duì)運(yùn)行的CPU 產(chǎn)生干擾,進(jìn)而產(chǎn)生誤處理。為了識(shí)別按鍵閉合一次,對(duì)按鍵做相應(yīng)的處理,必須采取措施消除抖動(dòng)。 按鍵抖動(dòng)消除的方法有兩種:硬件消除法和軟件消除法。72 試編寫一段程序,在圖75所示的動(dòng)態(tài)顯示電路中顯示“12345678”。程序如下:include include define uchar unsigned chardefine uint unsigned intuchar code DSY_CODE[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。uchar code WEI_CODE[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}。void DelayMS(uint x){ uchar i。 while(x) { for(i=200。i0。i)。 }}void main(){ uchar i。 while(1) { for(i=8。i0。i) { P2=0x00。 P0=DSY_CODE[8i]。 P2=WEI_CODE[8i]。 DelayMS(3)。 } }}題72原理圖73 以80C51單片機(jī)為控制芯片,通過串行實(shí)現(xiàn)6位數(shù)碼管的動(dòng)態(tài)顯示。程序如下:include include define uchar unsigned chardefine uint unsigned intsbit DATA=P0^0。sbit shcp=P2^1。sbit stcp=P2^0。sbit p12=P1^2。sbit p15=P1^5。uchar code segment[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。//段碼,09uchar code select[]={0xff,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}。//位碼,第一個(gè)為全選void delay(uint z){ uint i,j。 for(i=z。i0。i) for(j=115。j0。j)。}/*選取字節(jié)和段碼*/void output(uchar select,uchar segment){ uchar i。 shcp=0。 stcp=0。 for(i=0。i8。i++) { if(segmentamp。0x80) //選段碼 { DATA=1。 } else{DATA=0。} _nop_()。 _nop_()。 _nop_()。 shcp=1。 _nop_()。 shcp=0。 _nop_()。 segment=1; } for(i=0。i8。i++) //選位碼 { if(selectamp。0x80) { DATA=1。 } else {DATA=0。} _nop_()。 shcp=1。 _nop_()。 shcp=0。 _nop_()。 select=1。 } stcp=1。 _nop_()。 stcp=0。 _nop_()。}/*void display(){ //output(select[8],segment[1])。//第8位顯1 output(select[8],segment[a])。 output(select[7],segment[a])。 output(select[6],segment[a])。 output(select[5],segment[a])。 output(select[4],segment[a])。 output(select[3],segment[a])。 output(select[2],segment[a])。 output(select[1],segment[a])。 } */void main(){ uint a。 while(1){ //output(select[8],segment[1])。//第8位顯1 for(a=1。a9。a++) { output(select[a],segment[a])。 delay(1000)。 } }}題73圖74 說明行列式鍵盤掃描原理? 略,見P190頁。75 試述A/D轉(zhuǎn)換器的種類和特點(diǎn)。 模/數(shù)(A/D)轉(zhuǎn)換電路的種類很多,例如,計(jì)數(shù)比較型、逐次逼近型、雙積分型等等。逐次逼近型A/、速度和價(jià)格上都適中,是最常用的A/D轉(zhuǎn)換器件。雙積分A/D轉(zhuǎn)換器,具有精度高、抗干擾性好、價(jià)格低廉等優(yōu)點(diǎn),但轉(zhuǎn)換速度低。76設(shè)計(jì)A/D、D/A轉(zhuǎn)換電路時(shí)應(yīng)注意哪些問題。 略,見P198頁。77 畫出ADC0809典型應(yīng)用電路,其中CLK引腳連接時(shí)應(yīng)注意什么問題?EOC引腳在查詢和中斷工作方式時(shí)應(yīng)如何處理。 ADC0809典型應(yīng)用電路見P195頁,圖718。 ADC0809的時(shí)鐘由80C51輸出的ALE信號(hào)二份頻后提供。由于ADC0809的最高時(shí)鐘頻率為640KHz,ALE信號(hào)的頻率是晶振頻率的1/6,若晶振頻率為6MHz,則ALE的頻率為1MHz。 A/D轉(zhuǎn)換可通過查詢、中斷、定時(shí)三種編程方式實(shí)現(xiàn)。EOC引腳在中斷工作方式時(shí)應(yīng)取反連接到單片機(jī)的中斷口;在查詢工作方式時(shí),EOC引腳可連接到單片機(jī)的某一個(gè)引腳,在該引腳為高電平“1”時(shí),說明轉(zhuǎn)換結(jié)束。78 設(shè)已知89C51單片機(jī)的晶振頻率為12MHz,ADC0809的地址為CFFFH,采用中斷工作方式,要求對(duì)8路模擬信號(hào)不斷循環(huán)A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)果以30H為首地址的片內(nèi)RAM中,試畫出該8路采集系統(tǒng)的電路圖,并編寫程序。程序如下: include define uchar unsigned char define uint unsigned int sbit CLK = P3^3。 // 定時(shí)器產(chǎn)生轉(zhuǎn)換時(shí)鐘 sbit adda = P2^0。 // 地址選擇引腳 sbit addb = P2^1。 sbit addc = P2^2。 sbit ad_start = P2^4。 // 轉(zhuǎn)換啟動(dòng)引腳 sbit ad_oe = P2^3。 // 輸出使能 sbit ad_eoc = P3^2。 // 轉(zhuǎn)換結(jié)束引腳 // adc0808數(shù)據(jù)接至P1端 bit ad_flag。 sbit rs=P2^6。 sbit en=P2^7。 unsigned char channel。 // 通道計(jì)數(shù)變量 void delay(uint z) { uint i,j。 for(i=z。i0。i) for(j=110。j0。j)。 } void w(uchar ) { rs=0。 P0=。 delay(5)。 en=1。 delay(5)。 en=0。 } void wdata(uchar date) { rs=1。 P0=date。 delay(5)。 en=1。 delay(5)。 en=0。 } void init() { en=0。 w(0x38)。 w(0x0c)。 w(0x06)。 w(0x01)。 } void main() { unsigned int ad_val。 init()。 // 液晶初始化 channel = 0。 // 起始選擇通道0 ad_flag = 0。 ad_oe = 0。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1