历史上的今天
返回首页

历史上的今天

今天是:2025年01月18日(星期六)

正在发生

2020年01月18日 | AVR单片机键盘程序设计

2020-01-18 来源:elecfans

#i nclude《90s8515.h》

#define uchar unsigned char

#asm

equ __LCD_port=0x18 ;PORTB

#endasm

#i nclude

#i nclude

/************按键功能说明:0--9为数字键 ********/

#define cEnter 16 //确认键

#define cFuntion 15       //功能菜单键

#define cDown 14        //上,下选择键

#define cUp 13

#define cRn_Stop 12 //运行/停止切切实实换键

#define cDel 11 //删除

uchar lcd_buffer[33];

uchar getkey(void)

{

uchar key_temp;

PORTC|=0x07; //向PORTC.0--PORTC.2写入高电平

DDRC=0x00; //把PORTA设置为输入模式

key_temp=PINC&0x07; //读取PORTA.0--PORTA.2上的值并屏蔽其它位

/*****如果K0---K6按下,key_temp就为相应的键值,如果K7--K15按下,则读入PINC.0--PINC.2都为高电平,key_temp==7

然后PORTC.0--PORTC.2依次输出低电平,判断K7--K15那个键按下**********/

if(key_temp==7) //判断K7--K9是否按下

AVR单片机键盘程序设计

{

DDRC|=0x01; //设置PORTC.0输出0

PORTC&=0xfe;

DDRC&=0x00;

key_temp=PINC&0x07;

key_temp=(key_temp+1)/2+7;

if(key_temp==10) //判断K10--K12是否按下

{

DDRC|=0x02; //设置PORTC.1输出0

PORTC&=0xfd;

DDRC&=0x00;

key_temp=PINC&0x07;

key_temp=(key_temp+1)/2+10;

if(key_temp==13) //判断K13--K15是否按下

{

DDRC|=0x04; //设置PORTC.2输出0

PORTC&=0xfb;

DDRC&=0x00;

key_temp=PINC&0x07;

key_temp+=13;

}

}

}

return key_temp;

}

void init()

{

PORTB=0x00; //PORB的初始化

DDRB=0x00;

DDRC=0x00;

// LCD module iniTIalizaTIon

lcd_init(16);//清屏并把显示坐标设定在0列0行

}

void main()

{

uchar result;

init();

result=getkey();

sprintf(&lcd_buffer[2],“%c”,result);

lcd_gotoxy(0,4);

lcd_putchar(lcd_buffer[2]);

while(1);

}

推荐阅读

史海拾趣

AiT Semiconductor Inc公司的发展小趣事

AiT公司的创立源自一群对半导体技术充满热情的工程师。他们看到了半导体行业巨大的市场潜力和技术挑战,决心成立一家公司,专注于半导体产品的研发和生产。在创立初期,公司面临资金短缺、市场竞争激烈等诸多困难,但凭借着对技术的执着追求和不懈努力,他们成功开发出了一系列高性能、高品质的半导体产品,逐渐在市场中站稳脚跟。

ANADIGICS公司的发展小趣事

对于半导体行业来说,产品质量是企业的生命线。AiT公司一直注重质量管理,从原材料采购到产品生产、检测等各个环节都严格把关。他们引进了先进的质量管理体系和检测设备,确保每一件产品都符合高标准的质量要求。同时,公司还建立了完善的客户服务体系,及时解决客户在使用过程中遇到的问题。这些举措使得AiT公司的产品在市场上赢得了良好的口碑和客户信任。

Blue Giga公司的发展小趣事

为了扩大市场份额和提升品牌影响力,Blue Giga积极寻求与各行业领导者的合作。它与微软、谷歌、英特尔等知名企业建立了战略合作伙伴关系,共同推动物联网和无线连接技术的发展。这些合作不仅为Blue Giga带来了更多的商业机会,也提升了其在行业中的地位。

BH Electronics公司的发展小趣事

近年来,随着环保意识的提高,BH Electronics积极响应国家绿色发展的号召,开始了绿色转型之路。公司加大了对环保技术的研发和应用力度,推出了一系列绿色环保产品。同时,BH Electronics还优化了生产流程,减少了能源消耗和废物排放。这些举措不仅提升了公司的环保形象,也为公司的可持续发展注入了新的动力。

