推荐阅读最新更新时间:2024-03-16 14:36
MCS-51单片机汇编中的“指针”
111条单片机指令中让我想起高级语言中的指针的功能。 数据传送类指令中的 指针 1)MOV A,@Ri 2)MOV direct,@Ri 3)MOV @Ri,A MOV @Ri,direct MOV @Ri,#data8 4)MOVX A,@Ri MOV A,@DPTR 5)MOVX @Ri,A 6)MOVX @DPTR,A @:指向的意思。
[单片机]
基于单片机89C51产生PWM信号来控制直流电机调速程序
利用2051的T0产生双路PWM信号,推动L293D或L298N为直流电机调速,程序已通过调试。 /* =======直流电机的PWM速度控制程序======== */ /* 晶振采用11.0592M,产生的PWM的频率约为91Hz */ #include reg51.h #include math.h #define uchar unsigned char #define uint unsigned int sbit en1=P1^0; /* L298的Enable A */ sbit en2=P1^1; /* L298的Enable B */ sbit s1=P1^2; /* L298的Input 1 */ s
[单片机]
基于AT89C51和DSl8820的数字温度计电路设计
随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用AT89C51型单片机作为主控制器件,DSl8820作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。通过DSl8820直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在O℃~100℃最大线性偏差小于0.1℃。该器件可直接向单片机传输数字信号,便
[电源管理]
基于51单片机的电子车速里程表实现方案
1 概述 传统的汽车转速里程表的功能有两个,一是用指针指示汽车行驶的瞬时车速,二是用机械计数器记录汽车行驶的累计里程。现代汽车正向高速化方向发展,随着车速的提高,用软轴驱动的传统车速里程表受到前所未有的挑战,这是因为软轴在高速旋转时,由于受钢丝交变应力极限的限制而容易断裂,同时,软轴布置过长会出现形变过大或运动迟滞等现象,而且,对于不同的车型,转速里程表的安装位置也会受到软轴长度及弯曲度的限制。凡此种种,使得基于非接触式转速传感器的电子式转速里程表得以迅速发展。 2 里程累计实现原理 车速里程表的速比表示的是:车速里程表转轴(软轴)在汽车行驶一公里时所转过的转数。 基于单片机的车速里程表采用霍尔型非接触式转速传感器。这种车速
[单片机]
51学习第二天--二、流水灯设计、蜂鸣器发声
二、流水灯设计、蜂鸣器发声 1.简单延时程序: 利用while()循环达到一个延时的效果 #include reg52.h void main() { sbit D1=p1^0;//表示声明变量,令p0口等于D1 int=a; while(1)//这是一个死循环 { a=500;//表示时间延迟 D1=0;//表示是低电平即灯灭 while(a--);//表示a自减到0执行下面程序 a=500; D1=1; while(a--); } } 2. 子程序调用: 先设计一个延迟函数,然后直接调用! #include reg52.h #d
[单片机]
使用经济振荡器为8051微处理器提供时钟
使用基于8051的微控制器时,必须谨慎选择外部时钟基准,以确保满足控制器串行接口的时序要求。通常,8051串行端口与RS-232发射器/接收器一起使用,以提供到另一个处理器或主机处理器的串行通信链路。RS-232规范具有特定的时序要求,必须满足这些要求才能保证与使用此协议的所有其他设备的通信。基于 8051 的处理器使用外部时序参考(晶体或时钟)和内部可编程分频器链的组合生成其串行端口时序。本应用笔记演示了如何使用EconOscillator满足外部时钟要求,并为8051内部串行端口控制寄存器的编程提供了计算帮助。 介绍 经济振荡器具有提供基本频率的内部振荡器,它们使用内置分频链将基本频率降低到所需速率。每个器件号可以划分四个
[单片机]
51单片机播放音乐(一):蜂鸣器
蜂鸣器 蜂鸣器分为有(震动)源的和无源的,有源的无法控制频率,所以用无源的才能播放音乐。无源蜂鸣器需要自己控制输入变化的信号才能发声,最简单的就是输入方波信号了,通过单片机控制方波的频率就能发出不同音调的声音 这是发出50%占空比方波的代码: int i; while (1) { for (i = 0; i 10; ++i); // 改变循环次数可以改变方波频率 P1_0 = 1; for (i = 0; i 10; ++i); P1_0 = 0; } 乐谱转成循环次数 首先要有蜂鸣器乐谱,就是用频率和持续时间表示一个音符的乐谱,至于如何获取蜂鸣器乐谱可以看我上一篇文章。由于单片机的运行速度很慢,如果在单片
[单片机]
基于51单片机的无线心电监护系统设计
1 引言 随着经济的快速发展和人们生活水平的不断提高,健康已成为人们关注的焦点。心脏疾病是危害人类健康的一大杀手,其偶然性与突发性的特点使得心电监护系统具有重要的临床应用价值。由于传统的心电监护仪不能进行远距离的实时监护,所以便携式无线心电监护系统显得更加重要。无线医疗监护系统主要由生理信息与数据采集、无线数据通信、控制和显示等单元组成。目前国内已有用于临床的无线心电监护产品,但其采用的方案大都是“采集器+发送器(PDA或手机)”,从成本上看其价格昂贵;从无线传输方面看,大多是将心电数据以模拟信号传输,这必然导致信号在传输过程中发生失真。此外,由于人体电阻差异导致心电信号在1~10 mV之间变动,固定放大倍数系统缺乏适应性。
[单片机]