代码:
#include
#define uint unsigned int
#define uchar unsigned char
//sbit A=P2^0;
//sbit B=P2^1;
//sbit C=P2^2;
void delay(uchar);
uchar code table[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
//共阴级数码管字形代码表
void main()
{
//uchar i;
while(1)
{
P2=(0X00)&(0X07); //位选
P0=table[2]; //段选
delay(1);
P2=(0X01)&(0X07);
P0=table[0];
delay(1);
P2=(0X02)&(0X07);
P0=table[0];
delay(1);
P2=(0X03)&(0X07);
P0=table[8];
delay(1);
P2=(0X04)&(0X07);
P0=table[0];
delay(1);
P2=(0X05)&(0X07);
P0=table[8];
delay(1);
P2=(0X06)&(0X07);
P0=table[0];
delay(1);
P2=(0X07)&(0X07);
P0=table[8];
delay(1);
}
}
void delay(uchar y) //延时程序
{
uchar i;
uint j;
for(i=0;i
{
for(j=0;j<100;j++);
}
}
本例显示结果为20080808,具体段位可以根据字码表选择。
关键字:Proteus仿真 共阴极 数码管
引用地址:
proteus仿真8位共阴极数码管显示
推荐阅读最新更新时间:2024-03-16 15:03
89C51单片机按键控制数码管动态显示0~9
1.preteus仿真图 2.keli代码 #include reg51.h sbit key1=P3^0; int CC_num ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int CC_I=0; void delay_ms(int ms) { int i,j; for(i=0;i ms;i++) for(j=0;j 110;j++); } void key1_exam() { if(key1 == 0) { //按钮延时去抖动 delay_ms(20); if(key1 =
[单片机]
18b20配合数码管显示温度
1、效果图
2、代 码
效果图
代码: #include reg52.h
#include intrins.h
sbit DQ = P2^0; //定义总线的I/O管脚
sbit dm = P2^2; //段码
sbit wm = P2^3; //位码
unsigned char hc ={0x3f,0x3f,0x3f}; //显示缓存
unsigned char DM ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~F
unsigned char WM ={0xdf,0xbf,0
[单片机]
数码管动态显示数字
LED数码管动态扫描显示数字(C语言) #include reg51.h sbit P00 = P0 ^ 0; sbit P01 = P0 ^ 1; sbit P02 = P0 ^ 2; sbit P03 = P0 ^ 3; int DATA_LED = { //0~9的数码管段码 A0H,BBH,62H,2AH,39H,2CH,24H,BAH,20H,28H 根据具体电路而定,不通用 0xA0, //0 0xBB, //1 0x62, //2 0x2A, //3 0x39, //4 0x2C, //5 0x24, //6 0xBA, //7 0x20, //8 0x28
[单片机]
STC89C52单片机 点亮两个数码管,可以显示 00——10 共 11 个数字
手动显示 #include reg52.h //包含51头文件 #include intrins.h //包含移位标准库函数头文件 #define uint unsigned int #define uchar unsigned char sbit DU = P2^6;//数码管段选 sbit WE = P2^7;//数码管段选 //共阴数码管段选表0-9 uchar code tabel = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,}; /*==================================== 函数 : del
[单片机]
TM1637数码管显示STC51单片机驱动程序
/* Coder : Farman Date : 2018-01-02 参考了厂家的TM1637数据手册,在此表示感谢。 */ #include STC89C5XRC.h //包含52单片机头文件 #include Delay.h //////////////////////////////////////////////////////////////////////////// sbit I2C_SCL = P2^1; //定义模拟IIC总线的时钟线 sbit I2C_SDA = P2^0; //定义模拟IIC总线的数据线 #define TM1637_BRIGHTNESS 7 // 0 - 7
[单片机]
基于51单片机 红绿灯数码管程序
#include reg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换 #define CtrlPort P1 //定义控制端口 unsigned char code DuanMa ={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90};// 显示段码值0~9 unsigned char code WeiMa ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//分别对应相应的数码管点亮,即位码 un
[单片机]
51单片机的数码管动态扫描方法
1.实验任务 如图4.13.1所示,P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“HELLO”字样。 2.电路原理图 图4.13.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P0.0/AD0-P0.7/AD7用8芯排线连接到“动态数码显示”区域中的a-h端口上; (2).把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; (3).把“单片机系统”区域中的P1.7端口用导线连接到“独立式键盘”区域中的SP1端口上; 4.程序设计内容 (1).动
[单片机]
51单片机超声波模块数码管程序分享
超声波原理简单测距准确,应用广泛下面贴一个自己写的数码管程序,显示部分需要改,写的是我使用的是慧净开发板,共阴数码管。 //超声波模块程序 //Trig = P2^0 //Echo = P3^2 #include #define uchar unsigned char #define uint unsigned int unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //0-9的码表 uint ti me = 0; uintTImeH = 0; uintTImeL = 0; uint succeed_flag;
[单片机]