访问电脑版页面

导航:老古开发网手机版Pic单片机PIC16系列单片机

PIC16F877A单片机数码管数值循环显示设计

导读:
关键字:
数码管,PIC16F877A,单片机,

//数码管显示

//★★★★★★★★★数码管显示★★★★★★★★★★★\\

//单征机型号:PIC16F877A

//功能描述:采用动态扫描方式,初始时显示123,当按下RB0时,数值加一,当按下RB1时,数值减一

//端口定义:RA0,RA1,RA2数码管位控制脚,RD口数码管段控制口,RB0加一按键,RB1减一按键。


 

#include

__CONFIG(0XF73A); //芯片配置字节

const unsigned char disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0~9译码

char ba,sh,ge,keyb0,keyb1;

void dir();

void key();

//========================================================================

//功能描述:延时子程序

//函数名称:delay);

void delay()

{

int i;

for(i=200;i》0;i--);

}

//========================================================================

//功能描述:主程序

//函数名称:void main()

void main()

{

keyb0=0;

ba=1;

sh=2;

ge=3;

TRISA=0x00;

TRISD=0x00;

PORTA=0xff;

while(1)

{

key();

dir();

}

}

//========================================================================

//功能描述:判断按键程序

//函数名称:void key()

void key()

{

//------------------------------------------------------------------------

//判断RB0键是否作用,进行加一操作

if(RB0==0)

{

delay();

if(RB0==0)

{

if(keyb0==0)

{

keyb0=1;

ge++;

if(ge==10)

{

ge=0;

sh++;

if(sh==10)

{

sh=0;

ba++;

if(ba==10)

{ba=0;}

}

}

}

}

}

else keyb0=0;

//------------------------------------------------------------------------

//判断RB1键是否作用,进行减一操作

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;

}

//========================================================================

//功能描述:显示程序

//函数名称:void dir()

void dir()

{

PORTA=0xfb; //选中个位数码管

PORTD=disp[ge]; //往个位数码管送数

delay(); //延时一段时间,保证亮度

PORTA=0xfd;

PORTD=disp[sh];

delay();

PORTA=0xfe;

PORTD=disp[ba];

delay();

}

来源:工程师周亮   作者:lhl545545  2018/12/21 14:49:00
栏目: [ PIC16系列单片机]

相关阅读

PIC16F631/677是从8/14引脚单片机向20引脚器件移植的理想选择

PIC16F877A的T0定时器制作的电子钟程序

基于PIC16F73微处理器和RS485总线实现感应式智能电子门锁系统的设计

如何利用PIC16F877A单片机读写AT24C系列储存器

nRF24L01无线模块在PIC16F877单片机上的应用解析

PIC16F874单片机为中心处理器的直流电机调速设计

PIC16F87X系列单片机引起内部复位的条件和原因分析

基于PIC16F628单片机的PVS控制系统设计

PIC16F877单片机原理图设计及应用

基于PIC16F877的新型二线制温度变送器

PIC16F84单片机控制电风扇的设计

PIC16F877A单片机对24X24点点阵屏的驱动设计

PIC16F877A PICC AD转换程序

基于PIC16F877单片机的电子秤包装机控制系统

pic16f877a c语言时钟程序

全球主流8位MCU芯片详细解剖No.3:微芯 PIC16F877

基于PIC16F628A的入侵探测装置

PIC16F877的矩阵键盘

基于PIC16F628单片机的便携式电子秤

PIC16F877A开发板 SPI总线驱动74595实验