电子系统设计论文
JZ EE
LJMP ABC
J1: MOV A,20H
CJNE A,#01,J2
SJMP J
J2: MOV A,20H
CJNE A,#02,J3
SJMP J
J3: MOV A,20H
CJNE A,#03,J4
SJMP J
J:MOV DPTR,#77FFH
MOV A,#90H
MOVX @DPTR,A
MOV A,40H
MOV A,#0D1H
MOVX @DPTR,A
LP: MOVX A,@DPTR
JB ACC.7,LP
LCALL TIME
MOV 20H,#0H
EE: MOV A,20H
CJNE A,#0,J1
TT: LCALL KK
LCALL DIS
DIR:MOVDPTR,#77FFH
MOVX A,@DPTR
ANLA,#07H
RET
2.读时间程序
DS:MOV DPTR,#6000H
MOVX A,@DPTR
MOV 40H,A
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV 41H,A
INC DPTR
INC DPTR
MOVX A,@DPTR
MOV 42H,A
DL0:MOV R0,#25H
MOV A,40H
ANL A,#0F0H
MOV @R0,A
MOV A,42H
SWAP A
ANL A,#0F0H
DEC R0
MOV @R0,A
MOV R0,#20H
MOV R1,#06H
附录3
1.8279与12887的电子时钟的程序
ORG 00H
LJMP START
ORG 100H
START: MOV SP,#60H
MOV DPTR,#77FFH
(1)、进行键盘扫描及文字显示;
(2)、键盘扫描模式(Scanned Keyboard Mode);
(3)、传感器扫描模式(Scanned Sensor Mode);
(4)、激发输入模式(Strobe Input Entry Mode);
(5)、8乘8键盘FIFO(先进先出);
(6)、具有接点消除抖动,2键锁定及N键依此读出模式;
通过动手实践,原本在理论知识学习中些许不理解的地方也茅塞顿开,终于明白了单片机系统的实际功能和意义,看似小小的一块芯片,却能实现我们生活中最常用最普遍的一些工具。总的来说,这次电子系统设计实验真是收获颇丰。
除此之外,在了解其原理的基础上,更加深入得掌握其功能在实际中的运用,熟练的操作对以后的工作会有很大的帮助。增长了我们的知识,而且还培养了我们解决问题的态度和心理素质,如何一步一步建立设计思路,如何解决遇到的问题等,这应该是本次实验,我最大的收获了。
5—64H 6—60H 7—2FH 8—20H 9—2CH
A—28H B—0E0H C—72H D—81H E—30H
F—0E8H
3、实现
(1)、初始化
7279的命令/状态口地址为7001H,数据口地址为7000H。初始化首先将命令/状态口地址写入DPTR,然后将控制字0D1送入累加器A,D1=11010001为清除命令。然后向命令/状态口地址写入控制字,这时需要读取8279的状态。8279的状态字的第七位DU=1表示显示无效,即显示RAM由于清除显示或全清命令尚未完成时DU=1。所以要检查清除状态是否完成,完成以后再继续。00H为编码扫描键盘,2AH为程控时钟命令。用同样的方法可对8279进行读显示、写显示、读键盘等命令操作。
(1).具有时钟、闹钟功能及到2100年的日历功能,可选择12小时制或24小时制计时,有AM和PM、星期、夏令时制时间操作及闰年自动补偿功能。
(2).DS12887内部有14个寄存器,包括10个时标寄存器、4个状态寄存器。还有114B做掉电保护用的低功耗RAM。
(3).具有用软件编程选择的周期性中断方式和多频率输出的方波发生器功能。
(4).该芯片可以满足各种不同的待机要求,最长可达24小时。
(5).可选择二进制或BCD码来表示时间。
(6).工作电压:+4.5V~+5.5V
(7).工作电流:7~15mA。
(8).工作温度范围:0~+70℃
2、设计
利用INTEL8279键盘与显示器接口芯片将DS12887内部时钟的时分秒送到8279缓冲区并显示在数码管上。
MOV @R0,A
MOV A,40H
SWAP A
ANL A,#0F0H
DEC R0
MOV @R0,A
DEC R0
MOV A,41H
ANL A,#0F0H
MOV @R0,A
MOV A,41H
SWAP A
ANL A,#0F0H
DEC R0
MOV @R0,A
DEC R0
MOV A,42H
ANL A,#0F0H
MOVX @DPTR,A
MOV A,#90H
MOVX @DPTR,A
RET
2.显示子程序
MOV DPTR,#7001H
MOV A,#90H
MOVX @DPTR,A
MOV R0,#01H
MOV R7,#08H
DL0:MOV A,R0
MOV DPTR,#ADSEG
MOVC A,@A+DPTR
MOV DPTR,#7000H
(2)、读时间
00H~09H为10个时标寄存器,分别将秒(00H)、分(02H)、时(04H)寄存器中的内容对应存入地址40H、41H、42H中。由于时分秒分别都是由2位数组成,显示时也需要2个数码管来显示,因此,在读取时间后并送入8279显示时要注意高低位数据的转换,按顺序送入7000H单元中显示。
本实验的主控芯片的选择是8279和12887芯片。由于需要编程者可以对该芯片进行即时编程,实际实验的时候用到的是单片机仿真器,该仿真器内部存在有单片机及其最小系统电路,因此该仿真器可以完全替代单片机并接入集成电路板中,通过仿真器可以实现电脑与集成电路板的连接,以便于编程者随时修改程序并且可以随时观察到实现的实验现象。
4、实验流程图如图所示:
5、程序:实验程序见附录2
3、基于8279和DS12887的综合设计
利用实验板上的16个键盘来控制时钟,A、B、C键分别是时、分、秒键,F键为回车键。按A键显示小时,然后按0-9数字键来调整时间,同理,按B键显示分钟,然后按0-9数字键来调整分钟,按C键显示秒,然后按0-9数字键来调整秒。按F键后计算机将修改的时间、分、秒按各个功能键的不同分别传给DS12887中相应功能单元,最后显示器显示正常的时、分、秒。
3、实现
(1)、初始化
8279的初始化同上介绍,下面介绍DS12887内部时钟的初始化设置:DS12887采用连续工作制,一般无需每次都初始化,即使是系统复位时也如此。但初始化时,应首先禁止芯片内部的更新周期操作。所以,先讲DS12887状态寄存器B中的SET位置1,然后初始化00H~09H时标参数寄存器和状态寄存器A。伺候,再通过读状态寄存器C,清除寄存器C中的周期中断标志位PF、报警中断标志位AF、更新周期结束中断标志位UF。寄存器D中的VRT位在读操作后将自动置1。最后,将状态寄存器B中的SET位置0,芯片开始计时工作。
WW:MOVX A,@DPTR
JB ACC.7,WW
MOV DPTR,#6000H
《 电子系统设计》论文
班级:
姓名:
学号:
指导老师:
前言
本次电子系统设计实验是利用模拟电子技术、数字电子技术、单片机技术、可编程逻辑器件技术等完成一个或多个小型电子系统的设计和调试任务。主要是对单片机进行编程操作,编程的主要目的是使集成电路上集成的数码管显示对应的数字以及对按键的识别操作,最终通过编程的方式通过按键的选择控制数码管上显示数字的变化。小板编程可以熟悉并且进一步掌握汇编语言的编程过程及流程图的设计。
4、实验流程图如图所示:
5、程序:实验程序见附录1
二、DS12887时钟芯片:
1、芯片12887的引脚特点:
DS12887是美国达拉斯半导体公司推出的时钟芯片,此芯片是基于CMOS技术的,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,这无疑大大简化了外围电路。
在没有外部电源的情况下可以工作10年;自带晶体振荡器及电池;可计算到2100年前的时分秒、星期、年月日等七种日历信息并带闰年补偿;有12和24小时两种制式;用二进制码或bcd码代表日历和闹钟信息;内建128字节RAM。以下是它的主要特性:
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#77FEH
MOVX @DPTR,A
MOV A,41H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#77FEH
MOVX @DPTR,A
SJMP DIR
J4:MOV 20H,#0H
SJMP DIR
KK:MOV DPTR,#600AH
(7)、双排8位数或双排16位数的显示器;
(8)、右边进入或左边进入。16位显示示波器。
2、实验设计:
(1)、设计程序使8279的数码管显示数字“12345678”:
8279的数据口地址为7000H,将寄存器R0先存入数01H,讲R0的数据送入7000H,然后显示,并用时延保持,再使R0加1,再送入7000H,然后时延,同样方法重复8次即可存入8个数并显示在数码管上。
(2)、8279的16位按键显示:
使8279的一个数码管显示,按一次8279上的按键,比如“1”键,则在数码管上显示数字“1”,对应按键显示对应的数字或字母。过程为初始化以后,要读键盘,如果有按键,判断按的是哪个键,然后对应显示按键内容。按键要注意消抖。