导航:首页 > 电器电路 > 时钟电路编程

时钟电路编程

发布时间:2021-02-04 17:01:08

❶ 求一个单片机电子时钟电路程序 (at89s52)有4个led数码管组成,分别表示时针和分针

写了我一个小时,我用的是七段LED数码管,我用了6个,把秒钟也显示出来了,一般电子时钟秒钟也是需要显示的呀,如果你觉得没有必要就把秒钟代码部分删了,自己看懂了改一下就ok了,K1每按一下时针会加1,K2每按一下分针会加1.K3是硬件电路,中断电路连接第九个复位引脚就行了,不是编程实现。按一下就会实现复位。下面是我的汇编程序,把悬赏给我吧,我认认真真写了好久了~即使有些小小的不足,我相信你可以改进的,奖励我吧~
SECONDGEWEI EQU 31H
SECONDSHIWEI EQU 32H
MINUTEGEWEI EQU 33H
MINUTESHIWEI EQU 34H
HOURGEWEI EQU 35H
HOURSHIWEI EQU 36H
SECOND EQU 60H
MINUTE EQU 61H
HOUR EQU 62H
ORG 0000H
SJMP START
ORG 0003H
AJMP INTE0
ORG 000BH
AJMP TIMER0
ORG 0013H
AJMP INTE1
ORG 0030H
START: MOV SP, #60H
MOV P0 ,#0FFH
MOV DPTR ,#TAB
MOV 30H, #0
MOV SECOND #0
MOV MINUTE #0
MOV HOUR ,#0
MOV TMOD, #00000001B
MOV TH0 ,#3CH
MOV TL0 ,#0B0H
STEB EXO
STEB EX1
SETB TRO
STB ET0
SETB EA
MAIN: CALL CHUFA
CALL DISPLAY
SIMP MAIN
INTE0: INC HOUR
RETI
INTE1: INC MINUTE
RETI
TIMER0: PUSH A
INC 30H
MOV A ,30H
CINE A #20 ,FANHUI
MOV 30H ,#0
INC SECOND
MOV A SECOND
CJNE A #60 FANHUI
MOV SECOND #0
INC MINUTE
MOV A ,MINUTE
CJNE A #60 ,FANHUI
MOV MINUTE ,#0
INC HOUR
MOV A , HOUR
CJNE A #12, FANHUI
MOV HOUR ,#0
FANHUI: POP A
MOV TH0 #3CH
MOV TL0 #0B0H
RETI
CHUFA: MOV A ,SECOND
MOV B,#10
DIV AB
MOV SECONDSHIWEI ,A
MOV SECONDGEWEI , B
MOV A,MINUTE
MOV B, #10
DIV AB
MOV MINUTESHIWEI , A
MOV MINUTEGEWEI , B
MOV A,HOUR
MOV B ,#10
DIV AB
MOV HOURSHIWEI ,A
MOV HOURGEWEI ,B
RET
DISPLAY:MOV A,SECONDSHIWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.1
CALL DELAY
SETB P2.1
MOV A ,SECONDGEWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.0
CALL DELAY
SETB P2.0
MOV A ,MINUTESHIWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.3
CALL DELAY
SETB P2.3
MOV A ,MINUTEGEWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.2
CALL DELAY
SETB P2.2
MOV A ,HOURSHIWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.5
CALL DELAY
SETB P2.5
MOV A ,HOURGEWEI
MOVC A ,@A+DPTR
MOV P0 ,A
CLR P2.4
CALL DELAY
SETB P2.4
RET
DELAY: MOV R0 ,#20
D2: MOV R1 ,#50
D1: DJNZ R1 ,D1
DJNZ R0 ,D2
RET
TAB: DB 0COH 0F9H 0A4H 0B0H 99H
DB 92H 82H F8H 80H 90H

❷ 单片机电子时钟程序设计以及电路图

书上不是有原图和原程序吗,北航出版社的书都有,还不敢紧找去呀-----图书馆

❸ 基于80C51单片机,编写电子时钟,要求有电路图、PCB图和代码(C语言或者VB)

1.2 RS485接口与RS-422接口比较:
RS485接口是在RS-422接口基础上发展而来的,它们有许多电气规定相似如同样采用平衡电压传输方式,传输电缆终端都需要接终结电阻等。但RS-485接口总线能力与RS-422接口不同。传输线可以采用两线或四线方式,两线方式连接可实现真正的多点双向通信,而采用四线方式连接时,与RS-422接口一样只能实现一点对多点的双向通信,即只能有一个主设备,其余均为从设备。但无论四线还是两线连接方式下,RS485接口总线上均可连接最多128个设备。RS-485接口与RS-422接口的不同还在于其共模输出电压不同。RS-485接口的共模输出电压是一7V至+12V之间,而RS-422接口的共模输出电压在一7V至+7V之间。另外RS-485接口斋要2个终结电阻,这一点也与RS422接口不同。
1.2.1 RS-485标准优点
(1)通常标准接口的电气特性,都有满足可靠传输具有相关性,适当的降低通信速度,可以提高通信距离,反之亦然,例如:采用RS-232C标准进行单向数据传输时,最大数据传输速率为20kbitPs,最大传送距离为15m,若改用RS-485标准时,最大传输速率可达10MbitPs,最大传送距离为300m,降低数据传输速率,可传送距离可达到1200m。
(2)抗干扰能力
通常选择的标准接口,在保证不超过其使用范围时都有一定的抗干扰能力,以保证可靠的信号传输,但在一些工业测控系统,通信环境往往十分恶劣,因此在通信接口标准选择时要充分注意其抗干扰能力,并采取必要的抗干扰措施"例如长距离传输时使用RS-422标准能有效的抑制共模信号干扰,使用20mA电流环技术,能大大降低对噪声的敏感程度"在高噪声污染环境中,通过使用光纤介质网络"减少噪声干扰,通过光电隔离提高通信系统的安全性等都是一些行之有效的方法。

(3)RS-232C与RS-422,RS-485性能参数比较
在RS-232连接的串行通信系统中实际上只用到RXDTXD和地,在本设计中用到RS-232C,RS-485标准,RS-485标准是一种多发送器的电路标准,它扩展了RS-422A的性能,允许双导线上一个发送驱动32个负载设备,负载设备可以是被动发送器!接收器或收发器"RS-485标准没有规定在何时控制发送器发送或接收机接收数据的规则,电缆选择比RS-485更严格"对驱动器和接收器规定了双端电气接口形式,把电位差转变成逻辑电平,实现终端的信息接收".
采用RS-485最大的优点在于它的多点总线互连功能,它可以连接一台主机和多台终端同时通信,由于它是半双工的,同时只能有一方发送,一方接收,而且它采用差动电平接收的方法来提高抗干扰能力,适合在比较恶劣的环境下工作,因为在同一对电缆中所受到的干扰是很类似的,采用差动方法可以用作差的方法将干扰抵销一大部分。
由于RS-485通信是一种半双工通信,发送和接收共用同一物理信道"在任意时刻只允许一台单机处于发送状态"因此要求应答的单机必须在监听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答"半双工通信对主机和从机的发送和接收时序有严格的要求"如果在时序上配合不好,就会发生总线冲突,使整个系统的通信瘫痪,无法正常工作"要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则:
(1)复位时,主从机都应该处于接收状态PRE和DE端相连为低时,从机处于接收状态,在上电复位时,由于硬件电路稳定需要一定的时间,并且单片机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息"因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入MAX485的控制端,使上电时MAX485处于接收状态.

(2)控制端RE,DE的信号要求
在RS-232,RS-422等全双工通讯过程中,发送和接收信号分别在不同的物理链路上传输,发送端始终为发送端,接收端始终为接收端,不存在发送!接收控制信号切换问题"在RS-485半双工通信中,由于MAX485的发送和接收都由同一器件完成,并且发送和接收使用同一物理链路,必须对控制信号进行切换"控制信号何时为高电平,何时为低电平,一般以单片机的TI,RI信号作参考"发送时,检测TI是否建立起来,当TI为高电平后关闭发送功能转为接收功能;接收时,检测RI是否建立起来,当RI为高电平后,接收完毕,又可以转为发送.
(3)发送控制信号在时序上的要求
总线上所连接的各单机的发送控制信号在时序上完全隔开"为了保证发送和接收信号的完整和正确,避免总线上信号的碰撞,对总线的使用权必须进行分配才能避免竞争,连接到总线上的单机,其发送控制信号在时间上要完全隔离"总之,发送和接收控制信号应该足够宽,以保证完整地接收一帧数据,任意两个单机的发送控制信号在时间上完全分开避免总线争端。
第二章总体设计方案

第三章 硬件设计电路
为更清楚表达系统设计中的详细过程,以下对较多采用的芯片如单片机AT89C51,MAX 485芯片74LB14, CH371、带串行EEPROM的可编程看门狗定时器等做简要介绍。
3.1 RS-485标准及接口芯片
MAX485是一种差分平衡型收发器芯片,包含一个驱动器和一个接收器,采用单+5V电源供电,专用于TTL协议(即通用于各种CPU的通信协议)与485协议间的转换.

