北科单片机实验精选.docx
文本预览下载声明
《单片机实验》报告实验名称?单片机应用 学 院xxxx专业班级????xxxx姓??? 名??? xxx学??? 号??? xxxx?实验一:将内存中$0160~$0167连续八个字节作为一个整体每隔一秒时间右循环右移一位,每移位八位后,见着8个直接发送给PC端口①程序清单:.include m128def.inc.org $0jmp main.org $0046main:LDI R16,LOW(RAMEND)OUT SPL,R16LDI R16,HIGH(RAMEND)OUT SPH,R16CALL USART_InitLDI R24,$08LDI R25,$08LDI R28,$01STS $160,R28LDI R17,$02STS $161,R17LDI R18,$03STS $162,R18LDI R19,$04STS $163,R19LDI R20,$05STS $164,R20LDI R21,$06STS $165,R21LDI R22,$07STS $166,R22LDI R23,$08STS $167,R23LOOP:ROR R28ROR R17ROR R18ROR R19ROR R20ROR R21ROR R22ROR R23delay1: ldi r25,11one: ldi r26,1000two: ldi r27,1000three: dec r27brne threedec r26brne twodec r25brne oneCLCDEC R24BRNE LOOPMOV R16,R28CALL USART1_TransmitMOV R16,R17CALL USART1_TransmitMOV R16,R18CALL USART1_TransmitMOV R16,R19CALL USART1_TransmitMOV R16,R20CALL USART1_TransmitMOV R16,R21CALL USART1_TransmitMOV R16,R22CALL USART1_TransmitMOV R16,R23CALL USART1_TransmitORI R24,$08DEC R25brne LOOPANDI R24,$00USART_Init: ldi r17,0ldi r16,71 sts UBRR1H, r17sts UBRR1L, r16 ;波特率为9600 Fosc=11.0592Mldi r16, (1RXEN1)|(1TXEN1)|(1RXCIE1)sts UCSR1B,r16 ;接收允许、发送允许、接收中断允许ldi r16, (3UCSZ10)sts UCSR1C, r16 ;帧格式为8个数据位,1个停止位ret;发送子程序:;入口寄存器r16:发送字节USART1_Transmit: lds r2,UCSR1Asbrs r2,UDRE1rjmp USART1_Transmitsts UDR1,r16ret;接收子程序USART1_Recieve: lds r17, UDR1reti.exit②运行结果:说明:由于在实验室里做出结果后忘记对运行结果进行截图,现在是用AVR simulator进行运行截图如下③设计框图实验二:使用汇编语言编写软件延时程序,分别实现19us、70us、1ms、250ms、1s、12s延时。①程序清单(1)19us.includem128def.inc.org $000rjmp start.org $046start:ldi r16,low(RAMend)out spl,r16ldi r16,high(RAMend)out sph,r16ldi r16,$ffout ddra,r16delay:ldi r16,50nopnop d1: dec r16brne d1ret.exit(2)70us.includem128def.inc.org $000rjmp start.org $046start:ldi r16,low(RAMend)out spl,r16ldi r16,high(RAMend)out sph,r16ldi r16,$ffout ddra,r16delay:ldi r16,187 d1: dec r16brne d1ret.exit(3)1msincludem128def.inc.org $000rjmp start.org $046start:ldi r16,low(RAMend)out spl,r16ldi r16,high(RAMend)out sph,r16ldi r16,$ffout
显示全部