历史上的今天
返回首页

历史上的今天

今天是:2025年08月04日(星期一)

正在发生

2018年08月04日 | PIC单片机之按键错误汇总

2018-08-04 来源:eefocus

1、主程序入口MIAN如果定义成VOID类型则会出现语句错误提示,程序无法编译,请使用如下语句:

int main(int argc, char const *argv[])
{
/* code */
return 0;
}

2、按键在定义时,对端口的定义尽量使用高电平置位,防止不必要的麻烦,(低电平情况下出现程序显示数字1,按键无响应)程序如下:

#include
#define uchar unsigned char
const  uchar d_code[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF};
void delay(uchar n);
void init(void);
uchar key(void);
void display(uchar number);
int main(void){
init();
while(1){
display(key());
}

void delay(uchar n){
uchar i,j;
for(i=n;i>0;i--)
for(j=123;j>0;j--);

void init(void){
ANSELC=0;
ANSELD=0;
TRISC=0;
TRISD=0x78;//01111000
PORTC=0;
PORTD=1;
}
uchar key(void){
uchar key_number=0;
PORTDbits.RD7=1;
delay(5);
if(PORTDbits.RD3==1){
delay(1);
if(PORTDbits.RD3==1){
key_number=1;
}
}
else if(PORTDbits.RD4==1){
delay(1);
if(PORTDbits.RD4==1){
key_number=2;
}
}
else if(PORTDbits.RD5==1){
delay(1);
if(PORTDbits.RD5==1){
key_number=3;
}

else if(PORTDbits.RD6==1){
delay(1);
if(PORTDbits.RD6==1){
key_number=4;
}

else{
key_number=0;
}
return key_number;
}
void display(uchar number){
PORTDbits.RD0=1;
PORTC=d_code[number];
delay(5);
}


推荐阅读

史海拾趣

Gustav Klauke GmbH公司的发展小趣事

Gustav Klauke GmbH在电子行业中的五个发展故事

故事一:创立与电气时代的崛起

1879年,Gustav Klauke GmbH在德国雷姆沙伊德成立,正值第二次工业革命带来的“电气时代”大爆发。创始人Gustav Klauke凭借其对精工品质的执着追求,将公司的业务聚焦于电气连接技术和电缆作业工具的研发。随着全球电气工业的迅速发展,Klauke迅速成为该领域的佼佼者,为供电系统的各个环节提供可靠且实用的解决方案,满足了社会对电气产品日益增长的多元化需求。

故事二:产品创新与多元化发展

历经百年开拓,Klauke的产品线不断丰富和完善。从最初的钟表维修钳子,到电缆接线端子的生产,再到电池驱动的液压工具的研发,Klauke始终走在行业前沿。特别是1994年推出的首款电池驱动液压工具,标志着公司在电气连接技术上的重大突破。至今,Klauke已拥有多达280种工具,2000多个型号,超过10000个优质部件,广泛应用于电力、铁路和工业等多个领域。

故事三:品质与认证的国际认可

Klauke深知电气连接作业对安全可靠性的极高要求,因此始终将产品质量放在首位。公司不仅拥有IEC(国际电工委员会)、UL(美国保险商试验所)、DNV(挪威船级社)和GL(德国劳氏船级社)等特殊行业的权威资质认证,还通过严格的产品测试报告,确保每一款产品都能达到国际最高标准。这种对品质的坚持,让Klauke在全球客户中赢得了极高的信誉和口碑。

故事四:全球化布局与业务拓展

随着全球市场的不断扩大,Klauke积极实施全球化战略。从德国本土出发,公司在全球范围内设立了多个分公司和销售办事处,如印度、奥地利、西班牙等。同时,公司还通过并购和合作等方式,不断拓展业务领域和市场份额。例如,2018年Gustav Klauke GmbH被艾默生收购,现隶属于“专业工具”部门,这一举措进一步提升了公司在全球电气工具市场的竞争力。

故事五:未来展望与技术创新

面对未来,Klauke继续秉承德国精工品质的优良传统,致力于技术创新和服务优化。公司正密切关注物联网和工业4.0等下一代趋势,并制定相应的战略计划。例如,新型电池供电液压工具配备了蓝牙接口,实现了移动数据读取和工具配置的便捷性。此外,Klauke还计划推出更多高适应性、精准性的电气连接解决方案,以更好地满足全球日益多元的施工作业需求。展望未来,Klauke将继续向下一个百年目标迈进,为电子行业的发展贡献更多力量。

Eureka Microelectronics Inc公司的发展小趣事

Eureka一直重视研发实力的提升和技术创新。公司拥有一支专业的研发团队,致力于新技术的研发和应用。近年来,Eureka在人工智能、物联网等领域取得了多项技术突破,推出了一系列具有竞争力的新产品。这些技术的突破和应用,不仅提升了Eureka的产品性能和质量,也推动了公司在行业内的领先地位。

Chiplus Semiconductor Corp公司的发展小趣事

在21世纪初,全球半导体行业蓬勃发展,台湾地区的IC设计领域也呈现出勃勃生机。在这样的背景下,晶发半导体的创始人蒲文豪怀揣着对低功率SRAM领域的深厚热情,于2002年创立了Chiplus Semiconductor Corp.(晶发半导体)。蒲文豪曾在一家专攻低功率SRAM的公司工作,深知这一领域的潜力和市场需求。他立志要做低功率SRAM领域的领军者,为全球客户提供卓越的产品和服务。

Communications & Power Industries公司的发展小趣事

随着全球化进程的加速,CPI意识到要想在电子行业中取得更大的发展,必须积极拓展国际市场。公司积极寻求与国际知名企业的合作机会,通过技术共享和市场合作,成功打开了多个海外市场。同时,CPI还加强了与国际研究机构的合作,不断引进先进的技术和管理经验,提升了自身的竞争力。这些国际合作不仅为CPI带来了更多的商业机会,也推动了公司在全球范围内的品牌传播和市场拓展。

Compound Photonics公司的发展小趣事

经过几年的努力,Compound Photonics在LCoS领域取得了显著的进步,成为了业内知名的LCoS方案商之一。公司的技术与产品得到了市场的广泛认可,成功应用在Lumus最新的二维扩瞳模组中。这次合作不仅提升了Compound Photonics的市场地位,也为其带来了可观的商业回报。

General Transistor Corp公司的发展小趣事

随着技术的不断进步,GTC意识到仅仅作为分销商已无法满足市场需求。于是,公司开始逐步涉足电子元器件的生产领域,专注于研发和生产具有自主知识产权的产品。通过持续的技术创新和研发投入,GTC成功推出了一系列高性能的晶体管、集成电路等新产品,进一步丰富了其产品线。这些产品不仅在国内市场受到好评,还逐渐走向国际市场。

问答坊 | AI 解惑

ISE® Design Suite 软件最新手册 3月6日更新

[td]ISE Design Suite 11: Installation, Licensing, and Release Notes (PDF) [/td][td][/td] [ 本帖最后由 心仪 于 2010-3-31 14:15 编辑 ]…

查看全部问答>

常用电源设计技巧图解

本文罗列了八个电源工程师常用的电源设计技巧。助您的设计一臂之力!…

查看全部问答>

用vs2005开发的程序的打包问题

有一个.exe文件,还有几个文本文件,现在想打个包,不知道该怎么打 最好是那种可以和安装程序一样的,打开之后安装,然后就可以使用啊 …

查看全部问答>

如何写mfc程序来和单片机通信,比如通过MFC程序来控制led灯什么的

如何写mfc程序来和单片机通信,比如通过MFC程序来控制led灯什么的。如果有源程序的话发一个。。。谢谢了。。…

查看全部问答>

怎么论坛头顶的飞思卡广告点不动?

怎么论坛头顶的飞思卡广告点不动?如下图 [ 本帖最后由 vvv9876 于 2011-3-27 23:30 编辑 ]…

查看全部问答>

【嵌入式培训】凌阳爱普培训资料大放送之---嵌入式linux平台开发

凌阳爱普培训资料大放送之---嵌入式linux平台开发 …

查看全部问答>

定位一组数据中的最小值或最大值

现有并行输入的8个数据。要找到其中的最大值和最小值,并给其定位,比较大小没问题,关键是定位问题没有解决,请大家帮帮忙,谢谢…

查看全部问答>