推荐阅读最新更新时间:2024-03-16 14:45
51单片机定时器T0的使用1-中断法
/********************************************** 方法1:延时法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 波特率:9600 描述:T0用于定时,方式1,定时时间50ms,中断方式,定时时间到,TF1=1,利用模拟串口发送字符0x67 **********************************************/ #include reg52.h #define uchar unsigned char sbit P1_0 = 0x90; sbit P1_1 = 0x91; sbit P1_2 = 0x92; #de
[单片机]
ADC0832模数转换51单片机程序与电路图
#include AT89x51.h #include intrins.h #define uint unsigned int #define uchar unsigned char //******************adc0832****************************// sbit CS=P2^3; //使能。 sbit CLK=P2^2;// 时钟 sbit DO=P2^1; // 数据输出 sbit DI=P2^0;//数据输入 char CC = 11001001 ; uchar tab ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
[单片机]
51单片机外扩ROM方法
51单片机外扩ROM方法 强烈建议用户尽可能不要考虑外扩程序存储器,如果非扩不可,可以仿照下图所示电路进行扩展 图中P0口输出外部ROM的低8位地址信号,P2口输出高8位地址信号;ALE端输出地址锁存信号,/PSEN输出程序存储器输出使能信号。 两个模块 P89V51RD2单片机内部有64K用户ROM区和8K BOOT ROM区两个模块 两个模块在物理上是分开的,尽管地址重合,但一般不会发生冲突。 用户程序存储区 P89V51RD2内部有64K Flash ROM,不需要用户再进行ROM扩展 地址范围:0000H~FFFFH 其内部分配和其他51系列单片机是相同的 Fl
[单片机]
51单片机入门 - 定时器中断应用实例
定时器中断应用实例 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 设计要求: 每秒点亮P1.0口的发光二极管一次,然后熄灭,使发光二极管形成闪烁效果 实现思路: 通过定时/计数器,每秒触发一次P1.0取反 涉及到的功能模块:定时器,中断,LED操作 定时器装填: 需要计数每秒的话,计数921600时溢出即可,在四种方式定时方式中,最大的计数范围是方式2:6553
[单片机]
基于51单片机的函数发生器的设计实现
1 引言 在自动控制系统设计及调试过程中,不同频率的正弦波、三角波和方波常作为信号源,应用十分方便。过去常由分立元件及集成运放构成振荡器,后来出现的ICL8038其最高频率仅能达到100kHz。而MAX038芯片性能更好,最高频率可达20MHz,且三种波形由同一端输出。单片机控制品质卓越,基于单片机的函数发生器运行可靠,操作方便。 2 高频信号发生器芯片MAX038简介 MAXIM公司生产的MAX038芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正弦波、方波及脉冲波,且频率及占空比的控制可独立进行。
Lin管脚电流范围在10~400μA时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚A0和A1的组合
[单片机]
51单片机按键控制输出pwm的占空比
之前说到利用51单片机输出pwm,但是输出的pwm是固定占空比的,如果想要改变占空比,还得回过头来修改程序并重新烧写进单片机。这样做的话不但麻烦、效率低,还又把芯片的可烧写次数减少了一次,虽然51的芯片现在很便宜,但能省点就省点,能不浪费就不浪费,哈哈,开玩笑啦!最主要的还是为了灵活性,为此特地通过加入按键的功能来实现动态修改输出的pwm的占空比。这样在用pwm控制电机的时候就能使用按键来控制电机转速了。废话不多说,见下: #include reg51.h #define uint unsigned int #define uchar unsigned char uchar
[单片机]
51单片机学习之路(三)-按键
写在前面:以下涉及到的程序及电路图不保证为最优方案,会存在很多不足之处,望谅解。另外,C51的内容是在整理很久之前所学的知识,可能会存在错误,欢迎指正。 正文 学习目标:使用51单片机实现按键控制 。 学习内容: 用按键控制LED灯的亮灭 通过按键实现数码管数字加减 程序一:控制LED灯 功能要求:按下按键灯亮,再次按下灯灭。 源程序 #include reg52.h sbit led = P2^0; //定义LED端口 sbit key = P1^0; //定义按键端口 bit temp = 1; //让按键按下时只生效一次 int x = 0; //控制LED灯的亮灭 void delay(unsign
[单片机]
29-基于51单片机的步进电机控制系统
具体实现功能 系统由STC89C52单片机+单体数码管+LED指示灯+ULN2003驱动芯片+DC-5V步进电机构成。 具体功能: (1)实现按键控制步进电机正转、反转、加速、减速、停止; (2)2个发光二极管显示正反转,1位7段LED数码管显示当前转速档位(共9个档位); (3)4个红色LED,指示电机的转速。 设计背景 步进电机是一种将电脉冲信号转换成角位移的执行机构,其转子角位移与输入脉冲的频率成正比,通过改变脉冲频率可以实现大范围的调速;同时,步进电机易于与计算机和其他数字元件接口,因此被应用于各种数字控制系统中。 本设计所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电
[单片机]