历史上的今天
返回首页

历史上的今天

今天是:2025年11月12日(星期三)

正在发生

2022年11月12日 | 【51单片机】 数据管显示HELLO

2022-11-12 来源:csdn

软件准备+硬件准备

软件:

1.Keil软件v6.12(与书中版本保持一致方便学习,如果喜欢别的版本也可以下载别的)



2. STC-ISP(将十六进制代码写到单片机上)


硬件:TX-1C(书本推荐,并非本人广告)


【学习单片机,你起码得有块单片机的板子吧…也不一定是自己的,借别人的也可以】


HELLO.程序

#include

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;                           //申明U1锁存器的锁存端

sbit wela=P2^7;                           //申明U2锁存器的锁存端

  

void delayms(uint xms){                  //延时函数

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}                    

void main()

{

while(1)

{

dula=1;

P0=0x76;               //送段选数据,显示H

dula=0;                

P0=0xff;               //原来段选数据通过位选锁存器造成混乱,专业术语叫"消影"

wela=1;                

P0=0xfe;               //送位选数据

wela=0;        

delayms(1);            //延时

 

dula=1;

P0=0x79;              //送段选数据,显示E

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delayms(1);

 

dula=1;

P0=0x38;              //送段选数据,显示L

dula=0;

P0=0xff;

wela=1;

P0=0xfb;

wela=0;

delayms(1);

 

dula=1;

P0=0x38;               //送段选数据,显示L

dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delayms(1);

 

dula=1;

P0=0x3f;               //送段选数据,显示0

dula=0;

P0=0xff;

wela=1;

P0=0xef;

wela=0;

delayms(1);

 

 

dula=1;

P0=0x80;               //送段选数据,显示.

dula=0;

P0=0xff;

wela=1;

P0=0xDf;

wela=0;

delayms(1);

}

 

}


如果你是初学者,对其中的一些概念还不太清楚的话,那么就继续往下看。如果和我差不多的话,也可以继续看下,帮我纠正我理解上的错误~(蟹蟹)


一步一步读代码

头文件reg52.h

里面放的是定义52单片机中特殊功能寄存器的位寄存器的


(不是51单片机吗怎么变成52了,其实两者差不多52就比51多了个T2定时器)


在Keil软件中,输,右键->Open Document就可以看到头文件中的详细内容。


接下来的定义宏我就不细说了。


再接下来就是两个锁存器的声明


什么是锁存器?

就是用来控制数据的输出输入状态的。具体原理看下面:


74HC573(锁存器)引脚图

真值表:


(L:低电平H:高电平X:任意电平Z:高阻态(电平由于它相连的其他电气决定)Q0:上次的电平状态)

OE 的专业术语为三态允许控制端(低电平有效),通常叫做输出使能端,或输出允许端。


1D-8D:为数据输入端


1Q-8Q:为数据输出端


LE:为锁存允许段或锁存控制端


总结:总的来说,当OE为高电平的时候,不论锁存和数据输入端是什么状态,输出都是高阻态,就是不可控。(所以一般OE都为低电平)


当OE为低电平的时候,LE也为低电平的时候,不论输入什么输出都是上一次输出的状态不会改变。但当LE为H的是什么输出和输入是一致的。


所以不想改变输出的值的时候就应该把LE设为L如果想改变就把LE设为H。


C51数据类型扩展定义

sfr        特殊功能寄存器的数据声明,声明一个8位的寄存器


sfr16   16位特殊功能寄存器的数据声明


sbit       特殊功能位声明,也就是声明某一个特殊功能寄存器中的某一位


bit 位变量声明,当定义一个位变量时可以使用此符号


例:sfr SCON=0x98;


0x98是串行口控制寄存器的开始地址,所以这样声明和赋值之后,SCON就具有此寄存器的功能可以直接对变量的操作来操作寄存器。


所以你要定义某个变量时需要知道那个寄存器的位置来去使用它。


现在来解释代码的意思


sbit dula=P2^6;     声明U1锁存器的锁存端(P2^6)用dula这个变量名表示


sbit wela=P2^7;     声明U2锁存器的锁存端(P2^7)用wela这个变量名表示


延时函数

理解这个含义我们首先要来了解一下单片机中的几个周期


时钟周期(振荡周期):定义为时钟频率的倒数就是单片机外接晶振的频率的倒数。为CPU仅完成一个最基本的动作所用的时间。是单片机中最基本最小的时间单位。


状态周期:时钟周期的两倍。


机器周期:完成一项基本操作所用的时间,如取指令、存储器读/写。为单片机的基本操作周期,由12个时钟周期组成。


指令周期:指CPU执行一条指令所需要的时间,一般一个指令周期含有1-4个机器周期


一次自减操作为机器周期这样算得传入xms就为延时多少ms


