汇编课程设计----可编程作息时间控制器,200分求完整代码

可编程作息时间控制器程序设计

任务:利用PC机的时钟,用汇编语言编写作息时间控制程序。

基本要求:

1) 按照给定的时间模拟控制实现广播、上下课打铃、灯光控制(屏幕显示)。

2) 具备日期和时钟的显示

求完整代码。只有上面两个要求,编译通过的发一份给我,谢谢,做过的朋友帮帮忙

Email: ztxbeyond@163.com
我现在也没有非常满意的。下周就答辩了,还不知道怎么弄呢

主程序: 在程序开始时,首先初始化,设置中断0源允许、总允许为一,两个定时器的工作模式为一模式,整个程序由P2.6接低电平时启动,启动后,进入A段工作。在A短工作中调用显示子程序,A段工作完时进入B段工作,每段工作时都要调用显示子程序,,最后一段工作完时,关闭显示,即对P2送入0FFH
显示子程序:首先,对定时器赋初值,然后进行拆字,拆字采用除以十进行,除以十后,分别把商和余数送到显缓单元,再查七段码,把七段码送到P1,送字位口到P2口,进行动态显示,每次显示一位时延时255个指令周期(即FFH个指令周期),四位显示完后,再进行多次扫描,保证人眼看不到闪烁,最后判断设定的工作时间到没,到了几跳出显示子程序。
中断程序:进入中断后输出报警信号,同时显示器全部显示0,,最后跳出中断。
四:程序及其说明:
1.程序:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP BAOJING
ORG 0010H
;初始化程序
MAIN:SETB EA ;设置中断
SETB EX0
CLR IT0
MOV TMOD,#11H ;设置定时器工作模式
SETB P3.4 ;驱动继电器
SETB P3.5
SETB P3.6
SETB P3.7
HERE:JB P2.6,HERE ;判断是否启动
;进入工作阶段
GONGZUO:MOV 41H,#0AH ;工作于A段
MOV R7,#0AH ;A段工作时间
CLR P3.4 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.4 ;关断外部驱动
MOV 41H,#0BH ;工作于B段
MOV R7,#14H ;B段工作时间
CLR P3.5 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.5 ;关断外部驱动
MOV 41H,#0CH ;工作于C段
MOV R7,#1EH ;C段工作时间
CLR P3.6 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.6 ;关断外部驱动
MOV 41H,#0DH ;工作于D段
MOV R7,#28H
CLR P3.7 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.7 ;关断外部驱动
MOV P2,#0FFH ;关显示
LJMP HERE ;返回判断处,确定是否继续工作
;中断报警程序
BAOJING: MOV P2.4,#00H ;指示灯亮
Mov P2.5,#00H
MOV TL0,#0E0H ;定时20ms
MOV TH0,#0B1H
SETB TR0 ;启动定时
LP:MOV P1,#3FH ; 全部显示为零
MOV P2,#00H
MOV P2.5,#00H ;扬声器工作
JNB TF0,LP ;查询定时时间到否
SETB P2.4 ;关指示灯
SETB P2.5 ;关扬声器
RETI
;显示子程序
ORG 0F00H
SCAN: MOV 42H,#0EH ;“—”(横线)的七段码
MOV R1,#32H ;延时常数
MOV TL1,#0E0H ;定时20ms的常数
MOV TH1,#0B1H
LP1: MOV A,R7 ;拆字程序(采用除法拆字)
MOV B,#10
DIV AB
MOV 43H,A ;送显缓单元
MOV 44H,B
LP2: MOV R0,#41H ;设置显缓的初始单元
MOV R4,#0FFH ;延时常数
MOV R5,#0FEH ;送字位口
LP3: MOV A,@R0
MOV P2,#0FFH ;关显示
MOV DPTR,#TAB ;查七段码、显示
MOVC A,@A+DPTR
MOV P1,A
MOV P2,R5
LP4: DJNZ R4,LP4
INC R0 ;修改指针
MOV A,R5 ;改变显示单元
RL A
MOV R5,A
JB ACC.4,LP3 ;判断四位是否显示完
SETB TR1 ;启动定时器
JNB TF1,LP2 ;判断定时时间是否到
DJNZ R1,LP2 ;延时一秒是否到
DJNZ R7,LP1 ;判断设定时间是否到
RET
ORG 10FFH
;七段码表单
TAB: DB 3FH ,06H,5BH, 4FH, 66H,6DH , 7DH
DB 07H, 7FH,6FH,77H, 7CH,39H, 5EH, 40H
2.说明:
主程序:设整个系统工作有四个阶段,分为ABCD段,每段工作时间设为10S、20S、30S、40S,在程序的初始化阶段设定定时器的工作模式、中断允许,程序的运行由单片机的P2.6脚接低电平启动,进入工作阶段,在每个工作阶段显示工作段数和剩余工作时间。
在A段工作时,把“A”这个字符送达41H显缓单元,再设定A段的工作时间,送到R7寄存器中,设定对应的输出脚的工作电平值,然后调显示子程序,A段工作完毕,关闭对应的驱动输出脚。
B、C、D段工作均和A段工作相似,只是驱动不同的输出对象,最后一段工作完后,对P2口赋值高电平,关所有的显示,最后跳回判断处,判断是否继续工作。
显示子程序:在显示子程序中因为每段工作时,均要显示“—”,所以在开始时把“—”的对应序号(在本程序的七段码表中对应的序号为0EH)送到显缓单元,对定时器T1定时20ms进行赋初值,计算初值的公式为:
T1初值=2^n-fosc/12×t
由于定时器工作在1模式,振荡频率为12MHZ,所以计时器T1的初值为:E0B1(十六进制)
将设定的时间进行拆字,然后送到显缓单元。拆字采用除法的方式进行,将定时时间送到寄存器A中,然后在B中送常数10,经过相除后在寄存器A中得到高位送到显缓43H中,在寄存器B中得到低位送到显缓44H单元中,显缓单元指针首先指向显缓首地址,通过变址寻址方式查询对应的七段码送到P1口(字形口),对P2口送入字位口,每个显示位显示后经过延时255指令周期再进入下一步工作。每位显示完后,修改显示单元的指针,对指针单元的当前值自加一,然后对字位口进行左移,修改显示单元,再进行判断四位是否显示完,即判断字位口的第五位是否为1,若为1,则程序转移,继续显示;若为0,则依次执行。四位显示完后,启动定时器1,定时20ms,查询TF1的值,若TF1为0,则在此等待,若TF1为1,则R1自减1并判断是否为0,若不为0,则转移到显示部分,若为0,则顺序执行(即判断1S到否);1S到则R7自减1并判断R7是否为0,若不为0,转移到拆字部分,若为0,则跳出调用(即判断每段工作时间到设定时间没有)。
中断程序:若外部出现故障(外部故障用P3.2接低电平表示),P2.4、P2.5接低电平(即输出报警信号,指示灯亮,扬声器发出声音),对定时器定T0时20ms赋初值,计算公式为:
T0初值=2^n-fosc/12×t
由于定时器工作在1模式,振荡频率为12MHZ,所以计时器T1的初值为:E0B1(十六进制)
对P1口送入“0”的七段码,P2口送入00,每个显示单元全部显示为0,启动定时器,若定时时间没有到,则转到显示处,继续让全部显示0,,若时间到,则对P2.4、P2.5全部送入高电平,关闭报警提示,中断返回。
七段码表单:将要显示的数码或字母的七段码按在日常生活中的默认顺序定义在一个表单中,通过把表单的首地址付给DPTR,再把需要显示的数字或字母的对应序号送到寄存器A中,通过变址寻址的方式(即MOVC指令)即可查出对应的七段码。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-07
1.程序:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP BAOJING
ORG 0010H
;初始化程序
MAIN:SETB EA ;设置中断
SETB EX0
CLR IT0
MOV TMOD,#11H ;设置定时器工作模式
SETB P3.4 ;驱动继电器
SETB P3.5
SETB P3.6
SETB P3.7
HERE:JB P2.6,HERE ;判断是否启动
;进入工作阶段
GONGZUO:MOV 41H,#0AH ;工作于A段
MOV R7,#0AH ;A段工作时间
CLR P3.4 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.4 ;关断外部驱动
MOV 41H,#0BH ;工作于B段
MOV R7,#14H ;B段工作时间
CLR P3.5 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.5 ;关断外部驱动
MOV 41H,#0CH ;工作于C段
MOV R7,#1EH ;C段工作时间
CLR P3.6 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.6 ;关断外部驱动
MOV 41H,#0DH ;工作于D段
MOV R7,#28H
CLR P3.7 ;驱动外部继电器
LCALL SCAN ;调显示程序
SETB P3.7 ;关断外部驱动
MOV P2,#0FFH ;关显示
LJMP HERE ;返回判断处,确定是否继续工作
;中断报警程序
BAOJING: MOV P2.4,#00H ;指示灯亮
Mov P2.5,#00H
MOV TL0,#0E0H ;定时20ms
MOV TH0,#0B1H
SETB TR0 ;启动定时
LP:MOV P1,#3FH ; 全部显示为零
MOV P2,#00H
MOV P2.5,#00H ;扬声器工作
JNB TF0,LP ;查询定时时间到否
SETB P2.4 ;关指示灯
SETB P2.5 ;关扬声器
RETI
;显示子程序
ORG 0F00H
SCAN: MOV 42H,#0EH ;“—”(横线)的七段码
MOV R1,#32H ;延时常数
MOV TL1,#0E0H ;定时20ms的常数
MOV TH1,#0B1H
LP1: MOV A,R7 ;拆字程序(采用除法拆字)
MOV B,#10
DIV AB
MOV 43H,A ;送显缓单元
MOV 44H,B
LP2: MOV R0,#41H ;设置显缓的初始单元
MOV R4,#0FFH ;延时常数
MOV R5,#0FEH ;送字位口
LP3: MOV A,@R0
MOV P2,#0FFH ;关显示
MOV DPTR,#TAB ;查七段码、显示
MOVC A,@A+DPTR
MOV P1,A
MOV P2,R5
LP4: DJNZ R4,LP4
INC R0 ;修改指针
MOV A,R5 ;改变显示单元
RL A
MOV R5,A
JB ACC.4,LP3 ;判断四位是否显示完
SETB TR1 ;启动定时器
JNB TF1,LP2 ;判断定时时间是否到
DJNZ R1,LP2 ;延时一秒是否到
DJNZ R7,LP1 ;判断设定时间是否到
RET
ORG 10FFH
;七段码表单
TAB: DB 3FH ,06H,5BH, 4FH, 66H,6DH , 7DH
DB 07H, 7FH,6FH,77H, 7CH,39H, 5EH, 40H
第2个回答  2009-06-10
哎··我也是做这个的,用16*2LCD现实的·做好两个星期了·都要答辩了还没有成功,不知道这位朋友收到好答案了没有?可以发一份给我吗?不甚感激。我的邮箱:alubbb@163.com 我这里也有很多资料的·可以互相学习一下··
第3个回答  2013-12-19
我也很想要一份,能发一份不?下周就 交了2394497842@qq.com,谢谢啦
第4个回答  2014-06-24
能发一份给我吗

