历史上的今天
今天是:2026年02月01日(星期日)
2023年02月01日 | 基于51单片机实现旋转LED灯报警(Proteus仿真)
2023-02-01 来源:zhihu
具体功能实现:
当按下开关时,蜂鸣器报警,同时LED旋转式亮灯。
使用器件:
AT89C51、按键、电阻、蜂鸣器(SOUNDER)、8只LED灯

Proteus仿真原理图:

仿真:

知识介绍:
Proteus布线
为了让整个原理图看上去简洁明了,我们对元器件的导线进行标号,而不是直接和芯片相连。
定时中断系统简图

定时器资源
定时器个数:3个(T0,T1,T2),T0和T1与传统的51单片机兼容,T2是此型号单片机增加的资源。
(T0和T1的操作方式是所有51单片机共有的)
中断号:

外部中断0 interrupt 0
定时器0 interrupt 1
外部中断1 interrupt 2
定时器中断1 interrupt 3
串口中断 interrupt 4
中断系统
执行现程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
主要代码(C语言)KEIL5实现:
#include
#include #define uint unsigned int #define uchar unsigned char sbit SPK = P3^7; uchar FRQ = 0x00; void Delayms(uint ms) { uchar i; while(ms--) { for(i=0;i<120;i++); } } void main() { P2 = 0x00; TMOD = 0x11; TH0 = 0x00; TL0 = 0xff; IT0 = 1; IE = 0x8b; IP = 0x01; TR0 = 0; TR1 = 0; while(1) { FRQ++; Delayms(1); } } void EX0_INT() interrupt 0 { TR0 = !TR0; TR1 = !TR1; if(P2 == 0x00) P2 = 0xe0; else P2 = 0x00; } void T0_INT() interrupt 1 { TH0 = 0xfe; TL0 = FRQ; SPK = ~SPK; } void T1_INT() interrupt 3 { TH0 = -45000/256; TL0 = -45000%256; P2 = _crol_(P2,1); } 定时器计算如何快速得到?(无需计算) 打开51单片机烧录软件STC-ISP,找到“定时器计算器”,根据红色方框中的进行设置,可以快速得到定时器初始化代码,可直接使用。 在此项目中为什么LED灯高电平有效? LED灯的特性之一是单向导电性,阳极大于阴极才能够导通,阴极接地可以想象成0,所以阳极置1可以达到阳极大于阴极。问题解答:
Q

Q
A
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:21 编辑 又是到递交毕业论文的时候了,现在在学校中有着非常不良的现象.同学们基本属于蒙混过关,这样,对自己未来的发展能有什么好处呢?或者来论坛的也是诸如此类: 各位大哥!小弟急求****毕业设计! &&a ...… 查看全部问答> |
|
目录: 第一章 绪论 1.1 单片机与嵌入式系统 1.1.1 计算机技术发展与嵌入式系统兴起 1.1.2 单片机技术发展史 1.1.3 单片机技术发展方向 1.2 单片机的应用模式 1.2.1 单片机应用系统结构 1.2.2 单片机种类与供应状态 1.2.3 ...… 查看全部问答> |
|
“在新能源汽车中,由于技术等原因,混合动力汽车将在短期内呈现量大的发展态势,风头会盖过电动汽车,但从长期来看,电动汽车将是主流。混合动力车与纯电动车市场将并存20~30年。” 奇瑞汽车工程研究院总工程师廖越峰表示。 廖越峰指出:下半 ...… 查看全部问答> |
|
中心议题: 虚拟仪器的定义,它与传统仪器的不同 虚拟仪器硬件性能与传统仪器的比较 虚拟仪器与传统仪器的兼容性介绍 虚拟仪器与综合性仪器的对比介绍解决方案: 对于当前的测量任务,虚拟仪器系统的价格与具有相似功能的传统仪器相差无 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 11:44 编辑 我是这样做的,首先把光盘里的程序进行了一遍,没问题,自收发成功; 然后,我把自收发模式改成了正常模式,即把dsp28_ecan.c中的ECanaShadow.CANMC.bit.STM寄存器由1改为了0; 接着接上示波器,运 ...… 查看全部问答> |




