单片机原理与应用作业
单片机原理及应用作业答案

作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。
2.什么叫单片机?其主要特点有哪些?解:将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。
单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。
第1章MCS-51单片机的结构与原理15. MCS-51系列单片机的引脚中有多少根I/O线?它们与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大?解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。
每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。
通常把4个端口称为P0~P3。
在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。
在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。
25. 开机复位后,CPU使用的是哪组工作寄存器(R0-R n)?它们的地址是什么?CPU如何确定和改变当前工作寄存器组(R0-R n)?解:开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是00H-07H。
CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。
27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12MHz的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间?解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。
单片机原理及应用阶段性作业1

中国地质大学(武汉)远程与继续教育学院单片机原理及应用课程作业1(共4 次作业)学习层次:专升本涉及章节:第1章1-1 MCS-51 系列中8031、8051、8751、89C51 有什么区别?1-2MCS-51系列单片机的存贮器可划为几个空间? 各自的地址范围和容量是多少? 在使用上有什么不同?1-3简述8051 片内RAM 的空间分配。
各部分主要功能是什么?1-4MCS-51系列单片机片内RAM 中包含哪些可位寻址单元。
位地址7CH 与字节地址7CH 如何区别?位地址7CH 具体在片内RAM 中什么位置?1-5程序状态字寄存器PSW 的作用是什么?常用标志有哪些位?作用是什么?1-68051 单片机应用系统中,EA端有何用途?在使用8031 时,EA信号引脚应如何处理?1-7什么是堆栈,堆栈指针SP 的作用是什么?8051 单片机堆栈区时一般设置在什么地方?设置时应注意什么?1-8什么是振荡周期、时钟周期、机器周期、指令周期?它们之间关系如何?如果晶振频率为12MHz,则一个机器周期是多少微秒?1-9复位后堆栈指针SP的初值是多少?堆栈工作必须遵守的原则是什么?1-108051 单片机程序存储器ROM 空间中0003H、000BH、0013H、001BH、0023H有什么特殊用途?1-11 MCS-51系列单片机的复位方式有几种?复位后各寄存器、片内RAM 的状态如何?1-12 开机复位后,CPU 如何确定和改变当前工作寄存器组?其中R7 对应的物理存储单元地址是什么?参考答案1-1 MCS-51 系列中8031、8051、8751、89C51 有什么区别?主要区别在于这些单片机的内部程序存储器的差异:8031片内不带程序存储器ROM,使用时用户需片外扩展程序存储器,灵活,用于研制新产品;8051片内有4k 掩膜ROM,但程序需交芯片厂商代为烧写,并是一次性的,适合于定型大批量应用产品生产;8751片内有4k的EPROM,用户可自行用紫外线灯照射一定时间擦除后再烧写,但价格高,适合于研制产品样机。
大工11春《单片机原理及应用》在线作业

大工11春《单片机原理及应用》在线作业一一、单选题(共10 道试题,共60 分。
)V 1. 80C51单片机内工作寄存器区的地址为()。
A. 00H~1FHB. 20H~2FHC. 30H~7FHD. 00H~7FH2. 若(A)=84H,(30H)=8DH,执行指令ADD A,30H之后()。
A. (CY)=0,(OV)=0B. (CY)=0,(OV)=1C. (CY)=1,(OV)=0D. (CY)=1,(OV)=13. 指令“MOV A,R0”采用的寻址方式是()。
A. 寄存器寻址B. 直接寻址C. 寄存器间接寻址D. 立即寻址4. 80C51单片机复位后,SP为()。
A. 00HB. 07HC. FFHD. 不定5. 以下不属于特殊功能寄存器SFR的是()。
A. 程序计数器PCB. 累加器ACCC. 堆栈指针SPD. 程序状态字寄存器PSW6. 若(A)=C9H,(R2)=54H,(CY)=1,执行指令SUBB A,R2之后()。
A. (CY)=0,(OV)=0B. (CY)=0,(OV)=1C. (CY)=1,(OV)=0D. (CY)=1,(OV)=17. 80C51单片机中,晶振频率为12MHz时机器周期为()。
A. 0.5μsB. 1.0μsC. 1.5μsD. 2.0μs8. 以下关于补码说法错误的是()。
A. 在计算机中,对带符号数的运算均采用补码B. 正数的补码与其原码相同C. 负数的补码与其原码相同D. 负数的补码为其反码末位加19. 若(R0)=30H,(30H)=5AH,指令“MOV A,@R0”执行后,累加器A的内容为()。
A. 00HB. 30HC. 5AHD. 8AH10. 若(R1)=30H,(A)=20H,执行指令MOV @R1,A后,(30H)=()。
A. 10HB. 20HC. 30HD. 50H二、判断题(共10 道试题,共40 分。
)1. 80C51单片机片内RAM的地址空间为64KB。
单片机原理及应用习题 (带答案)

