历史上的今天
返回首页

历史上的今天

今天是:2024年08月31日(星期六)

2020年08月31日 | 51单片机驱动CT1642数码管显示源程序

2020-08-31 来源:51hei

拆解电视机顶盒找到带CT1642控制的数码管 在网上找到代码修改了一下 没有解决按键检测的问题  可根据自己的需求修改对应引脚

制作出来的实物图如下:
IMG_20200801_113426.jpg?imageView2/2/w/550 IMG_20200801_113432.jpg?imageView2/2/w/550

单片机源程序如下:

sbit DAT=P2^2;

sbit CLK=P2^1;

sbit KEY=P2^0;

u8 NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

u8 NixieTablepos[]={0,0x02,0x04,0x08};

void CT1642_Write(u8 Pos, u8 Val)

{

u8 i,Posn;

// 1、移18位:对应C1--C4、6位空、Q2--Q9

Posn=~Pos;

for(i=0; i<4; i++)//C1--C4

{

  DAT=Posn & 0x01;

  Posn >>= 1;

  CLK=0;         CLK=1;

}

for(i=0; i<6; i++)//6位空

{

  DAT=1;

  CLK=0;         CLK=1;

}

for(i=0; i<8; i++)//Q2--Q9

{

  DAT=Val & 0x01;

  Val >>= 1;

  CLK=0;         CLK=1;

}

// 2、锁存

CLK=1; DAT=0;         DAT=1;

// 3、输出

CLK=0; DAT=0;         DAT=1;

}


void NixieTabledisplay(unsigned int number)//ct1642数码管显示数字

{

  CT1642_Write(NixieTablepos[1],NixieTable[number%10]);

        number/=10;

        Delayms(1);

  CT1642_Write(NixieTablepos[2],NixieTable[number%10]);

        number/=10;

        Delayms(1);

        CT1642_Write(NixieTablepos[3],NixieTable[number%10]);

        Delayms(1);

}


void NixieTabledisplayonoff(u8 state)

{

        if(state)//显示ON

        {CT1642_Write(NixieTablepos[1],0x37);

        Delayms(1);

        CT1642_Write(NixieTablepos[2],0x5C);

        Delayms(1);

        }

        else//显示OFF

        {

         CT1642_Write(NixieTablepos[1],0x71);

        Delayms(1);

  CT1642_Write(NixieTablepos[2],0x71);

        Delayms(1);

        CT1642_Write(NixieTablepos[3],0x5C);

        Delayms(1);

        }

        

}


推荐阅读

史海拾趣

华瓷(Chinocera)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,华瓷始终坚持创新引领的发展战略。公司加强与高校、科研机构的合作,共同研发新型陶瓷材料和生产技术。同时,华瓷还积极引进国内外先进的生产设备和制造工艺,不断提升自身的产业水平和核心竞争力。

AITSEMI公司的发展小趣事

为了进一步提升竞争力,AITSEMI公司积极寻求与产业链上下游企业的战略合作。通过与晶圆制造、封装测试等环节的领军企业建立紧密的合作关系,AITSEMI不仅确保了稳定的供应链和优质的产品质量,还成功实现了产业链的垂直整合,为公司的长远发展奠定了坚实的基础。

Digital公司的发展小趣事

DIALIGHT公司的故事始于1938年的纽约布鲁克林,当时该公司专注于为飞机生产仪表板灯。随着技术的不断进步和市场的变化,公司在1971年,即LED推出仅一年后,推出了他们的第一个LED产品。这一举措标志着DIALIGHT正式从传统的飞机仪表板灯制造转向LED照明技术的研发和应用。从此,DIALIGHT彻底改变了LED的用途,将其广泛应用于世界各地的交通控制、指示灯、结构塔和工业场所,为全球提供了优质的照明解决方案。

Fortiming Corporation公司的发展小趣事

背景:在电子行业,优质的客户服务是建立品牌忠诚度和口碑的关键。

发展:Fortiming始终将客户放在首位,致力于为客户提供全方位的优质服务。公司建立了完善的售后服务体系,确保客户在使用过程中遇到任何问题都能得到及时解决。同时,Fortiming还通过举办技术交流会、提供定制化解决方案等方式,加深与客户的合作关系,提升品牌形象。这些努力使得Fortiming在客户心中树立了良好的品牌形象,为公司的长期发展奠定了坚实基础。

请注意,以上故事是基于Fortiming Corporation作为电子行业中晶振供应商的一般发展路径和趋势进行构想的,具体细节可能因实际情况而有所不同。

ELMEC Technology Of America Inc公司的发展小趣事

随着产品的不断完善,ELMEC开始考虑如何进一步拓展市场。然而,国际市场的竞争异常激烈,ELMEC的产品面临着来自各大跨国公司的挑战。为了打开市场,李明带领团队深入调研,了解客户需求,不断优化产品性能。同时,他们还积极参加各类国际展会,与潜在客户建立联系。经过几年的努力,ELMEC的产品逐渐获得了市场的认可,销售额也稳步增长。

Hifn Inc公司的发展小趣事

在ELMEC Technology Of America Inc公司初创时期,创始人李明和他的团队面临着一个巨大的挑战:如何开发一款能在市场上脱颖而出的电子产品。经过无数次的实验和失败,他们最终成功研发了一款高效能、低功耗的半导体芯片。这款芯片的问世不仅为公司带来了第一笔可观的收入,也奠定了ELMEC在电子行业的技术领先地位。

问答坊 | AI 解惑

ISD1110、1420语音录放电路

ISD1110的/PLAYL、/PLAYE、/REC、A7和A6内部有上拉电阻,A5~A0内部有下拉电阻。因此R6、R7和R8不用接;不分段的话,地址也不必接地。按键和A7、A6接地会产生100微安的电流。 三、工作模式 1、单段录放音模式: 单段录放音时,需全部地址线 ...…

查看全部问答>

基于单片机的可画图智能小车

看到这个题目大家觉得如何下手?我是新手,希望大家给点思路(如单片机如何选择,用C语言编写的程序等),谢谢! 一、设计任务:制作一部可画简单图形的智能小车,小车带一支水彩笔,可在全开白纸上画出各种图形。 二、设计要求: 1.基本要求 ...…

查看全部问答>

quartusII8.1/90破解补丁

附件中有quartusII8.1和9.0的破解软件,可以用。…

查看全部问答>

SPLL几个问题,求助

我在作三相电网的软件锁相环(见附图),碰到一些问题。 1)输入电压如果很低时,如01pu时,SPLL无法锁定,得重新调整参数,想适应0.1pu~1.0pu工作范围有没有什么好办法,方法最好运算量不大,可以用C2000软件实现? 2)3s/2r变换的输入输出关系 ...…

查看全部问答>

arm板如何加入局域网

各位大侠,我是个wince的初学者,我有个gec2410的arm板,wince5.0的系统,想做一个数据库异构的应用程序,查了很多资料,确定了方法应用web service,想问问大侠们,如果应用web service需要网络支持吗?我只用usb线连接板子和pc是否可以?再有如何 ...…

查看全部问答>

买51单片机应该怎么说?

去买51单片机,应该怎么说,卖的人会不会反问你要什么型号的?应该怎么回答呢…

查看全部问答>

如何在PB添加已编译好的DLL文件?

本人刚开始学习驱动,写了一个简单的驱动,已经编译通过并生成了dll文件,但是想添加到PB中,但是没法下手,劳烦哪位大哥指点一二,谢谢!!…

查看全部问答>

WinCE上 如何设置一个进程的优先级?

WinCE上 线程的优先级是可以设置的,请问如何设置一个进程的优先级? …

查看全部问答>

风火轮触摸板快速使用指南~

收到触摸板了,很精致,板子带说明书:我来给一些懒人讲下怎么快速使用这块板子,高手跳过。首先焊接好LaunchPad主板的两排排针,估计大部分朋友早已经焊接好了。其次把板子上原来的单片机取下来,换成触摸板套件自带的那块儿MSP430G2452单片机。再 ...…

查看全部问答>

AM335x 与FPGA 通信

最近开发一个项目,利用AM335x与FPGA通讯。已经调试成功了。但是有点疑问。利用cs1控制片选,在linux中并没有在GPMC_CONFIG1_7中设置基地址和大小。但是申请内存后,发现cs1对应的内存基地址为0x1000000,大小为16M。很奇怪,应该是linux中哪个地方 ...…

查看全部问答>