请选择 进入手机版 | 继续访问电脑版

EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 550|回复: 0

[转帖] 数码管的驱动

[复制链接]

83

主题

19

回帖

275

E币

技术员

Rank: 2

积分
185
发表于 2017-4-25 13:58:15 | 显示全部楼层 |阅读模式
#include<pic.h>               //包含单片机内部资源预定义
#include "DelayMs.h"
__CONFIG(0x3B31);
//定义常数0-9的数据表格
const unsigned char TABLE[] = {0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7c,0x7,0x7f,0x6f};
void Display(unsigned char num,unsigned char data)            
{
PORTD = TABLE[data]; //取出数据,送D口显示
PORTC = 0x01;
switch(num)
{
  case 0:
   PORTA = 0x01;
   break;
  case 1:
   PORTA = 0x02;
   break;
  case 2:
   PORTA = 0x04;
   break;
  case 3:
   PORTA = 0x06;
   break;
  case 4:
   PORTA = 0x08;
   break;
  case 5:
   PORTA = 0x0A;
   break;
  case 6:
   PORTA = 0x0C;
   break;
  case 7:
   PORTA = 0x0E;
   break;

  default:
   PORTA = 0x00;
}
DelayMs(1);
}
/*void main()               
{
unsigned char i;
TRISD = 0;     //portd 输出
   TRISA = 0;     //porta 输出
TRISC = 0;     //porta 输出
PORTC = 0x01;     //74HC138控制端口
while (1)         //死循环,让数码管持续点亮
{
  for(i=0;i<8;i++)
  {
   Display(i,i+1);
   DelayMs(3);
  }
}
}
*/
积分规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-3-29 15:49 , Processed in 0.037453 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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