📄 c51数据类型.htm
字号:
}
function add_favorite(uid, url, name)
{
window.open("/personal/favorite/add.php?member_id="+uid+"&url="+url+"&name="+name,'_blank','width=400,height=220,toolbar=0,locationbar=0,menubar=0,statbar=0');
return false;
}
// 提示登录
function alertlert_login()
{
showAlert('对不起,您目前没有权限,请先登录!');
document.login_form1.account.focus();
}
//申请加入社团
function con_join(con_gid)
{
showConfirm("您确认加入本社团吗?","window.location.href='/league/apply.php?g_id="+con_gid+"';","");
}
//退出本社团
function con_quiet(con_gid,con_uid)
{
showConfirm("您确认退出本社团吗?","window.location.href='/league/member/quiet_member.php?g_id="+con_gid+"&q_uid="+con_uid+"';","");
}
</SCRIPT>
<!-- 回复框 -->
<DIV id=background style="DISPLAY: none"></DIV>
<DIV id=postbox
style="DISPLAY: none; Z-INDEX: 50; LEFT: 769px; WIDTH: 600px; POSITION: absolute; TOP: 271px">
<FORM name=reply_comment action=/league/comment/index.php?gid=514465 method=post
target=hidden_frame><INPUT id=act type=hidden value=add name=act> <INPUT id=r_id
type=hidden name=r_id> <INPUT id=t_id type=hidden name=t_id> <INPUT id=f_uid
type=hidden name=f_uid>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD height=13> </TD></TR>
<TR>
<TD class=box_common height=26> <SPAN
class=font_common_title>回复评论</SPAN></TD></TR></TBODY></TABLE>
<TABLE class=box_common01 cellSpacing=0 cellPadding=0 width="70%">
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=8 cellPadding=0 width="100%" bgColor=#ffffff
border=0><TBODY>
<TR>
<TD class=font_common vAlign=top align=right height=63>内容:</TD>
<TD class=font_common vAlign=top><TEXTAREA class=input_box01 id=input_area name=input_area rows=6 cols=48></TEXTAREA></TD></TR>
<TR>
<TD class=font_common vAlign=top align=right width="15%">原文:</TD>
<TD class=font_common style="LINE-HEIGHT: 18px" vAlign=top
width="85%"><SPAN class=gray id=past_type></SPAN></TD></TR>
<TR>
<TD class=font_common vAlign=top align=middle colSpan=2><INPUT class=btn01 onclick=javascript:hidden_reply();submit_post(document.reply_comment); type=button value=发表 name=queding>
<INPUT class=btn01 onclick=hidden_reply(); type=reset value=取消>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM></DIV><!-- 回复框 -->
<DIV id=mainBox>
<DIV id=mainBoxBg>
<TABLE class=module_title cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD class=corner_left></TD>
<TD class=corner_center><A
href="http://www.5jia1.com/league/?gid=514465">首页</A> > <A
href="http://www.5jia1.com/league/blog/blog_index.php?gid=514465">社团文集</A> > <A
href="http://www.5jia1.com/league/blog/show_comm.php?bid=361231">第三课
C51数据类型</A></TD>
<TD class=corner_right></TD></TR></TBODY></TABLE>
<DIV class=module_content>
<DIV class=module_content_line>
<DIV class=bg>
<TABLE cellSpacing=10 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD align=middle>
<TABLE class=box_common cellSpacing=1 cellPadding=5 width="100%"
border=0><TBODY>
<TR class=box_common_title>
<TD colSpan=2>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="35%"><B>第三课 C51数据类型</B></TD>
<TD align=right width="65%">作者: <A
href="http://www.5jia1.com/personal/?member_id=505887"
target=_blank>张文俊</A> 2007-08-14
15:24:41 </TD></TR></TBODY></TABLE></TD></TR>
<TR class=box_content>
<TD vAlign=top align=middle width="10%"><A
href="http://www.5jia1.com/personal/?member_id=505887"
target=_blank><IMG class=box01 height=98
src="3.files/s_0_personal_photo_505887.gif" width=98 vspace=5
border=0></A><BR><IMG height=14 src="3.files/icon_boy.gif" width=14
border=0> <A
href="http://www.5jia1.com/personal/?member_id=505887"
target=_blank>张文俊</A> </TD>
<TD>
<TABLE class="font_content autowrap" cellSpacing=12 cellPadding=0
width="100%" border=0>
<TBODY>
<TR>
<TD class=line_h20 style="WIDTH: 790px">
<DIV style="OVERFLOW-X: auto; WIDTH: 100%">
<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all"
cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TH vAlign=center align=middle height=32>
<H1>第三课 C51数据类型</H1></TH></TR>
<TR>
<TD align=middle bgColor=#f7f7f7
height=25>作者:佚名 来源:本站原创 点击数:
211 更新时间:2007年07月18日 </TD></TR></TBODY></TABLE>
<P>每写一个程序,总离不开数据的应用,在学习 c51 语言的过程中掌握理解数据类型也是 很关键的。先看表
3-1,表中列出了 KEIL uVision2
单片机c语言编译器所支持的数据类型。在标准C语言中基本的数据类型为
char,int,short,long,float 和 double,而在c51编译器中int 和 short
相同,float 和 double 相同,这里就不列出说明了。下面来看看它们的具体定 义:</P>
<P> </P>
<TABLE cellSpacing=0 cellPadding=0 border=1>
<TBODY>
<TR>
<TD width=189 vborder="0">
<P>数据类型</P></TD>
<TD width=130 vborder="0">
<P>长 度</P></TD>
<TD width=249 vborder="0">
<P>值 域</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>unsigned char</P></TD>
<TD width=130 vborder="0">
<P>单字节</P></TD>
<TD width=249 vborder="0">
<P>0~255</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>signed char</P></TD>
<TD width=130 vborder="0">
<P>单字节</P></TD>
<TD width=249 vborder="0">
<P>-128~+127</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>unsigned int</P></TD>
<TD width=130 vborder="0">
<P>双字节</P></TD>
<TD width=249 vborder="0">
<P>0~65535</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>signed int</P></TD>
<TD width=130 vborder="0">
<P>双字节</P></TD>
<TD width=249 vborder="0">
<P>-32768~+32767</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>unsigned long</P></TD>
<TD width=130 vborder="0">
<P>四字节</P></TD>
<TD width=249 vborder="0">
<P>0~4294967295</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>signed long</P></TD>
<TD width=130 vborder="0">
<P>四字节</P></TD>
<TD width=249 vborder="0">
<P>-2147483648~+2147483647</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>float</P></TD>
<TD width=130 vborder="0">
<P>四字节</P></TD>
<TD width=249 vborder="0">
<P>±1.175494E-38~±3.402823E+38</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>*</P></TD>
<TD width=130 vborder="0">
<P>1~3 字节</P></TD>
<TD width=249 vborder="0">
<P>对象的地址</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>bit</P></TD>
<TD width=130 vborder="0">
<P>位</P></TD>
<TD width=249 vborder="0">
<P>0 或 1</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>sfr</P></TD>
<TD width=130 vborder="0">
<P>单字节</P></TD>
<TD width=249 vborder="0">
<P>0~255</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>sfr16</P></TD>
<TD width=130 vborder="0">
<P>双字节</P></TD>
<TD width=249 vborder="0">
<P>0~65535</P></TD></TR>
<TR>
<TD width=189 vborder="0">
<P>sbit</P></TD>
<TD width=130 vborder="0">
<P>位</P></TD>
<TD width=249 vborder="0">
<P>0 或 1</P></TD></TR></TBODY></TABLE>
<P>表 3-1 KEIL uVision2
单片机c语言编译器所支持的数据类型</P>
<P>1. char 字符类型</P>
<P>char 类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。分无符号字 符类型 unsigned
char 和有符号字符类型 signed char,默认值为 signed char
类型。 unsigned char 类型用字节中所有的位来表示数值,所能表达的数值范围是 0~255。
signed char 类型用字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,
负数用补码表示。所能表示的数值范围是-128~+127。unsigned char 常用于处理 ASCII
字符或用于处理小于或等于 255 的整型数。</P>
<P>*正数的补码与原码相同,负二进制数的补码等于它的绝对值按位取反后加 1。</P>
<P>2. int 整型</P>
<P>int 整型长度为两个字节,用于存放一个双字节数据。分有符号 int 整型数 signed int 和无符号整型数
unsigned int,默认值为 signed int 类型。signed int 表示的数值范
围是-32768~+32767,字节中最高位表示数据的符号,“0”表示正数,“1”表示负数。 unsigned
int 表示的数值范围是 0~65535。</P>
<P>先停一下来写个小程序看看 unsigned char 和 unsigned int
用于延时的不一样效果,说 明它们的长度是不一样的,学习它们的使用方法。依旧用上一篇的最小化系统做实验,不过要加多 一个电阻和
LED,如图 3-1。实验中用 D1 的点亮表明正在用 unsigned int 数值延时,用</P>
<P>D2 点亮表明正在用 unsigned char 数值延时。</P><BR
style="PAGE-BREAK-BEFORE: auto" clear=all>
<DIV class=Section13>
<P>图 3-1 第 3 课实验用电路 把这个项目称为
TwoLED,实验程序如下:</P>
<P>#include <AT89X51.h> //预处理命令</P>
<P>void main(void) //主函数名</P>
<P>{</P>
<P>unsigned int a; //定义变量 a 为 unsigned
int 类型</P>
<P>unsigned char b; //定义变量 b 为 unsigned
char 类型</P>
<P>do</P>
<P>{ //do while 组成循环</P>
<P>for (a=0; a<65535; a++)</P>
<P>P1_0 = 0; //65535 次设 P1.0 口为低电平,点亮 LED
P1_0 = 1; //设 P1.0 口为高电平,熄灭 LED</P>
<P>for (a=0; a<30000; a++);
//空循环</P>
<P>for (b=0; b<255; b++)</P>
<P>P1_1 = 0; //255 次设 P1.1 口为低电平,点亮 LED P1_1
= 1; //设 P1.1 口为高电平,熄灭 LED</P></DIV><BR
style="PAGE-BREAK-BEFORE: auto" clear=all>
<DIV class=Section14>
<P>for (a=0; a<30000; a++);
//空循环</P>
<P>}</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -