单片机 c/c++ 嵌入式 郭天祥《新概念51单片机C语言教程 入门 提高 开发拓展》

书籍page75在实验板上完成如下功能:用定时器0的方式1实现第一个发光管以200ms间隔闪烁,用定时器1实现数码管前两位59s循环计时。代码如下:#include<re... 书籍 page 75 在实验板上完成如下功能:用定时器0的方式1实现第一个发光管以200ms间隔闪烁,用定时器1实现数码管前两位59s 循环计时。代码如下:

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula = P2^6; //申明U1锁存器的锁存端
sbit wela = P2^7; //申明U2锁存器的锁存端
sbit led1 = P1^0;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c
0x39,0x5e,0x79,0x71} ;
void delayms(uint);
void display(uchar,uchar);
uchar num,num1,num2,shi,ge;
void main()
{
TMOD = 0X11; //设置定时器0和1为工作方式1(00010001)
TH0 = (65536-45872)/256; //装初值
TL0 = (65536-45872)%256;
TH1 = (65536-45872)/256; //装初值
TL1 = (65536-45872)%256;
EA =1; //开总中断
ET0=1; //开定时器0中断
ET1=1; //开定时器1中断
TR0=1; //启动定时器0
TR1=1; //启动定时器1
while(1) //程序在这里不停地对数码管动态扫描同时等待中断发生
{
display(shi,te);
}
}

void display(uchar shi,uchar ge) //显示子函数
{
dula = 1; // 此处有问题
P0 = table[shi]; //送段选函数
dula = 0;
P0 = 0xff; //送位选数据前关闭所有显示,防止打开位选锁时候
wela = 1;
P0 = 0xfe; //送位选数据
wela = 0;
delayms(5); //延时

dula = 1; //此处有问题
P0 = table[ge];
dula = 0;
P0 = 0xff;
wela = 1;
P0 = 0xfd; //送位选数据
wela = 0;
delayms(5); //延时

}
/*******************************/
问题;函数display 中的 “dula = 1;”语句在这里起什么作用,有没有多此一举?
如果不写这一句直接从接下来的一句写起多程序有没有影响?(本人没有电路板,所以无法自己动手做这个实验)
/******************************/

跪求答案,请前辈指点,谢谢!!!!
后面很多代码都省去了,我只写了前面对我问题有作用的代码
展开
 我来答
jinme306
2012-06-04 · TA获得超过143个赞
知道答主
回答量:109
采纳率:0%
帮助的人:62.2万
展开全部
sbit dula = P2^6; //申明U1锁存器的锁存端
根据你定义的来看是不能去的,(dula = 1;)这一步的作用是,打开锁存器,然后把数据通过P0存入锁存器。
zk5437
2012-06-04 · TA获得超过201个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:216万
展开全部
楼上说的是正确的,就锁存器这个概念我简单的跟你说一下,不用这句是完全可以的,这个只是天祥的实验班,为了复用IO而加的,你就把它理解成一个开关的作用,dula = 1打开,开关数据就能过去,实质上控制显示并不需要锁存器,对于学习而言开发板,是必须有的,要买或者自己搭,推荐买一个开发板,51的开发板并不贵,也有51的仿真软件,但是仿真并不能代替实际的硬件电路,即使你仿真上能运行,在实际开发产品中也许并不能运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wx7419
2012-06-04
知道答主
回答量:29
采纳率:0%
帮助的人:20.4万
展开全部
你可以用proteus单片机仿真软件和Keil软件,联合仿真,进行各种尝试,表达你的想法,很强大的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式