这五个故事只是BH Electronics发展历程中的一部分,但它们却生动地展现了这家公司在电子行业中的崛起之路。从初创时期的筚路蓝缕,到技术创新的突破;从国际化战略的拓展,到品质管理的提升;再到绿色发展的转型,BH Electronics始终保持着敏锐的市场洞察力和不懈的创新精神。正是这些因素的共同作用,使得BH Electronics能够在激烈的市场竞争中脱颖而出,成为电子行业中的佼佼者。

绿索超容(GreenSource)公司的发展小趣事

BH Electronics的创立源于创始人李明对电子技术的深厚兴趣和敏锐洞察。在20世纪90年代初,电子市场刚刚起步,李明凭借对市场的精准判断,决定投身于这一新兴行业。他带领一支小团队,在简陋的办公室中开始了艰苦的创业历程。他们昼夜兼程,研发出了一款具有竞争力的电子元件,成功打开了市场的大门。虽然初期资金匮乏,市场认可度低,但李明和他的团队凭借坚韧不拔的精神,逐步在市场中站稳了脚跟。

Avic公司的发展小趣事

随着全球化的推进,Avic公司不断加强与国际航空工业界的合作。公司与多家国际知名航空企业建立了战略合作关系,共同开展航空电子技术的研发和生产。这些合作不仅促进了中国航空工业与国际先进水平的接轨,也为中国航空工业的国际化发展提供了有力支持。

问答坊 | AI 解惑

麻烦推荐个运放,能测出1mV左右电压,失真比较小~~

本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata   麻烦推荐个运放,能测出1mV左右电压,失真比较小 用OP07可以不? …

查看全部问答>

KEIL下LPC1114代码运行问题

用keil编码1114的i2c,我在设置了编译优化选项之后出现了巨大的问题。索性,在取消掉所有的优化选项后i2c通信已经正常。   可惜结果仍然不正确,我就跟代码。这时候才发现一个无法理解的问题。我在funcA()里调用funcB()时传入一个静态myVar ...…

查看全部问答>

疑问

   大家好,我现在跟同学一起做一个有关嵌入式的东西,就是想让平台上的图像在触摸屏幕上显示出来,用软件来实现 希望大家能多多指导!!…

查看全部问答>

有关CDMA模块的AT指令问题

如题,公司用的是ANTDATA公司出的DTGS-800模块,虽然也带有文档说明,但我觉得不够详细,所以特来发帖提问,希望大家踊跃发言,问题如下: 1、读取短信的时候,怎样才能不改变短信的状态呢?例如,执行了以下AT命令 AT+UGSM=1 返回OK(DTGS-800支 ...…

查看全部问答>

求助:PWM输出8.2KHZ1:1的方波,为什么在4.3K有个的很强频率分量

设置如下: unsigned short pwmizhouqi=256;   LPC_TMR16B1->TCR = 0;      LPC_SYSCON->SYSAHBCLKCTRL |= (1PIO1_9 = 0X01;   LPC_TMR16B1->MR0 = pwmizhouqi/2;       LPC ...…

查看全部问答>

求教

MSP430f2XX  系列单片机能不能用并口JTAG下载程序?一定要用USB  二线制的吗?谢谢…

查看全部问答>

LaunchPad调试nrf24l01--续

原帖不能编辑了,就新开一帖在这里,望斑竹谅解   目前为止,基于launchpad和nrf24l01的单向收发已经实现,程序在下面放出,还有很多要改进的,仅供参考。欢迎高手拍砖。   学习经历: 1.收到板子后查了下资料,发现很丰富啊,于是 ...…

查看全部问答>

单片机编程

http://wenku.baidu.com/view/eeb3310d6c85ec3a87c2c586.html…

查看全部问答>

MPLAB IDE和PICC编译问题。

我用的是MPLAB ICE和PICC编译PIC16F722,之前编译什么的都没问题,重装系统后再安装后就再也编译不成功了,提示No installed compiler driver supports device 16F722。 编译PIC16F505没有问题。每次点Project-Select Language Toolsuite后HI-TECH ...…

查看全部问答>