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

正文內(nèi)容

單片機(jī)原理及應(yīng)用c語(yǔ)言版周國(guó)運(yùn)習(xí)題答案-預(yù)覽頁(yè)

 

【正文】 條指令所需要的時(shí)間。除P0~P3為FFH;SP為07H;SBUF為不確定。進(jìn)入空閑方式之后,有兩種方法可以退出。對(duì)于一般的單片機(jī)來說,退出掉電方式的唯一方法是由硬件復(fù)位??梢苑譃閮深悾翰僮鲾?shù)尋址和指令尋址。6.分析下面指令是否正確,并說明理由。MOV A,40H ;數(shù)據(jù)傳送,直接尋址,(A)=48HMOV R0,A ;數(shù)據(jù)傳送,寄存器尋址,(R0)=48HMOV P1,0FH ;數(shù)據(jù)傳送,立即數(shù)尋址,(P1)=0FHMOV R0,30H ;數(shù)據(jù)傳送,直接尋址,(48H)=38HMOV DPTR,1234H ;數(shù)據(jù)傳送,立即數(shù)尋址,(DPTR)=1234HMOV 40H,30H ;數(shù)據(jù)傳送,直接尋址,(40H)=38HMOV 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。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 A,R0INC R0ADD A,R0MOV 43H,ACLR AADDC A,0MOV 42H,ASJMP $ 答:40H加41H單元的數(shù),結(jié)果送42H:43H14.閱讀下面程序段,說明該段程序的功能。(1)A≥10; (2)A>10; (3)A≤10。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 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開始的單元中。3.C51定義變量的一般格式是什么?變量的4種屬性是什么?特別要注意存儲(chǔ)區(qū)屬性。(2)函數(shù)返回值的傳遞當(dāng)函數(shù)有返回值時(shí),其傳遞都是通過寄存器11.在C51中,怎樣嵌入?yún)R編語(yǔ)言程序?怎樣進(jìn)行處理實(shí)現(xiàn)混合編程?答:其方法是用編譯控制指令“pragma src”、“pragma asm”和“pragma endasm”實(shí)現(xiàn)。聲明格式為:PUBLIC 函數(shù)名引用聲明。16.在C51中,如何訪問DATA空間、PDATA空間、XDATA空間、CODE空間某個(gè)確定地址單元?答:用指針定義的訪問存儲(chǔ)器的宏使用時(shí)需要用預(yù)處理命令把該頭文件包含到文件中,形式為:include 。(4)定義長(zhǎng)度為100的無符號(hào)字符型數(shù)組data_array于XDATA區(qū)中。(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_port1=status^4。 18.在89C52單片機(jī)中增加了定時(shí)器/計(jì)數(shù)器2(T2),修改頭文件“”,添加如下內(nèi)容:(1)特殊功能寄存器T2CON、T2MOD、RCAP2L、RCAP2H、TLTH2,地址分別為0xc8~ 0xcd。sfr T2MOD=0xc9。sfr TH2=0xcd。 sbit EXEN2=T2CON^3。 sbit TF2=T2CON^7。sbit PT2=IP^5。sbit P0_3=P0^3。sbit P0_7=P0^7。unsigned int trans_int(void){ unsigned char data i。i++) { temp=temp*10+key_buffer[i]0x30。unsigned char data shu[5]。i4。}21.編寫一C51函數(shù),使用專用指針,把片外數(shù)據(jù)存儲(chǔ)器中從0x100開始的30個(gè)字節(jié)數(shù)據(jù),傳送到片內(nèi)從0x40開始的區(qū)域中。 xdpt=0x100。}22.編寫一C51程序,實(shí)現(xiàn)從P1口輸出產(chǎn)生的流水燈,要求用匯編語(yǔ)言函數(shù)實(shí)現(xiàn)數(shù)據(jù)左移或右移。delay()。試編寫一函數(shù),使從P2口輸出的值產(chǎn)生三角波,并且使三角波的周期和最大值通過入口參數(shù)能夠改變。while(1) { for(i=0。j++) delay()。jzhou/max。void midf(){ unsigned char data temp,i,j,*ptr,*ptr1。j1,j){ for(i=0。*(ptr+i)=temp。void teaf(){ unsigned char xdata *ptr。 for(j=16。*(ptr+i+1)=*(ptr+i)。i162。include void main(){ unsigned char data *dpt。 if(temp==0x0d)break。include void main(){ unsigned char xdata *xdpt。temp)。}}28.利用庫(kù)函數(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é)束。 while(*(dpt+i)!=0x0d) { putchar(*(dpt+i))。 unsigned char i=0。}}30.編寫一定時(shí)器/計(jì)數(shù)器0定時(shí)100ms中斷處理函數(shù),使函數(shù)實(shí)現(xiàn)時(shí)鐘的功能,即產(chǎn)生時(shí)鐘的秒、分鐘和小時(shí)。unsigned char data shi,fen,miao,bfm。 ET0=1。}void time0_int() interrupt 1{ TIMER_H=15536/16。 miao++。 shi++。欲退出調(diào)試狀態(tài),可以再次點(diǎn)擊Debug菜單下的Start/Stop Debug Session命令或相應(yīng)的按鈕。先將光標(biāo)移到需要設(shè)置的行,然后點(diǎn)擊Debug菜單下的Insert/Remove Breakpoint命令或工具欄中的相應(yīng)按鈕,即可設(shè)置或清除斷點(diǎn)。除了sec和states之外,其它寄存器的值都可以改變。變量窗口包含有4個(gè)標(biāo)簽,即4個(gè)顯示區(qū),可以分別顯示局部變量(Locals標(biāo)簽)、指定變量(Watch 1和Watch 2兩個(gè)標(biāo)簽)、及堆棧調(diào)用(Call Stack標(biāo)簽)。另外還有更簡(jiǎn)單的方法觀察變量的值,在程序停止運(yùn)行時(shí),將光標(biāo)放到要觀察的變量上停大約1秒,就會(huì)出現(xiàn)對(duì)應(yīng)變量的當(dāng)前值,如operate=0x32。1)設(shè)置觀察片內(nèi)RAM直接尋址的data區(qū),在Address欄輸入D:xx(xx為十六進(jìn)制的兩位數(shù),下同),便顯示從xx地址開始的數(shù)據(jù)。3)設(shè)置觀察片外RAM xdata區(qū),在Address欄輸入X:xxxx,便顯示從xxxx地址開始的數(shù)據(jù)。修改方法是,用鼠標(biāo)對(duì)準(zhǔn)欲修改的單元,點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中對(duì)Modify Memory at 0x…命令點(diǎn)擊鼠標(biāo)左鍵,會(huì)彈出的文本輸入欄輸入數(shù)據(jù),然后用鼠標(biāo)左鍵點(diǎn)擊“OK”即可。另外,也可以在窗口中對(duì)設(shè)備直接進(jìn)行設(shè)置,與程序中的命令設(shè)置一樣,并且立即生效。各中斷標(biāo)志是通過中斷請(qǐng)求產(chǎn)生的,通過指令或硬件清零的。EX1=1。PS=1。同級(jí)的按自然優(yōu)先級(jí)排序。(3)正在執(zhí)行中斷返回指令 RETI或者對(duì)專用寄存器IE、IP進(jìn)行讀/寫的指令。方法是把要保護(hù)的內(nèi)容壓入到堆棧。?答:開相應(yīng)中斷允許,開總中斷允許,設(shè)置中斷優(yōu)先級(jí)。,能否保證立即響應(yīng)中斷?有什么條件?答:在中斷請(qǐng)求有效并開中斷的狀況下,不能保證立即響應(yīng)中斷。?RETI指令的功能是什么?為什么不用RET指令作為中斷服務(wù)程序的返回指令?答:中斷服務(wù)程序返回指令RETI,除了具有“RET”指令的功能外,還將開放中斷邏輯的作用。2.定時(shí)器/計(jì)時(shí)器用作定時(shí)器用時(shí),其定時(shí)時(shí)間和哪些因素有關(guān)?作計(jì)數(shù)器時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?答:定時(shí)器的定時(shí)時(shí)間和單片機(jī)的振蕩頻率和定時(shí)初值有關(guān)。4.MCS51單片機(jī)的T0、T1定時(shí)器/計(jì)數(shù)器四種工作方式各有什么特點(diǎn)?答:方式0:13位計(jì)數(shù)模式。5.根據(jù)定時(shí)器/計(jì)數(shù)器0方式1邏輯結(jié)構(gòu)圖,分析門控位GATE取不同值時(shí),啟動(dòng)定時(shí)器的工作過程。答:一種是以中斷方式工作,即TF1置1并申請(qǐng)中斷,響應(yīng)中斷后,執(zhí)行中斷服務(wù)程序,并由硬件自動(dòng)使TF1清0;另一種以查詢方式工作,即通過查詢?cè)撐皇欠駷?來判斷是否溢出,TF1置1后必須用軟件使TF1清0。s方式1的最大定時(shí)范圍:16,384181。void main(){ TMOD=0x60。 ET1=1。 TL1=63036%16。 TL1=56。include void main(){TMOD=0x00。 F0=0。}void serve() interrupt 1{TL0=0x1c。 else {F0=0。include unsigned char data count。 TR0=1。While(1)。if(count==10) count=0。unsigned char data mag。 TR0=1。While(1)。0xfc。else if(sta=0x01) mag=3。cou=0。unsigned int data tim。 TR0=1。cou=0。 if(tim==500) {P1=0x01cou。}}15.設(shè)fosc=12MHz。TMOD=0x20。 while(1){while(TF1=1){ TF1=0。 }}}}16.使用一個(gè)定時(shí)器,如何通過軟、硬件結(jié)合的方法,實(shí)現(xiàn)較長(zhǎng)時(shí)間的定時(shí)?答:先使用硬件實(shí)現(xiàn)單位時(shí)間的定時(shí),通過軟件設(shè)置計(jì)數(shù)來實(shí)現(xiàn)較長(zhǎng)時(shí)間的定時(shí)。發(fā)送緩沖器只能寫入發(fā)送的數(shù)據(jù),但不能讀出;接收緩沖器只能讀出接收的數(shù)據(jù),但不能寫入。寫SBUF指令在S6P1處產(chǎn)生一個(gè)正脈沖,在下一個(gè)機(jī)器周期的S6P2處,數(shù)據(jù)的最低位輸出到RXD()腳上;再在下一個(gè)機(jī)器周期的SS4和S5輸出移位時(shí)鐘為低電平時(shí),在S6及下一個(gè)機(jī)器周期的Sl和S2為高電平,就這樣將8位數(shù)據(jù)由低位至高位一位一位順序通過RXD線輸出。當(dāng)使SCON中的REN=1(RI=0)時(shí),產(chǎn)生一個(gè)正的脈沖,在下一個(gè)機(jī)器周期的S3P1~S5P2,從TXD()腳上輸出低電平的移位時(shí)鐘,.并在本機(jī)器周期的S6P2通過串行口內(nèi)的輸入移位寄存器將采樣值移位接收。這一幀數(shù)據(jù)接收完畢,可進(jìn)行下一幀接收。TB8:發(fā)送數(shù)據(jù)的第9位。SCON=0x50。TR1=1。SBUF=temp。TMOD=0x20。X=25610.若定時(shí)器T1設(shè)置成模式2作波特率發(fā)生器,已知fosc=6MHz,求可能產(chǎn)生的最高和最低的波特率。答:若置SM2=1,則允許多機(jī)通信。各個(gè)從機(jī)根據(jù)收到的第9位數(shù)據(jù)(RB8中)的值來決定從機(jī)可否再接收主機(jī)的信息。include unsigned char data txbuf。TMOD=0x20。ES=1。} void serial_server() interrupt 4 { if(TI) TI=0。include unsigned char data txbuf。TMOD=0x20。ES=1。 else error()。} void serial_server() interrupt 4 { if(TI) TI=0。}第8章 單片機(jī)系統(tǒng)擴(kuò)展1.假定一個(gè)存儲(chǔ)器有4096個(gè)存儲(chǔ)單元,其首地址為0,則末地址為多少?答:末地址為4095。答:需要4片,地址總線是12位。I2C總線簡(jiǎn)單,結(jié)構(gòu)緊湊,易于實(shí)現(xiàn)模塊化和標(biāo)準(zhǔn)化。引腳自定義。 for(i=0。i30。unsigned char xdata buffer[100] 。 while(temp!=’$’) {buffer[i]=temp。在鍵閉合穩(wěn)定時(shí),讀取鍵的狀態(tài),并且必須判別;在鍵釋放穩(wěn)定后,再作處理。2的行列式鍵盤(同在P1口)電路并編寫鍵掃描程序。0xf0)==0xf0) retur
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1