java如何使实验箱蜂鸣器响_按键按一次蜂鸣器响一次的单片机程序
/********************************************************
*描述:按下第一个按键8个小灯点亮,再次按下熄灭,按下第二个按键蜂鸣器响一次
QQ:597627977
********************************************************/
#define _MAIN_C
#include "main.h"
/*******************************************************************************
* 文件名:位定义
* 描 述:
* 功 能:
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
bit flag500ms = 0;//500ms翻转一次
bit staBuzzer = 0;
/*******************************************************************************
* 文件名:主循环入口
* 描 述:
* 功 能:
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void main(void)
{
uint8 i = 0;
Bsp_Power_Init();//LED端口初始化
Timer0Init(); //定时器0初始化函数
Timer1Init(); //1毫秒@11.0592MHz
LED0 = 1;//第一组LED
while(1)
{
KeyDriver();//按键扫描
if(flag_key1)
{
flag_key1 = 0;
P2 = ~P2;
}
if(flag_key2)
{
flag_key2 = 0;
KeyBeepState(1);//按键响
}
}
}
/*******************************************************************************
* 文件名:void Bsp_Power_Init()
* 描 述: 数码管上电显示
* 功 能:编程模块化
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void Bsp_Power_Init(void)
{
EA = 1;
// IE = 0xa8;//允许AD转换
P0M1 = 0xFC;
P0M0 = 0X03;
P0 = 0X00;
P1M1 = 0xE0;
P1M0 = 0X1F;
P1 = 0X00;
//P2口开漏输出
P2M1 = 0XFF;
P2M0 = 0XFF;
P2 = 0Xff;
// //P54,P55口为推挽输出
P5M1 = 0X00;
P5M0 = 0X00;
P5 = 0xFF;
//P37,P36,3.2,P3.3 P3.4口为推挽输出
P3M1 = 0X00;
P3M0 = 0XFC;
P3 = 0X23;
}
/*******************************************************************************
* 文件名:void Timer0Init(void)
* 描 述: 定时器0配置
* 功 能:编程模块化
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void Timer0Init(void) //1毫秒@11.0592MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xf0; //设置定时器模式
TMOD |= 0x01; //设置定时器模式
TL0 = (65535 - 1000) % 256;//设置定时初值
TH0 = (65535 - 1000) / 256;//设置定时初值
ET0 = 1; //打开定时器0中断使能
TR0 = 1; //定时器0开始计时
EA = 1; //打开总中断使能
}
/*******************************************************************************
* 文件名:void Timer0Init(void)
* 描 述: 定时器1配置
* 功 能:编程模块化
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void Timer1Init(void) //1毫秒@11.0592MHz
{
AUXR &= 0xBF; //定时器时钟12T模式
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x10; //设置定时器模式,写这个表示不是自动重载模式
TL1 = 0x66; //设置定时初值
TH1 = 0xFC; //设置定时初值
ET1 = 1; //定时器1中断
TR1 = 1; //定时器1开始计时
EA = 1; //开总中断使能
}
/*******************************************************************************
* 文件名:void Timer0_inter(void) interrupt 1
* 描 述: 定时器0中断服务函数
* 功 能:
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void Timer0_inter(void) interrupt 1
{
//自动重载,初值可以不需要写
TL0 = (65535 - 1000) % 256; //设置定时初值
TH0 = (65535 - 1000) / 256; //设置定时初值
Beep();
}
/*******************************************************************************
* 文件名:void Timer1_inter(void) interrupt 3
* 描 述: 定时器1中断服务函数
* 功 能:
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void Timer1_inter(void) interrupt 3
{
//自动重载,初值可以不需要写
TL1 = (65535 - 1000) % 256; //设置定时初值
TH1 = (65535 - 1000) / 256; //设置定时初值
KeyScan();//按键扫描1ms
}
/*******************************************************************************
* 文件名:void Beep(void)
* 描 述: 蜂鸣器模块子函数
* 功 能:
* 作 者:大核桃
* 版本号:1.0.1(2017.05.23)
*******************************************************************************/
void Beep(void)
{
static uint8 tmr1ms = 0;
static uint16 tmr1s = 0;
if(staBuzzer)
{
tmr1ms++;
if(tmr1ms >= 1)
{
tmr1ms = 0;
BEEP = ~BEEP;
tmr1s++;
}
if(tmr1s >= 200)//延时时间长短
{
tmr1s = 0;
staBuzzer = 0;
}
}
else
{
BEEP = 1;
}
}
/*******************************************************************************
* 文件名: void KeyBeepState(bit sta)
* 描 述: //1开按键音 0关闭按键音
* 功 能:模块化编程
* 作 者:大核桃
* 版本号:1.0.1(2015.03.03)
*******************************************************************************/
void KeyBeepState(uint8 sta)
{
if(sta)
{
staBuzzer = 1;
}
else
{
staBuzzer = 0;
}
}
java如何使实验箱蜂鸣器响_按键按一次蜂鸣器响一次的单片机程序相关推荐
- java怎么使两个界面联系_怎么样用java编写界面实现两个数的加法运算
详细代码为: import java.util.scanner; public class jisuanqi { public static void main(string[] args) { in ...
- java会使电脑越来越慢吗_电脑越来越慢很卡怎么办
我们都知道,电脑随着用的时间久,安装的各种软件越来越多,系统的各种垃圾与缓存.或者中毒等都会造成电脑非常的慢,有时候会出现卡的现象,那这个时候怎么办呢?怎么来给自己的电脑提速呢? 当系统变慢的时候,我 ...
- dell服务器一直连响4声,戴尔电脑开机滴滴响_戴尔电脑开机滴滴响4声
2016-06-04 19:30:26 重新插拔下内存看看,有可能是内存问题. 2017-01-03 15:01:00 AMI BIOS响铃声的一般含义是: 1. 一短声,内存刷新失败.内存损坏比较严 ...
- 石头扫地机器人加速异响_米家扫地机器人有异响怎么办
大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 米家扫地机器人有异响的解决方法如下: 1.米家扫地机器人有异响,一般是主刷盖异响的问题: 2.首先,准备两块厚度不到1mm的硬纸板 ...
- stm32无源蜂鸣器定时器_使用STM32控制无源蜂鸣器发声播放音乐
[实例简介] 利用GPIO控制无源蜂鸣器发声,播放音乐.使用SysTick延时,使用位带操作寻址IO口引脚. [实例截图] [核心代码] pMusic ├── CMSIS │ ├── core_c ...
- linux pwm控制蜂鸣器 滴滴_第七章----pwm蜂鸣器
Linux代码的重用: 在头文件中加载即可使用到原来所有的功能,还有动态方式就是一个驱动使用另一个驱动的资源. 对于像蜂鸣器这样的实验,它的内部文件有很多,所有要有很多的源代码以用于妥善管理. 有多个 ...
- srm32f4按键蜂鸣器_STM32F407通过按键控制LED和蜂鸣器
STM32F4--GPIO基本知识 GPIO基本认识 STM32F4共7组I/O,每组I/O有16个I/O口. 每组IO的通过10个32位寄存器控制,分别控制I/O的配置.功能和数据等内容. 其中部分 ...
- 通信原理实验箱QY-JXSY48
一.装置简介 QY-JXSY48通信原理综合实验箱扩展了PCM时分复用.解复用及帧定位模块功能,增加了噪声源模块.卷积编译码模块.键盘液晶显示模块.MODEM通信接口和计算机通信接口模块,加强了模块间 ...
- python调用电脑蜂鸣器一直响_调用系统蜂鸣器方法
调用系统蜂鸣器方法: 1.cmd命令:echo echo ^G>d:\w.bat(输入时^G是组合键Ctrl+G输入的): 2.双击D盘下w.bat即可,以后在其他文件中引用可以复制粘贴过去即可 ...
最新文章
- python基础学习22----协程
- spring:如何用代码动态向容器中添加或移除Bean ?
- ML之FE:在模型训练中,仅需两行代码实现切分训练集和测试集并分离特征与标签
- Android程序获得APP哈希值,Android – SMS Retriever API – 计算应用程序的哈希字符串问题...
- SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法...
- POJ - 2400 Supervisor, Supervisee(KM+打印方案)
- 计算机操作系统模拟试题,最新考研计算机-操作系统模拟试题.doc
- leetcode题解46-全排列
- android app resign之后安装提示INSTALL_PARSE_FAILED_NO_CERTIFICATES的解决办法
- 【c++ templates读书笔记】【4】技巧性基础知识
- Python3中如何做的自定义模块的引用?
- PostGreSQL8.0.0中文手册
- wordpress安全_保持WordPress网站安全的48种方法
- Hbuilder X npx browserslist@latest --update-db
- php调用会员头像,phpcms v9模版如何调用会员头像_CMS系统建站教程
- 开关为什么要过零检测?内附带代码
- 云和恩墨多个标杆案例入选《2021年信创产业发展报告》,将持续推动数据库产业进步...
- 论文笔记-高速无人机网络MAC协议
- vue3使用tinymce编辑器
- JNLP文件及JWS
热门文章
- P2B: Point-to-Box Network 点云目标跟踪(CVPR 2020)
- spring注入----反射模式
- 指针,引用之间的关系
- 命名管道 win7未响应_大数据分析Python建立分析数据管道
- UpSetR:多数据集绘图可视化处理利器
- MPB:亚热带生态所葛体达组-原位酶谱法高分辨率实时检测土壤微界面酶活分布...
- MPB:中科院生态环境中心邓晔组-从环境样本中提取高质量DNA-研磨加DNeasy试剂盒方法...
- MPB:深大李猛组-基于PacBio SMRT三代测序的红树林沉积物真菌群落的研究
- EID-:宏病毒组技术在新发腹泻病毒鉴定中的应用
- Linux Shell Tips小技巧