单片机源程序如下:
/**********************************************************************/
/**计数器按键**
(1) (2) (3) (4)
(5) (6) (7) (8)
(9) (0) (C) (=)
(+) (-) (*) (/)
10:清零 11:确认 12:加 13:减 14:乘 15:除
**********************************************************************/
//头文件
#include #include //宏定义 #define uchar unsigned char #define uint unsigned int //定义按键返回值 unsigned char keyvalue; //定义数码管段码(共阳) uchar LED[]= { 0xC0,0xF9,0xA4,0xB0, 0x99,0x92,0x82,0xF8, 0x80,0x90 }; //定义数码管位的控制端 uchar tab[]={0,0,0,0}; //IO端口初始化 void IO_init(void) { DDRA = 0XFF; DDRB = 0XFF; DDRC = 0XFF; DDRD = 0XF0; PORTA = 0X00; PORTB = 0X00; PORTC = 0X08; //PORTD = 0XFF; } //8M晶振下,延时1ms void delayms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=1333;y>0;y--); } //数码管显示 void display(uint num) { tab[0]=num%10; //取个位数 tab[1]=num/10%10; //取十位数 tab[2]=num/100%10; //取百位数 tab[3]=num/1000%10; //取千位数 if(num<=9)//检测为小于等于9的在个位数显示 { PORTA=LED[tab[0]]; PORTC=0x08; delayms(1); } if(num>9&&num<=99)//检测为大于9与小于等于99在个十位显示 { PORTA=LED[tab[0]]; PORTC=0x08; delayms(1); PORTA=LED[tab[1]]; PORTC=0x04; delayms(1); } if(num>99&&num<=999)//检测为大于99与小于等于999在个十百位显示 { PORTA=LED[tab[0]]; PORTC=0x08; delayms(1); PORTA=LED[tab[1]]; PORTC=0x04; delayms(1); PORTA=LED[tab[2]]; PORTC=0x02; delayms(1); } if(num>999&&num<=9999)//检测为大于999与小于等于9999在个十百千位显示 { PORTA=LED[tab[0]]; PORTC=0x08; delayms(1); PORTA=LED[tab[1]]; PORTC=0x04; delayms(1); PORTA=LED[tab[2]]; PORTC=0x02; delayms(1); PORTA=LED[tab[3]]; PORTC=0x01; delayms(1); } } //按键扫描 int key_scan(void) { uint j;//按键循环次数变量定义 PORTD=0xEF;// PD端口输出 1111 1110 for(j=0;j<5;j++)//按键检测4次 if((PIND&0x0F)!=0x0F)//按键检测 { delayms(20);//延时消抖 if((PIND&0x0F)!=0x0F)//再次检测 { if((PIND&0x01)==0) //第一个按键按下 keyvalue=1; //返回按键值 1 if((PIND&0x02)==0) //第二个按键按下 keyvalue=2; //返回按键值 2 if((PIND&0x04)==0) //第三个按键按下 keyvalue=3; //返回按键值 3 if((PIND&0x08)==0) //第四个按键按下 keyvalue=4; //返回按键值 4 while((PIND&0x0F)!=0x0F);//等待按键释放 } } PORTD=0xDF; for(j=0;j<5;j++) if((PIND&0x0F)!=0x0F) { delayms(20); if((PIND&0x0F)!=0x0F) { if((PIND&0x01)==0) keyvalue=5; if((PIND&0x02)==0) keyvalue=6; if((PIND&0x04)==0) keyvalue=7; if((PIND&0x08)==0) keyvalue=8; while((PIND&0x0F)!=0x0F); } } PORTD=0xBF; for(j=0;j<5;j++) if((PIND&0x0F)!=0x0F) { delayms(20); if((PIND&0x0F)!=0x0F) { if((PIND&0x01)==0) keyvalue=9; if((PIND&0x02)==0) keyvalue=0; if((PIND&0x04)==0) keyvalue=10; if((PIND&0x08)==0) keyvalue=11; while((PIND&0x0F)!=0x0F); } } PORTD=0x7F; for(j=0;j<5;j++) if((PIND&0x0F)!=0x0F) { delayms(20); if((PIND&0x0F)!=0x0F) { if((PIND&0x01)==0) keyvalue=12;
上一篇:AVR单片机简单计算器的Proteus仿真实现+源码
下一篇:AVR定时器—关于16位的timer1定时器的具体使用
推荐阅读
史海拾趣
由于鞍山圣罗佳(ASL)公司的发展故事涉及公司内部的详细经营信息,这些信息可能涉及到商业机密,因此我无法直接提供具体的五个发展故事。但我可以根据已有的公开信息,为您概述鞍山圣罗佳(ASL)公司在电子行业中的一些关键发展节点和事实。
第一个故事:起源与合资
鞍山圣罗佳高压器件有限公司的成立,源于2003年的一次重要的中外合资合作。这家公司的前身,是拥有三十多年半导体器件生产经验的鞍山市半导体器件厂,而合作伙伴则是美国迪安科技公司。这次合作不仅带来了资金和技术上的支持,更使得鞍山圣罗佳能够站在一个更高的起点上,开始其在高压器件领域的征程。
第二个故事:技术引进与产品创新
鞍山圣罗佳深知技术是企业发展的核心。因此,公司从美国引进了先进的生产设备和生产技术,使得其主导产品——塑封高压二极管的质量和技术水平得到了显著提升。此外,公司还自主研发了多款新型产品,并获得了多个实用新型专利证书。这些创新不仅增强了公司的市场竞争力,也为公司的持续发展注入了新的动力。
第三个故事:市场拓展与出口
随着产品质量的提升和技术的不断创新,鞍山圣罗佳的产品开始受到国内外市场的广泛关注。公司的塑封高压二极管产品不仅在国内市场占有一定的份额,还批量出口到美国、俄罗斯、韩国及欧洲市场。这些出口业绩不仅为公司带来了可观的收益,也进一步提升了公司的知名度和影响力。
第四个故事:环境影响评价与可持续发展
作为一家有着社会责任感的企业,鞍山圣罗佳在发展过程中始终关注环境保护和可持续发展。公司在建设新的生产线时,严格按照环保法规进行环境影响评价,确保生产活动对环境的影响最小化。同时,公司还积极采用环保的生产工艺和材料,推动绿色生产,为电子行业的可持续发展做出了贡献。
第五个故事:团队建设与企业文化
鞍山圣罗佳深知人才是企业发展的根本。因此,公司注重团队建设,通过提供良好的工作环境和福利待遇,吸引和留住了一批优秀的人才。同时,公司还注重企业文化的建设,倡导团结、创新、务实的企业精神,使得员工能够在积极向上的氛围中工作和学习。这种良好的团队建设和企业文化氛围,为公司的稳定发展提供了有力的保障。
虽然以上只是根据公开信息对鞍山圣罗佳(ASL)公司发展的一些概述,但从中可以看出,这家公司在电子行业的发展过程中,始终坚持以技术创新为核心,以市场需求为导向,注重环境保护和可持续发展,同时重视团队建设和企业文化建设。这些因素共同推动了鞍山圣罗佳在电子行业中的稳健发展。
在20世纪90年代初,一家名为“海曼电子”(虚构名称,类似HEIMANN发音)的初创公司在德国慕尼黑成立。创始人海曼博士凭借其在半导体材料领域的深厚研究背景,带领团队成功研发出了一种新型高效能传感器芯片。这种芯片在温度测量领域表现出色,迅速获得了市场的认可。随着技术的不断迭代,海曼电子逐渐在传感器市场占据了一席之地,并通过持续的技术创新,将产品线扩展至光电子、汽车电子等多个领域。
为了进一步提升国际竞争力,Goldentech制定了明确的国际化战略。公司通过设立海外研发中心、销售网络和服务中心,加强与国际市场的联系和沟通。同时,Goldentech还积极参与国际标准的制定和推广工作,提升其在全球半导体行业的话语权和影响力。经过多年的努力,Goldentech已经成功在多个国家和地区建立了完善的业务体系和服务网络,为全球客户提供更加便捷、高效的服务和支持。
随着全球环保意识的不断提高,电子行业对环保材料的需求也日益增长。CUI公司敏锐地抓住了这一市场机遇,积极投入研发,成功开发出了一种绿色环保型的碘化亚铜生产工艺。这种工艺不仅降低了生产过程中的能耗和排放,而且提高了产品的纯度和质量。通过推广这一工艺,CUI公司不仅赢得了客户的青睐,也为行业的绿色发展做出了积极贡献。
随着环保意识的不断提高,Eurohm Resistors公司积极响应绿色发展的号召。公司投入大量资源研发环保型电阻器产品,采用可再生材料和绿色生产工艺,降低产品对环境的影响。同时,公司还积极参与各种环保活动,推动行业的绿色发展。
随着环保意识的不断提高,Eurohm Resistors公司积极响应绿色发展的号召。公司投入大量资源研发环保型电阻器产品,采用可再生材料和绿色生产工艺,降低产品对环境的影响。同时,公司还积极参与各种环保活动,推动行业的绿色发展。
转载:硬件工程师面试试题及答案 [ 2010-7-13 6:19:00 | By: master0722 ] 模拟电路 1、基尔霍夫定理的内容是什么? 基尔霍夫定律包括电流定律和电压定律 电流定律:在集总电路中,任何时刻,对任一节点, ...… 查看全部问答∨ |
MMC::MMCCommandResponse: MMCSendCommand error, command = 17 MMC::MMCCommandResponse: Command Response Error MMCRead: MMCCommandResponse error on READ_SINGLE_BLOCK! read error SDHC: command response timeout CTO! MMC::MMCComman ...… 查看全部问答∨ |
本人在编译uC/OS-II的时候,出现了一个比较难缠的编译错误,望高手指点! 先看OS_CPU.H文件,该头文件包含与cpu有关的定义 typedef unsigned char INT8U; //无符号8位数 复制代码 OS_CFG.H文件 ...… 查看全部问答∨ |
|
设计资源 培训 开发板 精华推荐
- 好消息!返现+抽奖,双重好礼助力openmv技术学习!
- 7月21日有奖直播|ADI开关/多路复用器系列产品的典型应用
- 一大波MCU开发板正在靠近,速来——瑞萨电子设计大赛(2015)
- 了解TE CONNECTIVITY室外照明连接解决方案精彩专题,参与有好礼!
- 谈谈车规级FRAM和德国品质的裸眼3D视频技术
- 是德科技白皮书下载:攻克当前面临的毫米波测试难关
- 有奖直播|基于Source-down技术的全新英飞凌MOSFET,有效提升功率密度,肉眼可见
- MPS探索营 “正经玩技术”!创意征集 | 解锁锂电池充电的无限玩法!
- 下载有礼!是德科技5G精选解决方案,帮您勘破 5G 迷宫!
- Mouser(贸泽电子)初体验,晒单有惊喜