[汇编]74LS164驱动4位共阳数码管代码[汇编]74LS164驱动4位共阳数码管代码
#include "reg52.h"#define u16 unsigned int #define u8 unsigned char sbit CLK=P2^0; sbit DAT=P2^1; u8 code tab[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9 全灭
// 函数声明
void Send_Byte(u8 byte); void Delay_ms(u16 z); ...
[汇编]74LS164驱动4位共阳数码管代码
#include "reg52.h"#define u16 unsigned int #define u8 unsigned char sbit CLK=P2^0; sbit DAT=P2^1; u8 code tab[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9 全灭
// 函数声明
void Send_Byte(u8 byte); void Delay_ms(u16 z); void Display(u16 number);
// 主函数
void main()
{
while(1)
{
Display(1111);
Delay_ms(3000); // Display(2222); // Delay_ms(3000);
}
}
// 数码管显示函数
void Display(u16 number) {
u8 qian, bai, shi, ge;
qian = number/1000;
Send_Byte(qian);
Delay_ms(5);
bai = number%1000/100;
Send_Byte(bai);
Delay_ms(5);
shi = number%100/10;
Send_Byte(shi);
Delay_ms(5);
ge = number%1000;
Send_Byte(ge);
Delay_ms(5);
}
//发送数据函数
void Send_Byte(u8 byte) {
u8 num, d;
num = tab[byte];
for(d=0; d<8; d++)
{
CLK = 0;
DAT = num&0x01;
CLK = 1;
num >>= 1;
}
}
//延时函数
void Delay_ms(u16 z){
u16 x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
本文档为【[汇编]74LS164驱动4位共阳数码管代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。