MAX485芯片由8个管脚组成,其功能如下
1)RO脚(接收器输出端):若A比B大200mV,RO为高;若A比B小200mV,RO为低。
2)/RE脚(接收器输出使能端):PRE为低时,RO有效;PRE为高时,RO成高阻状态.
3)DE脚(驱动器输出使能端):若DE为高,驱动输出A和B有效;若DE为低,它们成高阻状态,若驱动器输出有效,器件作为线驱动器用;若为高阻状态时,PRE为低,它们作线接收器用。
4)DI脚:(驱动器输入):DI为低,将迫使输出Y为低,Z为高;若DI为高,将迫使输出Y为高,Z为低。
5)GND脚:接地
6)B脚:反相接收器输入和反相驱动器输出
7)A脚:同相接收器输入和同相驱动器输出
8)Vcc:电源正极4.75~5.25V.RS2485最大的优点在于它的多点总线互连功能,它可以连接1台主机和多台终端同时通信,由于它是半双工的方式,只能有一方发送,一方接收,而且它采用差动电平接收的方法提高抗干扰能力,适合在比较恶劣的环境下工作。
MAX485为8引脚封装,RO与89C51的RXD相连,DI与89C51的TXD相连,/RE作为接收器输出使能端,DE作为驱动器输出使能端,这两个引脚用一个控制脚进行控制,在切换器主机中使用P1.7进行控制,在键盘从机中使用P1.0进行控制,进行半双工通讯"主机部分MAX485的输出端A!B与各从机部分MAX485的输出端A!B通过双绞线连在一起。在多机通讯系统中,多个驱动器和接收器可共享一共用传输线,对于MAX485网络而言,网络上最多可挂32个站,传输距离可达1.2Km。
3.2单片机-----AT89C51的功能及芯片介绍
AT89C51是一种低功耗高性能的8位单片机,片内带有一个4K字节 的Flash可编擦除只读存储器(RF}ROM ),它采用了CMOS工艺和高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统与MCU-51系列单片机兼容。片内Flash存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程。主要用在工业控制方面。其中央处理器由ALU,专用寄存器组,定时控制部件等组成,具有较强的调用、跳转、判断、丰富的数据传输功能,以及提供存放中间结果、常用参数寄存器等功能。它可以扩展64K字节程序ROM,外部数据存储器或接口地址64K字节。同时它具有5个中断,包括两个外部中断,两个定时器中断,一个串行口中断。
综上所述AT89C51是功能强大的MCU,适用于本系统设计的需要。
下面就设计中使用到的AT89C51的各功能模块分别简单介绍。
3.2.1 AT89C51方框图如下所示:

单片机是整个控制系统的核心,他的性能直接决定整个系统的性能。从整个系统的要求和经济方面考虑,我门选用了ATMEL公司生产的8位单片AT98C51单片机,他兼顾指令系统的需要,他可作为系统的外部扩展,内部还有电可擦除只读存储器,大大方便初学者。
3.2.2 AT89C51的特性:
1. 与MCS—51的产品兼容。
2. 是具有4Kbyte可重复编程的内容,可写入/擦除1000次以上,数拒保存10年以上。
3. 操作频率:0HZ—24MHZ。
4. 三层可编程的存储器上锁。
5. 128*8位内部RAM。
6. 32可编程I/O线。
7. 两组16位定时器/计数器。
8. 5个中断源。
9. 可编程的串行通道。功耗的闲置和掉电模式。
10. 片内振荡器和时钟电路。
二. 引脚功能
AT89C51单片机采用40引脚双列直插封装(DIP—40)。其引脚图如下:

下面分别对AT89C51引脚功能:
1.电源引脚:
VCC(40 脚):主电源+5v,正常操作和对EEPROM编程及验证时均接+5v 电源。GND(20 脚):接地。
2.外接晶振引脚XTAL1和XTAL2
XTAL1 (19 脚):反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2 (18 脚):来自反向振荡器的输出

3.控制信号引脚RST .ALE/PROG. PSEN 和EA/VPP。
RST(9 脚):单片机复位引脚,刚接上电源时,其内部各寄存器处于随机状态,在引脚上输入两个机器周期(既24个振荡周期)的高电平将史单片机复位。
ALE/PROG(30 脚):地址锁存/编程脉冲输入引脚,他访问片外寄存器时,ALE端仍以时钟频率1/6周期性地输出正脉冲信号。因此,他可以用作对外输出的时钟。或用于定时目的。当访问片外数拒存储器时,将跳过一输出个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX, MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。ALE端可以驱动(吸收还输出电流)8个LSTTL(低功耗高速TTL)输出。在FLASH编程期间,此引脚用于输入编程脉冲。
PSEN(29J 脚):输出访问片外程序存储器的读选通信号。CPU在由片外程序存储器取指令(或常用)期间,每个机器周期两次有效。每当访问片外数拒存储器时,这两次有效的PSEN信号将不会出现。PSEN端同样可驱动(吸收或输出电流)8个LSTTL负载。
EA/VPP(31 脚):程序存储器访问标志/编程电压输入,当输入高电平时,CPU可访问片内4KB的地址范围的程序存储器。若PC值超出4KB地址时,将自动转向访问片外程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。
4.输入/输出引脚 P0. P1. P2. P3.
P0.0—P0.7(39—32 脚):P0口是一个8位漏极开路双向端口。在访问片外存储器时,他分别做为8位地址线和8位双向数拒总线用。在编程时,有P0口输入指令字节:而在验证程序时,则输出指令字节。验证程序时,要求外接上拉电阻。P0能以吸收电流的方式驱动8LSTTL负载。当P0口的管脚第一次被写如1时,被定义为高电阻输入。P0能够用于外部程序数拒存储器,他可以被定义为数拒/地址的第八位。在FLASH编程时,P0作为原码输入口。当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1.0—P1.7 (1—8 脚):P1是一个内部带上拉电阻的8位双向I/O口。在访问外部存储时,由输入低8位地址。P1能可以驱动(吸收或输出电流)4个LSTTL负载,P1口管脚写入1后,被内部上拉为高,可用做输入,P1口被外不下拉为低电平时,将输出电流,着是由于内部上拉的饿缘故。在FLASH编程和效验时,P1口作为第八位地址接收。
P2.0—P2.7 (21—28 脚): P2是一个内部带上拉电阻的8位双向I/O口。在访问外部存储时,由输入高8位地址。P2能可以驱动4个LSTTL负载,当P2口用于外部程序存储器或16位地址外部数拒存储器进行存储时,P2口输出地址是高8位。在给地址“1”时,他利用外部上拉优势,当对外布八位地址数拒存储进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和效验时接受高8位地址信号和控制信号。
P3.0—P3.7 (10—17脚):P3也是一个内部带上拉电阻的8位双向I/O口。当P3口写入“1”后,他门被内部上拉为高电平,并用做输入。作为输入,有于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。AT89C51单片机是高性能单片机,因受到引脚数目的限制,所以P3口引脚具有第二功能。如图所示见下表能驱动4个LSTTL负载。

口线
第二功能
P3.0口
RXD(串行口输入)
P3.1口
TXD(串行口输出)
P3.2口
/INT0(外部中断输入)
P3.3口
/INT1(外部中断输出)
P3.4口
T0(定时器0的外部输入)
P3.5口
T1(定时器0的外部输入)
P3.6口
/WR(片内数拒存储写选通)
P3.7口
/RD(片内数拒存储写选通)

3.3 AT89C51组成的最小系统介绍
单片机AT89C51最小系统是由复位电路和振荡电路组成。
3.3.1.复位电路
复位是使和系统中其他部件都处于有个确定的初始态,并从这个状态开是工作。在振荡器正在运行情况下,复位是靠在RERST引脚步出现高电平后的第二个周期执行内部复位,以后每个周期重复一次,直至RET变低。
复位时,将ALE和/PSEN置位输入状态,既SLE=1和PSEN=1。片内RAM不受复位影响,复位后PC指向0000H单元,单片机从开始地址0000H单元开始执行程序。所以当单片机运行出错或进入死循环时,可按复位键重新启动。本系统所使用的复位电路如下图:

3.3.2.振荡电路
MCS-51的时钟电路可以有两种方式产生,一种是内部方式,利用芯片内部的振荡电路:另一种方式是外部方式。由于MCS-51有HMOS和CHMOS型,他门的时钟电路有一定的区别,这里紧介绍通常使用的HMOS型的时钟电路。
XTAL1和XTAL2分别为反向放大的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器。因此对外部时钟信号的脉冲无任何要求,但必须保证脉冲的高低电平要求的宽度。
内部时钟方式:MCS-51内部有一个用于够成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器作为反馈元件的外部晶体或陶瓷谐振荡器一起够成一个自激振荡器。MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件,外接晶体以及电容CX1和CX2构成的并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格要求,但电容的大小会影响振荡器频率的高低,振荡器的稳定性,起振的快性和温度的稳定性。晶体可在1.2MHZ—12MHZ之间任选,电容CX1和CX2的典型值在20PF—100PF之间选择,但在60PF—70PF时振荡器有较高的频率稳定性,典型值通常选择为30PF左右(这时对应的时钟频率为12MHZ)外接陶瓷谐振器时,CX1和CX2的典型值约为47PF。在设计印刷电路板时,晶体或陶瓷振荡器和电容应进可能安装的与单片机芯片靠近,以及减少寄生电容,更好的保证振荡器稳定和可靠的工作。为了提高温度的稳定性,应采用温度性能好的高频电容。
外部时钟方式:外部时钟方式是利用外部振荡器信号源(时钟源)直接接入XTAL1和XTAL2。通常XTAL1接地,XTAL2接外部时钟,由于XTAL的逻辑电平不是TTL的,故建议外接一个4.7K-10K上拉电阻。
振荡电路是单片机工作的前提,只有晶振能可靠的起振,单片机引脚按规定的时序进行工作。本次设计所采用的是内部时钟方式:振荡电路是单片机工作的前提,单片机各个引脚才能按规定的时序进行工作。本系统采用的晶振为12MHZ.其电路如下图

AT89C51是一种带4字节可编程可擦除只读存储器的低电平,高性能CMOS 8位微处理器,俗称单片机。该器件采用ATEML高密度非易失存储器制造技术制造,与工业标准的MCS51指令集合输出管脚相兼容。处于将多功能8位CPU和闪烁存储组合在单个芯片中ATEML的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
整个ROM阵列三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写成“1”且在任何非空存储字节被重复编程以前,该操作必须执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下。CPU停止工作。但RAM,定时器,计数器,串行口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所有其他芯片功能,直到下一个硬件复位为止。
3.3.3 串行I/0口
AT89C51还有一个可编程的、全双工的串行I/O口,可以作为UART(通用异步接收/发送器),也可以作为同步移位寄存器用。AT89C51的串行I/O设有缓冲寄存器SBUF,是能够直接寻址的SFR,在物理上对应着两个缓冲寄存器:接收和发送缓冲寄存器。接收器是双缓冲器,可避免在接收下一帧数据前,未能及时把接收到的数取走而产生数据重叠。它的串行I/O口有四种工作方式供选择。

方式0用同步的方式串行输出或输入数据,但并非真正的同步通信方式,在此方式下,串行口相当于一个并入串出或串入并出的移位寄存器。由TXD引脚发送出同步移位脉冲,由RXD引脚送出或接收串行数据。串行数据形式是8位数据,同步脉冲的宽度也是固定的,为单片机时钟频率的1/12,等于AT89C51的一个机器周期。
方式1异步接收发送方式,此方式为经常使用的工作方式串行数据位由TXD引脚传送出去,由RXD引脚将对方发来的串行数据位接收进来。至于传输的波特率是由定时器决定,设置不同的定时器初始值可以得到不同的波特率。通信双方应约定使用相同的波特率。
方式2 11位异步接收发送方式,与方式1相比不同的是方式2字符格式的最后可以插入第9位数据位,可以用一些指令将这一位设置为奇偶校验位等。其波特率有两种选择,分别为单片机时钟频率的1/32和1/64.
方式3 11位异步接收发送方式,其字符格式和方式2相同,波特率受定时器控制(设置不同的定时器初始值可以得到不同的波特率),并和电源控制寄存器中的SMOD位有关。
串行波特率的设定是串行接口应用中最重要的一步,如果不能合理设置,通信则无法正常进行。对于方式0,波特率是固定的,发送的同步脉冲的频率为单片机时钟频率的1/12,即fosc/12:对于方式2,波特率有两种可供选择,即fosc/32和 fosc/64.对应于公式:

中的SMOD为PCON寄存器中的控制位。
对于方式1和方式3,波特率都由定时器1的滋出率来决定,而在串行通信时,定时器经常采用定时器方式2,即8位重装计数方式,对应于公式:
3.3.4 AT89C51内部定时/计数器
51系列单片机内部都带有定时/计数器,AT89C51内部有两个16位的定时/计数器:TO和T1。与一般的定时/计数器类似,主要有以下特点:
第一:定时/计数可有多种工作方式,可以是计数方式也可以是定时方式等;
第二:计数器模值是可变的,其最大值取决于计数器的位数,该位数同时限定了定时的最大值;
第三:可以计算由TO或T1引脚的输入脉冲数,用作计数器或频率计。
这两个定时/计数器都有4种工作方式

见表a定时/计数器表

工作方式
功能
工作方式1
13位计算器
工作方式2
16位计算器
工作方式3
可自动装入记数初值8位重装计数器
工作方式4
T0分为两个计数器,T1停止计数器

在方式3中计数器Tl停止计数时,计数器TO分为两个独立的8立计数器,由TLO和THO来负责计数工作。
AT89C51的定时/计数器是可编程的,因此,在进行定时或计数之前也要用程序进行初始化。在初始化的过程中,要置入定时值或计数值狗初值,为计算此值就要从计数最大值倒退回去一个计数模值才是应置入的初值。设计数器的最大值为M,计数器的初值设定由下面公式算得:
计数方式时:
X=M一计数模值·
之时方式时:
(M一X)}T=定时值
可以X=M一定时值产,其高8位为寄存器TH1的初值,低8位为TLO沟初值。其中T为计数周期,它是单片机时钟周期的12倍。
3.3.5 AT89C51中断
AT89C51有五个中断源,即两个外部中断,两个定时/计数器中断和一个串行口中断。当某种中断源产生中断时,便设定在SFR中的中断示志位一一TCON中的各位,MCU在从标志位识别出中断种类并响应和请时,立刻从主程序转去执行中断服务子程序以进行中断服务,并呆护现场。关键就在于确定中断服务程序的入口地址。表给出了中断的向量地址,即是中断服务程序的入口地址 表b中断的向量表

中断源

工作标志

向量地址

外部中断0

IE0
03H

定时/计数器0
TF0

0BH

外部中断1

IE1
13H

定时/计数器

TF1
1BH

串行断口接收

TI

23H
串行断口发送
RI
23H

中断程序结束之后恢复程序运行环境,回到断点处继续执行程序。在应用时应注意中断的嵌套,防止中断溢出。

第四章 USB数据通讯介绍
USB接口可以有很多方法完成,如可以使用专用的USB接口芯片,也可以用带有USB接口的单片机或直接用FPGA来完成USB接口。但由于USB接口的设计必须考虑USB通讯协议、驱动程序、自动配置过程等,增加了它的开发难度。本文介绍了一种USB总线通用接口芯片CH371,基于CH371套件设计USB接口不必考虑USB通讯协议、驱动程序、自动配置过程、底层数据传输过程等,简化了USB接口的设计。
4.1 CH371简介
CH371套件包括CH371芯片和计算机端的CH371通用驱动程序.CH371芯片以硬件逻辑而不是额外编写的固件程序实现了USB通讯协议,驱动程序则通过软件向计算机应用层提供了设备级接口以及应用层接口。CH371套件屏蔽了USB 通讯中的相关协议和驱动程序,在计算机应用层与本地端控制器之间提供端对端的接。它具有以下特点:
① 屏蔽USB 协议,在计算机应用层与本地端之间提供端对端的连接。
② 自动完成USB配置过程,完全不需要本地端控制器作任何处理。
③ 标准的USB V1.1接口,即插即用,D+引脚内置上拉电
④ 通用Windows驱动程序。提供设备级接口和应用层接口。
⑤内置可选的看门狗电路Watch—Dog,为本地端控制器提供监控。
⑥内置输入输出缓冲区,以中断方式通知本地端控制器传输数据.
⑦ 内置上电复位,提供高电平有效复位输出和低电平有效复位输出。
⑧ 具有16个地址,可选直接地址方式或者复用地址方式。上电复位后,CH371芯片默认选择直接地址方式,即由A3~A0引脚输入地址直接作为内部地址:当ALE引脚检测到上升沿后,CH371芯片自动切换为复用地址方式,即控制器将地址输出到数据总线的D3~DO上,由CH371芯片在ALE的下降沿将其锁存为内部地址。一般情况下,基于CH371实现MCU与PC之间的USB通信需要完成两件事情:一是当上位机端发出数据传输请求时,CH371接收下传数据并以中断方式通知下位机接收。将下传数据写入下位机端数据缓冲区中;二是当下位机端有数据需要上传时,CH371接收上传数据并在成功接收后以中断方式通知下位机端数据上传成功。
4.2 CH371的功能和使用简介
CH371 USB接口芯片是一种利用硬件逻辑封装了USB通信协议的28脚芯片。为方便使用,同时提供了配套的Pc机USB口驱动软件。图l是CH371的引脚功能图。由图l可见
CH371的引脚功能
1脚: INT#中断输入
ALE 地址锁存使能(输入)
WR# 写选通(输入)
RD# 读选通(输入)
A0-A3 片内寄存器寻址地输入)
OFF 关闭D+上拉电阻(输入)
D+、D-USB 数据线(双向)
XI、Xo 晶振连接
D0- D7 数据总线(双向)
SDAI=C 接口数据线(双向)
SCL I℃ 接口时钟线(输出)
RST,RST# 上电复看门狗复位(输出)
CS# 片选线(输入)
VCC、GND 电源与地线

❹ AT89C51 、AT89C52、AT89S51、AT89S52这四种芯片的时钟电路,复位电路以及编程是不是一样 的

时钟和复位电路一样。编程方式也可以一样。但AT89S51/S52还多了个ISP编程方式,即在线下载方式。
C52比C51,S52比S51多了点可用的资源而已。

❺ 多功能电脑时钟程序设计(C++单片机程序)

采用at89c2051兼容芯片制作六位数显多路定时电子钟 电路特点
这里介绍的电子钟,电路可称得内上极简,它仅使容用单片的20引脚单片机完成电子钟的全部功能,而笔者见到的其它设计方案均采用二片以上的多片ic实现。
电路见图1。一片20引脚的单片机stc2032(引脚排列与at89c2051完全相同)为电子钟主体,其显示笔画数据从p1口分时输出,p3口则输出对应的六位选通信号。由于led数码管点亮时耗电较大,故不能使用at89c2051单片来完成,但是可以可以用stc89c2032来完成。另外,本站制作时用超高亮的发光二极管代替昂贵的大数码管,成本低,效果独特。本电子钟设计有三个轻触式按键,这里我们分别命名为:模式设定键k1、加调整键k2、减调整键k3。由于stc89c2032内部已经集成有复位电阻,所裕

❻ 求救:单片机数字时钟电路图和51编程语言

dhsig552.blog.163.com
这里有一个基于51的最简单电路万年历数字钟时钟,设计完美!

❼ 时钟电路设计需要哪些元件

