英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 4326|回复: 0
打印 上一主题 下一主题

PICC六位数码管从左到右显示0123456六位数字

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-18 18:01:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//实验目的:熟悉多位数码管动态扫描显示的方法。
//六位数码管从左到右显示0123456六位数字。
//硬件要求:拨码开关S5、S6全部置ON。其他拨码开关全置OFF。
#include<pic.h>              //包含单片机内部资源预定义
__CONFIG(0x1832);        
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡

void  delay();              //delay函数申明
void  init();               //I/O口初始化函数申明
const char TABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92};  //定义常数0-5的数据表格

void main()                 //主函数
   {
   
     while(1)                //死循环,让数码管持续点亮
       {
         init();             //调用初始化函数
         PORTD=TABLE[0];     //D口输出数据表格第1个数据0
         PORTA=0X3E;         //点亮第1位数码管
         delay();            //延时一定时间,保证数码管亮度
         PORTD=TABLE[1];     //显示数据1(同数据0)
         PORTA=0X3d;
         delay();
        
         PORTD=TABLE[2];     //显示数据2(同数据0)
         PORTA=0X3b;
         delay();
         PORTD=TABLE[3];     //显示数据3(同数据0)
         PORTA=0X37;
         delay();
         PORTD=TABLE[4];     //显示数据4(同数据0)
         PORTA=0X2f;
         delay();
         PORTD=TABLE[5];     //显示数据5(同数据0)
         PORTA=0X1f;
         delay();
        }
    }         
void init()                 //I/O口初始化函数
   {
    TRISA=0X00;             //设置A0输出,其他输入
    TRISD=0X00;             //设置D口输出
    ADCON1=0X07;            //设置A口为普通I/O口
    PORTA=0xff;            
    PORTD=0xff;             //先熄灭所有显示
   }
   
void  delay()              //延时程序
    {
     int i;                 //定义整形变量
     for(i=0x100;i--;);     //延时
    }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-12-25 22:13 , Processed in 0.050781 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表