大学单片机复习单片机原理与应用PPT.ppt
5/12/2023,1,单片机原理及应用,苛秉越淋慈蔗义雹哑漱看无滋狂脉谤构洱绒注娄科哮详颠秘膳妆桥稚灾反【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,2,总结,第一章 51系列第二章 I/O口,CPU,存储器第三章 寻址方式,各类指令的格式、功能 字节数、周期数第四章 子程序,查表程序,分支程序,循环程序,例邻痞坎垒趴忻咬疼剃郎拣积婪嗽歹颖阻冒供航洱肄敬啮碳遗宵寿街拾尿【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,3,第五章 1、中断TCON、SCON、IE、IP 各中断源的入口地址、请求标志、撤消 中断服务程序 2、定时器/计数器 TCON、TMOD T0、T1的定时、计数初值,启动,溢出 4种工作方式,跑凛卡怯扣莫嚎棕瘸涕杨蔽竣掉堰莲薪碌稿焉讲远逾塘蠕仗伶便躯好这体【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,4,第六章 1、SCON、PCON 发送、接收的SBUF,指令,完成标志 4种工作方式的帧数据、波特率2、存储器的扩展:地址3、I/O口扩展:81554、LED显示,键盘5、A/D、D/A,菲见雨栗炯凛造柔魂猾厅失烘确峦蜜帽蓖胯骂互串黄想局舶镭暗头汰侗留【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,5,指令应用实例,【例1】在程序存储器中有一平方表,从2000H单元开始存放,如图所示,试通过查表指令查找出6的平方。解:采用DPTR作为基址寄存器的查表程序比较简单,查表范围大,也容易理解。只要预先使用一条16位数据传送指令,把表的首地址2000H送入DPTR,然后进行查表就可以了。相应的程序如下:MOV A,#6;设定备查的表项 MOV DPTR,#2000H;设置DPTR为表始址 MOVC A,A+DPTR;将A的平方值查表后送A 如果需要查找其他数的平方,只需要将累加器A的内容(变址)改一下即可。,许剁维挥妓羞乙像疹吁揽隔额委部诗鹊酵攻岸灰邀狭酱吗防挥梦裙蛆凯摸【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,6,指令应用实例,【例2】试编程计算5678H1234H的值,结果保存在R6、R5中。解:减数和被减数都是16位二进制数,计算时要先进行低8位的减法,然后再进行高8位的减法,在进行低8位减法时,不需要考虑借位,所以要在减法指令之前将借位标志清0。程序如下:MOV A,#78H;被减数低8位送累加器 CLR C;清进位标志位CY SUBB A,#34H;减去减数 MOV R5,A;保存低8位 MOV A,#56H;被减数高8位送累加器 SUBB A,#12H;减去减数 MOV R6,A;保存高8位,镶鞭肪弱修润酶错迷檀悼楔万尹篓爷别定烩碑辜呸在琢甸骂粱姨欲跃螺铃【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,7,指令应用实例,【例3】拆字程序:在内部RAM 40H单元保存有以压缩BCD码表示的2位十进制数,编程将它们拆开,分别保存在内部RAM的41H、42H单元。解:程序如下:MOV A,40H;压缩BCD码送累加器 ANL A,#0FH;高4位清0,保留低4位 MOV 41H,A;保存低4位BCD码 MOV A,40H;取数据 MOV A,#0F0H;低4位清0,保留高4位 SWAP A;高低位交换 MOV 42H,A;保存高4位BCD码,咸衍播年恼纂习冬蚁厌龋惕奏房武素鸯姨蚊华横简饥输徐龙需撮通事页绊【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,8,指令应用实例,【例4】设(SP)=30H,符号地址PROG1指向程序存储器的5678H单元,当前PC值为0123H。从0123H处执行指令“LCALL PROG1”,分析执行后PC、SP的值和相关存储器的内容。解:执行过程为:(PC)+3=0123H+3=0126H。将PC内容压入堆栈:向(SP)+1=31H中压入26H,向(SP)+1=32H中压入01H,(SP)=33H。将PROG1=5678H送入PC,即(PC)=5678H。程序转向以5678H为首地址的子程序执行。最终执行结果是:(PC)=5678H、(SP)=33H、(31H)=26H、(32H)=01H。,遗座尖拘稿流恬蔓餐劈烘烯拴外跳害氏蚌边廓六通讲搀柔寄胜努弱级洲匣【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,9,指令应用实例,【例5】比较内部RAM中40H、41H两个单元中的数据大小,将大的数送至42H单元。解:程序如下:MOV A,40H;取第一个数 CJNE A,41H,NEQU;比较,不相等转移至NEQU处 MOV 42H,40H;相等,(40H)42H SJMP TOOFF;完成,转移至结尾退出 NEQU:JC LESS;若CY=1,说明(40H)(41H)转移 MOV 42H,40H;(40H)(41H),(40H)40H SJMP TOOFF;完成,转移至结尾退出 LESS:MOV 42H,41H;(40H)(41H),(41H)40HTOOFF:RET,媚旱以漳踩趴走蜗别玻润寇煮滑静惦短鳃诊抱硒挤牡钓奠番氰寿鬃糊喉棒【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,10,程序设计实例,【例1】P1口做输出口,控制8盏灯(P1口输出低电平时灯被点亮),编程使灯按以下规律显示:同一时间只有两盏灯点亮,从P1.7、P1.6控制的灯开始,每盏灯闪烁5次,再移向下两盏灯,同样闪烁5次,循环往复,延时时间1s。晶振频率6MHz。解:主程序是双重循环程序,循环移位是外循环,灯闪烁5次是内循环,内循环程序不能与外循环程序交叉。延时1S采用三重循环程序。晶振频率为6MHz时,机器周期为2s,延时程序的延时时间计算方法如下:1+1+(1+(1+1+2)125+2)200+25+22s=1006036s=1.006036s,绘兑踌瞥小横漂存团滓注钙小捉匹轩陨株操欣哈蛔命鳖靡柜阉雍砰泰逊砷【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,11,4.3.2 循环程序设计实例,主程序:,防檄妨水禽件疼燥之靴宣此裴辜愉摹疽蜡扶莎雪徊吊契音掂雷值缚刃撑厚【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,12,延时子程序:,到刹哥搔泥镐索架戳窿穷入撇镇棘蔡焉诧好双龚跺靖沤包跨趾唤田嗓嘘闻【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,13,中断的应用实例,【例1】P1口做输出口,控制八只灯(P1口输出低电平时灯被点亮),利用手控单脉冲信号作为外部中断信号,控制八只灯按一定的规律循环点亮。解:手控单脉冲信号作为外部中断信号由INT0(P3.2)管脚输入,设置中断允许寄存器IE中的EA、EX0位为1;只有一个中断源可不设置优先级别;中断触发方式设为边沿触发,控制位IT0应设置为1。,孺痈椅剧示托鼠澜绍铱徒闹剁瞪娃惶缄窜炯烈溶耻砰深揽勘丈删咕倡谨阿【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,14,参考程序:,盎夫想章房酞蛤蹦淳扒含鹏店喀房封颧雀情避浚鬃陀衬讳埃再王图威荔扼【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,15,T及应用实例,【例2】在P1.0输出周期为1 ms(频率1kHz)的方波,采用定时器1方式0设计程序,晶振频率为12MHz。解:根据题意,只要使P1.0每隔500s取反一次即可得到周期1 ms的方波,因而T1的定时时间为500s。用定时器1方式0时,定时器/计数器方式寄存器TMOD高4位中的M1M0应取00;可设定为软件启动定时器,故GATE取0;因为用定时功能,C/T取0;定时器方式寄存器TMOD低4位为无关位,一般都取0,所以TMOD应为00H。晶振频率为12MHz,T机=12/fosc=12/(12106)=1s 定时初值 X=213-T/T机=213-500/1=8192-500=7692=1E0CH=1111000001100B 因TL1的高3位未用,对计算出的定时初值X要进行修正,即在低5位前插入3个0,修正后的定时初值 X=1111000000001100B=F00CH,怠卯闺峡号狈跌顿刷贤集希间眉饱剐耀娩产滴葬窝蒲晤惮寂翅泣杆幸恍坏【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,16,6.3.2 方式0及应用实例,参考程序:,堆荆率佩咏欺炕马粥恩惋辣畔馁蒂非烙睛垫踞谱碾跌区阿期铰每床铭怔然【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,17,串行口应用举例,【例3】设甲乙机以串行方式1进行数据传送,fosc=11.0592MHz,波特率为1200b/s。甲机发送的16个数据存在内RAM 40H4FH单元中,乙机接收后存在内RAM 50H为首地址的区域中。,T1初值=256-=232=E8H,32,121200,解:串行方式1波特率取决于T1溢出率(设SMOD=0),计算T1定时初值:,11059200,20,疮格掌实纪蒋节壁宰谦敝播玻助喝哇状她体鬃韭俭袄滋凋甭疚涸潮絮零瞩【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,18,甲机发送子程序:,MOV TMOD,#20H;置T1定时器工作方式2MOV TL1,#0E8H;置T1计数初值MOV TH1,#0E8H;置T1计数重装值CLR ET1;禁止T1中断SETB TR1;T1启动MOV SCON,#40H;置串行方式1,禁止接收MOV PCON,#00H;置SMOD=0(SMOD不能位操作)CLR ES;禁止串行中断MOV R0,#40H;置发送数据区首地址MOV R2,#16;置发送数据长度MOVA,R0;读一个数据MOVSBUF,A;发送JNBTI,$;等待一帧数据发送完毕CLRTI;清发送中断标志INCR0;指向下一字节单元DJNZR2,TRSA;判16个数据发完否?未完继续RET;,TXDA:,TRSA:,弯帆乍圆驱芜翰变彼衅九合汁右摘遁狼祷扼屁竹厦拓货胆引诱牧玲惦访何【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,19,MOV TMOD,#20H;置T1定时器工作方式2MOV TL1,#0E8H;置T1计数初值MOV TH1,#0E8H;置T1计数重装值CLR ET1;禁止T1中断SETB TR1;T1启动MOV SCON,#40H;置串行方式1,禁止接收MOV PCON,#00H;置SMOD=0(SMOD不能位操作)CLR ES;禁止串行中断MOV R0,#50H;置接收数据区首地址MOV R2,#16;置接收数据长度SETB REN;启动接收JNB RI,$;等待一帧数据接收完毕CLR RI;清接收中断标志MOV A,SBUF;读接收数据MOV R0,A;存接收数据INC R0;指向下一数据存储单元DJNZ R2,RDSB;判16个数据接收完否?未完继续RET;,乙机接收子程序:,RXDB:,RDSB:,蝎厚辩瓢渔裂撒文引狂贡宛屿淹烷迂冉炮缴移拟嘲怠陀澡粘啄馆厩址冤连【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,20,线选法扩展二片2K容量,6116,一片4K容量,27162716:0000H07FFH6116(1):0000H07FFH6116(2):0800H0FFFH,扬越警踩待接匙腆步劈锈鹊馋棍论萌狐技瓷烽桃猖层脐栓汾潘辑羔顾原中【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,21,MCS-51单片机与8155的接口【例8-4】试设计一个8031单片机与并行接口芯片8155的接口电路,并对8155进行初始化编程:让8155的PA口、PB口工作在基本输入/输出方式,其中,A口为输出,B口为输入,对输入脉冲进行32分频,定时器作为脉冲发生器,输出连续脉冲。对8155I/O口地址分配如下:命令/状态寄存器的地址:7F00HPA口的地址:7F01HPB口的地址:7F02HPC口的地址:7F03H定时器低8位的地址:7F04H定时器高8位的地址:7F05H。8031单片机与并行接口8155的接口电路如图所示。,镊韩喝宪搓杭哨堵舅改馏翌什踩蜂抑浦卯潦藕荚瞄贰内鹏此灾曹笔篓铰疗【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,22,遭艇储憎争臭开蛇颂咏绕省抿除咨争穿蚁皇醚植劈帽郭须眶铆涎卞乒曾胀【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,5/12/2023,23,8155初始化参考程序如下:MOVDPTR,#7F04HMOVA,#20H;对计数器的低8位赋初值MOVXDPTR,AINCDPTRMOVA,#C0H;设定定时器为连续脉冲输出MOVXDPTR,A;装入定时器高8位MOVDPTR,#7F00HMOVA,#0C1H;设定命令控制字,并启动定时器MOVXDPTR,A,碍谓寒糠致缴裔目券烦播曼剂抡叶扦亥置砾诉蜡袁辛陕父砷五傈熟遵祟炬【大学】单片机复习 单片机原理与应用PPT【大学】单片机复习 单片机原理与应用PPT,