当前位置:网站首页>Nine Qi single chip microcomputer ny8b062d single key control four LED States
Nine Qi single chip microcomputer ny8b062d single key control four LED States
2022-07-04 23:51:00 【51CTO】
/* =========================================================================
* Project: Single key control 4 Kind of LED state
* File: Single key control 4 Kind of LED state
* Description: Single key control 4 Kind of LED state
*
*
* Author: Jimp
* Version: V1.0
* Date: 2020/05/22
=========================================================================*/
//--------------- File Include ---------------------------------------------
//--------------------------------------------------------------------------
#include <ny8.h>
#include <stdint.h>
#include "ny8_constant.h"
#define UPDATE_REG(x) __asm__("MOVR _" #x ",F")
#define unchar unsigned char
#define unint unsigned int
uint8_t myvar;
__sbit flag = myvar:0; // Define the control operator
__sbit key = PORTB:0;
__sbit light1 = PORTA:7;
__sbit light2 = PORTA:6;
unchar Mod; // Define the lighting mode
void isr(void) __interrupt(0)
{
if(INTFbits.T0IF)
{
static unsigned int cnt= 0;
TMR0 = 0;
INTF= (unsigned char)~(C_INT_TMR0); // Clear T0IF flag bit
cnt ++;
if(cnt >= 250)
{
cnt = 0;
light1 = ~light1;
light2 = ~light2;
}
}
}
void lnit_Mod() // Initialization function
{
IOSTA = ~IOSTA; // Set up A The mouth is the output
PORTA = 0xFF;
IOSTB = C_PB0_Input;
flag = 1;
key = 1;
Mod = 0;
light1 = 0;
light2 = 0;
}
void lnit_Timer() // Interrupt initialization
{
DISI(); // Disable interrupt
PCON1 = C_TMR0_Dis;
TMR0 = 0;
T0MD = C_PS0_TMR0 | C_PS0_Div8; // Pre frequency division is allocated to TMR0
INTE = C_INT_TMR0;
ENI(); // Enable interrupt
}
void delay(unint z) // The time delay function ms
{
unint x,y;
for(x = z;x > 0;x--)
for(y = 100;y > 0;y--);
}
void lnput_Mod() // State mode marker function
{
if(Mod == 4)
Mod = 0;
if(key == 0)
{
delay(5);
if(key == 0) // Delay chattering
Mod++; // The number of keystrokes is marked
}
while(!key) // Let go of the test
{;;}
}
void run() //4 Execution in three modes
{
switch(Mod)
{
case 0:{PCON1 = C_TMR0_Dis;light1 = 0;light2 = 0;}break; // All bright
case 1:{PCON1 = C_TMR0_En;}break; // Synchronous flashing
case 2:{PCON1 = C_TMR0_Dis;light1 = 1;light2 = 1;}break; // Total destruction
case 3:{PCON1 = C_TMR0_Dis;light1 = 0;light2 = 1;PCON1 = C_TMR0_En;}break; // Asynchronous flash
}
}
void main(void)
{
lnit_Mod();
lnit_Timer();
while(1)
{
lnput_Mod();
if(flag == 1) // control RUN function
{
run();
if(Mod == 1||Mod == 3)
flag = 0;
}
if(Mod == 0||Mod == 2)
flag = 1;
}
}
边栏推荐
- 壁仞科技研究院前沿技术文章精选
- Pict generate orthogonal test cases tutorial
- 业务实现-日志写到同一个行数据里面
- 22-07-02周总结
- 企业公司项目开发好一部分基础功能,重要的事保存到线上第一a
- 「运维有小邓」域密码策略强化器
- French scholars: the explicability of counter attack under optimal transmission theory
- 城市轨道交通站应急照明疏散指示系统设计
- Go step on the pit - no required module provides package: go mod file not found in current directory or any parent
- Illustrated network: what is gateway load balancing protocol GLBP?
猜你喜欢

Observable time series data downsampling practice in Prometheus

PMP证书续证流程
![[IELTS reading] Wang Xiwei reading P4 (matching1)](/img/91/1b3f85410035f65acb0c205185f698.png)
[IELTS reading] Wang Xiwei reading P4 (matching1)

45 year old professor, she threw two super unicorns

How to avoid arc generation—— Aafd fault arc detector solves the problem for you

雅思考试流程、需要具体注意些什么、怎么复习?

45岁教授,她投出2个超级独角兽

机器人强化学习——Learning Synergies between Pushing and Grasping with Self-supervised DRL (2018)

C language to quickly solve the reverse linked list

How to do the project of computer remote company in foreign Internet?
随机推荐
公司要上监控,Zabbix 和 Prometheus 怎么选?这么选准没错!
uniapp 除了数字,其他输入无效
Qualcomm WLAN framework learning (30) -- components supporting dual sta
How to use fast parsing to make IOT cloud platform
Mysql database backup and recovery -- mysqldump command
[JS] - [sort related] - Notes
Réseau graphique: Qu'est - ce que le Protocole d'équilibrage de charge de passerelle glbp?
Tester's algorithm interview question - find mode
Instructions for go defer
雅思考试流程、需要具体注意些什么、怎么复习?
Every time I look at the interface documents of my colleagues, I get confused and have a lot of problems...
巩固表达式C# 案例简单变量运算
In June, the list of winners of "Moli original author program" was announced! Invite you to talk about the domestic database
Application of multi loop instrument in base station "switching to direct"
JS 将伪数组转换成数组
[crawler] XPath for data extraction
Servlet+jdbc+mysql simple web exercise
OSEK standard ISO_ 17356 summary introduction
Jar batch management gadget
Data on the number of functional divisions of national wetland parks in Qinghai Province, data on the distribution of wetlands and marshes across the country, and natural reserves in provinces, cities