方案的论证与选择
1.1方案论证
1.1.1采用MCS—51系列单片机和压力传感器来完成
压力传感器是鸡蛋闹钟必须用到的传感器,它具有结构简单、体积小、重量轻、使用寿命长等优异的特点。控制电路主要由单片机和程序来实现,这样的设计具有性能稳定,做工可靠,价格低廉,结构简单的优点,但也存在编程难度大的缺点。这种设计是目前工业中最常用的一种设计,产品整体价成本格较低,硬件结构简单,容易实现。
1.1.2采用TTL集成门电路和压力传感器来实现
这种设计同样采用压力传感器,但是控制电路采用集成门电路,电路主要由振荡器,分频器,计数器,译码器,显示电路组成。它的特点在于精度高,抗干扰能力强,允许的工作电压范围大,不需要编程,但同时也在产品体积大,硬件结构复杂,工作不可靠,技术老化,成本相对较高的缺点。这种设计目前在市场上已经基本淘汰。
1.1.3采用MCS—51系列单片机,时钟芯片和压力传感器来设计
这种设计在控制电路中加入了一个时钟芯片,总体来说,产品需要的编程难度降低,但是产品的硬件结构复杂了,而且时钟芯片的价格也很昂贵,提高了成本,这种设计在目前的市场上很少见。
1.2方案的选择
综上所述,应选用方案一来完成鸡蛋闹钟的设计。

这里介绍的电子钟,电路可称得上极简,它仅使用单片的20引脚单片机完成电子钟的全部功能,而笔者见到的其它设计方案均采用二片以上的多片IC实现。

电路见图1。

一片20引脚的单片机AT89C2051为电子钟主体,其显示数据从P1口分时输出,P3.0~3.3则输出对应的位选通信号。由于LED数码管点亮时耗电较大,故使用了四只PNP型晶体管VT1~VT4进行放大。本来笔者还有一种更简的设计方案(见图2),可省去VT1~VT4及R1~R4八个元件,但这种设计由于单片机输出口的灌入电流有限(约20mA),数码管亮度较暗而不向读者介绍,除非你采用了高亮度的发光数码管。

P3.4、P3.5、3.7外接了三个轻触式按键,这里我们分别命名为:模式设定键set(P3.4)、时调整键hour(P3.5)、分调整键min(P3.7)。C1、R13组成上电复位电路。VT5及蜂鸣器Bz为闹时讯响电路。三端稳压器7805输出的5V电压供整个系统工作。此电子钟可与任何9~20V/100mA的交直流电源适配器配合工作,适应性强。

电子钟功能

1.走时:通过模式设定键set选择为走时,U1、U2显示小时,U3、U4显示分。U2的小数点为秒点,每秒闪烁一次。

2.走时调整:通过模式设定键set选择为走时调整,按下hour键对U1、U2的走时“时”显示进行调整(每0.2秒递加1)。按下min键对U3、U4的走时“分”显示进行调整(每0.2秒递加1)。

3.闹时调整:通过模式设定键set选择为闹时调整,按下hour键对U1、U2的闹时“时”显示进行调整(每0.2秒递加1)。按下min键对U3、U4的闹时“分”显示进行调整(每0.2秒递加1)。

4.闹时启/停设定:通过模式设定键set选择为闹时启/停设定,按下min键U3的小数点点亮,闹时功能启动;按下hour键U3的小数点熄灭,闹时功能关停。

由于电路设计得极其简单,因此丰富的功能只能由软件完成,这里软件设计成为了关键。下面介绍软件设计要点。

图3为主程序状态流程。

图3

运行时建立的主要状态标志如下:

flag—掉电标志。掉电后,flag内为一随机数;重新设定时间后flag内写入标志数55H。

set—工作模式设定标志。

hour—走时“时”单元。

min—走时“分”单元。

sec—走时“秒”单元。

deda—走时5mS计数单元

t_hour—闹时“时”单元。

t_min—闹时“分”单元。

d_05s—0.5秒位标志。每秒钟的前0.5秒置1,后0.5秒置0,以使秒点闪烁。

o_f—闹时启/停位标志。闹时启动置1,闹时关停置0。

另外将定时器T0设定为5mS的定时中断。这里晶振频率为12MHz,因此5mS的初值为-5000,但实际上程序还要作其它运算,使得时间偏长,经调整
很高兴回答楼主的问题 如有错误请见谅

❽ 主要芯片stc89c52的时钟程序。已经有电路板了。不知道怎么编程。哪位大侠帮个忙。不胜感激。急需呀。

你这个图怎么看啊,下载下来都看不清楚,

❾ 那个单片机电子时钟的电路图和编程可以给我吗我QQ372039611

我给你发了一份,你看一下 我这边卡,看不到你回复的邮件了

❿ 单片机时钟程序编写及电路设计方面的一些问题

单片机简介可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电路基本知识的读者来说,不会有太大困难,如果你对PC机有一定基础,学习单片机就更容易。为使绝大多数读者能用上单片机。我们这里将尽量按深入浅出、删繁就简、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领进单片机之“门”的目的。不过,单片机和PC机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有多“玩”,也就是多练习、多实际操作,才能真正掌握它。因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系统的货源。你只有认真完成成这些实践环节,才能为进一步深造,打好基础。

