单纯数码管的显示C程序-用PIC16F877A单片机

发布者:MindfulBeing最新更新时间:2016-11-22 来源: eefocus关键字:数码管  PIC16F877A  单片机 手机看文章 扫描二维码
随时随地手机看文章

单纯数码管的显示C程序
#include   
       #define    HC595_SER     RB7
       #define    HC595_SCK      RB6
       #define    HC595_RCK      RB5
       #define    key_164_data    RB3
       #define    key_164_clk     RB2
       #define    key_com1        RB1
       #define    key_com0        RB0
#define    TURE    1

bit    key_finish;       //定义位变量,这是PICmate仿真软件环境的特有的地方    unsigned int    sample_key;
       unsigned int    sample_keyBuf[2];
       unsigned int    key_value;
       unsigned char key_row_sel;
       unsigned char key_number;//键号
       unsigned int    T100ms;
       unsigned char disbuf[8];
       const unsigned char seven_seg[16]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
       //----------------------------------------------
       void disbuf_update(void)
      {
          //if(key_number>=16)
          //{
               //disbuf[0]=0xff;
               //disbuf[1]=0xff;
               //disbuf[2]=0xff;
               //disbuf[3]=0xff;
               //disbuf[4]=0xff;
               //disbuf[5]=0xff;
               //disbuf[6]=0xff;
               //disbuf[7]=0xff;
               //return;
          //}
           disbuf[0]=seven_seg[1];
           disbuf[1]=seven_seg[2];
           disbuf[2]=seven_seg[3];
           disbuf[3]=seven_seg[4];
           disbuf[4]=seven_seg[5];
           disbuf[5]=seven_seg[6];
           disbuf[6]=seven_seg[7];
           disbuf[7]=seven_seg[8];
       }
       //----------------------------------------------
      //发送一个字节
       void s_pData(unsigned char key)          //形参key对应着实参disbuf[i]
      {
           unsigned char i;
              for(i=0;i<8;i++)
          {
            if(0x80&(key<                 HC595_SER=1;
            else HC595_SER=0;
              HC595_SCK=0;
              HC595_SCK=1;
         }
       }
       //----------------------------------------------
      void display (void)
     {
         unsigned char i;
         for(i=0;i<8;i++)
             s_pData(disbuf[i]);
         HC595_RCK=0;
         HC595_RCK=1;
     }
     //----------------------------------------------

      //主程序
      int main(void)
     {
          PORTB=0;
          TRISB=0x03;
          disbuf_update();
          display();
      }
      //----------------------------------------------

它的电路图可以参考用PIC16F877A单片机驱动按键控制8个数码管的显示电路图.


关键字:数码管  PIC16F877A  单片机 引用地址:单纯数码管的显示C程序-用PIC16F877A单片机

上一篇:用PIC16F877A单片机驱动按键控制8个数码管的显示的C程序
下一篇:Microchip 32位PIC32MZ EF单片机系列喜添新成员

推荐阅读最新更新时间:2024-03-16 15:21

单片机复位电路作用原理以及与置位的区别
关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。 单片机复位电路原理是在单片机的复位引脚rst 上外接电阻和电容,(具体电路可去http://www.51hei.com 首页去搜索复位这两个字有很多),实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由rc电路计算出时间常数。 单片机复位后各寄存器的状态 A=00H,表明累加器已被清零; PSW=00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈
[单片机]
使用51单片机设计一个带语音报数功能的抢答器原理图
现在市面上的抢答器类型很多,带有语音功能的抢答器不是很多且其价格较贵。本文介绍一款带有语音报数功能的抢答器。抢答器由单片机(AT89S52)、语音芯片(ISD2560)、20cm的LED及少数外围元件构成。由于采用单片机,外围电路非常简单,但是功能不比一般的抢答器少。 此抢答器具有防作弊功能、语音报数功能、两组显示功能 。
[单片机]
使用51<font color='red'>单片机</font>设计一个带语音报数功能的抢答器原理图
采用STM32F100VBT6的32位MCU开发析方案设计
STM32F100VBT6采用ARM Cortex™-M3 32位RISC内核,工作频率24MHz,集成了高速嵌入式存储器(闪存高达128kB、SRAM高达8kB)以及各种增强外设和连接到两条APB总线的I/O。所有器件提供两个I2C、两个SPI、一个HDMI CEC和多达3个USART标致通信接口以及一个12位ADC、两个12位DAC和六个通用16位定时器和PWM定时器。主要用在控制和用户接口、医疗设备、PC和游戏机外设、GPS平台、工业应用、PLC、逆变器、打印机、视频通信和HVAC等。 图1 STM32F100xx系列方框图 STM32F100xx简介 低/中密度、基于ARM的高级32位MCU,带有16 kB ~128kB
[单片机]
采用STM32F100VBT6的32位<font color='red'>MCU</font>开发析方案设计
基于AT89S52单片机实现激光雷达门控控制系统的软硬件设计
介绍了基于 AT89S52的激光雷达门控控制系统的工作原理,并着重讨论系统硬件和软件的实现方法。系统采用 AT89S52单片机为核心,配置以数字电位器、光电耦合器、单稳态触发器等部件,控制光电倍增管门控开关的时间,从而实现对激光雷达测量的起始点和结束点的实时调控。 前言 激光雷达能够对大气中的气溶胶、二氧化碳、臭氧、水气等进行高时空分辨率、实时、大范围地测量,因此越来越受到环保和气象部门的重视。目前,用于气象要素和环境污染检测的激光雷达技术发展很快。激光雷达必定会在大气参数和环境污染检测方面扮演重要的角色。要使激光雷达的测量范围尽可能的大,必须控制好雷达光电倍增管(PMT)门控的开关门时间,以满足各种测量的要求。如果能很好地解
[单片机]
基于AT89S52<font color='red'>单片机</font>实现激光雷达门控控制系统的软硬件设计
基于单片机的A/D数字电压表设计
工作原理: ADDA/ADDB/ADDC 输入3位地址,并使ALE=1,将地址存入地址锁存器中 ALE:地址锁存允许信号接入端,高电平时允许改变CBA的值,低电平时锁死,防止在A/D转换过程中切换通道 地址经译码选通8路模拟输入IN0~IN7之一到比较器,输入与被选通道关系 START端上升沿将逐次逼近寄存器复位,下降沿启动A/D转换 EOC输出信号变低电平,表示正在转换;当A/D转换完成,EOC变为高电平,结果数据已存入锁存器。 OE输入高电平,输出三态门打开,转换结果的数字量输出到数据总线上。 OE=1时,D0-D7引脚上为转换后的数据,当OE=0时,D0-D7为对外呈现高阻状态 p.s. 其他引脚: I
[单片机]
基于<font color='red'>单片机</font>的A/D数字电压表设计
51单片机外部中断处理源程序
//--------------------------------------------------- #include reg52.h //--------------------------------------------------- //重定义I/0引脚名称 sbit led1=P1^1; sbit led2=P1^2; sbit led3=P1^3; sbit led4=P1^4; sbit P32=P3^2; //--------------------------------------------------- //全局变量及位标志定义 bit FINT0; bit FINT1; bit FT0; bit
[单片机]
基于SPE61A单片机的非接触式高压试电笔的设计
本文详细解密了了以SPE61A单片机为核心开发新式验电器的设计思想和方法。文章首先从单片机硬件方面介绍了系统的硬件组成结构和原理。接着在单片机软件方面介绍了系统的整个工作流程和设计思路。 设计思想与总体方案 1 非接触式验电器的设计思想 本次开发的验电器主要用于铁路中高压输电线路的监测工作,其设计要求是监测铁路中高压线路的运行情况,要求能正确判断高压线是否带电,并将有电、无电信号通过发光二极管显示出来,同时还要发出相应状态的语音提示信息。 另外,验电器通常安装在室外,因此本装置还要满足室外工作的要求。 2 总体设计方案和框图 本验电器以SPE61A单片机作为检测和控制核心。装置采用铜片式传感器监测高压线附近电场,将电场
[单片机]
基于SPE61A<font color='red'>单片机</font>的非接触式高压试电笔的设计
电力载波通信控制终端设计
  电力线载波(PLC)通信是指利用现有电力线,通过载波方式将模拟或数字信号进行传输的技术。然而,以下缺点导致PLC的主要应用——“电力上网”未能大规模应用。 配电变压器对电力载波信号有阻隔作用; 三相电力线间有很大信号损失(10~30dB); 不同信号耦合方式对电力载波信号损失不同; 电力线存在固有的脉冲干扰; 电力线对载波信号造成高削减。   技术问题未来有可能被克服,但是从目前国内宽带网建设的情况来看,留给PLC的时间和空间并不宽裕。家庭智能系统的研究给PLC带来了新的机遇。该系统以PC为核心实现家电的智能控制。因为数据仅在家庭范围传输,束缚PLC应用的五大困扰将不复存在,远程对家电的控制我们也能通过传统网络先
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved