基于PIC16F877A的数码管显示
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(ge==10){ge=0;sh++;if(sh==10){sh=0;ba++;if(ba==10){ba=0;}}}}}}else
keyb0=0;
//------------------------------------------------------------------------//判断RB1键是否
============//功能描述:主程序//函数名称:voidmain()voidmain()
{keyb0=0;ba=1;sh=2;ge=3;TRISA=0x00;TRISD=0x00;PORTA=0xff;while(1){
key(); dir(); }}
//============================================================
作用,进行减一操作if(RB1==0){delay();if(RB1==0){if(keyb1==0){keyb1=1;
ge--;if(ge==255){ge=9;sh--;if(sh==255){sh=9;ba--;if(ba==255)ba=9;}}}}
}else keyb1=0;}
//============================================================
============//功能描述:判断按键程序//函数名称:voidkey()voidkey(){//---
---------------------------------------------------------------------//判断RB0键是否作用,进
行加一操作if(RB0==0){delay();if(RB0==0){if(keyb0==0){keyb0=1;ge++;
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
============//功能描述:显示程序//函数名称:voiddir()voiddir()
{PORTA=0xfb;//选中个位数码管PORTD=disp[ge];//往个位数码管送数delay();
//延时一段时间,保证亮度PORTA=0xfd;PORRTD=disp[ba];delay(); }
基于PIC16F877A的数码管显示
//数码管显示//★★★★★★★★★数码管显示★★★★★★★★★★★\\//
单征机型号:PIC16F877A//功能描述:采用动态扫描方式,初始时显示123,
当按下RB0时,数值加一,当按下RB1时,数值减一//端口定义:
RA0,RA1,RA2数码管位控制脚,RD口数码管段控制口,RB0加一按键,
RB1减一按键。
#include__CONFIG(0XF73A); //芯片配置字节
constunsignedchar
disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0~9译码char
ba,sh,ge,keyb0,keyb1;void dir();voidkey();
//============================================================
============//功能描述:延时子程序//函数名称:delay);voiddelay(){int
i;for(i=200;i>0;i--);}
//============================================================
keyb0=0;
//------------------------------------------------------------------------//判断RB1键是否
============//功能描述:主程序//函数名称:voidmain()voidmain()
{keyb0=0;ba=1;sh=2;ge=3;TRISA=0x00;TRISD=0x00;PORTA=0xff;while(1){
key(); dir(); }}
//============================================================
作用,进行减一操作if(RB1==0){delay();if(RB1==0){if(keyb1==0){keyb1=1;
ge--;if(ge==255){ge=9;sh--;if(sh==255){sh=9;ba--;if(ba==255)ba=9;}}}}
}else keyb1=0;}
//============================================================
============//功能描述:判断按键程序//函数名称:voidkey()voidkey(){//---
---------------------------------------------------------------------//判断RB0键是否作用,进
行加一操作if(RB0==0){delay();if(RB0==0){if(keyb0==0){keyb0=1;ge++;
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
============//功能描述:显示程序//函数名称:voiddir()voiddir()
{PORTA=0xfb;//选中个位数码管PORTD=disp[ge];//往个位数码管送数delay();
//延时一段时间,保证亮度PORTA=0xfd;PORRTD=disp[ba];delay(); }
基于PIC16F877A的数码管显示
//数码管显示//★★★★★★★★★数码管显示★★★★★★★★★★★\\//
单征机型号:PIC16F877A//功能描述:采用动态扫描方式,初始时显示123,
当按下RB0时,数值加一,当按下RB1时,数值减一//端口定义:
RA0,RA1,RA2数码管位控制脚,RD口数码管段控制口,RB0加一按键,
RB1减一按键。
#include__CONFIG(0XF73A); //芯片配置字节
constunsignedchar
disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0~9译码char
ba,sh,ge,keyb0,keyb1;void dir();voidkey();
//============================================================
============//功能描述:延时子程序//函数名称:delay);voiddelay(){int
i;for(i=200;i>0;i--);}
//============================================================