计算方法:首先算出时钟周期:T=1/(11.0529M)   s  


然后一次自减是机器周期 12*T     s


为了达到函数效果我们需要计算出1ms所需次数:0.001/12T  次    ->对应于j的初始值      


最后双重循环达到延时xms的效果


为什么填1呢?1ms人眼显然是不能辨别的。就好像固定显示一样。其实是在闪烁的。


(电影胶片是24帧 也就是每秒钟可以看到24张图像 低于这个数值就会感觉画面不流畅  如果以24帧为界限 那么人眼在高于0.04167秒的间隔就会感觉到(百度来的..))


对数据管显示的操作理解


理解一个,其他的就好理解了。


首先你要了解寄存器之间控制的联系

看清图上数字标号的顺序,就能够了解他们输入的对应关系接下来是位选段选的原理图

这样之后应该就能够了解下面一系列代码的含义。而且也能够写出自己想要显示的内容,当然是不能超出它本来的限制的。


对于单个数据管的显示,那个h对应的就是小数点,置1就亮置0就不亮。


然后还有一个小细节需要注意的是赋值是从高位向低位赋值的并不是从低到高。


这样你就可以尝试一下,写出自己想要显示内容的代码了。


效果截图

推荐阅读

史海拾趣

捷茂微(GATEMODE)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是连接电视与外部信号源的关键设备,其专业性与科普性并重。作为现代家庭娱乐不可或缺的一部分,机顶盒不仅实现了数模转换功能,让用户在模拟电视机上也能观看数字电视,还通过不断的技术创新,丰富了用户的视听体验。

从广义上讲,机顶盒涵盖了从模拟频道增补器到数字卫星综合接收解码器(IRD)、有线电视数字机顶盒等多种类型。而从狭义上看,主要聚焦于数字设备,如数字卫星机顶盒(DVB-S)、数字地面机顶盒(DVB-T)及IPTV机顶盒等。这些机顶盒能接收来自有线电缆、卫星天线、宽带网络及地面广播的信号,并将其转换为电视机可识别的音视频格式,实现高清甚至4K超高清的播放效果。

随着互联网的普及,网络机顶盒更是成为连接电视与互联网的桥梁。它不仅提供传统的电视节目服务,还通过集成智能技术,实现了语音助手、智能推荐等功能,极大提升了用户体验。此外,网络机顶盒还能接入各种流媒体平台,让用户在电视上观看在线视频、玩游戏、浏览网页等,实现了电视功能的多元化和智能化。

综上所述,机顶盒以其强大的功能和不断的技术创新,成为现代家庭娱乐的重要组成部分,为用户带来了更为丰富、便捷、智能的视听享受。

Abilis Systems公司的发展小趣事

Abilis Systems公司是一家专注于数字视频和数字广播领域的半导体公司,以下是该公司发展的五个相关故事:

  1. 公司成立和初期发展: Abilis Systems公司成立于2004年,总部位于法国索恩-卢瓦尔省的克勒拉克。公司成立之初,致力于研发数字视频和数字广播领域的创新技术,旨在提供先进的芯片解决方案。

  2. 技术创新和产品推出: 在成立后的几年里,Abilis Systems公司不断进行技术创新,并推出了一系列创新的数字视频和数字广播芯片产品。这些产品包括数字电视接收器和解调器、数字广播接收器等,为客户提供了高性能和高度集成的解决方案。

  3. 市场拓展和国际合作: 随着产品技术的不断成熟和市场需求的增长,Abilis Systems积极拓展国际市场,并与全球各地的客户建立了合作关系。公司的产品被广泛应用于数字电视、数字广播、卫星电视等领域,赢得了客户的信赖和认可。

  4. 并购和战略合作: 为了进一步加强技术实力和扩大市场份额,Abilis Systems公司进行了一系列并购和战略合作。通过收购具有相关技术和市场资源的企业,公司拓展了产品线,并加强了在数字视频和数字广播领域的领先地位。

  5. 未来展望和发展方向: Abilis Systems将继续致力于技术创新和产品升级,加强在数字视频和数字广播领域的研发投入。公司将不断推出符合市场需求的新产品和解决方案,为客户提供更优质的服务和支持。同时,公司还将积极参与行业标准制定和国际合作,推动数字视频和数字广播技术的发展和应用。

HM International公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,其发展历程涵盖了从模拟频道增补器到数字卫星、地面及有线电视机顶盒的广泛范畴。而从狭义角度看,机顶盒特指那些具备数字处理能力的设备,如IPTV机顶盒、DVB-S卫星机顶盒、DVB-T地面机顶盒及DVB-C有线电视机顶盒等。

