电子万年历设计.docx
- 文档编号:28577316
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:53
- 大小:313.92KB
电子万年历设计.docx
《电子万年历设计.docx》由会员分享,可在线阅读,更多相关《电子万年历设计.docx(53页珍藏版)》请在冰豆网上搜索。
电子万年历设计
第一部分前言
随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强学生动手能力﹑重视实践应该是电子发展需求的必然趋向。
实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。
因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。
单片机应用技术已成为一项新的工程应用技术。
本次设计所用到的8031单片机就是其中典型的一种,通过电子万年历的设计,从而达到了学习、设计软硬件的能力。
激发了我们的积极性和主动性,培养了我们的创新意识和综合素质。
了解电子产品设计与制作的工艺和流程,提高个人基本能力、实验及设计能力和独立工作能力,基本知识更加牢固。
电子设计与制作要求我们有牢固的基础理论知识,这也是将基础理论知识运用到实际中的重要一步。
而对于我们所学的电子专业来说,课程设计实习将对以后的工作起到很重要的作用。
本次设计因本人水平有限,难免有失误不当之处,还请各位老师能够指教。
编者语
第二部分部件介绍
2.180C51单片机的性能及结构
在一般工业领域,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-18031芯机结构框图
1.中央处理器(CPU)
这是单片机的核心,它完成运算和控制功能。
运算是由算术逻辑单元(ALU)为主的“运算器”完成的。
而控制则是由包括时钟振荡器在内的“控制器”完成的,其主要功能是对指令码进行译码,然后在时钟信号的控制下,使单片机的内外电路能够按一定的时序协调有序地工作,执行译码后的指令。
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口分时复用);由
、
、ALE和P3口部分管脚(读信号
及写信号
)组成的控制总线(CB)。
2.28031单片机的引脚及其功能
8031系列单片机大都采用40个引脚的双列直插式(DIP)塑料封装的芯片,其引脚示意及功能分类如图1-2所示。
也有采用方型封装的,但为44个引脚,其中4个引脚是不使用的。
各部分引脚定义如下:
1.电源部分:
主电源引脚Vcc和Vss
Vcc(40脚):
接+5V电源正端;
Vss(20脚):
接+5V电源地端。
2.晶振部分:
外接晶体引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。
(a)管脚图(b)8031引脚功能分类
图1-2MCS-51单片机引脚及总线结构
3.控制信号:
控制信号引脚有RST/VPD、ALE/
、
和
/VPP等4种形式。
(1)RST/VPD(9脚):
RST即为RESET,是复位信号,一般外接RC电路和复位按键,每当上电或按动复位键时,利用该引脚外部来的正脉冲使单片机初始化,一般若该引脚保持两个机器周期高电平,就能使单片机复位,实现可靠复位操作。
VPD作为备用电源输入端,是该引脚的第二功能。
当VCC失电期间,由VPD向片内RAM提供电源,以保护其中内容。
所以该引脚为单片机的上电复位或掉电保护端。
(2)ALE/
(30脚):
第一功能称为“低8位地址锁存输出允许信号”,ALE信号以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址,即从该引脚输出的由高向低的下降沿,可使从P0口输出的低8位地址锁存到外接地址锁存器中。
第二功能用于在EPROM编程时,作为编程脉冲输入端。
当固化内部EPROM时,从该管脚输入编程脉冲信号。
(3)
/VPP(31脚):
同样是一个复用引脚,称为“读外部程序存储器允许/EPROM编程电源引脚”。
第一功能用于输入从外部程序存储器取指或从内部程序存储器取指的选择信号。
当
接高电平时,将从内ROM开始访问,但地址范围超过内部ROM的最大容量(4K字节)时,将自动转向外ROM取指令;
接低电平时,将直接从外ROM开始取指,即所有指令均在片外读取。
(4)
(29脚):
片外程序存储器读选通(输出允许)信号输出端,用于输出外部程序存储器选通信号。
在对外部程序存储器取指操作时,
置有效(低电平),被选中的外部存储单元中的内容将出现在数据总线上,然后被读入CPU中;在执行片内程序存储器取指时,
为无效(高电平)。
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位口线能独立地用作输入或输出线。
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.38155芯片介绍:
Intel8155芯片内包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。
8155可直接与MCS-51单片机连接不需要增加任何硬件逻辑。
由于8155既有RAM又具有I/O口,因而是MCS-51单片机系统中最常用的外围接口芯片之一
2.48155的引脚及内部结构如下图:
图1-38155管角图
图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:
AINTR(A口中断信号线)。
PC1:
ABF(A口缓冲器满信号线)。
PC2:
/ASTB(A口选通线)。
PC3:
BINTR(B口中断信号线)。
PC4:
BBF(B口缓冲器满信号线)。
PC5:
/BSTB(B口选通线)。
TIMERIN:
定时器/计时器输入端。
/TIMEROUT:
定时器/计数器输出端。
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
寄存器
A7A6A5A4A3A2A1A0
XXXXX000
命令/状态寄存器(命令状态口)
XXXXX001
A口
XXXXX010
B口
XXXXX011
C口
XXXXX100
定时器低8位
XXXXX101
定时器高6位和2位计数方式位
76543210
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
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
D6
D5
D4
D3
D2
D1
D0
X
TMER
INTEB
BBF
INTRB
INTEA
ABF
INTR
INTR:
中断请求INTE:
端口中断允许
BF:
缓冲器满标志TIMER:
定时中断
C、定时器/计数器
在8155中还设置有一个14位的定时器/计数器,可用来定时或对外部事件计数,CPU可通过程序选择计数长度和计方式。
计数长度和计数方式由输入给计数寄存器计数控制字来确定,计数寄存器的格式如下:
TL(04H)
D7D0
T7
T6
T5
T4
T3
T2
T1
T0
TH(05H)
D7D0
M2
M1
T13
T12
T11
T10
T9
T8
第三部分电路图
8031与8155连接图:
图1-5
电子万年历电路图
图1-6万年历电路
第四部分功能说明及调整流程
(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万年历调整流程图
第五部分电子万年历制作的程序
FL_250msBIT00H
FL_500msBITFL_250ms+1
Set_Clk_FBITFL_500ms+1
Set_AL4_FBITSet_Clk_F+1
AM_FBITSet_AL4_F+1
FL_3SBITAM_F+1
AL1_FBITFL_3S+1
AL2_FBITFL_3S+2
AL3_FBITFL_3S+3
AL4_FBITFL_3S+4
Set_OverBITAL4_F+1
HA_FBITSet_Over+1
HA_OVERBITHA_F+1
FL_MS_FBITHA_OVER+1
FL_S_FBITFL_MS_F+1
Key_OVERBITFL_S_F+1
Key_DataEQU08H
TimerSEQUKey_Data+1
T_30msEQUTimerS+1
T_20MSEQUT_30ms+1
T_1SEQUT_20MS+1
K1_DataEQUT_1S+1
K2_DataEQUK1_Data+1
Stat_WorkEQUK2_Data+1
Stat_LedEQUStat_Work+1
T_1msEQUStat_Led+1
T_20MEQUT_1ms+1
BeepEQUT_20M
AL1EQUBeep+1
AL2EQUBeep+2
AL3EQUBeep+3
AL4EQUBeep+4
AL5EQUBeep+5
AL6EQUBeep+6
AL7EQUBeep+7
AL8EQUBeep+8
Ret_TimerEQUAL8+1
;------------------------------定义计时单元
SECEQU23H;定义秒单元
MINEQUSEC+1H;定义分钟单元
HourEQUMIN+1H;定义小时单元
DayEQUHour+1H;定义日单元
MonEQUDay+1H;定义月单元
YearEQUMon+1H;定义年单元
W_AdjEQUYear+1H;定义
WeekEQUW_Adj+1H;定义星期单元
;------------------------------8路定时单元
AL1_HEQUWeek+1H;1路时单元
AL1_MEQUAL1_H+1H;1路分单元
AL2_HEQUAL1_M+1H;2路时单元
AL2_MEQUAL2_H+1H;2路分单元
AL3_HEQUAL2_M+1H;3路时单元
AL3_MEQUAL3_H+1H;3路分单元
AL4_HEQUAL3_M+1H;4路时单元
AL4_MEQUAL4_H+1H;4路分单元
AL5_HEQUAL4_M+1H;5路时单元
AL5_MEQUAL5_H+1H;5路分单元
AL6_HEQUAL5_M+1H;6路时单元
AL6_MEQUAL6_H+1H;6路分单元
AL7_HEQUAL6_M+1H;7路时单元
AL7_MEQUAL7_H+1H;7路分单元
AL8_HEQUAL7_M+1H;8路时单元
AL8_MEQUAL8_H+1H;8路分单元
Beep_TEQUAL8_M+1
FristEQUBeep_T+1
;------------------------------定义显存
Led1EQUFrist+1
Led2EQULed1+1
Led3EQULed2+1
Led4EQULed3+1
Led5EQULed4+1
SP_DataEQULed5+1
Led_1BITP3.5;定义数码显示器的位控端口1
Led_2BITP3.4;定义数码显示器的位控端口2
Led_3BITP3.3;定义数码显示器的位控端口3
Led_4BITP3.2;定义数码显示器的位控端口4
Led_5BITP3.1;定义数码显示器的位控端口5
Beep_FBITP3.7
Key_FBITP3.0
T_H_100MSEQU05DH;100msfor6MHz
T_L_100msEQU07FH;C6for100ms
Timer_NOEQU8D;3C90+30D=3CB0H
W_Adj_DatEQU50D
Key_DAEQU00000110B
Blk_LedEQU20D
DOT_LedEQU21D
F_LedEQU22D
N_LedEQU23D
U_LedEQU24D
T_LedEQU25D
B_LedEQU26D
D_LedEQU27D
;------------------------------系统复位程序
ORG0000H
LJMPSTART
;------------------------------外中断0入口
ORG0003H
RETI
;------------------------------T0中断入口
ORG000BH
RETI
;------------------------------外中断1入口
ORG0013H
RETI
;------------------------------T1中断入口
ORG001BH
LJMPT1INT
;------------------------------串行口中断入口
ORG0023H
RETI
;------------------------------主程序
START:
LCALLClr_Ram;清内存
MOVSP,#SP_Data;设置栈区首地址
LCALLINT_T0
LCALLTimer_INT
LCALLTimer_20ms
STAR_BI:
LCALLClock
LCALLW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历 设计