單片機原理及應用(C51版)第3章習題答案_第1頁
單片機原理及應用(C51版)第3章習題答案_第2頁
單片機原理及應用(C51版)第3章習題答案_第3頁
單片機原理及應用(C51版)第3章習題答案_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第3章習題答案已知片內(nèi)RAM的30H單元和40H單元各存放了一個8位無符號數(shù),試編寫程序比較這兩個數(shù)的大小。若(30H)≥(40H),則將地址為20H的內(nèi)存單元置0;否則,則將地址為20H的內(nèi)存單元置1。方法一:#defineucharunsignedchardataucharx_at_0x30;datauchary_at_0x40;dataucharz_at_0x20;voidmain(){ if(x>=y)z=0x00; elsez=0x01; while(1);}方法二:#include<absacc.h>#definexDBYTE[0x30]#defineyDBYTE[0x40]#definezDBYTE[0x20]voidmain(){ if(x>=y)z=0x00; elsez=0x01; while(1);}2.已知片內(nèi)RAM的20H單元中存放著一個無符號數(shù)X,試編寫程序求出下式的函數(shù)值Y,并將結(jié)果存放在21H單元中。方法一:#defineucharunsignedchardataucharx_at_0x20;datauchary_at_0x21;voidmain(){ if(x>0x10)y=0xaa; elseif(x==0x10)y=0x00; elsey=0xff; while(1);}方法二:#include<absacc.h>#definexDBYTE[0x20]#defineyDBYTE[0x21]voidmain(){ if(x>0x10)y=0xaa; elseif(x==0x10)y=0x00; elsey=0xff; while(1);}3.已知片內(nèi)RAM的20H單元中存放著一個有符號數(shù)X,試編寫程序求出下式的函數(shù)值Y,并將結(jié)果存放在21H單元中。方法一:datacharx_at_0x20;datachary_at_0x21;voidmain(){ if(x==0)y=0x00; elseif((x&0x80)==0)y=0x01; elsey=0xff; while(1);}方法二:#include<absacc.h>#definexDBYTE[0x20]#defineyDBYTE[0x21]voidmain(){ if(x==0)y=0x00; elseif((x&0x80)==0)y=0x01; elsey=0xff; while(1);} 試編寫程序,將片內(nèi)RAM以30H為起始地址的10個單元中的數(shù)據(jù)求和,并將結(jié)果送入40H單元。假設(shè)和不大于255。參考程序:#defineucharunsignedchardataucharbuffer[10]_at_0x30;dataucharsum_at_0x40;voidmain(){ uchari; for(i=0;i<10;i++) sum+=buffer[i]; while(1);}試編寫程序,查找片內(nèi)RAM以30H為起始地址10個單元數(shù)據(jù)的最小值,并將結(jié)果送入40H單元。參考程序:#defineucharunsignedchardataucharbuffer[10]_at_0x30;dataucharx_at_0x40;voidmain(){ uchari; x=0xff; for(i=0;i<10;i++) if(buffer[i]<x)x=buffer[i]; while(1);}試編寫程序,將片內(nèi)RAM30H~50H單元的數(shù)據(jù)塊,全部搬移到片外RAM從1000H起始的存儲區(qū)域,并將原數(shù)據(jù)區(qū)全部填為00H。參考程序:#defineucharunsignedchardataucharbuffer1[33]_at_0x30;xdatauchar buffer2[33]_at_0x1000;voidmain(){ uchari; for(i=0;i<33;i++) { buffer2[i]=buffer1[i]; buffer1[i]=0; } while(1);}試編寫程序?qū)⑵瑑?nèi)RAM以40H為起始地址的數(shù)據(jù)塊傳送到片外RAM以2000H為起始地址的區(qū)域,直到發(fā)現(xiàn)“$”字符,傳送停止。參考程序:(假設(shè)長度為10個單元)#defineucharunsignedchardataucharbuffer1[10]_at_0x40;xdataucharbuffer2[10]_at_0x2000;voidmain(){ uchari; i=0; while(buffer1[i]!=0x24) { buffer2[i]=buffer1[i]; i++; } while(1);}8.試編寫程序,求平方和c=a2+b2,設(shè)a、b分別存于內(nèi)部RAM的30H、31H兩個單元(假設(shè)a、b均小于10),計算結(jié)果存在內(nèi)部RAM的32H單元中。方法一:#defineucharunsignedchardataucharx_at_0x30;datauchary_at_0x31;dataucharz_at_0x32; ucharcodesquare[10]={0,1,4,9,16,25,36,49,64,81};ucharfuction(ucharnumber){ returnsquare[number];} voidmain() { z=fuction(x)+fuction(y); while(1);}方法二:#defineucharunsignedchar#include<absacc.h>#definexDBYTE[0x30]#defineyDBYTE[0x31]#definezDBYTE[0x32]ucharcodesquare[10]={0,1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論