当前位置:网站首页>Simple operation with independent keys (hey, a little fancy) (keil5)
Simple operation with independent keys (hey, a little fancy) (keil5)
2022-07-05 07:18:00 【After reading thousands of books, you can pick them up and put 】
Just got a brief understanding
sbit Definition *** One pin ***
sfr Definition *** A parallel port ***( Such as P2 Calculate a parallel port , Yes 8 One pin )
#define It's equivalent to changing names ,( Of course, self understanding , I don't know how to say it in technical terms ) For example, this string of code ***P2=0X8f&(P2|0xe0);// open y4 Latch ***, If you don't want to play so long next , Then you can ***#define Y4 P2=0X8f&(P2|0xe0);*** such , Next, you can write ***Y4;*** Just fine . All in all #define Pins and parallel ports cannot be defined .
#include <STC15F2K60S2.H>
sbit s7 = P3^0;// Definition P30 Pin , It can also be used directly P30
sbit s6 = P3^1;// Definition P31 Pin , It can also be used directly P31
/***************************************************/
void initsystem(unsigned char i)// initialization
{
switch(i)
{
case 4:
P2=0X8f&(P2|0xe0);// open y4 Latch
break;
case 5:
P2=0xbf&(P2|0xe0);// open y5 Latch
break;
case 6:
P2=0xdf&(P2|0xe0);// open y6 Latch
break;
case 7:
P2=0xff&(P2|0xe0);// open y7 Latch
break;
case 0:
P2=0x1f&(P2|0xe0);// Close the latch (y4,y5,y6,y7)
break;
}
}
/***********************************************/
void led_control(unsigned char n,unsigned char q)// Control lights (p0 End , Latch )
{
initsystem(q);
P0 = n;
}
/*******************************************/
void Delay (unsigned int t)// Time delay
{
while(t--);
while(t--);
}
/********************************************/
void LED_Running ()// Running lights
{
unsigned char i;
for (i=0;i<3;i++)// All lights are on and off 3 Time
{
led_control(0x00,4);
Delay (60000);
led_control(0xff,4);
Delay (60000);
}
for(i=1;i<8;i++)// The lights come on in turn
{
led_control(0xff<<i,4);
Delay(60000);
}
for(i=1;i<8;i++)// The lights go out in turn
{
led_control(~(0xff<<i),4);
Delay(60000);
}
}
/**********************************************/
void LED_1()// Interval flashing light
{
led_control(0xaa,4);
Delay (10000);
led_control(0x55,4);
Delay (10000);
}
/*********************************************************/
void key_alone()// Press s7 Execute the running light , Press s6 Perform interval flashing
{
if(s7==0)// or P30==0
Delay(60000);
if(s7==0)// or P30==0
{
LED_Running ();
}
if(s7==1)// or P30==1
{
led_control(0xff,4);
}
/**********************************************/
if(s6==0)// or P31==0
Delay(60000);
if(P31==0)// or P31==0
{
LED_1();
}
if(s6==1)// or P31==1
{
led_control(0xff,4);
}
}
/***************************************************/
void main()// The main function
{
led_control(0Xff,4);initsystem(0);// initialization
led_control(0x00,5);initsystem(0);// initialization
while(1)
{
key_alone();
}
}
边栏推荐
- Lexin interview process
- mingling
- Don't confuse the use difference between series / and / *
- Negative number storage and type conversion in programs
- 2022年PMP项目管理考试敏捷知识点(7)
- Use of Pai platform
- PHY drive commissioning - phy controller drive (II)
- Binary search (half search)
- arcpy. SpatialJoin_ Analysis spatial connection analysis
- PHY drive commissioning --- mdio/mdc interface Clause 22 and 45 (I)
猜你喜欢
Ros2 - Service Service (IX)
Chapter 2: try to implement a simple bean container
[software testing] 02 -- software defect management
U-Boot初始化及工作流程分析
Ros2 - workspace (V)
【Node】nvm 版本管理工具
The problem of configuring opencv in qt5.13.2 is solved in detail
Delayqueue usage and scenarios of delay queue
SOC_ SD_ DATA_ FSM
C语言数组专题训练
随机推荐
ModuleNotFoundError: No module named ‘picamera‘
目标检测系列——Faster R-CNN原理详解
How can Oracle SQL statements modify fields that are not allowed to be null to allow nulls?
Mid 2022 documentary -- the experience of an ordinary person
The difference between NPM install -g/-save/-save-dev
SOC_ SD_ CMD_ FSM
Import CV2, prompt importerror: libcblas so. 3: cannot open shared object file: No such file or directory
Chapter 2: try to implement a simple bean container
[software testing] 05 -- principles of software testing
And let's play dynamic proxy (extreme depth version)
Steps and FAQs of connecting windows Navicat to Alibaba cloud server MySQL
Initialization of global and static variables
Ros2 topic (VIII)
Ggplot2 drawing learning notes in R
NPM and package common commands
Ros2 - node (VII)
SD_CMD_RECEIVE_SHIFT_REGISTER
Matlab在线性代数中的应用(四):相似矩阵及二次型
C learning notes
Literacy Ethernet MII interface types Daquan MII, RMII, smii, gmii, rgmii, sgmii, XGMII, XAUI, rxaui