单片机的组成
单片机要自动完成计算,它应该具有哪些最重要的部分呢?
我们以打算盘为例计算一道算术题。例:36+163×156-166÷34。现在要进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问题记录下来,然后第一步先算163×156,把它与36相加的结果记在纸上,然后计算166÷34,再把它从上一次结果中减去,就得到最后的结果。
现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。这类器件就称为“存贮器”。此外,还需要有能代替人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。但是光有这三部分还不够,原始的数据与命令要输入,计算的结果要输出,都需要按先后顺序进行,有时还需等待。如上例中,当在计算163×156时,数字36就不能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输出数据进行一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数据(如上例中的36、163等)、中间结果(如166÷34所得的商4、余数30等)、程序(命令的集合)等。这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。用户要单片机执行的各种命令(程序)也以数据的形式由存贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、减、乘、除等功能的各种命令。所以,这一类信息就称为控制命令,即由控制器去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其作用是告诉运算器和控制器在何处去取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。
存贮器又分为只读存贮器和读写存贮器两种,前者存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据存入,就只能读出,不能更改(EPROM、E2PROM等类型的ROM可通过一定的方法来更改、写入数据——编者注)。而读写存贮器可随时存入或读出数据。
实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器,其基本结构与本连载之(二)中的举例类似。到这里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即CPU中的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存贮器通常表示为RAM)、输入/输出口(又分为并行口和串行口,表示为I/O口)等等组成。实际上单片机里面还有一个时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。
现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连接成相互关联的整体呢?实际上,单片机内部有一条将它们连接起来的“纽带”,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中断系统等就分布在此“总线”的两旁,并和它连通。从而,一切指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。
单片机的指令系统和汇编语言程序
前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步: 第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。
第二步:把第二个数从它所在的存贮单元中取出来,送至运算器;
第三步:相加;
第四步:把相加完的结果,送至存贮器中指定的单元。
所有这些取数、送数、相加、存数等等都是一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统(Iustruction Set),不同种类的单片机,其指令系统亦不同。
使用单片机时,事先应当把要解决的问题编成一系列指令。这些指令必须是选定的单片机能识别和执行的指令。单片机用户为解决自己的问题所编的指令程序,称为源程序(Source Program)。指令通常分为操作码(Opcode)和操作数(Operand)两大部分。操作码表示计算机执行什么操作,即指令的功能;操作数表示参加操作的数或操作数所在的地址(即操作数所存放的地方编号)。因为单片机是一种可编程器件,只“认得”二进码(0、1)。要单片机运作,单片机系统中的所有指令,都必须以二进制编码的形式来表示。例如,在Intel公司的MCS-51系列单片机中,从存贮器中取出一数到CPU中的累加器(在运算器中,参与运算、存放运算结果的专用寄存器)的指令代码为74H,累加器内容加立即数的代码为24H,再加上立即数代码,累加器送数到内部RAM存贮器的代码为F6H~F7H等。这些指令是用十六进制表示二进制的机器码。MCS-51单片机的字长为8位,有时,要完成某些操作用一个字节尚不能充分表达。所以,在指令系统中有单字节指令,也有多字节指令。机器码是由一连串的0和1组成,没有明显的特征,不好记忆,不易理解,易出错。所以,直接用它来编写程序十分困难。因而,人们就用一些助记符(Mue monic)——通常是指令功能的英文缩写来代替操作码,如MCS-51中数的传送常用MOV(Move的缩写)、加法用Add(Addition的缩写)来作为助记符。这样,每条指令有明显的动作特征,易于记忆和理解,也不容易出错。用助记符来编写的程序称为汇编语言程序。但是,助记符编写的程序便于人理解,可单片机却只认识二进制机器代码,因此,为了让单片机能“读懂”汇编语言程序必须再转换成由二进制机器码构成的程序,这种转换过程,就称为“汇编”。汇编可借助于人工查表法来实现,也可借助PC机通过所谓“交叉汇编程序”来完成。由机器码构成的用户程序一旦“进入”了单片机,再“启动”单片机,就可让它执行输入程序所规定的任务。
MCS-51的CPU和存储器
CPU结构
单片机8051的CPU由运算器和控制器组成。
一、运算器
运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示。PSW
CY AC FO RS1 RS0 OV - P对用户来讲,最关心的是以下四位。
1

阅读全文

与时钟电路编程相关的资料

热点内容
石碣家具店 浏览:208
邵氏三极古装片有哪些 浏览:547
红楼梦之银史 浏览:157
电水壶电路板 浏览:298
百度里的家电维修怎么评价 浏览:626
防滑系统需要维修什么意思 浏览:69
电路记录 浏览:916
济南海尔空调售后维修电话是多少 浏览:856
国产床戏较多的电影 浏览:160
步步高座机维修电话 浏览:133
衢州维修地磅人员哪里找 浏览:806
rd500克在铠侠查保修期吗 浏览:76
映美打印头在保修范围内么 浏览:834
按摩电影剧情法国 浏览:721
技嘉售后维修 浏览:726
用流量看一部电影大概多少G 浏览:131
带颜色最多的邵氏电影排行 浏览:389
底层防水是什么意思 浏览:74
床戏假戏真做的韩国电影 浏览:596
美女机器人的性版真典片、 浏览:282