历史上的今天
今天是:2025年03月05日(星期三)
2020年03月05日 | 单片机实验期末考试-使用两个外部中断控制8只LED显示的电路
2020-03-05 来源:eefocus
在51单片机的某一IO口上接8只LED,在外部中断0输入P3.2(INT0)引脚接一只按钮开关K1,在外部中断1输入P3,.3(INT1)引脚接一只按钮开关K2。要求K1和K2未按下时,8只LED呈流水灯逐一动态显示【方向自定义】,当K1按下时,8只LED奇数偶数位交替闪烁,按下K2时,8只LED以特定时间间隔动态的显示你的学号,多个学号以特定花型。
#include "SST89x5x4.h"
#include "Intrins.h"
unsigned int arr1[8] = {0x03, 0x01 , 0x04, 0x01, 0x04, 0x00, 0x04, 0x02};
unsigned int arr2[8] = {0x03, 0x01 , 0x04, 0x01, 0x04, 0x00, 0x05, 0x08};
void delay()
{
unsigned int x;
for(x = 0; x < 0xFFFF; x++);
}
void int0_isr() interrupt 0
{
unsigned char j;
for(j = 0; j < 4; j++)
{
P1 = 0xAA;
delay();
P1 = ~P1;
delay();
}
}
void int2_isr() interrupt 2
{
unsigned char j;
for(j = 0; j < 8; j++)
{
P1 = arr1[j];
delay();
delay();
delay();
}
P1 = 0xFF;
delay();
delay();
delay();
for(j = 0; j < 8; j++)
{
P1 = arr2[j];
delay();
delay();
delay();
}
}
void LSD()
{
int i;
P1 = 0x01;
delay();
for(i = 0; i < 7; i++)
{
P1 = _crol_(P1, 1);
delay();
}
}
void main()
{
P1 = 0x00;
IT0 = 1;
EX0 = 1;
IT1 = 1;
EX1 = 1;
EA = 1;
while(1)
{
LSD();
}
}
史海拾趣
|
如题 小弟刚接触WINCE 不久 想知道一些基本的处理字符串的方法 比如:拼字符串 \"i love \" + str + \"!!!\" 象这样的,你们一般怎么实现的??… 查看全部问答> |
|
wince下,如何区分通过ras拨号连接GPRS的接入点:是连接到cmnet,还是连接到cmwap? wince下,如何区分通过ras拨号连接GPRS的接入点:是连接到cmnet,还是连接到cmwap?… 查看全部问答> |
|
library ieee; use ieee.std_logic_1164.all; entity jkff is port(j,k,cp,r,s:in std_logic; q,qb :out std_logic); end jkff; architecture rtl of jkff is signal q_temp :std_logic:=\'0\'; ...… 查看全部问答> |
|
没有注意要加防死锁代码,把端口E写为C了,一个小失误,导致配置成GPIOC1端口,无法JTAG了,芯片被锁死了,倒霉,TI的例程里怎么没有防死锁的代码?太倒霉了,就打错了一个字母~~~~~~~~~~~~~… 查看全部问答> |
|
ADC10(含用C# + TeeChart开发的仪表盘上位机) ADC10实验例程(含C#上位机) https://bbs.eeworld.com.cn/thread-309162-1-1.html 之前写的一个串口上位机,昨晚摸索着弄了一个带仪表盘的。 TeeChart是Steema公司出品的一个控件工具,支持.net、Java、PHP等开发。因为使用的是图形化 ...… 查看全部问答> |
|
有关根据规范书测试条件进行MOS管的自测试技巧!欢迎大家补充! 作为一个模拟电路设计者来说,有时对MOS管在选用和比对的过程中经常会遇到测试的问题。有时看着MOS管规范书上的术语和测试条件,有时感觉无从下手。 现在就MOS管自测试的2个项目,供大家参考!抛砖引玉,欢迎网友们进行补充。 [ 本帖 ...… 查看全部问答> |