可编程作息时间控制器程序设计
MOV 41H,#0BH ;工作于B段 MOV R7,#14H ;B段工作时间 CLR P3.5 ;驱动外部继电器 LCALL SCAN ;调显示程序 SETB P3.5 ;关断外部驱动 MOV 41H,#0CH ;工作于C段 MOV R7,#1EH ;C段工作时间 CLR P3.6 ;驱动外部继电器 LCALL SCAN ...

八、可编程作息时间控制器设计 设计一个以单片机为核心的可编程作息时...
你发的图是用液晶屏的,不是数码管。

【急】华南理工大学的两个专业的疑问
主要内容包括:计算机系统概述,计算机中数 据的表示,运算方法和运算器,指令系统,控制器,存贮器组织,输入输出系统;汇编语 言 ,汇编语言基本程序设计,程序设计举例(输入输出程序设计、中断程序设计、系统调 用及 程序设计)。 本课程先修课程:计算机电路基础(1)等。 本课程后续课程:操作系统,计算机网络等。 6. 数据结...

电子信息工程毕业论文
873. 四路数字抢答器设计 874.单色显示屏的设计875.基于CPLD直流电机控制系统的设计876.基于DDS的频率特性测试仪设计877.基于EDA的计算器的设计878.基于EDA技术的数字电子钟设计879.基于EDA技术的智力竞赛抢答器的设计880.基于FPGA的18路智力竞赛电子抢答器设计881.基于USB接口的数据采集系统设计与实现882.基于单片机的...

