推荐阅读最新更新时间:2024-11-03 20:32
基于AT89C51的8个LED流水灯的设计
本设计旨在实现8个LED流水灯的设计。 : 参考代码: #include reg52.h #include intrins.h #define uint unsigned int uint temp; void Delay500ms() //延时0.5秒函数 //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } while (--i); } void main() { P1=0xfe; //IO口初
[单片机]
【51单片机快速入门指南】4.4.2:Mahony AHRS 九轴姿态融合获取四元数、欧拉角
STC15F2K60S2 22.1184MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 移植自MPU6050 获取角度理论推导(三)—9轴融合算法 —— shao15232_1 传感器的方向 源码 所用MCU为STC15F2K60S2 使用内部RC时钟,22.1184MHz stdint.h见【51单片机快速入门指南】1:基础知识和工程创建 软件I2C程序见【51单片机快速入门指南】4: 软件 I2C 串口部分见【51单片机快速入门指南】3.3:USART 串口通
[单片机]
如何控制51单片机的引脚
控制单片机的引脚,分为两个知识点,一个是怎么让引脚单片机输出高低电平,一个是怎么检测接入到引脚上的电平是高还是低。我们有时候会听到这样的话:“此单片机有几个IO口?”这里说的IO口,就是输入(input)输出(output)接口。一般情况下,单片机的引脚当中,除了电源引脚和晶振引脚,其它的都是IO口。当我们控制单片机的引脚高低时,我们把引脚当做输出引脚;当我们需要检测连接到单片机引脚上的电平时,我们把引脚当做输入引脚使用。 使引脚P1.5输出高电平,可以这样写: P1=0x20; 或者: sbit XXX=P1^5; XXX=1; 第一种写法,在20前面加0x,表示这是一个十六进制数,把这个十六进制数0x20写成二进制数就是001
[单片机]
c51单片机中断认知
包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置: PX0(IP.0),外部中断0优先级设定位; PT0(IP.1),定时/计数器T0优先级设定位; PX1(IP.2),外部中断0优先级设定位; PT1(IP.3),定时/计数器T1优先级设定位; PS (IP.4),串行口优先级设定位; PT2 (IP.5) ,定时/计数器T2优先级设定位。 从这张图里我们可以看出: EA是中断控制位,EA=1开放中断,EA=0屏蔽所用中断(编程时人为设定) 那EA是在哪里进行设置的呢?它就是在IE(中断允许寄存器)里进行设定的 第七位就是EA,剩下的还有第四位的ES,第三位的ET1,第二位的EX1,第一位的ET0
[单片机]
51单片机内部定时器/计数器实验
一、实验内容 使用MCS-51内部定时/计数器,定时1秒钟,CPU运用定时中断方式,实现每1秒钟输出状态发生一次反转,即发光管每隔1秒钟亮一次(P1.7接LED)。 根据实验内容编写一个程序,并在实验仪器上调试和验证。 二、仿真图 三、代码 C语言实现: # include reg52.h # include intrins.h # define uint unsigned int # define uchar unsigned char sbit LED=P1^0; uchar t,temp; void init(); void main() { t=0; init(); whil
[单片机]
8位单片机的无线时代和无线时代的8051单片机
一、无线时代为8位单片机带来新的机遇 我们今天的时代,已经进入了一个无线无处不在的时代,出门,我们使用手机打电话,发短信,在家,我们使用无绳电话;开车,我们使用GPS导航找路;上班,我们使用无线网卡上网,办公...... 但是,现在我们很难将这些 高档 的无线应用和低价格,低功率消耗,小体积的8位单片机联系起来,虽然8位单片机已经在各行各业广泛的使用大显声威,是目前工业用嵌入式单片机的主流,在工业控制,家电工业,住宅自动化等许多方面有广泛应用。 目前我们接触到的这些无线应用例如手机,BB机,802.11标准的网卡/路由器等都具有一个共同的特点是: 1)功率消耗较大,需要较大电池支持;2)价格较高,动辄几十到几百美元;
[单片机]
51单片机程序——让蜂鸣器响起来吧
#include reg52.h #define uint unsigned int //宏定义 sbit SPK=P3^5; //定义喇叭端口 void delay(uint z) { uint x,y; for(x=z;x 0;x--) for(y=110;y 0;y--); } void main() { while(1) { delay(100); SPK=0; delay(100); SPK=1; } }
[单片机]
89c51单片机和89s51单片机的区别,89s51单片机新增功能汇总
AT89S51 是一个低功耗,高性能CMOS 8位 单片机 ,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决方案。 AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先
[单片机]