推荐阅读最新更新时间:2024-03-16 14:43
STC89c52+DS1302时钟,数码管显示时间日期,可调节
最近在做数字电子时钟,也总结出来一些资料,在这分享给大家,DS1302时钟芯片。电脑仿真所需要的芯片有AT89C52,74HC138 排阻(因为C52单片机P0的IO口没有上拉电阻),74HC245 ,如果需要做实物,还得根据数码管的型号选择合适的电阻,DS1302芯片,按钮 1,工作原理 我们先了解我们所用的东西,STC89C52是8051单片机,这里就不多介绍了,然后就是DS1302时钟芯片, 这个是DS1302时钟芯片 这个是工作原理,我们经常用的DS1302与单片机的连接使用 2.实验思路 理解DS1302时钟芯片与单片机之间的数据传送,用的单总线的方式,所以会有时序图,还有读写图 表三是地址,如果读取某个分钟或
[单片机]
C51编程14-中断篇(定时器中断1)
在MCS-51的中断系统中,除了有外部中断以外,还有定时器/计数器中断、串行中断,本章节将会说明定时器/计数器中断,以及它的四种方式 MCS-51单片机中,内部有两个16位的可以选择的定时器/计数器,称为定时器0(T0)或者定时器1(T1),它们用来做定时器或者计数器。 定时器/计数器工作原理: 作为定时器使用时,输入的时钟脉冲是由晶体振荡器的输出12分频后得到的,所以定时器是对机器周期的计数器,每一个机器周期+1,因此它的定时频率为晶振频率的1/12;当设置了定时器工作方式并启动定时器后,定时器就会按照被设定的工作方式独立工作,不再占用CPU时间。当计数器计满时溢出时向CPU请求中断。 作为计数器工作使用时,计数器
[单片机]
C51中的函数指针
概述 函数指针是C编程语言众多难懂的特性之一。由于C编译器对关于8051架构的独特要求,函数指针和可重入函数需要克服更大的挑战。这主要是因为函数参数传递的方式。 通常,(对于大多数非8051的芯片),函数参数是在栈上以压入和弹出的汇编指令来完成。由于8051的栈大小有限(仅128字节,某些设备上更低至64字节),函数参数传递必须用不同的技术来传递。 英特尔为8051推出PL/ML-51编译器时,他们引入了将参数存储在固定内存位置的技术。当链接器被调用时,它会建立程序的调用树,找出哪些函数参数是相互独立的,然后覆盖它们。这就是链接器OVERLAY指令的开始。 由于PL/M-51不支持函数指针,所以从未出现间接函数调用的问
[单片机]
51单片机Keil C51的使用(C语言)
实验目的: 初步掌握Keil(C51语言)和SUN ES59PA实验仪的操作和使用,能够输入和运行简单的程序。 实验设备: SUN ES59PA实验仪一套、具有一个RS232串行口并安装Keil C51的计算机一台。 实验原理及环境: 1.在计算机上已安装Keil C51软件。这个软件既可以与硬件(SUN ES59PA实验仪)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 2. 实验的硬件环境: A3区:CPU总线、I/O接口 片选区 JP37,JP45:地址线A0..A7;
[单片机]
C51串口通讯定义
8051单片机的串行接口结构 8051串行接口是一个可编程的全双工串行通讯接口。它可用作异步通讯方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通讯协议进行全双工的8051多机系统也可以通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。 8051单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。 串行口的控制与状态寄存器 串行口控制寄存器SCON 它用于定义串行口的工作方式及实施接收
[单片机]
NXP可调光市电LED驱动解决方案
LED在电子系统中使用已经有很多年了,主要用作电子设备的指示灯。现在在亮度和色彩深度方面取得的重大进步,意味着LED现在可以用于更广泛的应用,从手机和多媒体播放机中的背光,汽车仪表盘、尾灯,一直到取代商业和家庭照明应用中的传统光源。 推动LED照明市场发展的关键推动力是高亮度LED和智能LED控制器的出现。采用高亮度LED的产品设计师面临的主要设计挑战包括散热管理、驱动方案、拓扑架构和已有的基础设施。要替代现有的可调光白炽灯或卤素灯光源,必须实现这样的一个电子灯驱动系统,它不仅可以与现有的调光开关一起工作,而且可复制现有光源的调光性能。 NXP(恩智浦) SSL2101 IC可以满足上述性能要求。此外,它还是一种高效的电源
[电源管理]
uC/OS-II在C51上的移植步骤
这段时间已成功把uC/OS-II 2.52移植到51单片机上,现总结移植步骤: 1.在main函数只包括 void main(void) { OSInit(); OSStart(); } 看是否能编译通过,可以通过后继续下一步。 2.验证OSTaskStkInit()和OSStartHighRdy()函数 这 里首先要修改OS_CFG.H文件,设置OS_TASK_STAT_EN 为0,以禁止统计任务。只让空闲任务工作,并单步执行,直到uC/OS-II切换到OS_TaskIdle()。单步时跳过OSInit()函数,单步进 入OSStart()函数。 一直单步运行到调用OSStartHighRdy()(这是OSStart
[单片机]
c51中定时器工作时如何使用T0脚输入脉冲信号?
嵌入式系统中,定时器是一种常用的设备,可以实现各种时间控制功能,如计时、计数、产生中断等。8051单片机中有两个定时器:T0和T1,其中T0定时器主要用于计时和计数操作,可以通过T0脚输入脉冲信号来控制定时器的工作。 T0脚是单片机的P3.4口,既可以作为普通的输入输出口,也可以作为T0定时器的外部输入引脚。当T0脚作为定时器的外部输入引脚时,可以通过输入的脉冲信号来控制定时器的计数。在使用T0脚输入脉冲信号时,需要采取一些措施来确保信号的稳定性和正确性。 首先,需要确定输入脉冲信号的频率。在使用T0脚输入脉冲信号时,需要将信号的频率与定时器的工作频率相匹配。具体来说,当定时器使用外部时钟源时,其工作频率为外部时钟源频率的一半,因
[单片机]