电子万年历设计
更新时间:2024-01-10 20:40:01 阅读量: 教育文库 文档下载
西安科技大学 电子万年历设计
电子万年历设计
【摘要】
本文通过对一个基于单片机的能实现万年历功能的电子钟的设计,从而达到学习了解单片机的相关指令在各方面的应用。系统主要由8031单片机和8155芯片及显示电路等部分组成,能实现时钟、日历显示功能,能进行时、分、秒的显示。
关键词:单片机 万年历
Abstract: Based on a microcontroller based on the
calendar function toachieve the 10-minute electronic design, study and understanding to achieve the SCM related instructions in all aspects of the application. SCM system is mainly from 8031 and 8155 show circuit chips and components, to achieve clock, calendar display, capable of hours, minutes and seconds of the show.
Key words: SCM calendar
1
西安科技大学 电子万年历设计
目 录
一、 前言 ........................................................................................... 3
二、部件介绍 ................................................................................. 4-11
2.1单片机的性能与结构 ....................................................... 4-5
2.2 8031单片机的引脚功能 ............................................... 6-8 2.3 8155芯片的介绍 ............................................................... 8
2.4 8155引脚及结构 ............................................................ 8-11 三、电路图......................................................................................... 12
四、功能说明及流程图 .................................................................. 13 五 电子万年历制作的程序 ...................................................... 14-43 结 束 语 ............................................................................................ 44 谢 辞 .................................................................................................. 45 文 献 .................................................................................................. 46
2
西安科技大学 电子万年历设计
第一部分 前言
随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强学生动手能力﹑重视实践应该是电子发展需求的必然趋向。实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。
本次设计所用到的8031单片机就是其中典型的一种,通过电子万年历的设计,从而达到了学习、设计软硬件的能力。激发了我们的积极性和主动性,培养了我们的创新意识和综合素质。了解电子产品设计与制作的工艺和流程,提高个人基本能力、实验及设计能力和独立工作能力,基本知识更加牢固。
电子设计与制作要求我们有牢固的基础理论知识,这也是将基础理论知识运用到实际中的重要一步。而对于我们所学的电子专业来说,课程设计实习将对以后的工作起到很重要的作用。
本次设计因本人水平有限,难免有失误不当之处,还请各位老师能够指教。
编者语
3
西安科技大学 电子万年历设计
第二部分 部件介绍
2.1 80C51单片机的性能及结构
在一般工业领域,8位通用型单片机,仍然是目前应用最广的单片机。在众多通用8位单片机中,以MCS-51系列产品最大、派生产品较多,成为单片机应用中的主流系列。8031系列单片机是以美国Intel公司的8051、8031为核心。MCS-51系列单片机是一种高性能的8位单片机,它是在MCS-48的基础上推出的第二代单片机,它封装为40个引脚。芯片内部集成有;
8位CPU
128B的数据存储器
64K的片外程序存储器寻址能力 64K的片外数据存储器寻址能力 32根输入/输出线 1个全双工异步串行口 2个16位定时/记数器 5个中断源,2个优先级
8031片内没有程序存储器,当在单片机芯片外扩展EPROM后,就相当于一片8031,此种应用方式灵活方便。
8031单片机内部结构
8031系列单片机的内部结构和8051相同如图1-1所示,现分述各部分的组成。
图1-1 8031芯机结构框图
1.中央处理器(CPU)
这是单片机的核心,它完成运算和控制功能。运算是由算术逻辑单元(ALU)为主的“运算器”完成的。而控制则是由包括时钟振荡器在内的“控制器”完成的,其主要功能是对指令码进行译码,然后在时钟信号的控制下,使单片机的内
4
西安科技大学 电子万年历设计
外电路能够按一定的时序协调有序地工作,执行译码后的指令。
2.内部RAM
8031系列单片机共有256个字节的RAM单元,但只有地址为00~~7FH这128个单元作为片内随机存储器(RAM)使用,而高128个单元的一部分被特殊功能寄存器(SFR)占用。SFR只有18个,共占用21个单元。其余未被占用的107个单元,用户不能够使用。
3.内部ROM
8031单片机内有4KB掩膜ROM,这些只读存储器用于存放程序、原始数据或表格,所以称为程序存储器,8751单片机片内有4KB的EPROM型只读存储器。
4.定时器/计数器
8031系列单片机内部有两个16位的定时/计数器T0、T1,以完成定时和计数的功能。通过编程,T0(或T1)还可以用作13位和8位定时/计数器。
5.并行口
8031单片机内部共有四个输入输出口,一般称为I/O口,即P0、P1、P2、P3
口,每个口都是8位。原则上四个口都可以作为通用的输入输出口,但对初学者来说,一般用8031型单片机,它片内没有ROM,需用P0口作为低8位地址、数据线的分时复用口,即相当于计算机的AD0~AD7线。而P2口作为高8位地址的复用口,即A8~A15地址线。P3口各个管脚又有不同的第二功能,例如,读、写控制信号等。所以,只有P1口可作为通用的I/O口使用。另外,有时还需要在片外扩展I/O口。
6.串行口
8031系列单片机有一个全双工的串行I/O口,以完成单片机和其他计算机或通信设备之间的串行数据通信,单片机使用P3口的RXD和TXD两个管脚进行串行通信。
7.中断系列
8031系列单片机内部有很强的中断功能,以满足控制应用的需要。它共有5个中断源,即外部中断源2个,定时/计数器中断源2个,串行中断源1个。
8.CPU内部总线和外部总线
CPU通过内部的8位总线与各个部件连接,并通过P0口和P2口形成内部16位地址总线连接到内部ROM区。外部三总线则是包括由P0口组成的数据总线(DB)(分时复用);由P0口和P2口组成的16位地址总线(AB)(P0口分时复用);由PSEN、EA、ALE和P3口部分管脚(读信号RD及写信号WR)组成的控制总线(CB)。
5
西安科技大学 电子万年历设计
2.2 8031单片机的引脚及其功能
8031系列单片机大都采用40个引脚的双列直插式(DIP)塑料封装的芯片,其引脚示意及功能分类如图1-2所示。也有采用方型封装的,但为44个引脚,其中4个引脚是不使用的。
各部分引脚定义如下:
1. 电源部分:主电源引脚Vcc和Vss Vcc(40脚): 接+5 V电源正端; Vss(20脚): 接+5 V电源地端。
2. 晶振部分:外接晶体引脚XTAL1和XTAL2
XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。 当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。
(a) 管脚图 (b) 8031 引脚功能分类
图 1-2 MCS-51单片机引脚及总线结构
3. 控制信号:控制信号引脚有RST/VPD、ALE/PROG、PSEN和EA/VPP等4种形式。
(1) RST/VPD(9脚):RST即为RESET,是复位信号,一般外接RC电路和
6
西安科技大学 电子万年历设计
复位按键,每当上电或按动复位键时,利用该引脚外部来的正脉冲使单片机初始化,一般若该引脚保持两个机器周期高电平,就能使单片机复位,实现可靠复位操作。VPD作为备用电源输入端,是该引脚的第二功能。当VCC失电期间,由VPD向片内RAM提供电源,以保护其中内容。所以该引脚为单片机的上电复位或掉电保护端。
(2)ALE/PROG(30脚):第一功能称为“低8位地址锁存输出允许信号”, ALE信号以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址,即从该引脚输出的由高向低的下降沿,可使从P0口输出的低8位地址锁存到外接地址锁存器中。第二功能用于在EPROM编程时,作为编程脉冲输入端。当固化内部EPROM时,从该管脚输入编程脉冲信号。
(3)EA/VPP(31脚):同样是一个复用引脚,称为“读外部程序存储器允许/EPROM编程电源引脚”。第一功能用于输入从外部程序存储器取指或从内部程序存储器取指的选择信号。当EA接高电平时,将从内ROM开始访问,但地址范围超过内部ROM的最大容量(4K字节)时,将自动转向外ROM取指令;EA接低电平时,将直接从外ROM开始取指,即所有指令均在片外读取。
(4)PSEN(29脚):片外程序存储器读选通(输出允许)信号输出端,用于输出外部程序存储器选通信号。在对外部程序存储器取指操作时,PSEN置有效(低电平),被选中的外部存储单元中的内容将出现在数据总线上,然后被读入CPU中;在执行片内程序存储器取指时,PSEN为无效(高电平)。
4. 并行输入/输出(I/O)口
8051单片机共有4个8位I/O口,称为P0口、 P1口、 P2口及P3口,总 共32个引脚。每个口的引脚为8个。
P0口(39脚~32脚):P0.0~P0.7统称为P0口。
P1口(1脚~8脚):P1.0~P1.7统称为P1口, 可作为准双向I/O接口使用。 P2口(21脚~28脚):P2.0~P2.7统称为P2口, 一般可作为准双向I/O接口。
P3口(10脚~17脚):P3.0~P3.7统称为P3口。 并行I/O口应用要点如下:
(1)P0口是一个三态双向口, 可作为地址/数据分时复用口, 也可作为通用I/O接口。当P0口作为地址/数据分时复用总线时, 可分为两种情况: 一种是从P0口输出地址或数据,另一种是从P0口输入数据。P0口作为通用I/O使用时是一准双向口。P0口每一个引脚可驱动8个TTL门电路。
(2)P1口为准双向口。从功能上来看P1只有一种功能, 即通用I/O接口, 具有输入、输出、端口操作3种工作方式, 每1位口线能独立地用作输入或输出线。
7
西安科技大学 电子万年历设计
P1口每一个引脚可驱动4个TTL门电路。
(3)P2口也是一准双向口, 它具有通用I/O接口或高8位地址总线输出两种功能。作为通用I/O接口,其工作原理与P1相同, 也具有输入、输出、 端口操作三种工作方式, 负载能力也与P1口相同。
(4)P3口除了可作为通用准双向I/O接口外, 每1根线还具有第2功能。当P3口作为通用I/O接口时, 在这种情况下, P3口仍是1个准双向口, 它的工作方式、负载能力均与P1、P2口相同。当P3口作为第2功能时,各引脚功能见表2.1.1所示。
(5)四个口的各个引脚都可作为通用I/O使用,但当某一引脚作为输入使用前,必须先使该引脚置“1”(这是由4个8位并行I/O口的结构所决定的,此种状态下的各口也被称为准双向口)。单片机复位后,四个口的32个引脚均为高电平(已自动置为1),但用户在自己的初始化程序中,应考虑到所使用的引脚是否符合要求。
2.3 8155芯片介绍:
Intel 8155芯片内包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。8155可直接与MCS-51单片机连接不需要增加任何硬件逻辑。由于8155既有RAM又具有I/O口,因而是MCS-51单片机系统中最常用的外围接口芯片之一
2.4 8155的引脚及内部结构如下图:
图 1-3 8155管角图
8
西安科技大学 电子万年历设计
图1-4 内部结构图
8155共有40个引脚,采用双列直插式封装。各引脚功能如下:
AD7~AD0:地址数据总路线。单片机和8155之间的地址、数据、命令、状态信息都是通过它传送的。
/CE:片先信号线,低电平有效 /RD:存储器读信号线,低电平有效。 /WR:存储器写信号线,低电平有效、
ALE:地址及片选信号锁存线,高电平有效,其后沿将地址及片选信号锁存到器件中。
IO//M:I/O接口与存储器选择依赖线,高电平表示选择I/O接口,低电平选择存储器。
PA7~PA0:A口输入/输出线。 PB7~PB0:B口输入/输出线。
PC5~PC0:C口输入/输出或控制信号线。用作控制信号线时,其功能如下: PC0:A INTR(A口中断信号线)。 PC1:A BF(A口缓冲器满信号线)。
9
西安科技大学 电子万年历设计
PC2:/ASTB(A口选通线)。 PC3:B INTR(B口中断信号线)。 PC4:B BF(B口缓冲器满信号线)。 PC5:/BSTB(B口选通线)。 TIMER IN:定时器/计时器输入端。 /TIMER OUT:定时器/计数器输出端。 RESET:复位信号线。 VCC:+5V电源。 VSS:地。
8155内部结构包括两个8位并行输入/输出端口,一个6位并行输入/输出端口,256个字节的静态随机存取存储器RAM,一个地址锁存器,一个14位的定时器/计数器以及控制逻辑电路,各部件和存储器地址的选择由IO//M信号决定。
当IO//M=0(低电平)时,表示AD7~AD0输入的是存储器地址,寻址范围为00H~FF。
当IO//M=1(高电平)时,表示AD7~AD0输入的是I/O接口地址,其编码如下表所示。其中A7~A3可经译码器进行译码,产生片选信号/CE,内部寄存器和口地址由A2~A0给出。 AD7~AD0 A7 A6 A5 A4 A3 A2 A1 A0 X X X X X 0 0 0 X X X X X 0 0 1 X X X X X 0 1 0 X X X X X 0 1 1 X X X X X 1 0 0 X X X X X 1 0 1 寄存器 命令/状态寄存器(命令状态口) A口 B口 C口 定时器低8位 定时器高6位和2位计数方式位 7 6 5 4 3 2 1 0
PA:0-A口输入 1-A口输出 PB:0-B口输入 1-B口输出 PC2、PC1:
00=ALT1:A口,B口基本输入输出,C口输入 01=ALT2:A口,B口基本输入输出,C口输出 10=ALT3:A口选通输入输出,B口基本输入输出 PC0:AINTR,PC1:ABF,PC2:/ASTB,PC3-PC5输出 11=ALE4:A口,B口选通输入输出
PC0:AINTR,PC1:ABF,PC2:/ASTB,PC3:BINTR,PC4:BBF PC5:/BSTB
10
西安科技大学 电子万年历设计
IEA:1-允许A口中断;0-禁止A口中断 IEB:1-允许B口中断;0-禁止B口中断 TM2、TM1:
00:空操作,不影响计数操作 01:停止定时器计数
10:若定时器正在计数,计数长度减速为0停止计数
11:启动,置方式和长度后立即启动,若正在运行表示 置新的方式和定时器长度,计数结束后,按新的方式和长度计数。
B、工作方式:
在8155的逻辑部件中,设置有一个控制命令寄存器和一个状态标志寄存器。8155的工作方式由CPU写入控制命令寄存器中的控制字来确定。控制命令寄存器只能写入不能读出,8位控制命令寄存器的低4位用来设置A口、B口和C口的工作方式。第4、5位用来确定A口、B口以选通过输入输出方式工作时是否允许中断请求。第6、7位用来设置定时器/计数器的操作。工作方式控制字的格式如上图所示:
8155的A口、B口 可工作于基本I/O方式或选通方式,C口 可作为输入输出口线,也可作为A口、B口 选通方式工作时的状态控制信号线,其工作情况与8255方式0,方式1时大致相同,控制信号的含义也基本一样。
另外,在8155中还设置有一个状态标志寄存器,用来存放A口和B口的状态标志,状态标志寄存器的地址与命令寄存器地址相同,CPU只能读出,不能写入。状态标志寄存器的格式如下图所示,所以CPU可以直接查询。
D7 X D6 TMER D5 INTEB D4 BBF D3 INTRB D2 INTEA D1 ABF D0 INTR INTR:中断请求 INTE:端口中断允许 BF:缓冲器满标志 TIMER:定时中断 C、定时器/计数器
在8155中还设置有一个14位的定时器/计数器,可用来定时或对外部事件计数,CPU可通过程序选择计数长度和计方式。计数长度和计数方式由输入给计数寄存器计数控制字来确定,计数寄存器的格式如下:
TL(04H) D7 D0 T7 T6 T5 T4 T3 T2 T1 T0 TH(05H) D7 D0
M2 M1 T13 T12 T11 T10 T9 T8 11
西安科技大学 电子万年历设计
第三部分电路图
8031与8155连接图:
P0AD0~AD7ALECEIO/MWRRDRESET图1-5
PAPB8031ALEP2.7P2.0WRRD8155PCTINTOUT EARESET 电子万年历电路图
LED1764219105abcdefgdpafegdbcdpLED2764219105abcdefgdpafegdbcdpLED3764219105abcdefgdpafegdbcdpLED4764219105abcdefgdpafegdbcdpLED5764219105abcdefgdpafegdbcdpG13G1G2G1G2G1G1G2G2383833U11918171615141312P1.7P1.6P1.5P1.4P1.3P1.2-P1.1+P1.0P3.7P3.5/T1P3.4/T0P3.3/INT1P3.2/INT0P3.1/TXDP3.0/RXDX110987632C153.58MHz4JT30PC230pFRSTAT89C2051110uFR010KVCCC0VCCS1S2VT19012BUZ8VCCR210KX288G2 图1-6 万年历电路
12
西安科技大学 电子万年历设计
第四部分 功能说明及调整流程
(1)校时
(2)8路定时时间查询
按下S1键依次显示定时时间。星期位显示:“H”表示打开当前定时输出。“L”表示关闭当前定时输出。此时按S2键可进行“H”/“L”的切换。
(3)显示状态的控制
按K2可进入以下工作状态的循环切换:
12小时/日月交替显示—12小时固定显示—24小时/日月交替显示—24小时固定显示—12小时/日月交替显示。
(4)校时
按下S2键并保持3秒后,进入校时菜单。按下S1键进入校时状态:分、时、天、月、年、微调系数。此时按S2键,完成+1。当显示“D”时,表示要调整微调系数(0—99),其值越小,时钟走的越慢。当使用的6MHZ的晶振偏差越大时,应仔细调整微调系数。当显示“OUT”时,按 S2键就可以退出。退出后,按任意键即可启动时钟。
(5)设置定时时间
按S1键并保持3秒后,进入设置菜单。按下S1键依次进入8路定时调整状态:时、分、此时按S2键,完成+1,按下S2键,即可退出。
图 2-1 万年历调整流程图
13
西安科技大学 电子万年历设计
第五部分 电子万年历制作的程序
FL_250ms BIT 00H FL_500ms BIT FL_250ms+1 Set_Clk_F BIT FL_500ms+1 Set_AL4_F BIT Set_Clk_F+1 AM_F BIT Set_AL4_F+1 FL_3S BIT AM_F+1 AL1_F BIT FL_3S+1 AL2_F BIT FL_3S+2 AL3_F BIT FL_3S+3 AL4_F BIT FL_3S+4
Set_Over BIT AL4_F+1 HA_F BIT Set_Over+1 HA_OVER BIT HA_F+1 FL_MS_F BIT HA_OVER+1 FL_S_F BIT FL_MS_F+1 Key_OVER BIT FL_S_F+1 Key_Data EQU 08H
TimerS EQU Key_Data+1 T_30ms EQU TimerS+1 T_20MS EQU T_30ms+1 T_1S EQU T_20MS+1 K1_Data EQU T_1S+1 K2_Data EQU K1_Data+1 Stat_Work EQU K2_Data+1
Stat_Led EQU Stat_Work+1 T_1ms EQU Stat_Led+1 T_20M EQU T_1ms+1 Beep EQU T_20M AL1 EQU Beep+1 AL2 EQU Beep+2 AL3 EQU Beep+3 AL4 EQU Beep+4 AL5 EQU Beep+5 AL6 EQU Beep+6 AL7 EQU Beep+7 AL8 EQU Beep+8 Ret_Timer EQU AL8+1
; ------------------------------定义计时单元 SEC EQU 23H ;定义秒单元 MIN EQU SEC+1H ;定义分钟单元 Hour EQU MIN+1H ;定义小时单元 Day EQU Hour+1H ;定义日单元
14
西安科技大学 电子万年历设计
Mon EQU Day+1H ;定义月单元 Year EQU Mon+1H ;定义年单元 W_Adj EQU Year+1H ;定义
Week EQU W_Adj+1H ;定义星期单元 ; ------------------------------8路定时单元 AL1_H EQU Week+1H ;1路时单元 AL1_M EQU AL1_H+1H ;1路分单元 AL2_H EQU AL1_M+1H ;2路时单元 AL2_M EQU AL2_H+1H ;2路分单元 AL3_H EQU AL2_M+1H ;3路时单元 AL3_M EQU AL3_H+1H ;3路分单元 AL4_H EQU AL3_M+1H ;4路时单元 AL4_M EQU AL4_H+1H ;4路分单元 AL5_H EQU AL4_M+1H ;5路时单元 AL5_M EQU AL5_H+1H ;5路分单元 AL6_H EQU AL5_M+1H ;6路时单元 AL6_M EQU AL6_H+1H ;6路分单元 AL7_H EQU AL6_M+1H ;7路时单元 AL7_M EQU AL7_H+1H ;7路分单元 AL8_H EQU AL7_M+1H ;8路时单元 AL8_M EQU AL8_H+1H ;8路分单元 Beep_T EQU AL8_M+1
Frist EQU Beep_T+1
; ------------------------------定义显存 Led1 EQU Frist+1 Led2 EQU Led1+1 Led3 EQU Led2+1 Led4 EQU Led3+1 Led5 EQU Led4+1 SP_Data EQU Led5+1
Led_1 BIT P3.5 ;定义数码显示器的位控端口1 Led_2 BIT P3.4 ;定义数码显示器的位控端口2 Led_3 BIT P3.3 ;定义数码显示器的位控端口3 Led_4 BIT P3.2 ;定义数码显示器的位控端口4 Led_5 BIT P3.1 ;定义数码显示器的位控端口5 Beep_F BIT P3.7 Key_F BIT P3.0
T_H_100MS EQU 05DH ;100 ms for 6MHz T_L_100ms EQU 07FH ;C6 for 100ms Timer_NO EQU 8D ;3C90+30D=3CB0H W_Adj_Dat EQU 50D
Key_DA EQU 00000110B Blk_Led EQU 20D DOT_Led EQU 21D
15
西安科技大学 电子万年历设计
F_Led EQU 22D N_Led EQU 23D U_Led EQU 24D T_Led EQU 25D B_Led EQU 26D D_Led EQU 27D
; ------------------------------系统复位程序 ORG 0000H LJMP START
; ------------------------------外中断0入口 ORG 0003H RETI
; ------------------------------T0中断入口 ORG 000BH RETI
; ------------------------------外中断1入口 ORG 0013H RETI
; ------------------------------T1中断入口 ORG 001BH LJMP T1INT
; ------------------------------串行口中断入口 ORG 0023H RETI
; ------------------------------主程序 START: LCALL Clr_Ram ;清内存
MOV SP, #SP_Data ;设置栈区首地址 LCALL INT_T0 LCALL Timer_INT LCALL Timer_20ms STAR_BI:LCALL Clock LCALL Week_Auto LCALL AL_Out LCALL Key_Bord LCALL Key_Del LCALL Set_Clk_AL LCALL Key_Jmp LCALL REBack LCALL Led_Jmp LJMP STAR_BI
; ------------------------------T1中断初始化程序 INT_T0: SETB ET1 ;T1开中断
MOV TMOD, #00010001B ;T1定时方式1 MOV W_Adj, #W_Adj_Dat
16
西安科技大学 电子万年历设计
SETB EA LJMP Adj_W
AL_Led: MOV R0, #AL1_H MOV A, Stat_Work DEC A RL A ADD A, R0 MOV R0, A MOV A, @R0 LCALL BCD_8 MOV Led2, A JNZ AL_1
MOV Led2, #Blk_Led AL_1: MOV A, B ADD A, #10D MOV Led3, A INC R0 MOV A, @R0 LCALL BCD_8 ADD A, #10D MOV Led4, A MOV Led5, B AL_Led_End: RET
Timer_INT: MOV T_1S, #Timer_NO MOV Beep_T, #15D MOV Year, #01D MOV Mon, #011D MOV Day, #06D MOV Hour, #13D MOV MIN, #00D MOV SEC, #00D MOV R7,#16
MOV DPTR, #AL_ASC MOV R0, #AL1_H AL_READ:CLR A MOVC A, @A+DPTR MOV @R0, A INC R0 INC DPTR
DJNZ R7, AL_READ RET
AL_ASC: DB 06D,40D, 06D,50D, 07D,00D, 07D,10D;AM 4_AL DB 07D,15D, 013D,40D, 13D,45D, 14D,15D;PM 4_AL Clock: MOV A, SEC
17
西安科技大学 电子万年历设计
CJNE A, #60D, Clock_End MOV SEC, #00H INC MIN CLR HA_OVER MOV A, MIN
CJNE A, #60D, Clock_End MOV MIN, #00H INC Hour MOV A, Hour
CJNE A, #24D, Clock_End MOV Hour, #00H MOV A, Mon XRL A, #02D JNZ MM_1
MOV DPTR, #Year_D MOV A, Year MOVC A, @A+DPTR LJMP MM_2
MM_1: MOV A, Mon DEC A
MOV DPTR, #MOU_12 MOVC A, @A+DPTR MM_2: MOV B, A INC B INC Day MOV A, Day
CJNE A, B, CLCK_End LJMP CLCK1
CLCK_End :JC Clock_End CLCK1: MOV Day, #01H INC Mon MOV A, Mon
CJNE A, #13D, Clock_End MOV Mon, #01D INC Year MOV A, Year
CJNE A, #100D, Clock_End MOV Year, #00D
Clock_End:LCALL FL_OUT RET
MOU_12: DB 31D, 28D, 31D, 30D, 31D,30D DB 31D, 31D, 30D,31D, 30D,31D
Year_D: DB 29D, 28D, 28D, 28D, 29D, 28D, 28D, 28D, 29D, 28D DB 28D, 28D, 29D, 28D, 28D, 28D, 29D, 28D, 28D, 28D
18
西安科技大学 电子万年历设计
DB 29D, 28D, 28D, 28D, 29D, 28D, 28D, 28D, 29D, 28D DB 28D, 28D, 29D, 28D, 28D, 28D, 29D, 28D, 28D, 28D Week_Auto: MOV A, Year MOV B, #05 MUL AB MOV R4, B MOV R5, A MOV R7, #04 LCALL MUL_2
MOV DPTR, #Mon_Asc MOV A,Mon DEC A
MOVC A, @A+DPTR ADD A, R3
;********************* MOV B, Day ADD A, B
MOV R3, A ;*******JB Mon<=2 ****** MOV A, Mon
CJNE A, #02D, Week_1 LJMP Week_2
Week_1: JC Week_2 Week_3: MOV A, R3 MOV B, #07 DIV AB MOV A, B LJMP Week_4
;*****JB Year=4N ****** Week_2: MOV A, Year MOV B, #04 DIV AB MOV A, B JNZ Week_3 MOV A, R3 DEC A
MOV B, #07 DIV AB MOV A, B
Week_4: MOV Week, A JNZ Week_End MOV Week, #07H Week_End:RET
19
;R3=GS2 西安科技大学 电子万年历设计
Mon_Asc: DB 6D, 2D, 2D, 5D, 0D, 3D, 5D, 1D, 4D, 6D, 2D, 4D AL_Out: JB HA_OVER, AL_Out_End MOV R7, #8D MOV R1, #AL8_M
AL_CH_1:MOV R0, #MIN
MOV R6, #02D ;MIN Hour AL_L: MOV A, @R0 MOV B, @R1
CJNE A, B, AL_CH INC R0 DEC R1
DJNZ R6, AL_L MOV A, R7 DEC A
MOV R0, #AL1 ADD A, R0 MOV R0, A MOV A, @R0 MOV C, ACC.0 CPL C
ANL C, FL_250ms CPL C
MOV Beep_F, C LCALL Beep_OUT AL_CH: CLR C MOV A, R1 SUBB A, R6 MOV R1, A
DJNZ R7, AL_CH_1 AL_Out_End: RET
REBack: MOV A, Stat_Work JZ REBack_End JB AL1_F, KA1 MOV Ret_Timer, SEC SETB AL1_F LJMP REBack_End
KA1: MOV A, Ret_Timer ADD A,#05D MOV B,#60D DIV AB MOV A,SEC
CJNE A, B, REBack_End CLR AL1_F
MOV Stat_Work, #00D
20
西安科技大学 电子万年历设计
REBack_End: RET
Key_Jmp: MOV A, Key_Data JZ Key_Jmp_End MOV Ret_Timer, SEC CJNE A, #01D, KK1 MOV A, Stat_Work
INC A ;K1_Key CJNE A, #9D, KKA1 MOV A, #00D
KKA1: MOV Stat_Work, A LJMP Key_Jmp_End
KK1: MOV A,Stat_Work JNZ KK2
MOV A,Stat_Led INC A
CJNE A, #05D, KKA2 MOV A, #00D
KKA2: MOV Stat_Led, A LJMP Key_Jmp_End KK2: LCALL ALL1 CPL A
MOV @R0, A Key_Jmp_End: RET
ALL1: MOV R0, #AL1 MOV A, Stat_Work DEC A ADD A, R0 MOV R0, A MOV A, @R0 RET
Led_Jmp: MOV A, Stat_Work JNZ Led_AL1 MOV A, Stat_Led LCALL Led_T_D MOV Led1, Week LJMP Led_Jmp_End Led_AL1: LCALL ALL1 MOV Led1, #F_Led JNZ LE_T2
MOV Led1, #N_Led
LE_T2: JB FL_250ms, LE_T4 MOV Led1, #Blk_Led
LE_T4: LCALL AL_Led Led_Jmp_End:
;K2_Key
21
西安科技大学 电子万年历设计
LCALL Led RET
Time_24: MOV A, Hour LCALL BCD_8 MOV Led2, A JNZ TIM4
MOV Led2, #Blk_Led TIM4: MOV Led3, B JB FL_500ms, TIM1 MOV A, B ADD A, #10D MOV Led3, A
TIM1: LCALL Led_Min Time_12_End: RET
Led_Min: MOV A, MIN LCALL BCD_8
JB FL_500ms, TIM2 ADD A, #10D
TIM2: MOV Led4, A MOV Led5, B RET
Date_Led: MOV A, Mon LCALL BCD_8 MOV Led2, A JNZ DA1
MOV Led2, #Blk_Led DA1: MOV A, B ADD A, #10D MOV Led3, A MOV A, Day LCALL BCD_8 MOV Led4, A JNZ DA2
MOV Led4, #Blk_Led DA2: MOV Led5, B Date_Led_End: RET
BCD_8: MOV B, #10D DIV AB RET
Led: MOV P1, #0 MOV DPTR, #Led_Asc
;***************************Led1 MOV A, Led1 MOVC A, @A+DPTR
22
西安科技大学 电子万年历设计
MOV P1, A CLR Led_1 LCALL Timer_1ms LCALL Timer_1ms SETB Led_1
Led_Led2: MOV A, Led2 MOVC A, @A+DPTR MOV P1, A CLR Led_2 LCALL Timer_1ms SETB Led_2
Led_Led3: MOV A, Led3 MOVC A, @A+DPTR MOV P1, A CLR Led_3 LCALL Timer_1ms SETB Led_3
Led_Led4: MOV A, Led4 MOVC A, @A+DPTR MOV P1, A CLR Led_4 LCALL Timer_1ms SETB Led_4
Led_Led5: MOV A, Led5 MOVC A, @A+DPTR MOV P1, A CLR Led_5 LCALL Timer_1ms SETB Led_5
Led_End: MOV P1, #0 RET
;字段顺序:bafhcdeg
Led_Asc: DB 11101110B DB 10001000B ;1 DB 11000111B ;2 DB 11001101B ;3 DB 10101001B ;4 DB 01101101B ;5 DB 01101111B ;6 DB 11001000B ;7 DB 11101111B ;8 DB 11101101B ;9
DB 11111110B ;0. =>10D DB 10011000B ;1.
23
;0 西安科技大学 电子万年历设计
DB 11010111B ;2. DB 11011101B ;3. DB 10111001B ;4. DB 01111101B ;5. DB 01111111B ;6. DB 11011000B ;7. DB 11111111B ;8. DB 11111101B ;9.
DB 00000000B ;BLACK=>20D DB 00010000B ;DOT=>21D DB 00100110B ;L=>22D DB 10101011B ;H=>23D DB 10101110B ;U=>24D DB 00100111B ;T=>25D DB 00101111B ;B=>26D DB 10001111B ;D=>27D Timer_1ms:MOV T_1ms, #030H R2_1: DJNZ T_1ms, R2_1 RET
Timer_20ms:
MOV T_20M, #050D
R2_2: LCALL Clock LCALL Led
DJNZ T_20M, R2_2 LCALL Week_Auto LCALL AL_Out RET
;R4R5/R7=R3 MUL_2:
D457: CLR C MOV A, R4 SUBB A, R7 JC DV50 SETB OV RET
DV50: MOV R6, #8 ;求平均值(R4R5/R7-→R3) DV51: MOV A, R5 RLC A MOV R5, A MOV A, R4 RLC A MOV R4, A MOV F0, C CLR C
24
西安科技大学 电子万年历设计
SUBB A, R7 ANL C, /F0 JC DV52 MOV R4, A DV52: CPL C MOV A, R3 RLC A MOV R3, A DJNZ R6, DV51
MOV A, R4 ;四舍五入 ADD A, #0 ;R4 JC DV53 SUBB A, R7 JC DV54
DV53: INC R3 DV54: CLR OV RET
Clr_Ram: MOV R7, #78H MOV R0, #0BH CLR A
CR: INC R0 MOV @R0, A DJNZ R7, CR RET
Set_Clk_AL:
JNB Set_Clk_F, SEE1 LCALL Set_Clock CLR Set_Clk_F LJMP SEE2
SEE1: JNB Set_AL4_F, SEE2 LCALL Set_AL4 CLR Set_AL4_F SEE2: RET
Led_T_D: MOV DPTR, #Led_Ord_2 MOV B, #02H MUL AB
JMP @A+DPTR
Led_Ord_2:LJMP Led_K0_1 LJMP Led_K1_1 LJMP Led_K2_1 LJMP Led_K3_1 LJMP Led_K4_1
Led_K0_1:LCALL TIME_12 JNB FL_3S, LK_1
25
西安科技大学 电子万年历设计
LCALL Date_Led
LK_1: LJMP Led_Jmp_4_End Led_K1_1:LCALL TIME_12 LJMP Led_Jmp_4_End Led_K2_1:LCALL Time_24 JNB FL_3S, LK_2 LCALL Date_Led
LK_2: LJMP Led_Jmp_4_End Led_K3_1:LCALL Time_24 LJMP Led_Jmp_4_End
Led_K4_1:MOV Led1, #Blk_Led MOV Led2, #Blk_Led MOV Led3, #DOT_Led MOV A, SEC LCALL BCD_8 ADD A, #10D MOV Led4, A MOV Led5, B Led_Jmp_4_End: RET
Set_AL4: MOV K1_Data, #01D MOV K2_Data, #01D CLR Set_Over LCALL Led_AL LCALL Key_Bord LCALL SF_Key
MOV Key_Data, #0 MOV Frist, #0 Set_AL42:LCALL Clock LCALL Week_Auto LCALL Led_AL LCALL Key_Bord LCALL Key_Del LCALL Key_AL
JNB Set_Over, Set_AL42 CLR A
MOV K1_Data, A MOV K2_Data, A MOV Key_Data, A MOV Frist, A RET
Key_AL: MOV A, Key_Data JNZ $+3 RET
26
西安科技大学 电子万年历设计
CJNE A, #01D, K2_AL
INC K1_Data ;(1-9) MOV A, K1_Data
CJNE A, #19D, K2_AL_End MOV K1_Data, #01D LJMP K2_AL_End
K2_AL: MOV A, K1_Data CJNE A, #018D, K2E SETB Set_Over LJMP K2_AL_End
K2E: MOV R0, #AL1_H DEC A ADD A, R0 MOV R0, A INC @R0 LCALL JJ_Bit MOV B, #24D JNZ KE3 MOV B,#60D
KE3: MOV A, @R0 DIV AB MOV A, B MOV @R0, A K2_AL_End:RET
JJ_Bit: MOV A, K1_Data MOV B, #02D DIV AB
MOV A, B ;(A=1,0) RET
Led_Out1:MOV Led2, #00H MOV Led3, #U_Led MOV Led4, #T_Led MOV Led5, #Blk_Led MOV Led1, #Blk_Led RET
Led_AL: MOV A, K1_Data CJNE A, #017D, LO1 LCALL Beep_Timer LJMP Led_AL_End
LO1: CJNE A, #18D, LD1 LCALL Led_Out1 LJMP Led_AL_End LD1: INC A MOV B, #02D
27
西安科技大学 电子万年历设计
DIV AB
MOV Led1, A DEC A RL A
MOV R0, #AL1_H ADD A, R0 MOV R0, A MOV A, @R0 LCALL BCD_8 MOV Led2, A JNZ LD2
MOV Led2, #Blk_Led LD2: MOV A, B ADD A, #10D MOV Led3, A INC R0 MOV A, @R0 LCALL BCD_8 ADD A, #10D MOV Led4, A MOV Led5, B
JB FL_250ms, Led_AL_End LCALL JJ_Bit JNZ Led_AL_E
MOV Led4, #Blk_Led MOV Led5, #Blk_Led LJMP Led_AL_End
Led_AL_E:MOV Led2, #Blk_Led MOV Led3, #Blk_Led Led_AL_End: LCALL Led RET
Set_Clock: MOV K1_Data, #01D MOV K2_Data, #01D CLR Set_Over LCALL Led_CL LCALL Key_Bord LCALL SF_Key
MOV Key_Data, #0 MOV First, #0 Set_AL41:LCALL Clock LCALL Week_Auto LCALL AL_Out LCALL Led_CL
28
西安科技大学 电子万年历设计
LCALL Key_Bord CALL Key_Del LCALL Key_CL
JNB Set_Over, Set_AL41 CLR A
MOV K1_Data,A MOV K2_Data,A MOV Key_Data,A MOV Frist,A RET
Key_CL: MOV A, Key_Data JNZ $+3 RET
CJNE A, #01D, K3_AL
INC K1_Data ;(1-8) MOV A, K1_Data CJNE A, #9D, X MOV K1_Data, #01D LJMP K3_AL_End
K3_AL: MOV A, K1_Data CJNE A, #08D, K3E SETB Set_Over
X: LJMP K3_AL_End K3E: DEC A MOV DPTR, #ASC_H MOVC A, @A+DPTR MOV B, A MOV R0, #SEC MOV A, K1_Data DEC A ADD A, R0 MOV R0, A INC @R0 MOV A, @R0 DIV AB MOV A, B MOV @R0, A K3_AL_End:RET
ASC_H: DB 60D,60D,24D,32D,13D,100D,100D PROC Led_CL
Led_CL: MOV DPTR, #Led_Ord_3 MOV A, K1_Data DEC A
MOV B, #02H
29
西安科技大学 电子万年历设计
MUL AB
JMP @A+DPTR
Led_Ord_3:LJMP Led_K0_2 LJMP Led_K1_2 LJMP Led_K2_2 LJMP Led_K3_2 LJMP Led_K4_2 LJMP Led_K5_2 LJMP Led_K6_2 LJMP Led_K7_2
Led_K0_2:MOV Led2, #Blk_Led MOV Led3, #DOT_Led MOV A, SEC LCALL BCD_8 ADD A, #10D MOV Led4, A MOV Led5, B
JB FL_250ms, LK1 MOV Led4, #Blk_Led MOV Led5, #Blk_Led
LK1: LJMP Led_Jmp_5_End Led_K1_2:LCALL Led_Hour JB FL_250ms, LK2 MOV Led4, #Blk_Led MOV Led5, #Blk_Led
LK2: LJMP Led_Jmp_5_End Led_K2_2:LCALL Led_Hour JB FL_250ms, LK3 MOV Led2, #Blk_Led MOV Led3, #Blk_Led
LK3: LJMP Led_Jmp_5_End Led_K3_2:LCALL Led_Mon JB FL_250ms, LK4 MOV Led4, #Blk_Led MOV Led5, #Blk_Led
LK4: LJMP Led_Jmp_5_End Led_K4_2:LCALL Led_Mon JB FL_250ms, LK5 MOV Led2, #Blk_Led MOV Led3, #Blk_Led
LK5: LJMP Led_Jmp_5_End Led_K5_2:MOV Led2, #2D MOV Led3, #0D MOV A, Year
30
西安科技大学 电子万年历设计
LCALL BCD_8 MOV Led4, A MOV Led5, B
JB FL_250ms, LK6 MOV Led4, #Blk_Led MOV Led5, #Blk_Led
LK6: LJMP Led_Jmp_5_End Led_K6_2:MOV Led2, #D_Led MOV Led3, #Blk_Led MOV A, W_Adj LCALL BCD_8 MOV Led4, A MOV Led5, B
JB FL_250ms, LK7 MOV Led4, #Blk_Led MOV Led5, #Blk_Led
LK7: LJMP Led_Jmp_5_End Led_K7_2:LCALL Led_Out1
Led_Jmp_5_End:MOV Led1, Week LCALL Led RET
Led_Hour:MOV A, Hour LCALL BCD_8 MOV Led2, A JNZ LJ1
MOV Led2, #Blk_Led LJ1: MOV A, B ADD A, #10D MOV Led3, A MOV A, MIN LCALL BCD_8 ADD A, #10D MOV Led4, A MOV Led5, B RET
Led_Mon: MOV A, Mon JNZ LJ5 INC Mon MOV A, Mon
LJ5: LCALL BCD_8 MOV Led2,A JNZ LJ2
MOV Led2, #Blk_Led LJ2: MOV Led3, B
31
西安科技大学 电子万年历设计
MOV A, Day JNZ LJ4 INC Day MOV A, Day
LJ4: LCALL BCD_8 MOV Led4, A JNZ LJ3
MOV Led4, #Blk_Led LJ3: MOV Led5, B RET
Beep_OUT:JB HA_F, BA1 MOV Beep, SEC SETB HA_F
BA1: MOV A, Beep ADD A, Beep_T MOV B, #60D DIV AB MOV A, SEC
CJNE A, B, Beep_OUT_End SETB Beep_F SETB HA_OVER CLR HA_F
Beep_OUT_End: RET
Beep_Timer: MOV Led1, #Blk_Led MOV Led2, #B_Led MOV Led3, #Blk_Led MOV A, Beep_T LCALL BCD_8 MOV Led4, A MOV Led5, B
JB FL_250ms, FT1 MOV Led4, #Blk_Led MOV Led5, #Blk_Led FT1: RET
TIME_12: MOV DPTR, #ASC_12 MOV A, Hour RL A
MOVC A, @A+DPTR MOV Led2, A JNZ IU2
MOV Led2, #Blk_Led IU2: INC DPTR MOV A, Hour RL A
32
西安科技大学 电子万年历设计
MOVC A, @A+DPTR JB FL_500ms, IU1 ADD A, #10D
IU1: MOV Led3, A LCALL Led_Min Time_24_End: RET
ASC_12:DB 11D,2D,21D,1D,21D,2D,21D,3D,21D,4D,21D,5D,21D,6D,21D,7D DB 21D,8D,21D,9D,11D,0D,11D,1D
DB 1D,2D,0D,1D,0D,2D,0D,3D,0D,4D,0D,5D,0D,6D,0D,7D,0D,8D,0D,9D DB 1D,0,1D,1D
T1INT: PUSH ACC PUSH PSW PUSH B
CLR FL_MS_F
DJNZ T_1S, T1_End CLR FL_S_F INC SEC LCALL Adj_W T1_End:POP B POP PSW POP ACC RETI
Adj_W: CLR TR1 MOV A, #T_L_100ms ADD A, W_Adj MOV TL1, A
MOV A, #T_H_100MS ADDC A, #00H MOV TH1, A
MOV T_1S, #Timer_NO SETB TR1 RET
FL_OUT:JB FL_MS_F, FL_OUT_End SETB FL_MS_F MOV A, T_1S MOV B, #02D DIV AB MOV A, B JNZ TO_D1 CPL FL_250ms
TO_D1: MOV A, T_1S MOV B, #04D DIV AB MOV A, B
33
西安科技大学 电子万年历设计
JNZ TO_D2 CPL FL_500ms TO_D2: FL_OUT_End: LCALL SEC_OUT RET
SEC_OUT:JB FL_S_F, SEC_OUT_End SETB FL_S_F MOV A, SEC MOV B, #07D JNB FL_3S, ZA1 MOV B, #02D ZA1: DIV AB MOV A, B
JNZ SEC_OUT_End CPL FL_3S SEC_OUT_End:RET
Key_Del:MOV A, Key_Data JNZ KL_12 MOV A, Frist JNZ KL_13 RET
KL_13: MOV Key_Data,Frist MOV Frist, #0 CLR Key_OVER LJMP SF_Beep
KL_12: JNB Key_OVER, KL11 MOV A, T_30ms ADD A, #03 MOV B, #60D DIV AB MOV A, SEC
CJNE A, B, Key_Del_End CLR Key_OVER LJMP SET_Key
KL11: MOV T_30ms, SEC SETB Key_OVER Key_Del_End: LCALL SF_A
CJNE A, #Key_DA, SFG_12 CLR Key_OVER JMP SF_Beep
SFG_12:MOV Frist, Key_Data MOV Key_Data, #0
34
西安科技大学 电子万年历设计
RET
Key_Bord: LCALL RE_K MOV A, Key_Data JZ Key_Bord1_End
Key_Bord1_End: SETB Key_F RET
SET_Key: MOV A, Key_Data CJNE A, #01H, SET_CC1 SETB Set_AL4_F LJMP SF23
SET_CC1: CJNE A, #02H, SF23 SETB Set_Clk_F SF23: RET
SF_Key: LCALL Clock LCALL Week_Auto LCALL AL_Out SETB Key_F LCALL Led LCALL SF_A
CJNE A, #Key_DA, SF_Key LCALL SF_Beep RET
SF_Beep: CLR Beep_F LCALL Timer_20ms SETB Beep_F RET
RE_K: MOV Key_Data, #00H MOV P1, #00H MOV A, P3
ORL A, #01111111B MOV P3, A CLR Key_F MOV A, P3 SETB Key_F MOV P1, #0FFH ANL A, #00000110B
CJNE A, #00000110B,You_Key RE_K_End:RET
You_Key: LCALL Timer_20ms MOV P1, #00H MOV A, P3
ORL A, #01111111B MOV P3, A CLR Key_F
35
西安科技大学 电子万年历设计
MOV A, P3 SETB Key_F MOV P1, #0FFH ANL A, #Key_DA
CJNE A, #Key_DA, You_Key1 RET
You_Key1:JB ACC.1, Key_KB MOV Key_Data, #02H
Key_KB: JB ACC.2, SF_Key0 MOV Key_Data, #01H SF_Key0: RET
SF_A: MOV P1, #00H MOV A, P3
ORL A, #01111111B MOV P3, A CLR Key_F MOV A, P3 SETB Key_F ANL A, #Key_DA RET END
36
西安科技大学 电子万年历设计
第六部分 结 束 语
电子万年历是现实生活中和工作中最常见的一种电子装置,通过本次设计让我知道了以前所不知道的万年历的制作,加了解了课本外的单片机知识,对8051和8155这两个芯片有了更加深刻的了解,知道了LED显示数码管以及电路芯片、三极管、按键等的连接等好多知识。还有就是明白了12小时和24小时之间的转换以及日、月、年的显示问题。
这个使我在学习完成单片机以及相关课程的基础上,更加进一步加深和巩固了所学的知识。通过硬件设计和软件设计,使我掌握了单片机的组成和应用系统。
37
西安科技大学 电子万年历设计
第七部分 谢 辞
非常感谢我的指导老师——刘婷婷老师对我的论文耐心、认真地指导,她严谨、认真的治学态度,精益求精的工作作风,深深地感染和激励着我,这将会是我今后学习、工作的榜样。从课题的选择到论文的最终完成,刘老师都始终给予我细心的指导和不懈的支持。在此谨向刘老师致以诚挚的谢意和崇高的敬意。
我还要感谢我的同学们,他们对我的论文提出了宝贵的意见,我的论文的完成和他们的意见是分不开的,五年的同窗友情,我将铭刻在心。同时,我还要感谢王春艳老师在我写论文的初期阶段对我论文的建议和指导,是他让我开阔了思路,产生了灵感。
最后,我要感谢我的家人对我的学业一贯的支持和鼓励,感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。
38
西安科技大学 电子万年历设计
文 献
【1】单片机原理以及应用技术——————————————————李全利 【2】单片机原理以及接口技术实践教程——————————————胡 健 【3】单片机基础————————————————————————李光弟 【4】单片机原理及应用—————————————————————蔡振江 【5】单片机应用教程————————————————————张洪润 易涛
39
正在阅读:
电子万年历设计01-10
班主任03-24
《星级酒店服务质量管理手册》44页05-17
化工原理课后习题解答06-05
天津市人民政府批转市城镇住房制度改革办公室关于全面推进住房货04-28
三类人员考试判断题04-21
中学数学基本能力培养04-05
《感动中国》观后感04-02
基层组织建设讲课材料10-19
小猫作文600字07-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 万年历
- 设计
- 电子