零基础入门学习什么编程语言比较好如果你想学习编程,虽然选择第一门编程语言与你想用它来做什么最终达到什么目的有很大的关系,但是事实上某些编程语言的确比其他语言要好学。
51单片机静态数码管程序
51单片机共阴数码管利用静态显示,让六个数码管显示1~6,程序怎么写?
代码如下:
#include
#define uchar unsigned char
#define uint unsigned int
#define data P0 //P0口宏定义
/* ***************************************************** */
// 数码管位选数组定义
/* ***************************************************** */
uchar code leddata[] =
{ 0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x77, //"A"
0x7C, //"B"
0x39, //"C"
0x5E, //"D"
0x79, //"E"
0x71, //"F"
0x76, //"H"
0x38, //"L"
0x37, //"n"
0x3E, //"u"
0x73, //"P"
0x5C, //"o"
0x40, //"-"
0x00, //熄灭
0x00 //自定义};
};
/* ***************************************************** */
// 位定义
/* ***************************************************** */
sbit du = P1^7; //段选定义
sbit we = P1^6; //位选定义
/* ***************************************************** */
// 函数名称:DelayMS()
// 函数功能:毫秒延时
// 入口参数:延时毫秒数(ValMS)
// 出口参数:无
/* ***************************************************** */
void delay(uint z)
{
uint x,y;
for(x = 0; x < z; x++)
for(y = 0; y < 113; y++);
}
/* ***************************************************** */
// 函数名称:main()
// 函数功能:数码管静态显示
// 入口参数:无
// 出口参数:无
/* ***************************************************** */
void main(void)
{
uchar i;
we = 1; //位选开
data = 0x00; //送入位选数据
we = 0; //位选关
while(1)
{
for(i = 0;i < 16 ; i++)
{
du = 1; //段选开
data = leddata[i]; //送入段选数据
du = 0; //段选关
delay(500); //延时
}
}
}
扩展资料
对于74HC573,形象一点,我们只需要将其理解为一扇大门,只不过这扇大门是单向的,其中11引脚(LE)控制着门的开、关状态,高电平为大门打开,低电平为大门关闭。
D0-D7为输入,Q0-Q7为输出,在LE = 1,即输入高电平时,输入端=输出端,输入是什么,输出也就原封不动的输出;在LE = 0 ,即输入高电平时,大门关闭,实现锁存,不再输出。了解之后,我们按照电路图,来进行编程,代码实现。
在实现数码管的静态显示中,用到了两个锁存器,两个I/O口,P1.6和P1.7,分别是位选和段选。
首先定义了个数码管位选数组,也就是十六进制代码,这便是后来数码管显示数字的核心,接着,用 sbit 定义了位选和段选端口,分别是 P1.6 和 P1.7 ,定义了一个延时函数,其实这一串代码很有意思,开关开关思想,贯穿始终。
首先把位选打开,送入位选数据后,关闭锁存器,实现锁存,进入循环,随之打开段选锁存器,送入段选数据后,再次关闭段选。
接下来,这个延时操作对于实际看到数码管的显示效果特别重要,因为程序在段选后之后,会马上消隐,显示的时间之后几个微秒,这显然不太合理,需要在关闭段选后加上延时,这样一来,才会让每位数码管亮度保持均匀。
51单片机加74hc595驱动多个数码管静态显示的程序设计
1、首先数码管分为1位,4位,8位,4位和8位的又分为共阴和共阳数码管。
2、共阳数码管,即阳极全部连接在一起,单片机接口给低电位即可点亮对应的段位。
3、可利用MCS-51系列单片机的芯片AT89C52的P3.4,P3.5,P3.6,P3.7进行计时并在数码管上显示时间,作为按键的入口。
4、共阴数码管,即阴极全部连接在一起,单片机接口给高电位即可点亮对应的段位。
5、其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
c51单片机数码管静态显示程序
1.先把显示函数,按照下列,改一改。 void display(uchar shi,uchar ge) { shi = num / 10; ge = num % 10; dula = 1; p0 = table[shi]; dula = 0; wela = 1; p0 = 0xfe; wela = 0; delay(5); dula = 1; p0 = table[ge]; dula = 0; wela = 1; p0 = 0xfd; wela = 0; delay(5); } 2.用显示函数代替延时函数。 把你的程序中,凡是:delay(10);,都改成:display(shi, ge);。51单片机静态数码管显示0到59代码
这是秒表的程序。采用静态数码管,应该是用两个数码管,可用共阳数码管分别接在P0口,P2口上。计时可用定时器T0定时50ms,并计中断20次为1秒,加法计60秒并送数码管显示出来即可。仿真图如下。
51单片机led数码管显示0-99静态程序
假设P0 P2口接数码管 程序如下 include相关文章
- 详细阅读
-
玩妄想山海硬件配置暂不支持该游戏详细阅读
我的手机是安卓6.0版本,为什么打不了妄想山海?手机硬件性能太低,系统版本也不高,“妄想山海”这个游戏玩不了的。 想要玩手机网络游戏,建议买个中高端的手机,起码3000元档的。下
-
我用的是stc89c52rc为什么这样写数详细阅读
STC89C52C 流水灯程序,代码是按标准的程序写的,怎么这个灯还是不亮?我只点亮一个也不行直接使用P1=0x55看看数码管亮不亮,不亮的话再找找硬件上的原因STC89c52 51单片机 数码管
-
信息技术会考操作题photon已经做完详细阅读
信息技术学业水平考试步骤错了会不会影响成绩?不会,这种考试一是看你的最终结果,最终结果相同应该就能获得分数,步骤错了也分步骤顺序错了和步骤的具体操作错了,顺序错了不会有影
-
单片机0到999秒表数码管显示程序和详细阅读
用单片机实现3位数简易秒表的控制,计时范围为0-999s,并将计时时间在三位数码管上显示出来?如果是作业(包括课程设计),请自己完成; 如果是项目,请私聊我。C51单片机:用数码管显示0到99
-
STRC52单片机超声波测距的原理图是详细阅读
超声波测距的原理二、 超声波测距原理
1、 超声波发生器
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方 -
麦克风没有声音,求大神教我是硬件原详细阅读
我的电脑麦克风没声音,怎么回事我认为我也碰到过楼主所说的电脑没声音问题,感染了Dsound.dll病毒的原因,也会造成电脑没声音: 1.想要完美解决“电脑没声音怎么办”这一问题,以及
-
硬件:还记得两年前爆红的抛飞无人机详细阅读
硬件:还记得两年前爆红的抛飞无人机Lily吗已经倒闭了,之前的预定的钱也会退回给用户,还是大疆发展得不错,新品频发,黑科技层出 DJI(大疆创新)是目前消费级无人机做得最好的公司,在全
-
单片机问题 急!!!!!详细阅读
单片机问题(高手来,急!!!)下列程序,经过调试,完全符合题目要求: ORG 0000H LJMP START XRL P1, #255 JNB P3.2, $ RETI START: SETB IT0 SETB EX0 SETB EA MOV P1, #55H SJMP $ EN
-
程序是由STEP7 V5.5编程的 可以给6详细阅读
西门子plc编程软件STEP7 V5.5 和 V11有什么区别?v5.5用于s7-300 s7-400是老版本的编程软件,现在西门子最新编程软件v11中文名叫博图,使用所见即所得的组态和联网方法,现在已更新