📄 inout_2313._c
字号:
//******************************************************************************
// *
// FileName : inout_2313.c ICCAVR V6.31A编译 *
// Function : 直接键盘驱动并显示程序 *
// Date : 2006-12-11 *
// Version : 1.0 *
// *
// Author : 开关电源 hongtusy@163.com *
// Company : 电子信息技术咨询网 http://www.itsn.cn *
// *
//***************************描述与记事*****************************************
//实验板的AVR程序,直接键盘的使用,可使用F1~F8等8个直接输入键盘。
//说明:
//具体电路可参照试验介绍里的说明。
//使用器件:本实验是为了演示配合杜邦线使用ATtiny2313而特别安排的。
// 使用默认的片内RC振荡器,4MHz
//功能描述:按下PB口相应的按键,PD口对应的LED亮,松开后又恢复原样,同时PA0的蜂鸣器响//
//接线定义:PD接LED(原SW1)输出,PB口(原SW4)键盘输入。PA0口接蜂鸣器。
//使用的开关:SW4-1~7.SW6-1/3/4打开,SW3-5/8为系统复位端。
//杜邦线:本实验就是为了演示杜邦线的使用,这里需要使用8根杜邦线将板上PD口连接至
// LED的输入端PC口,因为2313没有PC口。将杜邦线一端插在SW1后的插针上,
// 另一端插在扩展插座JP2的PD口上。
// 将PA0口()连到SW5-7的蜂鸣器引脚上。
//记事:注意此时需要使用原配的实验套件"双公插针",事先将插针插在扩展插座上。
//******************************************************************************
#include <iot2313v.h> //头文件,ATiny2313单片机的寄存器定义
//注意事项1。PB口和下载口在一起,如果对地连接,很可能会影响下载,需注意。
// 2。矩阵键盘使用SW4-1~8,直接键盘使用SW4-1~7和SW6-3~4开关。
//本程序是为了测试2313用的,刚好可以测试PB口和PD口(只有前7位),
//不过需要用杜邦线将LED灯的PC口接到插座的PD口上。
void main (void)
{
unsigned char i;
DDRD=0xff; //PD口设置为输出,共阴LED灯。
DDRB=0x00; //PB口作为输入,内部上拉
PORTB=0xff;
DDRA=0xff; //蜂鸣器输出。
while(1)
{
PORTD = ~PINB; //PB口的引脚状态读到PD口
if (~PINB)
{
PORTA &= ~(1<<PA0); //让PA0口的蜂鸣器响
}
else
{
PORTA |= 1<<PA0; //让PA0口的蜂鸣器关
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -