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

正文內(nèi)容

單片微機(jī)原理與接口技術(shù)(第2版宋躍版)習(xí)題參考答案(已改無錯字)

2023-07-01 06:48:59 本頁面
  

【正文】 保存結(jié)果,高8位 L_Byte EQU R5 。保存結(jié)果,低8位 Max_Adder EQU 100 。最大的加數(shù) ORG 0000H 18 / 109 宋躍單片微機(jī)原理與接口技術(shù)(第2版) 習(xí)題參考答案 150624 LJMP MAIN ORG 0030H MAIN: MOV R2,1 。加數(shù) MOV R4,0 MOV R5,0 START: MOV A,Max_Adder CLR CY SUBB A,R2 JC RESULT MOV A,R2 ADD A,L_Byte MOV L_Byte,A 。保存低位 MOV A,H_Byte ADDC A,0 MOV H_Byte,A 。保存高位 INC R2 JMP START RESULT: SJMP $ 。只用于調(diào)試 END C語言代碼如下: include //由于這里只是計算結(jié)果,所以這行代碼可以去掉 void main(void) { unsigned char i=1。 unsigned int result=0。 for(i=1。iamp。lt。=100。i++) result+=i。 while(1)。 //這里用于調(diào)試 19 / 109 宋躍單片微機(jī)原理與接口技術(shù)(第2版) 習(xí)題參考答案 150624 第6章思考題及習(xí)題參考答案 C51支持的數(shù)據(jù)類型和存儲器類型有哪些? 答:數(shù)據(jù)類型:字符型、整型、長整型、浮點型、位型、訪問SFR。 存儲器類型:bdata 、data、 idata、 pdata 、xdata 、code .設(shè)x=4,y=8,說明下列各題運算后x,y,z的值分別是多少? (a)z=(++x)*(y); (b)z=(++x)+(y) (c)z=(x++)*(y); (d)z=(x++)+(y) 答:(a)x=5,y=7,z=35; (b)x=5,y=7,z=13; (c)x=5,y=7,z=28; (d)x=5,y=7,z=12; .C51中斷函數(shù)是如何定義的?各個選項有和意義? 答:完整形式:Void 函數(shù)名(參數(shù))[編譯模式] [重入] [interrupt n] [using m] 編譯模式為SMALL、COMPACT或LARGE,用來指定參數(shù)和變量的存儲空間。 重入:用于定義可重入函數(shù)。 interrupt n 用于定義中斷函數(shù),n為中斷號,可以為0~31,通過中斷號可以決定中斷服務(wù)程序的入口地址。 using m用于確定中斷服務(wù)函數(shù)所使用的寄存器組 . C51應(yīng)用程序的參數(shù)傳遞有哪些方式?特點是什么? 答:參數(shù)傳遞可以采用寄存器、固定存儲器位置方式。寄存器傳遞方式最多可以傳遞3個參數(shù)。這種參數(shù)傳遞可以產(chǎn)生高效的代碼。當(dāng)無寄存器可用時,參數(shù)可以采用固定的存儲器位置傳遞。在SMALL模式下,參數(shù)傳遞在內(nèi)部RAM中完成。在COMPACT和LARGER模式下,參數(shù)的傳遞要在外部RAM中完成。 . 一般指針與基于存儲器的指針有何區(qū)別? 答: 一般指針定義時未指定它所指向的對象的存儲器類型時,該指針變量就被認(rèn)為是一般指針。一般指針占用3個字節(jié):第一個字節(jié)存放該指針的存儲器類型編碼(由編譯模式的默認(rèn)值確定),第二和第三個字節(jié)分別存放該指針的高位和低位地址偏移量。 基于存儲器的指針定義時就指定了它所指向的對象的存儲器類型時,該指針變量就屬于基于存儲器的指針?;诖鎯ζ鞯闹羔樋梢愿咝гL問對象,類型由C51源代碼中存儲器類型決定,且在編譯時確定。 設(shè)a=3,b=4,c=5,寫出下列關(guān)系表達(dá)式或邏輯表達(dá)式的結(jié)果。 答: (1) a+bamp。gt。c amp。amp。amp。amp。 b==c (False) (2) a||b+camp。amp。amp。amp。bc (True) (3)!(aamp。gt。b) amp。amp。amp。amp。 !c|| 1 (True) 20 / 109 宋躍單片微機(jī)原理與接口技術(shù)(第2版) 習(xí)題參考答案 150624 (4)!(a+b)+c1amp。amp。amp。amp。b+c/2 (True) ,輸入”1”時顯示“a”,輸入”2”時顯示“b”,輸入”3”時顯示“c”,輸入”4”時顯示“d”,輸入”5”時結(jié)束。 答:include amp。lt。amp。gt。 include amp。lt。amp。gt。 define uchar unsigned char define uint unsigned int uchar i。 void main() { printf(please input the number\n)。 scanf(%d,amp。amp。i)。 switch (i) { case 1: printf(a)。break。 case 2: printf(b)。break。 case 3: printf(c)。break。 case 4: printf(d)。break。 case 5: break。 default: printf(Error!)。 } while(1)。 } 輸入3個無符號數(shù)據(jù),要求按由大到小的順序輸出。 解:include amp。lt。amp。gt。 include amp。lt。amp。gt。 define uchar unsigned char define uint unsigned int uint a,b,c。 void main() { uint max, min, med。 scanf(%d,%d,%d, amp。amp。a , amp。amp。b, amp。amp。c)。 if (aamp。gt。b amp。amp。amp。amp。 bamp。gt。c) { max=a。 med=b。 min=c。} else if (aamp。gt。b amp。amp。amp。amp。 bamp。lt。c amp。amp。amp。amp。 aamp。gt。c) { max=a。 med=c。 min=b。} else if (aamp。gt。b amp。amp。amp。amp。 bamp。lt。c amp。amp。amp。amp。 aamp。lt。c) { max=c。 med=a。 min=b。} else if (bamp。gt。a amp。amp。amp。amp。 bamp。lt。c) { max=c。 med=b。 min=a。} else if (bamp。gt。a amp。amp。amp。amp。 bamp。gt。c amp。amp。amp。amp。 aamp。gt。c) 21 / 109 宋躍單片微機(jī)原理與接口技術(shù)(第2版) 習(xí)題參考答案 150624 { max=b。 med=a。 min=c。} else { max=b。 med=c。 min=a。} printf(%damp。gt。%damp。gt。%d\n, max, med, min)。 } 用循環(huán)結(jié)構(gòu)編寫程序?qū)崿F(xiàn)輸出110的平方和 解:include amp。lt。amp。gt。 include amp。lt。amp。gt。 define uchar unsigned char define uint unsigned int uint sum=0。 void main( ) { uchar i。 for (i=1。iamp。lt。=10。i++) { sum = sum +i*i。 } printf(sum=%d,sum)。 } .設(shè)fsoc=12MHz,8051定時器0的方式0、方式方式2的最大定時間隔分別是多少? 答:fsoc=12MHz,故計數(shù)周期為1us,所以: 方式0最大計數(shù)為2=8192,T0=8192us; 方式1最大計數(shù)為2=65536,T1=65536us; 方式2最大計數(shù)為2=256,T1=256us; .用單片機(jī)內(nèi)部定時器來產(chǎn)生矩形波, 設(shè)單片機(jī)時鐘頻率為l2MHz。試寫出有關(guān)的程序。 答:用定時器0的方式1編程,采用中斷方式。 include amp。lt。amp。gt。 sbit P10=P1^0。 void time0(void) interrupt 1 using 1 { P10=~P10。 TH0=(65536500)/256。 TL0=(65536500)%256。 } 22 / 109 81613 宋躍單片微機(jī)原理與接口技術(shù)(第2版) 習(xí)題參考答案 150624 void main(void) { TMOD=0x01。 TH0=(65536500)/256。 TL0=(65536500)%256。 EA=1。 ET0=1。 TR0=1。 while (1)。 } =12MHz,用延時程序要求在P0口上輸出頻率為1Hz的流水燈,試寫出有關(guān)的程序,并給出Proteus硬件仿真結(jié)果。 答: (1)建立文件夾LED。 (2)在桌面點擊Keil uVision4圖標(biāo),啟動μVision4,(左)所示。 (3)新建一個項目工程:選擇Project→New uVision Project選項,彈Creat new (右)所示,找到第一步新建的文件夾LED,并在文件名中給定一個項目工程名,不建議用中文,如sw。點擊保存進(jìn)入到Select Device for Target界面,并從器件庫中選擇一個單片機(jī)芯片,如Atmel公司的AT89C51,(左)所示,(左)。 (4)建立C文件:選擇File→New,建立text1文件。再選擇File→Save (右)所示,然后在文件中輸入下列程序代碼。 include amp。lt。amp。gt。 void delay(x,y) {int i,j。 for(i=0。iamp。lt。x。i++) for(j=0。jamp。lt。y。j++)。 } void main() { int a=200。 int b=200。 char LED=1。 while (1) { char i。 for(i=0。iamp。lt。8。i++) { P0=(LEDamp。lt。amp。lt。i)|(LEDamp。gt。amp。gt。(8i))。//循環(huán)左移i位 23 / 109 宋躍單片微機(jī)原理與接口技術(shù)(第2版) 習(xí)題參考答案 150624 } } } delay(a,b)。 (5)在項目工程中添加源文件:點擊Target1會出現(xiàn)Source Group1圖標(biāo),右擊Source Group1,在彈出的快捷菜單中選擇Add File to Group‘Source Group1’選項,進(jìn)入到Add File to Group‘Source Group1’界面,選擇第四步建立的程序文件(),點擊Add按鈕,將源文件添加到項目中。 (6)設(shè)置項目工程參數(shù):在Project菜單的下拉選項中,單擊Options for Target‘Target 1’選項,完成以下設(shè)置:單片機(jī)工作頻率設(shè)置為12MHz;Output標(biāo)簽下的Create HEX File前小框中要打鉤;表示可以生成HEX目標(biāo)代碼;在Debug標(biāo)簽下選擇Use Simulator(默認(rèn)項)。 (7)編譯項目工程:選擇Project→Rebuild all Target file選項完成匯編,也可以用工具欄中的快捷方式。 (8)軟件調(diào)試:編譯成功后在Debug菜單選項中單擊Start/Stop Debug Session進(jìn)入調(diào)試狀態(tài)。在Debug菜單下選擇Step(單步)運行方式,可以實時觀察程序運行狀態(tài),;如果選擇Run,則程序進(jìn)入到連續(xù)運行方式。 (9)打開Proteus軟件:雙擊桌面上的Proteus 8 Professional圖標(biāo)或者單擊開始→程序
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1