小白在做利用1602液晶屏实时显示DS12C887温度芯片温度,对寄存器声明有些问题

2019-03-24 17:30发布

小白在用天祥电子的新概念51单片机C语言教程;
在看使用DS12C887时钟芯片设计高精度始终这一节时,对寄存器声明(应该是这个叫法吧,小白还不太知道专业语言怎么说。。。)有一些问题。
最初只是不知道这些声明的含义都是什么,所以只好翻书向前找,看看之前书上都写过什么。
在矩阵键盘检测那一节,书上写矩阵键盘的4行分别与单片机的P3.0~P3.3相连,矩阵键盘的四列分别与单片机的P3.4~P3.7相连。
但是在通用型1602液晶操作方法一节,又有“sbit en=P3^4;sbit rs=P3^5;”这样的代码。
而在时钟芯片这一节更是一口气声明了很多寄存器的接口。。。
在网上尝试搜了一下,,,但是说的太高深了,有点看不太懂。求大神用通俗点的语言解释下这些声明的含义。
下面的代码是书上时钟芯片一节,实例分析的定义代码,也就是我不懂得代码,希望大神帮帮忙。


#include <reg52.h>
#define uint unsigned int;
#define uchar unsigned char;
sbit dula=P2^6;
sbit wela=P2^7;
sbit rs=P3^5;
sbit lcden=P3^4;
sbit s1=P3^0;
sbit s2=P3^1;
sbit s3=P3^2;
sbit s4=P3^6;
sbit rd=P3^7;
sbit beep=P2^3;
sbit dscs=P1^4;
sbit dsas=P1^5;
sbit dsrw=P1^6;
sbit dsds=P1^7;
sbit dsirq=P3^3;
bit flag1,flag_ri;
uchar count.s1num,flag,t0_num;
char miao,shi,fen,year,month,day,week,amiao,afen,ashi;
uchar code table[]="20  -  -       ";
uchar code table1[]="      :  :  ";
void write_ds(uchar,uchar);
void set_alarm(uchar,uchar,uchar);
void read_alarm();
uchar read_ds(uchar);
void set_time();


小白不太懂提问的方式,如果漏下了什么重要的信息,希望大神提醒下,小白谢过

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
hujj
1楼-- · 2019-03-25 02:22
你在硬件接线时用到了哪些IO引脚,程序开始时就作相应的声明(或定义),方便之后的引用控制。
wojiaomt
2楼-- · 2019-03-25 03:57
 精彩回答 2  元偷偷看……
Illxy
3楼-- · 2019-03-25 09:28
wojiaomt 发表于 2016-9-17 01:16
楼主可以搜索一下sbit的用法,应该不难理解的。

对于你提到的在不同程序中的对同一个IO的不同申明的疑问 ...

哦哦,大概明白了,我再查一下,谢谢了。

一周热门 更多>