- 4
- 0
- 约3.94千字
- 约 10页
- 2017-08-11 发布于重庆
- 举报
单片机利用键盘控制继电器
键盘控制继电器
一、设计任务:实现按键对继电器的控制
二、设计要求:1、用键盘控制单个继电器
2、用键盘控制多个继电器
3、实现按键中断功能
所需原件:
原件名称 数量 9cm*15cm的实验电路板 1 电源插座 1 PNP三极管 2 8M石英晶体 1 22pF电容 2 0—5.8k电位器 1 120电阻 1 1k电阻 2 200k电阻 2 ATmega16单片机 1 SPI程序下载端口 1 继电器 2 发光二极管 4 按键 4 集成电路插座40脚 1 数据下载线 1 排针、跳线 若干 设计步骤
硬件设计
设计要点
1、由于芯片自身电流不能带动继电器工作,故需要加入三极管,对电路的电流进放大,以确保可以驱动继电器。
2、首先考虑的是确保三极管和I/O口不会被反峰电压击穿,故与继电器并联了一个电容,可以对其产生的尖峰电压变化进行有效的过滤。
3、三极管集电极的负载继电器吸合线圈在三极管截止时会产生一个很高的反峰电压,故在继电器两端应并联一个二极管,以释放反峰电压。
4、键盘使用设计要求参见过去的作业。
电路图(详见附带图片)
实物图
软件设计
功能:1、实现芯片对波形频率和幅值的测量、显示
2、实现键盘对频率和幅值之间的转换
程序说明:
否 是
第一个键 第二个键 第三个键
否 是程序内容:
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.7a Evaluation
Automatic Program Generator
?Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
Project :
Version :
Date : 2011/12/22
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:
Chip type : ATmega16
Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include mega16.h
#define Key_mask 0unsigned char key_value,key_line;
void main(void)
{
unsigned char key_temp;
unsigned int i;
PORTC=0x00;
DDRC=0x03;
PORTD=0x1F;
DDRD=0x1E;
while(1)
{
key_line=0
for(i=1;i4;i++)
{
PORTD=~key_line;
PORTD=~key_line;
key_value=Key_maskPIND;
if(key_value==Key_mask) //判定是否有按键按下
key_line=1;
else
{
if(key_line==0 //如果是第一个按键按下
{
while(1)
{
PORTC=0x01;
key_line=0
PORTD=~key_line;
PORTD=~key_lin
您可能关注的文档
最近下载
- 2025第5版共识指南:术后恶心呕吐的管理(概要)解读PPT课件.pptx VIP
- 专题07 5天速记2025年修订版课标新增词汇(知识清单)(背诵版).docx VIP
- 八篇2025年度民主生活会个人“五个方面”对照检查发言材料.docx VIP
- 专题07 5天速记2025年修订版课标新增词汇(知识清单)(默写版) .docx VIP
- 2025年度民主生活会个人对照检查发言材料 八篇.docx VIP
- 04-6 班子对照-高校党委领导班子2025年度民主生活会对照检查材料.docx VIP
- Philips 飞利浦Series 1200 全自动浓缩咖啡机 EP1221 82产品支持与说明书 全自动浓缩咖啡机.pdf
- 2024年枣庄科技职业学院单招职业技能测试题库及答案解析.docx VIP
- 全髋置换术后护理查房 (2).pptx VIP
- 纯碱,新生焕发,景气不减.pdf VIP
原创力文档

文档评论(0)