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

正文內(nèi)容

單片機(jī)原理及應(yīng)用c語言版周國運(yùn)習(xí)題答案-在線瀏覽

2024-08-07 13:41本頁面
  

【正文】 HMOV R0,38H ;數(shù)據(jù)傳送,直接尋址,(R0)=40HMOV P0,R0 ;數(shù)據(jù)傳送,直接尋址,(P0)=40HMOV 28H,30H ;數(shù)據(jù)傳送,立即數(shù)尋址,(28H)=30HMOV A,R0 ;數(shù)據(jù)傳送,寄存器間接尋址,(A)=38H9.已知(A)=23H,(R1)=65H,(DPTR)=1FECH,片內(nèi)RAM(65H)=70H, ROM(205CH)=64H。MOV A,R1 ;(A)=70HMOVX DPTR,A ;(1FECH)=70HMOVC A,A+DPTR ;(A)=64HXCHD A,R1 ;(A)=65H10.已知(A)=76H,(R1)=76H,(B)=4,CY=1,片內(nèi)RAM(76H)=0D0H,(80H)=6CH。ADD A,R1 ;(A)=46H,CY=1SUBB A,75H ;(A)=0D0H,CY=1MUL AB ;(A)=40H,(B)=03HDIV AB ;(A)=15H,(B)=01HANL 76H,76H ;(76H)=50HORL A,0FH ;(A)=1FHXRL 80H,A ;(80H)=73H11.已知(A)=83H,(R0)=17H,(17H)=34H,試分析當(dāng)執(zhí)行完下面程序段后累加器A、R0、17H單元的內(nèi)容。MOV R0,40HMOV R7,10CLR ALOOP:MOV R0,AINC AINC R0DJNZ R7,LOOPSJMP $ 答:把0,1,2,3……數(shù)列送到40H開始的10個(gè)單元中。MOV R0,40HMOV A,R0INC R0ADD A,R0MOV 43H,ACLR AADDC A,0MOV 42H,ASJMP $ 答:40H加41H單元的數(shù),結(jié)果送42H:43H14.閱讀下面程序段,說明該段程序的功能。MOV C,ANL C,ORL C,ORL C,MOV ,C16.編寫程序,若累加器A的內(nèi)容分別滿足下列條件,則程序轉(zhuǎn)到LABLE存儲(chǔ)單元。(1)A≥10; (2)A>10; (3)A≤10。MOV R0,29HNEXT:INC R0CJNE R0,51H,NEXT2MOV 51H,0FFHAJMP OVERNEXT2:CJNE R0,55H,NEXTMOV 51H,0OVER:18.編寫程序,查找片內(nèi)RAM的30H~50H單元中出現(xiàn)0的次數(shù),并將查找的結(jié)果存入51H單元。MOV DPTR,SOURCEMOV R0,DISTNEXT:MOVX A,DPTRMOV R0,AINC DPTRINC R0CINE A,24H,NEXT20.片內(nèi)RAM的30H和31H單元中存放著一個(gè)16位的二進(jìn)制數(shù),高位在前,低位在后。CLR CMOV A,0SUBB A,31HMOV 31H,AMOV A,0SUBB A,30HMOV 30H,A21.片內(nèi)RAM中有兩個(gè)4字節(jié)壓縮的BCD碼形式存放的十進(jìn)制數(shù),一個(gè)存放在30H~33H單元中,另一個(gè)存放在40H~43H單元中。CLR CMOV R0,30HMOV R1,40HMOV R2,4NEXT:MOV A,R0ADDC A,R1MOV R0,AINC R0INC R1DJNZ R2,NEXT22.編寫程序,把片外RAM從2000H開始存放的16字節(jié)數(shù)據(jù),傳送到片內(nèi)從30H開始的單元中。整型變量(int)不管是unsigned int數(shù)據(jù)還是signed int數(shù)據(jù),均為2個(gè)字節(jié),即16位,其存儲(chǔ)方法是高位字節(jié)保存在低地址(在前面),低位字節(jié)保存在高地址(在后面)。3.C51定義變量的一般格式是什么?變量的4種屬性是什么?特別要注意存儲(chǔ)區(qū)屬性。5.C51位變量的定義格式是什么?如何定義bdata型字節(jié)變量的位變量?答:[存儲(chǔ)類型] bit 位變量名1[=初值] [,位變量名2[=初值]] [,…]sbit 位變量名 = bdata型變量名^位號(hào)常數(shù)6.如何定義8位字節(jié)型特殊功能寄存器?如何定義16位特殊功能寄存器?如何定義特殊功能寄存器的位變量?答:sfr 特殊功能寄存器名 = 地址常數(shù)sfr16 特殊功能寄存器名 = 地址常數(shù) sbit 位變量名 = 特殊功能寄存器名^位號(hào)常數(shù)7.C51專用指針定義的一般格式是什么?如何確定專用指針定義的指向空間和指針變量本身存儲(chǔ)的空間?答:[存儲(chǔ)類型] 數(shù)據(jù)類型 指向存儲(chǔ)區(qū) *[指針存儲(chǔ)區(qū)] 指針名1 [,*[指針存儲(chǔ)區(qū)] 指針名2,…]*的左面是指向存儲(chǔ)區(qū),*的右面是指針存儲(chǔ)區(qū)8.C51函數(shù)定義的一般形式是什么?如何定義中斷處理程序?如何選擇工作寄存器組?答:返回類型 函數(shù)名(形參表) [函數(shù)模式] [reentrant] [interrupt m] [using n]{ 局部變量定義 執(zhí)行語句}[interrupt m]字段中的m定義中斷處理程序的中斷號(hào)[using n]字段中的n選擇工作寄存器組9.在C51中,對匯編語言函數(shù)的命名規(guī)則是怎樣的,具體地說:不傳遞參數(shù)的函數(shù)名格式是什么?通過寄存器傳遞參數(shù)的函數(shù)名格式是什么?傳遞參數(shù)重入函數(shù)的函數(shù)名格式是什么?答:?PR?函數(shù)名?模塊名 //不傳遞參數(shù)?PR?_函數(shù)名?模塊名 //通過寄存器傳遞參數(shù)?PR?_?函數(shù)名?模塊名 //對重入函數(shù)通過堆棧傳遞參數(shù)10.在C51中,函數(shù)返回值傳遞的規(guī)則是什么?答:(1)調(diào)用時(shí)參數(shù)的傳遞分三種情況:少于等于3個(gè)參數(shù)時(shí)通過寄存器傳遞(寄存器不夠用時(shí)通過存儲(chǔ)區(qū)傳遞),多于3個(gè)時(shí)有一部分通過存儲(chǔ)區(qū)傳遞,對于重入函數(shù)參數(shù)通過堆棧傳遞。(2)函數(shù)返回值的傳遞當(dāng)函數(shù)有返回值時(shí),其傳遞都是通過寄存器11.在C51中,怎樣嵌入?yún)R編語言程序?怎樣進(jìn)行處理實(shí)現(xiàn)混合編程?答:其方法是用編譯控制指令“pragma src”、“pragma asm”和“pragma endasm”實(shí)現(xiàn)。對于函數(shù)的調(diào)用方法,與調(diào)用匯編語言中的函數(shù)一樣,在C語言文件中調(diào)用匯編語言中的函數(shù),必須先聲明再調(diào)用。聲明格式為:PUBLIC 函數(shù)名引用聲明。聲明格式為:EXTRN 存儲(chǔ)區(qū)域類型(變量名)匯編語言函數(shù)的格式如下: RSEG ?PR?函數(shù)名?模塊名函數(shù)名:14.在C51中怎樣把函數(shù)定義到確定的位置?答:對函數(shù)的定位方法, CSEG AT 001BH 15.如何在C51文件和匯編語言文件中相互調(diào)用對方文件中的函數(shù)?答:匯編語言文件中對于函數(shù)的調(diào)用方法,與調(diào)用匯編語言中的函數(shù)一樣,如: LCALL DISPLAY 在C語言文件中調(diào)用匯編語言中的函數(shù),必須先聲明再調(diào)用。16.在C51中,如何訪問DATA空間、PDATA空間、XDATA空間、CODE空間某個(gè)確定地址單元?答:用指針定義的訪問存儲(chǔ)器的宏使用時(shí)需要用預(yù)處理命令把該頭文件包含到文件中,形式為:include 。(2)定義定時(shí)器/計(jì)數(shù)器0的賦計(jì)數(shù)值的高、低字節(jié)變量TL0_L和TH0_H,將其定義在DATA去區(qū)的0x0x31處。(4)定義長度為100的無符號(hào)字符型數(shù)組data_array于XDATA區(qū)中。答:(1)unsigned char code dis_code[10]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f}。(3)unsigned char idata data_buf[20];(4)unsigned char xdata data_array[100];(5)unsigned char bdata status;sbit flag_lamp1=status^0。 sbit flag_machine1=status^2。 sbit flag_port1=status^4。 sbit flag_calcu1=status^6。 18.在89C52單片機(jī)中增加了定時(shí)器/計(jì)數(shù)器2(T2),修改頭文件“”,添加如下內(nèi)容:(1)特殊功能寄存器T2CON、T2MOD、RCAP2L、RCAP2H、TLTH2,地址分別為0xc8~ 0xcd。(3)定義位變量TT2EX對應(yīng)于P1口的第0位和第1位;定義位變量ET2對應(yīng)于EI的第5位;定義位變量PT2對應(yīng)于IP的第5位;(4)對P1口的8個(gè)位分別定義位變量P0_0、P0_P0_P0_P0_P0_P0_6和P0_7(從低位到高位)。sfr T2MOD=0xc9。sfr RCAP2H=0xcb。sfr TH2=0xcd。 sbit C_T2=T2CON^1。 sbit EXEN2=T2CON^3。 sbit RCLK=T2CON^5。 sbit TF2=T2CON^7。sbit T2EX=P1^1。sbit PT2=IP^5。sbit P0_1=P0^1。sbit P0_3=P0^3。sbit P0_5=P0^5。sbit P0_7=P0^7。設(shè)從鍵盤輸入的數(shù)存放在一無符號(hào)數(shù)組中,低位數(shù)為低下標(biāo)元素。unsigned int trans_int(void){ unsigned char data i。 for(i=0。i++) { temp=temp*10+key_buffer[i]0x30。}20.編寫一C51函數(shù),把一整型數(shù)按十進(jìn)制數(shù)將其各位分離,分離后放在一無符號(hào)數(shù)組中,便于顯示。unsigned char data shu[5]。unsigned char i。i4。 temp=temp/10。}21.編寫一C51函數(shù),使用專用指針,把片外數(shù)據(jù)存儲(chǔ)器中從0x100開始的30個(gè)字節(jié)數(shù)據(jù),傳送到片內(nèi)從0x40開始的區(qū)域中。 unsigned char xdata *xdpt。 xdpt=0x100。i30。}22.編寫一C51程序,實(shí)現(xiàn)從P1口輸出產(chǎn)生的流水燈,要求用匯編語言函數(shù)實(shí)現(xiàn)數(shù)據(jù)左移或右移。 while(1) {temp=0x55。delay()。delay()。試編寫一函數(shù),使從P2口輸出的值產(chǎn)生三角波,并且使三角波的周期和最大值通過入口參數(shù)能夠改變。 max=max1。while(1) { for(i=0。 for(j=0。j++) delay()。i0,i) { DAC0832=i。jzhou/max。}}24.在數(shù)字濾波中有一種叫做“中值濾波”技術(shù),就是對采集的數(shù)據(jù)按照從大到小或者從小到大進(jìn)行排序,然后取其中在中間位置的數(shù)作為采樣值。void midf(){ unsigned char data temp,i,j,*ptr,*ptr1。ptr1=0x4f。j1,j){ for(i=0。i++) { if(*(ptr+i)*(ptr+i+1)) {temp=*(ptr+i+1)。*(ptr+i)=temp。}25.在數(shù)字濾波中有一種叫做“去極值平均濾波”技術(shù),就是對采集的數(shù)據(jù)按照從大到小或者從小到大進(jìn)行排序,然后去掉相同數(shù)目的極大值和極小值,對中間部分?jǐn)?shù)據(jù)求算術(shù)平均值作為采樣值。void teaf(){ unsigned char xdata *ptr。 ptr=0x150。 for(j=16。ij。*(ptr+i+1)=*(ptr+i)。 }}}temp=0。i162。 *ptr1=temp/(162)。include void main(){ unsigned char data *dpt。 dpt=0x40。 if(temp==0x0d)break。 i++。include void main(){ unsigned char xdata *xdpt。 xdpt=0x240。temp)。 *(xdpt+i)=temp。}}28.利用庫函數(shù)putchar編寫一函數(shù),實(shí)現(xiàn)從單片機(jī)串行口發(fā)送數(shù)據(jù)的C51程序,發(fā)送的數(shù)據(jù)存放在片內(nèi)數(shù)據(jù)存儲(chǔ)器從0x50開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。 unsigned char i=0。 while(*(dpt+i)!=0x0d) { putchar(*(dpt+i))。}}29.利用庫函數(shù)printf編寫一函數(shù),實(shí)現(xiàn)從單片機(jī)串行口發(fā)送數(shù)據(jù)的C51程序,發(fā)送的數(shù)據(jù)存放在片外數(shù)據(jù)存儲(chǔ)器從0x100開始的區(qū)域,遇到回車符CR(ASCII碼是0x0d)結(jié)束。 unsigned char i=0。 while(*(xdpt+i)!=0x0d) { printf(“%c”,*(xdpt+i))。}}30.編寫一定時(shí)器/計(jì)數(shù)器0定時(shí)100ms中斷處理函數(shù),使函數(shù)實(shí)現(xiàn)時(shí)鐘的功能,即產(chǎn)生時(shí)鐘的秒、分鐘和小時(shí)。設(shè)fosc=6mhzinclude sfr TIMER_H=0x8b。unsigned char data shi,fen,miao,bfm。 TIMER_H=15536/16。 ET0=1。 TR0=1。}void time0_int() interrupt 1{ TIMER_H=15536/16。 bfm++。 miao++。 fen++。 shi++
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1