《单片机原理及应用》习题一、填空1、MCS-51单片机访问外部存储器时,利用 ALE 信号锁存来自 P0 口的低8位地址信号。
2、MCS-51系统中,当PSEN 信号有效时,表示从P0口稳定地读入了 低8位地址 。
3、通常单片机上电复位时PC=0000H ,SP= 07H ;而工作寄存器则缺省采用第 00 组,这组寄存器的地址范围是从 00H~07H 开始。
4、MCS-51单片机的存储器从物理结构上可划分 4 个空间,从逻辑上分别可划分 3 个空间。
5、MCS-51单片机8031中有 2 个16位的定时/计数器,可以被设定的工作方式有 4 种。
6、MCS-51有 5 中断源,有 2 中断优先级,优先级由软件填写特殊功能寄存器 加以选择。
7、当/EA 接地时,MCS-51单片机将从_ 外部程序的存储器_____的地址0000H 开始执行程序。
8、中断请求信号有 电平 触发和 边沿 触发两种触发方式。
9、用串行口扩展并行口时,串行接口的工作方式应选为 0 。
10. MCS -51复位后·CPU 从 0000 H 单元开始执行程序。
·SP 的内容为 07 H , 第一个压入堆栈的数据将位于 片内 RAM 的 08 H 单元。
·SBUF 的内容为 不定 。
·ADDC A , #54H 指令执行后 , PSW 寄存器的内容将等于 01 H 。
11. 8051AH·片内设置有4KB 的ROM , 当EA 端保持高电平时 , PC (程序计数器)值超过 OFF H时 , 将自动转向执行外部程序存储器的程序。
·可做通用I/O 的至少有_P1_口的8条I/O 线。
_P0_口作地址/数据总线, 传送地址码的_低_8位 , _P2 口作地址总线 , 传送地址码的高__8位。
12.存储器组织·8051片内RAM 有 128 个字节 , 片外RAM 寻址范围为 64K 个字节。
单片机原理与应用习题及答案

单片机原理与应用习题及答案一、单选题(共60题,每题1分,共60分)1、下面哪种外设是输出设备( )。
A、打印机B、话筒C、键盘D、A/D转换器正确答案:A2、MCS-51单片机外部中断0开中断的指令是( )。
A、SETB ET0B、SETB EX0C、CLR ET0D、SETB ET1正确答案:B3、使用单片机开发系统调试C语言程序时,首先应新建文件,该文件的扩展名是( )。
A、cB、hexC、binD、asm正确答案:A4、定时器/计数器工作方式( )可溢出后不用重装计数初值。
A、0B、2C、3D、1正确答案:B5、8051单片机共有( )个中断源。
A、7B、4C、6D、5正确答案:D6、在片外扩展一片2716程序存储器芯片要( )地址线。
(此题有误)A、8根B、11根C、20根D、13根正确答案:D7、特殊下列指令能使R0低4位不变,高4位置1的是( )。
A、ANL R0,#0F0HB、ORL R0,#F0HC、ORL R0,#0FHD、ORL R0,#0F0H正确答案:D8、调用子程序、中断响应过程及转移指令的共同特点是( )。
A、都能返回B、都通过改变PC实现转移C、都将返回地址压入堆栈D、都必须保护现场正确答案:B9、8051单片机中,唯一一个用户可使用的16位寄存器是( )。
A、PSWB、ACCC、SPD、DPTR正确答案:D10、AB是哪种总线的缩写?( )A、数据总线B、地址总线C、控制总线D、电源线正确答案:B11、最基本的C语言语句是( )。
A、赋值语句B、表达式语句C、循环语句D、复合语句正确答案:B12、PSW=18H时,则当前工作寄存器是( )。
A、3组B、2组C、1组D、0组正确答案:A13、可以控制程序转向64K程序存储器地址空间的任何单元的无条件转移指令是( )。
A、AJMP addr11B、LJMP addr16C、SJMP relD、JC rel正确答案:B14、执行返回指令时,返回的断点是( )。
大工15春《单片机原理及应用》大作业题目及要求5篇

