ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:116.50KB ,
资源ID:7390004      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7390004.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(单片机原理例题及习题.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机原理例题及习题.doc

1、例4.1(顺序结构)被加数存于片内RAM的32H、31H、30H单元,加数存于片内RAM的35H、34H、33H单元相加之和存于片内RAM的32H、31H、30H单元,进位存于片内RAM的00H单元。程序如下: START: MOV R0, #30H MOV R1, #33H MOV A, @R0 ADD A, @R1 MOV @R0, A INC R0 INC R1 MOV A, @R0 ADDC A, @R1 MOV @R0, A INC R0 INC R1 MOV A, @R0 ADDC A, @R1 MOV @R0, A

2、CLR A ADDC A, #00H MOV 00H, A RET 例4.2(分支结构)假定在片外RAM的2000H、2001H、2002H这3个连续单元中,2000H和2001H单元存放着两个无符号数。要求找出两个无符号数中较大者,并存放于2002H单元。程序如下: ORG 0100H START: CLR C MOV DPTR, #2000H MOVX A, @DPTR MOV R2, A INC DPTR MOVX A, @DPTR SUBB A, R2 JNC LOOP1 XCH A, R2 LOOP0: INC DP

3、TR MOVX @DPTR, A RET LOOP1: MOVX A, @DPTR SJMP LOOP0 例4.5两个多字节数的减法。 设有2个n字节无符号数,分别存放在片内的ram单元中,低字节在前,高字节在后。 CLR C MOV R2,#N LOOP:MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP RET 例4.3(循环结构)将片内RAM的20H单元为起始地址的数据串(最长为32 Bytes),传送到外部RAM的2000H单元为首地址的区域,直到发现“$”字符的AS

4、CⅡ码为止。程序如下: START: MOV R0, #20H MOV DPTR, #2000H MOV R7, #32 LOOP0: MOV A, @R0 XRL A, #24H JZ LOOP1 MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, LOOP0 LOOP1: RET 例4.7假设被乘数放在r6和r7中,乘数放在r4和r5中,求乘积放于40H~43H单元中,低字节在前。 ORG 30H MUL16:MOV R0,#40H MOV A,R6

5、 MOV B,R4 MUL AB MOV @R0,A MOV R3,B MOV A,R7 MOV B, R4 MUL AB ADD A,R3 MOV R3,A MOV A,#0 ADDC A,B MOV R2,A MOV A,R6 MOV B,R5 MUL AB ADD A,R3 INC R0 MOV @R0,A MOV R1,#0 MOV A,.R2 ADDC A,B MOV R2,A JNC NEXT INC R1 NEXT: MOV A,R7 MOV B,R5 MUL AB

6、 ADD A,R2 INC R0 MOV A,B ADDC A,R1 INC R0 MOV @R0,A RET 例5.5将89s51的P1口设置成数据输入口,外围设备每准备好一个数据时,发出一个选通信号,经D触发器74LS74送给单片机引脚INT1,通知cpu进行处理。编写主程序和中断服务程序。 主程序: ORG 0000H LJMP MAIN ORG 0013H LJMP INT1 ORG 0030H MAIN: CLR IT1 SETB EA SETB EX1 MOV DPT

7、R,#1000H …… 终端服务程序: ORG 0200H INT1:PUSH PSW PUSH ACC CLR P3.0 NOP NOP SETB P3.0 MOV A, P1 MOVX @DPTR, A INC DPTR …… POP ACC POP PSW TETI 中断和查询相结合的多外部中断源系统 主程序: ORG 0000H AJMP MAIN ORG 0003H AJMP INSER MAIN:MOV R1,#0FFH SETB IT0 SETB EX0 SETB EA HER

8、E:AJMP HERE 外部中断0的中断服务程序: INSER:JNB P1.1 ,L1 CLR P1.0 L1: JNB P1.3 ,L2 CLR P1.2 L2: JNB P1.5 ,L3 CLR P1.4 L3: JNB P1.7 ,L4 CLR P1.6 L4: RETI 例4.4(加法)设有两个4字节的二进制数,分别存放在片内以30H和50H为起始地址的单元中(先存放低字节)。求两个数的和,并将结果存入以30H为起始地址的单元中。如下: ORG 800H JAZ: MOV

9、 R0, #30H MOV R1, #50H MOV R2, #4 LCALL JAFA JC OVER MOV 34H, #00H SJMP HERE OVER: MOV 34H,#01H HERE: SJMP HERE ORG 1000H JAFA: CLR C JAADD:MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,JAADD RET

10、 定时程序: 单循环定时程序: MOV R7, #time LOOP: NOP NOP DJNZ R7, LOOP RET NOP指令的机器周期为1,DJNZ指令的机器周期为2,则一次循环共4个机器周期。如果单片机的晶振频率为6MHz,则一个机器周期是2μS,所以一次循环的延迟时间为8μS。定时程序的延迟时间是循环程序段执行时间的整数倍,该程序的延迟时间为8×time(μS)。这个程序的最长延迟时间为2048μS。 较长时间的定时程序: MOV R7, #time1 LOOP1:MOV R6, #time2 LOOP2: NOP NOP DJ

11、NZ R6, LOOP2 DJNZ R7, LOOP1 RET 为了加长定时时间,通常采用多重循环的方法。如下面的双重循环定时程序,最长可延时262914个机器周期,即525828μS或大约526mS(设晶振频率为6MHz)。 例4.8(除法运算程序:采用“左移被除数相除法”)假设被除数存放于40H、41H单元中,除数存放于44H、45H单元中,要求将商存放于40H、41H单元中,余数存放于42H、43H单元中,低字节在前。48H、49H作为暂存单元。双字节除法程序如下: DIV16: MOV R0,#40H MOV A,@R0 J

12、NZ LOOP0 INC R0 MOV A, @R0 JNZ LOOP0 CLR A MOV 42H,A MOV 43H,A RET LOOP0: MOV R0,#44H MOV A, @R0 JNZ LOOP1 INC R0 MOV A, @R0 JNZ LOOP1 RET LOOP1: CLR A MOV 42H, A MOV 43H, A MOV R6, #16 LOOP2: CLR C MOV R3. #4

13、 MOV R0, #40H LOOP3: MOV A, @R0 RLC A MOV @R0, A INC R0 DJNZ R3, LOOP3 MOV R0, #42H MOV R1, #44H MOV A, @R0 CLR C SUBB A, @R1 MOV 48H, A INC R0 INC R1 MOV A, @R0 SUBB A, @R1 MOV 49H, A JC LO

14、OP4 MOV R0, #42H MOV R1, #48H MOV A, @R1 MOV @R0, A INC R0 INC R1 MOV A, @R1 MOV @R0, A MOV A, 40H INC A MOV 40H, A LOOP4: DJNZ R2, LOOP2 RET 十六进制数转换成ASCII码的程序 例4.9 在片内RAM 20H单元中,存放有2位十六进制数,将其转换成ASCII码,并存放于21H和22H两个单元中。程序如下。 MOV SP, #3FH TRAN: PUSH 20

15、H LCALL HASC POP 21H SWAP A PUSH ACC LCALL HASC ; POP 22H RET HASC: DEC SP DEC SP POP ACC ANL A, #0FH ADD A, #7 MOVC A, @A+PC PUSH ACC INC SP INC SP RET ASCTAB: DB '0123456789ABCDEF’ ASCII码转换十六进制数的程序 例4.10 将片外RAM 30H~3FH单元中的ASCII码依次转换成十六进制数,

16、并存入片内RAM的60H~67H单元中。 程序如下: TRANST: MOV R0, #30H MOV R1, #60H MOV R7, #8 LOOP1: LCALL TRAN SWAP A MOV @R1, A INC R0 LCALL TRAN XCHD A, @R1 INC R0 INC R1 DJNZ R7, LOOP1 RET TRAN: CLR C MOVX A, @R0 SUBB A, #30H CJNE A, #10 SJMP LOOP3 LOOP2: JC DONE

17、LOOP3: SUBB A, #7 DONE: RET 已知单片机 的 fosc =12MHz,分别设计延时0.1s、1s、1min的子程序。 设晶振频率为12MHz,一个机器周期为1µs, 延时0.1秒 DELAY:MOV R7,#250 LOOP1:MOV R6,#100 LOOP2:NOP NOP NOP DJNZ R6,LOOP2 DJNZ R7,LOOP1 RET 延时1秒 DELAY1: MOV R5,#10 DL: ACALL DELAY

18、 DJNZ R5,DL RET 延时1分钟 DELAY2: MOV R4,60 DL1: ACALL DELAY1 DJNZ R4,DL1 RET 定时器计数器T0对外部脉冲信号计数,每100个脉冲后T0转为定时器工作模式。定时1ms,又转为计数器工作模式,如此循环。假定单片机的晶振频率6MHz,请使用工作方式1实现。 ORG 0000H AJMP MAIN ORG 000BH LJMP PTOJ ORG 0100H MAIN:MOV TMOD,#05H MOV T

19、H0,#FFH MOV TL0,#9CH CLR F0 SETB TR0 SETB ET0 SETB EA HERE:AJMP HERE PTOJ:JB F0,PTOD MOV TMOD,#01H MOV TH0,#FEH MOV TL0,#0CH SETB F0 RETI PTOD:CLR 0 MOV TMOD,#05H MOV TH0,#FFH MOV TL0,#9CH RETI END RAM内以data开始区域存放10个单字节的十进制数,求其累加和,并将结果存入sum和sum+1单元 ORG 200

20、0H START: MOV R0,#DATA MOV R2,#10 MOV SUM+1,#00H CLR C CLR A LOOP: ADDC A,@R0 DA A MOV SUM ,A JNC NEXT MOV A,SUM+1 ADD A,#1 DA A MOV SUM+1,A NEXT: INC R0 DJNZ R2, LOOP SJMP 某系统有3个外部中断源,分别为中断源1,中断源2,中断源3。当某一中断源变低电平时即要求cpu处理,优先级顺序高到底是3,2,1,中断源服务程序入口地址为210

21、0h,2200h,2300h,编写主程序和中断服务程序。 ORG 0000H AJMP MAIN ORG 0003H LJMP PINT0 ORG 0100H MAIN: SETB IT0 SETB EX0 SETB EA HERE: SJMP HERE PINT0: PUSH PSW PUSH A JNB P1.3 , IR3 JNB P1.2 , IR2 JNB P1.1 , IR1 PINTIR: POP A POP PSW RET I IR3: LJMP IR3INT IR2: LJMP IR2INT IR1: LJ

22、MP IR1INT ORG 2100H IR3INT: LJMP PINTIR ORG 2200H IR2INT: LJMP PINTIR ORG 2300H IR1INT: LJMP PINTIR END 89S51和ADC0809接口电路。假如我们要从A/D芯片模拟通道IN0~0N7每隔1秒读入一个数据,并将数据存入地址0080H~0087H的外部数据存储器。是设计程序。 MOV R0 , #A0H MOV R2 , #0FH MOV DPTR , #FEF8H MOV R, #08H LOOP1: MOVX @DPTR, A C

23、ALL DELAY MOVX A ,@DPTR MOVX @R0,A INC DPTR INC R0 DEC R2 CJNE R2,#00H,LOOP1 MOV DPTR , #0087H LOOP2: MOVX A,@R0 MOVX @DPTR A DEC DPTR DEC R1 DEC R0 CJNE R1,#00H,LOOP2 编写汇编程序使内存ram的20H~4fH单元的数据按降序排列。 ORG 1000H SUB: MOV R7,#30H DEC R7 LP0: CLR F0 MOV

24、 R0,#20H MOV R1,#21H MOV A,R7 MOV R6,A LP1: MOV B,@R0 MOV A,@R1 CJNE A,B NEXT SJMP NCH NEXT: JC NCH SETB F0 MOV @R0,A MOV @R1,B NVH:INC R0 INC R1 DJNZ R6 ,LP1 JNB F0,EXIT DJNE,R0,LP0 EXIT:RET 例6.1 设单片机的晶振频率为=12MHz,要求在P1.0引脚上输出周期为2ms的方

25、波。 (1) 用定时器/计数器T1的定时工作方式1编程,采用中断方式。 ORG 0000H AJMP START ORG 001BH AJMP T1INT ORG 0030H START: MOV SP, #60H MOV TMOD, #10H MOV TH1, #0FCH MOV TL1, #18H SETB TR1 SETB ET1 SETB EA MAIN: AJMP MAIN T1INT: CPL P1.0 MOV TH1, #0FCH MOV TL1, #18H RETI (1)锯齿波的D/A

26、转换程序: ORG 2000H START:MOV DPTR,#7FFFH MOV A,#00H LOOP: MOVX @DPTR,A ACALL DELAY2ms INC A SJMP LOOP (2)三角波 START: MOV DPTR, #7FFFH STR1: MOV R6, #00H STR2: MOV A, R6 MOVXX @DPTR,A INC R6 CJNE R6, #0FFH

27、STR2 STR3: DEC R6 MOV A,R6 MOVX @DPTR, A CJNE R6, #00H,STR3 AJMP STR1 (3)矩形波 START: MOV DPTR,#7FFFH LOOP1: MOV A,#DATAL MOVX @DPTR, A ACALL DELAYL MOV AA, #DATAH MOVX @DPTR, A ACALL DELAYH AJMP LOOP1 (4)梯形波 S

28、TART: MOV DPTR,#7FFFH L1: MOV A, #DATAL-1 UP: INC A MOVX @DPTR, A CJNE A,#DATAH, L3 L3: JC UP L2 LCALL DELAY DOWN: DEC A MOVX @DPTR, A CJNE A, #DATAL,L4 L4: JNC DOWN SJMP L1 例7.1 用并行输入8位移位寄存器74HC165扩展16位并行输入口。编程实现从16位扩展口读入20个字节数

29、据,并把它们转存到内部RAM的50H~63H中。 MOV R7,#20 MOV R0,#50H SETB F0 RCV0: CLR P1.0 SETB P1.0 RCV1: MOV SCON,#10H JNB RI,$ CLR RI MOV A,SBUF INC R0 CPL F0 JB F0,RCV2 DEC R7 SJMP RCV1 RCV2: DJNZ R7,RCV0 … … … … 例3 单片机串行口按双工方式收发ASCII字符,最高位用

30、来作奇偶校验位,采用奇校验方式,要求传送的波特率为1200bps,编写有关的通信程序。 解: 主程序: MOV TMOD,#20H MOV TL1,#0F3H MOV TH1, #0F3H SETB TR1 MOV SCON,#50H MOV R0,#20H MOV R1,#40H ACALL SOUT SETB ES SETB EA LOOP:SJMP $ 主程序: MOV TMOD,#20H MOV TL1,#0F3H MOV TH1, #0F3H SETB TR1 MOV

31、 SCON,#50H MOV R0,#20H MOV R1,#40H ACALL SOUT SETB ES SETB EA LOOP:SJMP $ 中断服务程序如下: ORG 0023H AJMP SBR1 ORG 0100H SBR1: JNB RI,SEND ACALL SIN SJMP NEXT SEND:ACALL SOUT NEXT:RETI 发送子程序: SOUT: CLR TI MOV A,@R0 MOV C,P CPL C MOV ACC.7,C INC R0 MOV SBUF,A RET 接收子程序: SIN: CLR RI MOV A,SBUF MOV C,P CPL C ANL A,#7FH MOV @R1,A INC R1 RET

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服