IT1是选择外部中断1请求(INT1) 为边沿触发方式或电平触发方式的控制位。前一方式IT1=1,后一方式IT1=0,本实验采用了电平触发方式。
(4)通过特殊功能位sbit对两个开关进行位定义,为后续程序做准备。(sbit是指8051片内特殊功能寄存器的可寻地址位)
3、硬件和软件设备
(1)Protues软件中器件:AT89C51芯片、开关、电阻、电容、晶振、发光二极管、直流电源、开关。
(2)Keil软件中外部中断相关程序设计。
4、步骤
(1)先画一个程序框图,有一个大体思路。
(2)对硬件进行设计:选元件、接线、调试等一系列内容。
(3)对软件进行编程:为了实现实验目标,先在程序中写出相关头文件,本实验用到了字符循环左移,所以用到了#include <intrins.h>;然后定义变量,实验用到了开关,对开关进行了位定义;因为要在外部中断0处接一个按钮,作开始按钮,按下后8个LED灯依次闪烁(在中断服务程序中实验),设计一个停止按钮,按下后灯停止闪烁;在主函数中用到了if语句实现了对按钮的控制,让八个灯依次闪烁,用中断函数得到了实现。然后编译调试生成.hex文件,程序设计:
#author:hewang
#qq:207962168
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^2;
sbit k2=P3^3;
char i=100;
void main() //主函数
{
if (k1==0)
{
TMOD=0x01;
TH0=0Xee;
TL0=0x00;
P1=0xfe;
EA=1;
ET0=1;
IT0=0;
TR0=1;
while(1)
{
;
}
}
else {P1=0Xff;}
}
void time0() interrupt 1 //T0的中断函数
{
TH0=0xee; //重新赋初值
TL0=0x00;
i–;
if(i<=0)
{
P1=crol(P1,1) ; //左移1位
i=100; //重置循环次数
}
else if(k2==0)
{
P1=0xff;
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)