大工15春《单片机原理及应用》大作业题目及要求5篇第一篇:大工15春《单片机原理及应用》大作业题目及要求2015年9月份《单片机原理及应用》大作业具体要求:题目一:单片机电子时钟设计准则:设计一个基于51单片机或STM单片机的电子时钟,并且能够实现时分秒的显示和调节撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
题目二:基于单片机的音频播放器设计准则:设计一个基于51单片机或STM单片机的音频播放器。
撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
题目三:基于单片机的温度采集系统设计准则:设计一个基于51单片机或STM单片机的温度采集系统,测量的温度分辨率为0.5℃。
撰写要求:(1)首先介绍课题背景,包括温度采集系统的发展、应用情况等,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
题目四:交通灯控制系统设计准则:设计一个基于51单片机或STM单片机的交通灯控制系统,实现十字路口交通信号灯的基本控制、显示功能。
撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
单片机原理及应用习题

单片机原理及应用习题第一章绪论1-1单项选择1、计算机中最常用的字符信息编码是()。
(A)ASCII (B)BCD码(C)余3码(D)循环码2、-31D的二进制补码为.( )。
(A)B (B)B (C)B (D)B3、十进制29的二进制表示为原码()。
(A)B (B) B (C)B (D)B4、十进制0.625转换成二进制数是()。
(A)0.101 (B)0.111 (C)0.110 (D)0.1005、十六进制数7的ASCII码是()。
(A)37 (B)7 (C)07 (D)476、十六进制数B的ASCII码是()。
(A)38 (B)42 (C)11 (D)10117、通常所说的主机是指()(A)运算器和控制器(B)CPU和磁盘存储器(C)CPU和主存储器(D)硬件和软件8、使用单片机实现在线控制的好处不包括( )(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合1-2填空1、计算机中常作的码制有、和。
2、十进制29的二进制表示为。
3、十进制数-29的8位补码表示为。
4、是计算机与外部世界交换信息的载体。
5、十进制数-47用8位二进制补码表示为。
6、-49D的二进制补码为。
7、计算机中的数称为,它的实际值叫。
8、单片机的存储器结构形式有普林斯顿结构(又称冯.依诺曼结构)与哈佛结构,MCS-51存储器采用的是结构。
1-3 问答题1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点?2、单片机主要应用在哪些领域?3、为什么80C51系列单片机能成为8位单片机应用主流?4、举例说明单片机的主要应用领域。
5、二进制数、十进制数、十六进制数各用什么字母尾缀作为标识符?无标识符时表示什么进制数?6、试比较MCS-51,MSP430,EM78,PIC,M6800及A VP等系列单片机的特点。
第二章MCS-51单片机的硬件结构与工作原理1、要MCS-51系统中,若晶振频率屡6MHz,一个机器周期等于( ) μsA 1B 2C 3D 0.52、以下不是构成的控制器部件():A 程序计数器、B指令寄存器、C指令译码器、D存储器3、以下不是构成单片机的部件()A 微处理器(CPU)、B存储器C接口适配器(I\O接口电路) D 打印机4、下列不是单片机总线是()A 地址总线B 控制总线C 数据总线D 输出总线5、PSW=18H时,则当前工作寄存器是()(A)0组(B)1组(C)2组(D)3组6、P1口的每一位能驱动()(A)2个TTL低电平负载有(B)4个TTL低电平负载(C)8个TTL低电平负载有(D)10个TTL低电平负载7、MCS-51的中断允许触发器内容为82H,CPU将响应的中断请求是( )(A) T0, (B)T1 (C)串行接口(D) INT08、外部中断0的中断入口地址为()(A)0003H (B)000BH (C)0013H (D)001BH9、内部定时/计数器T0的中断入口地址为()(A)0003H (B)000BH (C)0013H (D)001BH10、在中断服务程序中,至少应有一条( )(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令11、MCS-51有中断源()(A)5个(B)2个(C)3个(D)6个12、在中断流程中有“关中断”的操作,对于外部中断0,要关中断应复位中断允许寄存器的()(A)EA位和ET0位(B)EA位和EX0位(C)EA位和ES位(D)EA位和ET1位13、MCS-51的并行I/O口读-改写操作,是针对该口的( )(A)引脚(B)片选信号(C)地址线(D)内部锁存器14、MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是( )(A)读锁存(B)读数据(C)读A累加器(D)读CPU15、MCS-51的中断源全部编程为同级时,优先级最高的是()(A)INT1 (B)TI (C)串行接口(D)INT02-2判断1、MCS-51是微处理器。
单片机原理与应用习题集(含答案)

单片机原理与应用习题集第一章计算机基础习题1-1 什么是二进制?为什么在数字系统、计算机系统中采用二进制?1-2 将下列各数按权展开为多项式:(1) 110110B (2) 5678.32D(3) 1FB7H1-3 把下列十进制数转化为二进制、十六进制和8421 BCD码:(1) 135.625 (2) 548.75(3) 376.125 (4) 254.251-4 什么是原码、反码和补码?微型计算机中的数为什么常用补码表示?1-5 写出下列十进制数原码、反码和补码(用8位二进制表示):(1) + x = + 65 (2) + x = + 115(3) - x = - 65 (4) - x = - 1151-6 计算下列两组二进制数内部式子的逻辑“与”,“或”及“异或”的结果:(1)10100101和00001111(2)10011101和101001011-7 什么是单片机?它与一般微型计算机在结构上有何区别?1-8 新型8位单片机主要在哪些方面有所发展?给应用系统带来什么好处?第二章单片机系统组成原理习题2-1 什么是单片机?它与一般的微型计算机在结构上有何区别?2-2 MSC-51单片机内部有哪些主要的逻辑部件?2-3 MSC-51单片机程序存储器和数据存储器各有什么功用?其内部RAM区功能结构如何分配?2-4 在内部RAM中,4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?2-5 程序状态字PSW的作用是什么?常用标志有哪些位?作用是什么?2-6 简述定时器的四种工作模式的特点,如何选择和设定?2-7 当定时器T0用作模式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?2-8 已知8051单片机的f osc=12MHz用T1定时。
试编程由P1.0和P1.1引脚分别输出周期为2ms和500us的方波。
2-9 什么是中断?其主要功能是什么?2-10 什么是中断优先级?中断优先处理的原则是什么?2-11 试编写一段对中断系统初始化的程序,使之允许0INT,,T0,串行口中断,且使T0中断为高优先级中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络教育学院《单片机原理及应用》大作业题目:单片机电子时钟设计学习中心:汕尾奥鹏层次:专升本专业:电气工程及其自动化年级:13年秋季学号:131071409971学生姓名:许仕权单片机电子时钟设计一、引言单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。
单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。
二、时钟的基本原理分析利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min 钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED 显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
三、时钟设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。
运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。
首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
这是前期准备工作。
第二部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。
第三部分是软件部分:先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。
第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。
第五部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。
第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。
最后进行功能扩展,在已经正确的设计基础上,添加额外的功能!四、时钟的实现A.电路设计1. 整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和秒(日),通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。
单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设计。
电路的总体设计框架如下:2. 分块设计模块电路主要分为:输入部分、输出部分、复位和晶振电路。
2.1 输入部分输入信号主要是各种模式选择和调整信号,由按键开关提供。
以下为输入部分样例:在本实验中主要用用P3口输入按键信号,还用到了特殊的P0口。
对于P0口,由于其存在高阻状态,为了实现开关功能,给其添加上拉电阻,具体如下图所示:2.2 输出部分本电路的输出信号为7段数码管的位选和段选信号,闹铃脉冲信号,提示灯信号。
本实验的数码管是共阴的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下图:闹铃由P2.6端输出,模块如下:2.3 晶振与复位电路本实验单片机时钟用内部时钟,模块如下:复位电路为手动复位构成,模块如下:各模块拼接组合,电路总体设计图如下:B.程序设计B.1 程序总体设计本实验用汇编程序完成. 程序总的流程图如下:B.2 程序主要模块B.2.1 延时模块数码管显示动态扫描时,用到延时程序,这里使用延迟1ms的程序,此程序需反复调,除数码管动态扫描外,数码管的闪烁提示,以及音乐模块也用到了延时,只是延时的长短不同罢了,在此不再赘述。
B.2.2中断服务程序本实验中,计数器T0,T1中断都有运用,其中T0中断为时钟定时所用,T1中断用于音乐播放。
T0的定时长度为0.01s,工作于方式1,计数1次,时长1us,故计数器计数10000次,进入中断,计数初值为65536-10000=55536=#0D8F0,装满定时器需要0.01s的时间,从而100次中断为一秒,一秒之后,判断是否到60秒,若不到则秒加一,然后返回,若到,则秒赋值为0,分加一,依次类推。
包括日期显示的功能也是如此。
另外,由于要实现倒计时功能,因此在中断程序中还要加入减一的寄存器,需要时将其进行显示。
基于以上考虑,以R3为倒计时中的秒,R4为倒计时的分,当秒加1时R3减一,减到0之后,秒赋值为59,分减一,直到分为0。
计数器T1工作于方式1,当调用响铃程序时,其计数功能开启,为音乐音调不同频率的方波的形成,提供延时。
其中断服务程序就是根据音调改变音乐方波输出口电平的高低,用语句CPL实现。
中断服务程序中日历的实现较为复杂,要考虑平年,闰年,特殊的2月,每月的天数的不尽相同。
具体的逻辑判断方法为:首先,要考虑年份是不是闰年,闰年的判断方法是:将年份除以100,若能整除,则将年份除以400,若还能整除,则为闰年,若不能,则为平年;若不能被100整除,则判断是否能被4整除,若能,则为闰年,若不能则为平年。
只有2月与平、闰年相关,因此在闰年和平年的子程序中,要判断是不是2月,若是则在相应的年中进行日期的增加,若不是则转入平时的月份。
其中1、3、5、7、8、10、12月是每月31天,4、6、9、11月为每月30天。
日历进位判断流程图如下:本实验用8个数码管,刚好能显示年,月,日,扫描显示与时间的扫描显示类似。
年比较特殊,由两个寄存器存储,个位,十位为0时,表明年数能被100整除,若此时千位,百位组成两位数能被4整除,则年数被400整除,为闰年。
若十位,个位组成两位数能被4整除,则年数能被4整除,为闰年。
B.2.3主程序主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序。
B.2.4 显示子程序8个数码管轮流进行显示,分别显示1ms,依赖人的视觉暂留效应,给人以数码管持续高亮的错觉。
日期的显示,秒表的显示,倒计时的显示,调闹铃,调定时的显示,闪烁的显示程序与以上的的扫描相似,有的以子程序的方式出现,通过子程序调用语句ACALL调用;有点直接嵌套在相应的程序里面,顺序执行,或者用调转语句AJMP调用。
C 程序调试及仿真本程序通过Keil单片机开发平台实现程序的编译,链接,生成HEX文件。
通过Keil和硬件仿真平台Proteus的联合,可以将设计效果仿真出来,根据效果,有目的的改变设计,优化程序。
利用Proteus仿真实验过程截图:普通时间显示模式仿真图,表示:星期一9点10分38秒五,总结本文先从整体论述了设计电子钟的大致思路,然后再采用划分模块的方法,将硬件电路划分为开关电路,显示驱动电路,以及数码管电路等,而软件部分,则依据要实现的功能,划分为:闹钟的声音程序,时间显示程序,日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。
最后将各模块集成为一个整体,合成一个多功能的电子钟。
附录:延时程序:D_1MS:MOV R7,#2D_5:MOV R2,#250DJNZ R2,$DJNZ R7,D_5RET主程序:MAIN:JNB P3.0,DATETZ ;按下0键,显示日期并可对日期进行调整JNB P3.1,ZSTZ1 ;按下1键,显示时间,并可调时JNB P3.2,NLTZZ ;按下2键,进行闹铃设置JNB P3.3,DSTZ ;按下3键,进行定时设置JNB P3.4,CESHI ;闹铃测试JNB P3.6,STOPWATCHTZ ;按下6键,进入秒表方式ACALL DISP ;调用时钟显示子程序JNB P0.6,RERING ;判断是否开启闹铃重响功能RE: JNB P2.7,DSPDKQ ;判断是否开启闹铃功能,没开则去判断定时FMQPD: ;判断定时值R4,R3是否到零、闹铃时刻是否已到MOV A,HOUR;SUBB A,38H;JZ FEN ;判断小时数是否到闹铃所定时间,若到,则对分进行判断;若不到,则对定时进行判断AJMP DSPDKQFEN:MOV A,MINUTE;SUBB A,37H;JZ MIAO ;判断分是否到闹铃所定时间,若到,则对秒进行判断;若不到,则对定时进行判断AJMP DSPDKQMIAO:MOV A,SECONDSUBB A,#0JZ SHENGYIN1 ;判断秒是否到闹铃所定时间,若到,则时,分,秒都到达闹铃时刻,进入响铃子程序;若不到则判断定时AJMP DSPDKQRERING: ;闹铃重响判断程序JNB F0, RE ;标志位F0为0,不进行闹铃重响设定CPL F0MOV 3CH,#1 ;定时判断标志位赋1,定时判断功能开启JNB P0.7,M1 ;闹铃重响间隔时间选取MOV R4,#0 ;闹铃重响间隔30秒MOV R3,#30AJMP MAINM1: ;闹铃重响间隔60秒MOV R4,#1MOV R3,#0AJMP MAINDSPDKQ: ;判断是否应该进行定时判断MOV A,3CH ;3CH是引入的判断因子,当其为0时,不对定时时间是否到0进行判断JNZ DSPD2 ;当3CH不是0时,跳转到定时判断程序AJMP MAINDSPD2:MOV A,R4;JZ S_PD ;R4所存定时分数为0,则转而判断R3所存定时秒数AJMP MAIN;S_PD:MOV A,R3;JNZ MAIN ;R4,R3所存参数减为0,定时长度已到JNB P0.6,SHENGYIN2 ;闹铃重响功能开启时,跳入响铃程序AJMP TISHI ;不是闹铃重响定时,则定时时间到时,跳入提示程序AJMP MAINCESHI:ACALL RINGAJMP MAINSHENGYIN1: ;调用响铃子程序LCALL RINGAJMP MAINSHENGYIN2:SETB F0 ;闹铃重响标志位设定LCALL RING ;响铃CLR F0 ;标志位复位AJMP MAINNLTZZ:AJMP NLTZ1 ;跳入闹铃调整程序DSTZ:AJMP DSTZ1 ;跳入定时调整程序DATETZ:AJMP DATETZ1 ;跳入日期调整程序STOPWATCHTZ:AJMP STOPWATCHTZ1 ;跳入秒表程序显示子程序:DISP: ;时间显示子程序JNB P3.7,OUT1 ;判断节能开关7是否按下,按下则数码管不显示,延长其寿命MOV DPTR,#LEDTABMOV A,SECOND ;显示当前时间秒位MOV B,#10DIV AB ;A存十位,B存个位MOVC A,@A+DPTRMOV P1,ACLR SEC_SACALL D_1MS ;显示当前时间秒十位SETB SEC_SMOV A,BMOVC A,@A+DPTRMOV P1,ACLR SEC_GACALL D_1MS ;显示当前时间秒个位SETB SEC_GMOV A,MINUTE ;显示当前时间分位MOV B,#10DIV ABMOVC A,@A+DPTRMOV P1,ACLR MIN_SACALL D_1MSSETB MIN_SMOV A,BMOVC A,@A+DPTRMOV P1,ACLR MIN_GACALL D_1MSSETB MIN_GMOV A,HOUR ;显示当前时间时位MOV B,#10DIV ABMOV DPTR,#LEDTABMOVC A,@A+DPTRMOV P1,ACLR HOU_SACALL D_1MSSETB HOU_SMOV A,BMOVC A,@A+DPTRMOV P1,ACLR HOU_GACALL D_1MSSETB HOU_GMOV A,WEEK ;显示当前星期数MOVC A,@A+DPTRMOV P1,ACLR Y_SACALL D_1MSSETB Y_SOUT1:RET。