- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
情境1112电子显示屏的设计
子情景二 单灯闪烁; 通过8051单片机控制一个发光二极管的亮灭闪烁,点亮时间持续1秒钟。 ; ;项目计划;1 清0与取反指令(2条);2 控制转移类指令( 17条);2.1 无条件转移类指令(4条);
跳转的范围不同。;间接转移指令:JMP @A+DPTR;例: MOV DPTR,#TAB ;将TAB代表的地址送入DPTR
JMP @A+DPTR ;跳转
TAB: AJMP ROUT0 ;跳转ROUT0开始的程序段
TAB+2: AJMP ROUT1 ;跳转ROUT1开始的程序段
TAB+4: AJMP ROUT2 ;跳转ROUT2开始的程序段
TAB+6: AJMP ROUT3 ;跳转ROUT3开始的程序段
...
ROUT0:
...
ROUT1:
...
ROUT2:
...
ROUT3:;2.2 条件转移指令(8条);例:;二、比较不等转移指令(4条);利用这些指令,可以判断两数是否相等。
但有时还想得知两数比较之后哪个大,哪个小,本条指令也具有这样的功能:
如果两数不相等,则CPU还会用CY(进位位)来反映哪个数大,哪个数小。
???果前面的数大,则CY=0,否则CY=1。
因此在程序转移后再次利用CY就可判断出哪个数大,哪个数小了。;举例:;三、减1不为0转移指令(2条);例:
MOV 23H,#0AH
CLR A
LOOP: ADD A,23H
DJNZ 23H,LOOP
SJMP $
上述程序段的执行过程是:
将23H单元中的数连续相加,存至A中,每加一次, 23H单元中的数值减1,直至减到0,共加(23H)次。;3 空操作指令(1条) ;4 位操作指令( 17条);些SFR是可以进行位寻址的,这些SFR的特点是其字节地址均可被8整除, 如A累加器,B寄存器、PSW、IP(中断优先级控制寄存器)、 IE(中断允许控制寄存器)、SCON(串行口控制寄存器)、TCON(定时器/计数器控制寄存器)、P0-P3(I/O端口锁存器)。
在进行位处理时, CY用作“位累加器” 。; 以PSW中位4( RS1 )为例。
直接(位)地址方式:如 D4H;
点操作符号方式:如 PSW.4,D0H.4;
位名称方式:如 RS1;
用户定义名方式:如用伪指令 bit
SUB.REG bit RS1
定义后,可用SUB.REG代替RS1。;4.1 位传送指令(2条) ;4.2 位清0和置位(4条);4.3 位逻辑运算指令 (6条) ;位取反指令
CPL C ;使Cy值取反。
CPL bit ;使指定的位的值取反。
例:CPL P1.0;4.4 位条件转移指令(5条) ;判位变量转移指令
JB bit,rel
JNB bit,rel
JBC bit,rel
第一条指令:如果指定的(bit)=1,则转移,否则顺序执行,第二条指令功能相反。
同样理解:JB bit,标号
第三条指令是如果指定的(bit)=1,则转移,并把该位清0,否则顺序执行。;5 伪指令;功能:将一个数据或特定的汇编符号赋予规定 的字符名称。;5.4 数据地址赋值伪指令 DATA;例如:
ORG 4000H
TAB: DB 73H,45,“A”,“2”
TAB1:DB 101B
以上指令经汇编后,将对4000H开始的若干内存单元赋值。 (4000H)=73H,(4001H):2DH(注:45的16进制数), ;格式:字符名称 BIT 位地址;6.1 要求:
占用存储空间少;运行时间短;
程序的编制、调试及排错所需时间短;结构清晰,易读、易于移植;6.2 程序设计的一般步骤
(1) 分析工作任务,明确要达到的工作目的、技术指标等。
(2) 确定解决问题的算法。算法就是如何将实际问题转化成程序模块来处理,要对不同的算法进行分析、比较,找出最适宜的算法。
(3) 画程序流程图。其图形的符号规定均与高级语言流程图相同,如桶形框表示程序的开始或结束,矩形框表示需要进行的工作,菱形框表示需要判断的事情,指向线表示程序的流向等。
(4) 分配内存工作单元,确定程序与数据的存放地址。
(5) 编写源程序。
(6) 上机调试、修改源程序。 ;6.3 程序设计的一般技巧
尽量采用循环结构和子程序结构。这样可以使程序的总容量大大减少,提高程序的效率,节省内存。
尽量少用无条件转移指令。这样可以使程序条理更加清楚,从而减少错误。
对于通用的子程序,除了用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈,即保护现场。
您可能关注的文档
最近下载
- 2025年海南省新高考生物试卷真题(附答案详解) .pdf VIP
- 关于入党积极分子预备党员发展对象考试题库(含答案).docx VIP
- 老年人群缓和医疗.pptx VIP
- 船舶推进_螺旋桨几何特征.pdf VIP
- 2025入党积极分子发展对象培训考试题库100题含答案(完整版).docx VIP
- 执业药师继续教育《胸痹的中药治疗》习题答案.docx VIP
- 胡壮麟《语言学教程》测试题.doc VIP
- 学校食堂操作流程PPT.ppt VIP
- 年产120吨脱水胸腺嘧啶及年产80吨L-脯氨酰胺生产线技术改造项目环境影响报告表.pdf VIP
- 《邮轮宾客服务与管理》课件——项目一 宾客服务部智能.pptx VIP
文档评论(0)