plc课程设计论文
PLC课程设计论文是电气控制类专业学生需要完成的教学实践任务,主要涉及使用PLC(可编程逻辑控制器)语言设计特定任务的电气控制装置。以下是一个PLC课程设计论文的基本结构和内容要点:Writehelp论文写作步骤如何使用:1、登录http:\/\/www.writehelp.cn\/微信一键扫码登录 2、好友助力即可免费使用AI一键生成论文...

电力系统及其自动化专业要学习哪些课程?
0110706 可编程控制器应用Applications in Programmable Controller 2 32 32 7 7 0110601 MATLAB程序设计MATLAB Programming 1 16 16 3 电力方向至少选修7学 分0110616 现代电子测量技术 Modern Electronic Measurement Technology 2 32 32 5 0110306 电力系统负荷预测Electric Load Forecast 1.5 24 24 6 0110317 ...

电脑类的专业都有什么啊?
专业核心课程与主要实践环节:微机原理、C++程序设计、汇编语言程序设计、操作系统、数据库基础与应用、计算机网络基础、计算机网络维护、接口技术、可编程控制器(PLC)、单片机原理与应用、计算机组装与维修实训、计算机应用实训、计算机网络集成实训等,以及各校的主要特色课程和实践环节。 可设置的专业方向: 就业面向:在企事...

单片机原理与应用技术(单片机原理与应用技术第二版课后答案)
书中有单片机应用系统设计、Proteus仿真、实验和课程设计等章节,主教材与实验教材整合为一本书,知识量大。单片机原理及应用单片机原理及应用需要学习低级汇编语言和C语言。学习具有一定难度。但只要有恒心是一定能学好的。1)编程语言:a)汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦...

电脑专业有哪些
1,计算机系统结构,就是俗话说的硬件。其实不限于硬件。主要搞网络体系结构,网格技术,计算机嵌入式结构,计算机结构,甚至是计算机CPU结构设计。其实这些专业,主要是编程,出来以后,除了搞CPU结构设计的,大多数还是做软件工程师去了。真正的硬件工程师,大多数是学电子的人做的。2,计算机软件理论。

计算机专业有哪些课程?
主要课程有计算机应用基础、应用文写作、数学、英语、德育、电工与电子技术、计算机网络技术、C语言、计算机组装与维修、企业网安全高级技术、企业网综合管理、windows server 2008操作系统。还有局域网组建、Linux服务器操作系统、网络设备与网络技术(主要学习思科、华为公司设备的配置、管理、调试)、SQL Server...

相似回答