当前位置:网站首页>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();
}
}
边栏推荐
- SD_ CMD_ SEND_ SHIFT_ REGISTER
- [software testing] 05 -- principles of software testing
- Database SQL practice 4. Find the last of employees in all assigned departments_ Name and first_ name
- ImportError: No module named ‘Tkinter‘
- Unconventional ending disconnected from the target VM, address: '127.0.0.1:62635', transport: 'socket‘
- 1290_FreeRTOS中prvTaskIsTaskSuspended()接口实现分析
- Matlab在线性代数中的应用(四):相似矩阵及二次型
- Mathematical analysis_ Notes_ Chapter 8: multiple integral
- 并发编程 — 如何中断/停止一个运行中的线程?
- GPIO port bit based on Cortex-M3 and M4 with operation macro definition (can be used for bus input and output, STM32, aducm4050, etc.)
猜你喜欢
随机推荐
[OBS] x264 Code: "buffer_size“
IPage能正常显示数据,但是total一直等于0
And play the little chestnut of dynamic agent
Logical structure and physical structure
Tshydro tool
Jenkins reported an error. Illegal character: '\ufeff'. Class, interface or enum are required
程序中的负数存储及类型转换
[idea] efficient plug-in save actions to improve your work efficiency
What does soda ash do?
Database SQL practice 4. Find the last of employees in all assigned departments_ Name and first_ name
M2DGR 多源多场景 地面机器人SLAM数据集
SD_CMD_SEND_SHIFT_REGISTER
剑指 Offer 56 数组中数字出现的次数(异或)
[software testing] 06 -- basic process of software testing
(tool use) how to make the system automatically match and associate to database fields by importing MySQL from idea and writing SQL statements
Chapter 2: try to implement a simple bean container
并发编程 — 如何中断/停止一个运行中的线程?
2022 PMP project management examination agile knowledge points (7)
基于Cortex-M3、M4的GPIO口位带操作宏定义(可总线输入输出,可用于STM32、ADuCM4050等)
Implementation of one-dimensional convolutional neural network CNN based on FPGA (VIII) implementation of activation layer



![[untitled]](/img/d5/2ac2b15818cf66c241e307c6723d50.jpg)