机顶盒的核心功能在于接收并转换数字电视信号,使之能在传统或智能电视上播放。它不仅能接收来自有线电缆、卫星天线及宽带网络的信号,还能提供电子节目指南、网页浏览等增值服务。通过机顶盒,用户能够享受到高清乃至4K超高清的电视节目,体验更为细腻的画面和震撼的音效。此外,机顶盒还具备网络交互能力,支持在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为智能互动终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。未来,机顶盒将不仅限于基本的信号接收与解码功能,还将融入更多智能推荐、语音识别等先进技术,为用户提供更加个性化、便捷的娱乐体验。总之,机顶盒作为连接电视与互联网的桥梁,正以其丰富的功能和广泛的应用场景,不断满足用户日益增长的娱乐需求。

AVG [AVG Semiconductors(HITEK)]公司的发展小趣事

随着技术的不断进步和产品的日益成熟,AVG开始积极寻求市场扩张的机会。公司先后进入多个国家和地区,通过设立分支机构和与当地企业建立合作关系,逐步扩大了市场份额。同时,AVG还注重品牌建设和提升,通过参加国际电子展会、举办技术研讨会等活动,提高了品牌知名度和影响力。这些举措使得AVG在全球电子行业中的地位逐渐提升。

Coil-Q Corporation公司的发展小趣事

随着全球市场的开放和融合,Coil-Q意识到国际化是公司发展的必然趋势。于是,公司开始积极布局海外市场,先后在多个国家和地区设立了分公司或办事处。通过深入了解当地市场需求和文化习惯,Coil-Q成功打开了多个新的市场,实现了业务的快速增长。

爱特姆(ATOM)公司的发展小趣事

爱特姆科技自在美国德克萨斯州休斯顿市成立以来,便致力于电子行业的创新与发展。1998年,公司成功创立了“ATOM”品牌,标志着其正式踏入了品牌化发展的道路。起初,爱特姆以台湾、深圳、昆山为主要研发生产基地,凭借对技术的不断追求和对市场的敏锐洞察,逐渐在连接器领域取得了突破。

问答坊 | AI 解惑

09年泄题

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 听说09年网上泄题了是真的?大家说说  …

查看全部问答>

在STM32程序中添加 printf函数

前提是你有一个完整的keil工程 比如ADC的 调试的时候很多时候用到串口 这里教你怎么样使用Printf 函数 在程序中添加Printf.txt 1, #include 2, /* Private functions ---------------------------------------------------------*/ 下添加 ...…

查看全部问答>

外网访问嵌入式web服务器

大家好 我在友善2440的winCE 5.0系统中集成了一个web server,用网线连接到路由器(无线路由)上,设置了DMZ之后,可以在外网访问2440板子上的网页。 但是如果我用V6656的无线网卡插在2440板子上,只能在2440所在的局域网的电脑上访问该网页,外 ...…

查看全部问答>

读 FLASH 内容

  GPR25L160B, MX25L1605A SPI FLASH 芯片   怎么读出里面的数据啊   我没用过flash…

查看全部问答>

有人看懂u-boot.map这个文件么?

编译后生成的,Memory Configuration部分,这些内存分布感觉不是现在系统里实际的分布嘛。 举例: cpu/my44b0/start.o(.text) .text          0x0c500000      0x2d0 cpu/my44b0/start.o ...…

查看全部问答>

麻烦大家帮我分析一下这个底层驱动

从驱动的描述字面理解应当为“系统进程监视驱动” 麻烦大家帮我分析一下这个驱动文件是监视什么进程的 如何模拟一个程序逃过此驱动文件的监视,谢谢大家了! 驱动文件和软件安装文件在附件中 各位大大,麻烦利用你们的一点时间帮我分析下 软件 ...…

查看全部问答>

IT急聘

SB062、职位名称:主机存储资深工程师 职位描述: 1. 计算机及相关专业本科以上学历; 2. 5年以上系统集成的工作背景,具有独立的大型项目管理经验; 3. 精通IBM主机和存储; 4. 熟悉ORACLE数据库、备份软件等; 5. 较强的方案协作和售前支持 ...…

查看全部问答>

关于post-STA 运行时间

在做post STA时碰到一个现象(反标RC(SPEF格式)进行timing分析,):  刚开始STA 脚本里是先反标的spef文件,然后再source timing constraint, 这样跑完整个chip -level STA 需要9个多小时。 后来 ...…

查看全部问答>

为什么红外接收管输出到单片机总是低电平?

本帖最后由 paulhyde 于 2014-9-15 09:25 编辑 为什么红外接收管输出到单片机总是低电平?图示红外对管检测有无障碍物,为什么右端总是为低?(0.1v)右端直接接51单片机接口可以不?能得到开关量吗? [ 本帖最后由 lmf418482682 于 2011-5-26 10 ...…

查看全部问答>