- 0
- 0
- 约3.54千字
- 约 16页
- 2019-05-02 发布于江苏
- 举报
实验名称分支与循环程序设计成绩
指导教师 ******
专业班级******姓名白***学号*******
联系电话********
一、任务要求
熟练掌握Keil环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO口的使用。
设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。
利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。P3.0为低电平时开始计时,为高电平时停止计时。设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。
1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。利用P3.7状态选择加、减计数方式。
2)利用P3口低四位状态控制开始和停止计数,控制方式自定。
二、设计思路
先在外部RAM取数,然后判断该符号数是否为负数,若为负数,则取相反数并存数;若为正数,则接着判断该数是否大于等于64,若满足,则求平方并存数,先存低位,后存高位;若小于64,则接着判断该数是否大于10,若满足,则求该数的一半并存数;若小于等于10,则取相反数并存数。
第一步先编可以延时1S的子程序DELAY;接着判断P3.O是否满足开始计数条件,若不满足,则重复判断;若满足,则对时分秒分别赋值,调用延时子程序,判断是否满足计时条件,若不满足,则重复判断直至满足;若满足,则秒钟自加一,循环,判断秒钟循环满60次后出循环,对分钟自加一,然后继续循环,最后判断分钟循环满60次后出循环,对时钟自加一,然后判断时钟循环满24则回到初值,时分秒重新赋值并重新开始循环。
判断P3.7,若为1,则进行加一计数,若为0,则跳转至另一程序进行减一计数;加一计数中,先取低位P1送A,自加一,送P1,判断是否有溢出,若有,则取高位P2送A,自加一,送P2,然后回判断循环;减一计数同理,即先取低位P1送A,自减一,送P1,判断是否有进位,若有,则取高位P2送A,自减一,送P2,然后回判断继续循环。
三、资源分配
1.2000H 片外RAM存数
2001H存结果低八位
2002H存结果高八位
B寄存器 暂存结果高八位
2.P3.0存计时判断位
R0、R1、R2 存延时子程序中各重循环的循环次数
R3、R4、R5存时分秒的循环次数
P0、P1、P2 存时分秒的输出值
3.P1、P2 分别存十进制计数的低两位、高两位
P3.7 存计数方式的控制位
四、流程图
1、8bit符号数的判断与计算
2、时钟设计
3.十进制加减一计数器
五、源代码 (含文件头说明、语句行注释)
1.8 bit符号数的判断与计算
ORG 0000H
LJMP START
ORG 1000H
START: MOV DPTR,#2000H。地址指针赋初值
MOV A,#22
MOVX @DPTR,A
MOVX A,@DPTR。取数
JB ACC.7,DD
CJNE A,#64,AA。若A≠64,则转AA
AA: JC BB。若A<64,则转BB
MOV B,A
MUL AB。求A的平方
INC DPTR
MOVX @DPTR,A。存结果低八位
INC DPTR
MOV A,B
MOVX @DPTR,A。存结果高八位
SJMP $
BB: CJNE A,#10,CC。若A≠10,则转CC
CPL A
EE: INC DPTR
MOVX @DPTR,A
SJMP $
CC: JC DD。若A<10,则转DD
RR A。若A>10,则右移一位
SJMP EE
DD: CPL A
INC A
SJMP EE
END
2.时钟设计
ORG 0000H
LJMP START
ORG 1000H
START: JB P3.0,START。若为0,则开始计时
RESTA: MOV R3,#24
MOV P0,#00H 。时钟赋初值
LOOP3: MOV R4,#60
MOV P1,#00H 。分钟赋初值
LOOP2: MOV R5,#60
MOV P2,#00H 。秒钟赋初值
LOOP1: ACALL DELAY。调用延时1S子程序
LOOP: JB P3.0,LOOP。若为1,则停止计时
MOV A,P2
A
您可能关注的文档
- 电气施工组织高层.doc
- 电阻应变式称重传感器设计方案.doc
- 定稿基于UCC的开关电源设计.doc
- 东大金智“电气园”研发楼厂房施工组织.doc
- 东方华府楼临时用电策划案.doc
- 东方之珠住宅楼施工组织方案设计.doc
- 东莞某大剧院优秀项目管理成果申报总结.doc
- 东桥公路工程施工技术监理规划.doc
- 董旭A工程项目施工地面质量控制.doc
- 动保中心高大模板工程专项.doc
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
原创力文档

文档评论(0)