单片机课设:直流电机驱动说明书
- 格式:doc
- 大小:133.00 KB
- 文档页数:12
直流电机控制器设计说明书1.1 设计思想直流电机PWM 控制系统主要功能包括:直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便读出电机转速的大小,能够很方便的实现电机的智能控制。
其间,还包括直流电机的直接清零、启动、暂停、连续功能。
该直流电机系统由以下电路模块组成:振荡器和时钟电路:这部分电路主要由89C51单片机和一些电容、晶振组成。
设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。
设计控制部分:主要由89C51单片机的外部中断扩展电路组成。
设计显示部分:包括液晶显示部分和LED 数码显示部分。
LED 数码显示部分由七段数码显示管组成。
直流电机PWM 控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。
1.2 系统总体设计框图直流电机PWM 调速系统以AT89C51单片机为核心,由命令输入模块、LED 显示模块及电机驱动模块组成。
采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM 波形,H 型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LED 显示模块去显示,进而读取其速度。
1.3 程序设计流程图图1-2中断服务流程图2 总体硬件电路设计2.1 芯片介绍2.1.1 89C51单片机结构特点: 8位CPU ;片内振荡器和时钟电路; 32根I/O 线;外部存贮器寻址范围ROM 、RAM64K ; 2个16位的定时器/计数器; 5个中断源,两个中断优先级; 全双工串行口;图1.2 定时中断服务流程图布尔处理器。
图2-1 89C51单片机引脚分布图2.1.2 RESPACK-8排阻RESPACK-8是带公共端的8电阻排,它一般是接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。
图2-2 RESPACK-8引脚分布图2.1.3 驱动器L298L298是双电源大电流功率集成电路,直接采用TTL逻辑电平控制,可用来驱动继电器,线圈,直流电动机,步进电动机等电感性负载。
课程设计课程名称单片机原理与应用课程设计课题名称直流电机控制系统设计专业班级学号姓名XXX指导老师林国汉、寻大勇、周向红等2016年8月29日报告撰写要求(此页不打印)课程设计报告是体现课程设计成果的载体,具体要求如下:1、课程设计报告的基本格式(1)说明书统一使用word文档打印,A4纸张,页边距设置为:上2cm,下2cm,左2.54cm,右2cm。
(2)正文采用宋体小四,字间距20磅;1级标题采用黑体小三,2级标题采用黑体四号,3级标题采用黑体小四;1和2级标题段落间距为上下0.5行。
(3)图表需统一编号,图标标题采用黑体五号;图标题在图片下方,表格标题在表格上方。
(4)装订顺序为:封面、任务书、报告正文、评分表。
2、课程设计报告的撰写要求(1)设计报告正文内容为5-6页为宜,主要内容为自己的设计思路、设计步骤、关键性步骤的记录、重要结果的记录以及自己本次课程设计的总结。
报告撰写要求思路清晰、结构合理、层次清晰,报告简洁但又要能体现设计过程。
(2)报告中图表要求清晰、规范,图表的尺寸大小适当。
(3)课程设计报告内容(仅供参考):电气信息学院课程设计任务书课题名称直流电机控制系统设计姓名Xxx专业班级学号指导老师林国汉课程设计时间2016年8月29日-2016年9月9日一、任务及要求设计任务:本课题要求以MCS-51系列单片机为核心,设计一个直流电机控制系统。
实现(1)电机正反转;(2)电机加减速(3)*转速显示(LED或者LCD)(4)*其它功能设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4)应用系统的硬件和软件的调试。
二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。
周五进行答辩和设计结果检查。
三、参考资料1、王迎旭等.单片机原理及及应用[M]. 2版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.3、戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,2010(报告正文:正文采用宋体小四,字间距20磅;1级标题采用黑体小三,2级标题采用黑体四号,3级标题采用黑体小四;1和2级标题段落间距为上下0.5行。
/*本程序主要实现让直流电机正反转,没有其他特殊功能,没有使用定时器中断全速运行直流电机不可调速程序可以在keil2中调试出来*/#include<reg52.h>//定义所有需要使用的引脚sbit BT0=P2^0;sbit BT1=P2^1;sbit BT2=P2^2;sbit PW1=P1^0;sbit PW2=P1^1;sbit left=P0^0;sbit right=P0^1;sbit stop=P0^2;void motor(); // 功能函数,实现大部分功能void leftM(); // 电机左转void rightM(); // 电机右转void stopM(); // 电机停止//延时函数void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);void main(){motor();}void motor(){while(1) //死循环一直让电机转动{//一次防抖动,下面按键这边if(!BT0) // 判断是否按下{DelayMs(10); //延时一段时间防抖动if(!BT0) //确定按下按键了{while(!BT0);// 如果手一直为松开,这边则死循环一直等待松开leftM();left = 0;right = 1;stop = 1;}}//同上if(!BT1){DelayMs(10);if(!BT1){while(!BT1);rightM();left = 1;right = 0;stop =1;}}//同上if(!BT2){DelayMs(10);if(!BT2){stopM();left = 1;right = 1;stop = 0;}}}}//电机左转void leftM(){PW1 = 0;PW2 = 1;}//电机右转void rightM(){PW1 = 1;PW2 = 0;}//电机停止函数void stopM(){PW1 = 0;PW2 = 0;}//延时防抖动void DelayUs2x(unsigned char t) {while(--t);}void DelayMs(unsigned char t) {//延时1mswhile(t--){DelayUs2x(245);DelayUs2x(245);}}。
目录一、设计目的二、设计任务和要求三、设计原理分析四、硬件资源及原理五、硬件图六、程序框图七、程序八、调试运行九、仿真截图十、设计心得体会一、设计目的1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中,提高我们的动脑和动手的能力。
2、通过对单片机控制直流电动机控制系统的设计,掌握A/D转换、D/A转换的有关原理,加深对PWM波的理解和使用,同时对单片机的使用更加熟练,通过对简单程序的编写提高我们的逻辑抽象能力。
二、设计任务和要求任务:采用单片机设计一个控制直流电动机并测量转速的装置。
要求: 1、通过改变A/D输入端的可变电阻来改变A/D输入电压,D/A输入检测量大小,进而改变直流电机的转速。
2、手动控制。
在键盘上设置两个按键——直流电动机加速键和直流电机减速键。
在手动状态下,每按一次键,电机的转速按照约定的速率改变。
3、键盘列扫描(4*6)。
三、设计原理分析1. 设计思路本文设计的直流PWM调速系统采用的是调压调速。
系统主电路采用大功率GTR 为开关器件、H桥单极式电路为功率放大电路的结构。
PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。
由定时器来产生宽度可调的矩形波。
通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。
增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。
设计以AT89C51单片机为核心,以键盘作为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。
在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
本文介绍了直流电机的工作原理和数学模型、脉宽调制控制原理和H桥电路基本原理设计了驱动电路的总体结构,根据模型,利用PROTEUS软件对各个子电路及整体电路进行了仿真,确保设计的电路能够满足性能指标要求,并给出了仿真结果。
2、基本原理主体电路:即直流电机PWM控制模块。
直流电机驱动器产品说明一:产品概述这是一款基于MSP430F5438A单片机的直流电机驱动器,利用光耦来产生脉冲传给单片机,从而来计算电机的转速。
其中数码管可以显示当时的实时转速,按键可以对转速进行实时设定,当转速超过或者低于设定值时,电机自动调节转速,是点击的转速维持在设定值。
二:技术参数测量范围:500转-7000转精度:1转误差:50转通讯接口:电源:稳压电源5V和12V三:产品特点1、可编程化:根据工艺所需要电机转速变化曲线进行流程编程并输入到可编程的直流电机控制器中,实现控制器的可编程功能,编程方式易懂。
2、自感应性:该直流电机控制器对电机转速进行实时监测及控制,并按照特定的工艺流程进行控制,解决电机转速自动控制问题。
3、快速响应:当电机转速偏离设定值时,单片机会输出信号快速控制电机转速,使其快速到达设定转速。
4、显示直观,操作方便:用十进制数码管显示电机转速,方便人工监视,按键操作简单实用。
四:产品使用方法显示面板数码管1:数码管第一排数码管表示现在按键控制地二排数码管的哪一位;第二排数码管显示实时电机转速;2:按键第一个按键表示“+”,即在设置电机转速时每次加1;第二个按键表示“-”;即在设计电机转速时每次减1第三个按键表示移位,即改变对哪一位的转速进行修改;第四个按键是表示确定或者取消,即完成电机转速设置或者取消设置;注:当按键按下时,它上方所对应的的放光二极管会被点亮,表示按键被按下。
使用说明设定转速时先观察第一个数码处在什么模式,根据设定转速用移位按键更改设定第一个数码管的工作模式,通过“+”“-”按键,设定转速,最后按确认键。
五:注意事项1:使用设备时,要认真阅读技术说明书,熟悉技术指标,工作性能,使用方法,注意事项,严格按照仪器使用说明书的规定步骤进行操作。
2:初次使用设备请在技术人员的指导下进行,熟悉后方可独立操作。
3:设定温度要在100摄氏度以下。
4:为了防止仪器失效或者损坏,请用额定电压供电,并在所有接线工作完成后方可供电。
直流电机控制器设计说明书1.1 设计思想直流电机PWM控制系统主要功能包括:直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便读出电机转速的大小,能够很方便的实现电机的智能控制。
其间,还包括直流电机的直接清零、启动、暂停、连续功能。
该直流电机系统由以下电路模块组成:振荡器和时钟电路:这部分电路主要由89C51单片机和一些电容、晶振组成。
设计输入部分:这一模块主要是利用带中断的独立式键盘来实现。
设计控制部分:主要由89C51单片机的外部中断扩展电路组成。
设计显示部分:包括液晶显示部分和LED数码显示部分。
LED数码显示部分由七段数码显示管组成。
直流电机PWM控制实现部分:主要由一些二极管、电机和L298直流电机驱动模块组成。
1.2 系统总体设计框图直流电机PWM调速系统以AT89C51单片机为核心,由命令输入模块、LED显示模块及电机驱动模块组成。
采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LED显示模块去显示,进而读取其速度。
1.3 程序设计流程图图1-2中断服务流程图2 总体硬件电路设计2.1 芯片介绍2.1.1 89C51单片机结构特点: 8位CPU ;片振荡器和时钟电路; 32根I/O 线;外部存贮器寻址围ROM 、RAM64K ; 2个16位的定时器/计数器; 5个中断源,两个中断优先级; 全双工串行口; 布尔处理器。
图1.2 定时中断服务流程图图2-1 89C51单片机引脚分布图2.1.2 RESPACK-8排阻RESPACK-8是带公共端的8电阻排,它一般是接在51单片机的P0口,因为P0口部没有上拉电阻,不能输出高电平,所以要接上拉电阻。
图2-2 RESPACK-8引脚分布图2.1.3 驱动器L298L298是双电源大电流功率集成电路,直接采用TTL逻辑电平控制,可用来驱动继电器,线圈,直流电动机,步进电动机等电感性负载。
河南科技大学课程设计说明书课程名称现代电子系统课程设计题目_直流电机控制设计__学院_电子信息工程学院班级_电信科081学生姓名__ 000__指导教师_齐晶晶、张雷鸣___日期_ 2018年12月16日____课程设计任务书<指导教师填写)课程设计名称现代电子系统课程设计学生姓名袁伟伟_专业班级信科081 设计题目直流电机控制设计一、课程设计目的学习直流电机PWM的FPGA控制;掌握PWM控制的工作原理;掌握GW48_SOPC实验箱的使用方法;了解基于FPGA的电子系统的设计方法。
二、设计内容、技术条件和要求利用PWM控制技术实现直流电机的速度控制。
<1)基本要求:a.速度调节:4档,数字显示其档位。
b.能控制电机的旋转方向。
c.通过红外光电电路测得电机的转速,设计频率计用4位10进制显示电机的转速。
<2)发挥部分a.设计“去抖动”电路,实现直流电机转速的精确测量。
b.修改设计,实现直流电机的闭环控制,旋转速度可设置。
c.其它。
三、时间进度安排布置课题和讲解:1天查阅资料、设计:4天实验:3天撰写报告:2天四、主要参考文献何小艇《电子系统设计》浙江大学出版社 2008.1潘松黄继业《EDA技术实用教程》科学出版社 2006.10齐晶晶《现代电子系统设计》实验指导书电工电子实验教案中心 2009.8指导教师签字: 2018年 11月28日摘要电机是指依据电磁感应定律实现电能转换或传递的一种电磁装置。
电动机也俗称马达,它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源。
21世纪,在工业化集成电路设计中,直流电机得到了广泛的应用,直流电动机是依靠直流工作电压运行的电动机,广泛应用于收录机、录像机、电吹风、电子表、玩具等。
所以,多功能、人性化、易操作的电机设计成了一个趋势。
本文对于直流电机方面的研究,是基于Quartus2软件,利用FPGA器件,通过VHDL语言编程对直流电机进行基本的自动操作控制。
基于单片机的直流电机控制实验第一节引言一、单片机应用概述电动机的数字控制是电动机控制的发展趋势,用单片机对电动机进行控制是实现电动机数字控制最常用的手段。
各种常用的直流电动机、交流电动机、步进电动机、无刷直流电动机、交流永磁同步伺服电动机的控制原理和采用单片机进行控制的方法,并给出了单片机控制电路和软件。
同时,还应用了用于电动机驱动的常用功率元器件的特性和驱动电路,用于电动机闭环控制的常用传感器的原理以及与单片机的接口电路,让电机的驱动和控制更加精准和方便。
二、系统简单分析:(1)按键1,数码管显示数字“1”,电机处于静止状态;(2)按键2,数码管显示数字“2”,电机向右运动,碰到右端到位开关,运动停止,同时在运动途中,按键1,运动也停止。
(3)按键3,数码管显示数字“3”,电机向左运动,碰到左端到位开关,运动停止,同时在运动途中,按键1,运动也停止。
(4)按键4,数码管显示数字“4”,电机运动到右端碰到到位开关后,反向向左运动,碰到左端到位开关后,再反向向右运动,如此做循环往复运动,当按1键时,运动停止。
整个状态转换的过程见下表1。
表1.电机四个状态和相互转换过程第二节系统硬件组成一、显示系统硬件组成及分析电机控制系统的硬件设计以MCS-51(89V51)单片机为主控器,4个按键开关、4个两位7段LED数码管、2个到位开关、MC78M05CT驱动电路、连接线、直流电机以及相关硬件材料。
设备简介:89V51芯片简介:MCS-51系列单片机芯片均为40条引脚,HMOS工艺制造的芯片用双列直插(DIP)方式封装,其引脚示意及功能分类如图1.2所示。
各引脚功能说明如下:1. 主电源引脚Vcc(40脚):接+5V电源正端。
Vss(20脚):接+5V电源地端。
2. 外接晶体引脚XTAL1(19脚):接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部时钟时,对于HMOS 单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):接外部石英晶体的另一端。
在单片机内部,它是片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS单片机,该引脚悬空不接。
3. 输入/输出引脚(1)P0口(39~32脚):P0.0~P0.7统称为P0口。
在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。
在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。
(2)P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。
对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。
(3)P2口(21~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O 口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。
(4)P3口(10~17脚):P3.0~P3.7统称为P3口。
除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可以独立定义为第一功能的输入输出或第三功能。
P3口的第二功能如表2.1所示。
P3口第二功能引脚第二功能P3.0 RXD 串行口输入;P3.1 TXD 串行口输出端;P3.2 INT0 外部中断0请求输入端,低电平有效;P3.3 INT1外部中断1请求输入端,低电平有效;P3.4 T0 定时器/计数器0计数脉冲输入端;P3.5 T1 定时器/计数器1计数脉冲输入端;P3.6 WR 外部数据存储器写选通信号输入端,低电平有效;P3.7 RD 外部数据存储器读选通信号输入端,低电平有效。
4. 控制线(1)ALE/PROG(30脚):地址锁存有效信号输入端。
ALE在每个机器周期内输出两个脉冲。
在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。
但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了。
对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。
(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。
当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。
在访问片外数据存储器期间,PSEN信号将不再出现。
(3)RST/VPD引脚(9脚):RST即为RESET,VPD为备用电源。
该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。
上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。
当Vcc发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
(4)EA/Vpp(31脚):EA为片外程序存储器选用端。
该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。
对于片内含有EPROM的机型,在编程期间,此引脚用作21V编程电源Vpp的输入端。
综上所述,MCS-51系列单片机的引脚可归纳为以下两点:(1)单片机功能多,引脚数少,因而许多引脚都有第二功能。
(2)单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。
由于是16位地址线,因此,可使片外存储器的寻址范围达到64KB。
MC78M05CT系列正电压调节器MC78M00 three–terminal监管的目的是为本地,on–card电压监管.内部电流限制,热关断电路和safe–area通过晶体管的内部补偿相结合,使这些最显着的设备操作条件下坚固耐用.最大输出电流有足够的散热,是500 mA.无需外部元件内部热过载保护内部短路电流限制输出晶体管Safe–Area补偿MC78M00A高精度(±2%)为5.0 V, 8.0 V, 12 V可用和15 V以前的商业级温度范围已扩大到交界–40°C温度范围为+125°C电路图图1 L298N的说明及应用恒压恒流桥式2A驱动芯片L298NL298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS ,VSS可接4.5~7 V电压。
4脚VS接电源电压,VS 电压范围VIH为+2.5~46 V。
输出电流可达2.5 A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA ,EnB接控制使能端,控制电机的停转。
图2表2是L298N功能逻辑图。
In3,In4的逻辑图与表1相同。
由表1可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。
同为低电平电机停止,同为高电平电机刹停。
系统硬件设计图如下:图3二.系统软件设计在该系统的软件设计中用到的是模块程序设计,主要的模块程序是按键的模块程序,它包括显示的模块程序,通过软件的设计使系统有简易的监控功能,通过按键可以控制电机的运动停止。
程序框图及说明在本次设计中最后对按键程序方案流程图的确定如下图所示:本设计通过89V51作为主控制芯片,通过总线控制用P1.0—P1.7进行主控制;P1.0--P1.3与按键K1--K4相连接作为输入信号,P1.4--P1.5与MC78M05CT 驱动电路相连,驱动电路驱动电机,作为电机控制信号,P1.6--P1.7与到位开关相连,作为到位标志信号;P0.0--P0.7与数码管相连,显示按键数。
程序流程图如下图4汇编程序如下:ORG 0000HLJMP STARTSTART: MOV P1,#0FH ;P1口初始化MOV P0,#06H ;数码管显示为1JNB P1.0,PRG0 ;若按键1按下,跳转到子程序PRG0JNB P1.1,PRG1 ;若按键2按下,跳转到子程序PRG1JNB P1.2,PRG2 ;若按键3按下,跳转到子程序PRG2JNB P1.3,PRG3 ;若按键4按下,跳转到子程序PRG3 PRG0: MOV P1,#0FH ;数码管显示为1,电机静止MOV P0,#06HJMP STARTPRG1: JB P1.6,START ;碰到右边到位开关跳到开始MOV P1,#2FH ;向右运动MOV P0,#5BH ;数码管显示为2JNB P1.0,START ;按键1按下跳转到开始JMP PRG1PRG2: JB P1.7,START ;碰到左边到位开关跳到开始MOV P1,#1FH ;向左运动MOV P0,#4FH ;数码管显示为3JNB P1.0,START ;按键1按下跳转到开始JMP PRG2PRG3: MOV P0,#66H ;数码管显示为4MOV P1,#2FH ;向右运动JNB P1.0,START ;按键1按下跳转到开始ACALL DELAY ;延时0.3秒JNB P1.6,PRG3 ;碰到右边到位开关前循环PG1: MOV P1,#1FH ;向左运动JNB P1.0,START ;按键1按下跳转到开始ACALL DELAYJNB P1.7,PG1 ;碰到左边到位开关前循环JMP PRG3DELAY: MOV R1,#3 ;延时0.3秒DEL1: MOV R2,#200DEL2: MOV R3,#126DEL3: DJNZ R3,DEL3DJNZ R2,DEL2DJNZ R1,DEL1RETEND为了完成系统的功能,系统的程序部分应包含以下几个模块。
各个模块有的为一个子程序,有的为几个子程序的集合,有的为一段代码,但是其功能却是相互独立和便于调用的。
地址赋初值模块,用来定义数字对应的显示字符,便于转换模块将时间缓冲区中的数值转换为便于数码管显示的字符;定义显示区,定义初始显示缓冲区中的字符,用于系统初始运行的时候,直接从此取值进行显示;数码管按照这里定义的状态值进行显示。