推荐阅读最新更新时间:2024-11-11 22:10
用51单片机实现爱心跑马灯程序
本人闲来无事做,见实验室的小伙伴用LED等做了一个跑马灯,顿时引来了一大群妹子,当时就不服了,哼,不就是一个流水灯,说的跟谁不会一样 制作的是32个LED灯的爱心流水灯,至于灯怎么安放,我就不多说了,关键是怎么连接布线。 由于条件有限,没有制作PCB的工具,所以就用的洞洞板,32个LED共阴极,连接在51单片机的GND上,每个LED的正极分别连接单片的一个引脚, 我的所有线路全是用电烙铁焊接的,线路丑爆了,在此就不上图了,为了后续程序好写一点,LED的正极和单片机的引脚的连线最好多考虑一下 好了,废话不多说了,直接上代码,只做了几个动画,可以按照自己的想法再添加 #include reg52.h #inclu
[单片机]
51单片机入门 - SPI协议与应用实验
简介: 串行外围设备接口 全双工三线同步,可以同时发出和接收串行数据 采用主从(Master Slave)架构,支持多Slave模式应用,一般仅支持单Slave 时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后 目前应用中可以达到几Mbps的水平 优点:与普通的串行设备相比,可以按位传输,甚至可以暂停。当没有时钟跳变时,从设备不采集和传送数据。不需要寻址操作。全双工通信。 缺点:没有应答机制确认。 特点: 提供频率可编程时钟 发送结束、中断标志;写冲突保护 总线竞争保护 SPI总线工作的4种工作方式中,使用最广泛的是SPI0和SPI3方式 - - - - - - - - - -
[单片机]
MSP430学习笔记6-动态数码管的显示
这个程序主要部分是我改写的,程序把看门狗当做普通定时器使用,在看门狗中断中进行数码管扫描,另外我加入了显示的缓冲区,想在数码管上显示什么数字只需要对缓冲数组中的值进行操作即可。最后加入了小数点的操作,可以很方便的加入小数点,程序如下: /********************************************** 程序功能:在八位数码管上显示任意数字 ----------------------------------------------- 拨码开关设置:将SMG位拨至ON,其余拨至OFF 测试说明:观察数码管显示 **********************************************
[单片机]
在51单片机上输出一个周期是20ms,占空比为75%的矩形波
ORG 0000H LJMP START ORG 0100H START: MOV TMOD,#01H ;T0工作在方式1 LOOP: MOV TL0,#68H ;定时15ms。 MOV TH0,#0C5H SETB TR0 ;定时器TO工作 WAIT: JNB TF0,WAIT ;等待定时结束 CLR TF0 ;记住清零标志位,我们没有使用中断服务子程序,所以也别指望它自动清零TF0 CLR TR0 ;关闭T0 CPL P1.0 ;输出低电平 MOV TL0,#78H ;定时5ms MOV TH0,#0ECH SETB TR0 WAIT1: JNB TF0,WA
[单片机]
基于AT89C51单片机的LED汉字点阵滚动显示屏设计
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。LED显示屏发展较快,本文讲述了基于AT89C51单片机16×16LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术 1 硬件电路组成及工作原理 本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵5部分组成,如图1所示。其中,
[单片机]
一文详解MCS-51单片机的中断系统
MCS-51中断系统:5个中断源(两个外部中断, 两个定时器, 一个串口),2个优先级 中断相关概念 中断:当CPU正在处理某件事情时,单片机外部或内部发生的某一紧急事件请求CPU立即去处理,于是,CPU暂时中止当前的工作,转去处理这个紧急事件,待处理完毕后,再回到原来被中止的地方,继续原来的工作。 中断过程 中断发生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理; 中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B(B的优先级要高于A); 中断返回:待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A ; 中断源(中断请求源):能够向CPU发出中断申请的部件。 中断系统结
[单片机]
51单片机实验17:LCD1602液晶
开发板液晶模块电路图如下: #include reg52.h #include lcd.h uc dig1 = Happy New Year ; uc dig2 = Ha Ha Ha Ha ; void main() { uc i; lcdinit(); lcdwritecom(0x80); for(i=1;i =16;i++) { lcdwritedata(dig1 ); } lcdwritecom(0xc0); for(i=1;i =16;i++) { lcdwritedata(dig2 ); } while(1); } #include lcd.h void delay() /
[单片机]
51单片机的中断优先级及中断嵌套
说最基本的,老的51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套。现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了。 在说到中断之前,我先来定义一下优先级,明白了什么是优先级,后面的阐述就容易明白了。实际上很多人都是混淆了优先级的含义,所以才觉得糊里糊涂。 中断的优先级有两个:查询优先级和执行优先级。 什么是查询优级呢?我们从datasheet或书上看到的默认(IP寄存器不做设置,上电复位后为00H)的优先级: 外部中断0 定时/计数器0 外部中断1 定时/计数器1 串行中断 或 int0,timer0,int1,timer1,serial port 或 INT0、
[单片机]