当前位置:首页 > 单片机 > 单片机
[导读] #include__CONFIG(0x1832);constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90};//定义常数0-9的数据表格 volatileunsignedcharresult=0,temp=0,f=0;volatileunsignedinttotal=0,ge

#include
__CONFIG(0x1832);
constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90};//定义常数0-9的数据表格

volatileunsignedcharresult=0,temp=0,f=0;
volatileunsignedinttotal=0,ge=0,shi=0,bai=0,qian=0,c=1;
voiddelay();//delay函数申明
voidinit();//I/O口初始化函数申明
voidsCAN();//按键扫描程序申明
voiddisplay(unsignedintx);//显示函数申明
//---------------------------------------------------
//主程序
voidmain()
{
init();//调用初始化子程序
while(1)//循环工作
{

scan();
display(result);
}
}

//---------------------------------------------------
//初始化函数
voidinit()
{

ADCON1=0X07;//设置A口为普通I/O口
TRISA=0B00000000;//设置A口高2位为输出,低4位为输入
TRISC=0B11110000;//设置C口高4位为输入,低4位为输出
TRISD=0X00;//设置D口为输出
PORTA=0XFF;
PORTD=0XFF;//先清除所有显示
}

//-----------------------------------------------3---
//按键扫描程序
voidscan(){
PORTC=0xff;
RC3=0;{if(RC4==0)result=1;if(RC5==0)result=2;if(RC6==0)result=3;if(RC7==0)result=4;}


PORTC=0xff;
RC2=0;{if(RC4==0)result=5;if(RC5==0)result=6;if(RC6==0)result=7;if(RC7==0)result=8;}


PORTC=0xff;
RC1=0;{if(RC4==0)result=9;if(RC5==0)result=10;if(RC6==0)result=11;if(RC7==0)result=12;}


PORTC=0xff;
RC0=0;{if(RC4==0)result=13;if(RC5==0)result=14;if(RC6==0)result=15;if(RC7==0)result=16;}
//if(temp!=result){f++;if(f==1)qian=1000*result;if(f==2)bai=100*result;if(f==3)shi=10*result;if(f==4)ge=result;}if(f==4)while(1){total=ge+shi+bai+qian;display(total);}

}

//----------------------------------------------------------
//显示程序
voiddisplay(unsignedintx)//电压显示函数
{

unsignedintg,s,b,q;//定义6个临时变量
//temp=result;c=1;
q=x/1000;
b=x%1000/100;//求显示的千位
s=x%100/10;//求显示的百位
g=x%10;//求显示的十位

PORTD=TABLE[q];//显示一个小数点
PORTA=0B11111110;//RA0输出低电平,点亮千位显示
delay(1);

PORTD=TABLE[b];//查表得百位显示的代码
PORTA=0B11111101;//RA1输出低电平,点亮百位显示
delay(1);//延时一定时间,保证显示亮度

PORTD=TABLE[s];//查表得十位显示的代码
PORTA=0B11111011;//RA2输出低电平,点亮十位显示
delay(1);//延时一定时间,保证亮度

PORTD=TABLE[g];//查表得十位显示的代码
PORTA=0B11110111;//RA3输出低电平,点亮十位显示
delay(1);//延时一定时间,保证亮度

PORTD=0xff;

}
//------------------------------------------------------------------
//延时程序
voiddelay()//延时程序
{
inti;//定义整形变量
for(i=0x100;i--;);//延时
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着电脑科技的飞速发展,作为电脑输入设备的重要组成部分,键盘的种类和功能也在不断演变。其中,机械键盘以其出色的手感、长久的使用寿命和高度个性化的特点,深受众多电脑用户的喜爱。而机械键盘的核心——键盘轴,更是决定键盘使用体...

关键字: 电脑 键盘 机械

pic单片机应用很多,生活中到处都有pic单片机的身影。小编个人也是从事pic单片机开发的人员之一,对于pic单片机有一定的理解。今天,小编将带领大家一起看一下pic单片所具备的8大优势。

关键字: pic 单片机 寄存器

键盘包括编码键盘和非编码键盘两种。编码键盘带有能够自动识别按键的硬件电路,当按键被按下闭合时,硬件可以提供按键的编号(也被称“键值”),这种键盘使用方便,但是硬件复杂,价格相对较高。非编码键盘不附带按键识别电路,需要利用...

关键字: 键盘 人机交互 编码键盘 非编码键盘

自俄乌冲突爆发之后,以苹果、戴尔、三星等为代表的科技企业,纷纷暂停了自己在俄罗斯当地的相关业务。在被这些企业断供之后,俄罗斯当地遇到了“以键盘为代表的PC外设出现缺货”的困扰。

关键字: PC 键盘

英国里士满2022年7月11日 /美通社/ -- 2022年7月11日,高性能电子产品压力传感触控用户界面的领先创新者Peratech公司宣布,其全系列压力传感技术将应用于最新的联想Legion 7i和7(16...

关键字: 联想 键盘 TE IO

上海2022年6月9日 /美通社/ -- 近期,雪碧视觉形象更新换代,以更加简洁清爽的白绿配色酷爽再出发,旋即发起了一场具有里程碑意义的全球营销活动"Heat Happens"(燥不可挡 酷爽以对)。...

关键字: BSP APP 大屏 键盘

摘要:为了实现智能仪表的人机交互功能,提出了一种采用具有串行接口的键盘显示驱动芯片TML638来对LED数码管及键盘进行管理的设计方案,给出了TM1638与单片机STC11F02进行接口的具体硬件设计方案和软件设计思想。

关键字: TM1638 数码管 键盘 智能仪表 显示电路

在这篇文章中,小编将为大家带来小米米物智能语音键盘的相关报道。

关键字: 米物智能语音键盘 键盘 智能

SpiceJet 成为首家借力Q400客机提升盈利潜力的航空公司 加拿大多伦多, Sept. 24, 2018 (GLOBE NEWSWIRE) -- Bombardier Commercial

关键字: pic ce

树莓派400(Raspberry Pi 400)将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 树莓派400 树莓派 键盘
关闭
关闭