C51中enum的用法

C51中enum的用法,第1张

1. enum定义枚举类型,枚举类型实质就是整型变量,只不过通过枚举类型将一类有关联的标识组合起来,增加程序的可孙亮明读性和可维护性

定义枚举类型

enum YOURENUMTYPE

{

ID1,//如果不额外指定则第一个标识等于整数0,后续依则告次加1

ID2,

ID3=7,

....

IDn//最后一个标识符后面没有逗号

}//注意一定要加上这个分号

举键敏个完整的例子

enum FRUIT

{

APPLE,

PEAR,

ORANGE,

PEACH,

GRAPE,

BANANA

}

enmu FRUIT myfruit = PEACH

2. 这个真不知道,不过貌似一个系统函数,里面的都是参数

http://wenku.baidu.com/view/8aa9b2fc0242a8956bece48f.html这个网址的例子中

RW24XX(out,50,0x0a00,0xA0,M24128)

RW24XX(&out[50],50,0x0b00,0xA0,M24128)

RW24XX(&out[100],28,0x0c00,0xA0,M24128)

跟你这形式有些像,你去自习看看。

你说的是IO模拟i2c吧,这个你参考下

#pragma ot(6,SIZE)

#define ERRORCOUNT 10

enum eepromtype {M2401,M2402,M2404,M2408,M2416,M2432,M2464,M24128,M24256}

enum eepromtype EepromType

/****************************** I2C总线 ******************************/

bit RW24XX(uchar *DataBuff,uchar ByteQuantity,uint Address,uchar ControlByte,enum eepromtype EepromType)

{

void Delay(uchar DelayCount)

void IICStart(void)

void IICStop(void)

bit IICRecAck(void)

void IICNoAck(void)

void IICAck(void)

uchar IICReceiveByte(void)

void IICSendByte(uchar sendbyte)

uchar data j,i = ERRORCOUNT

bit errorflag = 1

while (i--)

{

IICStart()

IICSendByte(ControlByte &0xfe)

if (IICRecAck())

continue

if (EepromType >M2416)

{

IICSendByte((uchar)(Address >>8))

if (IICRecAck())

continue

}

IICSendByte((uchar)Address)

if (IICRecAck())

continue

if (!(ControlByte &0x01))

{

j = ByteQuantity

errorflag = 0

while (j--)

{

IICSendByte(*DataBuff++)

if(!IICRecAck())

continue

errorflag = 1

break

}

if (errorflag==1)

continue

break

}

else

{

IICStart()

IICSendByte(ControlByte)

if (IICRecAck())

continue

while (--ByteQuantity)

{

*DataBuff++ = IICReceiveByte()

IICAck()

}

*DataBuff = IICReceiveByte() //read last byte data

IICNoAck()

errorflag = 0

break

}

}

IICStop()

if (!(ControlByte &0x01))

{

Delay(255)

Delay(255)

Delay(255)

Delay(255)

}

return(errorflag)

}

/***************** 启动总线 ********************/

void IICStart(void)

{

scl = 0

sda = 1

scl = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

sda = 0

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

scl = 0

sda = 1

}

/***************** 停止IIC总线 ****************/

void IICStop(void)

{

scl = 0

sda = 0

scl = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

sda = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

scl = 0

}

/************** 检查应答位 *******************/

bit IICRecAck(void)

{

scl = 0

sda = 1

scl = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

CY = sda//因为返回值总是放在CY中的

scl = 0

return(CY)

}

/*************** 对IIC总线产生应答 *******************/

void IICACK(void)

{

sda = 0

scl = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

scl = 0

_nop_()

_nop_()

sda = 1

}

/***************** 不对IIC总线产生应答 ***************/

void IICNoAck(void)

{

sda = 1

scl = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

scl = 0

}

/******************* 向IIC总线写数据 *********************/

void IICSendByte(uchar sendbyte)

{

uchar data j = 8

for (j >0j--)

{

scl = 0

sendbyte <<= 1 //无论C51怎样实现这个 *** 作,始终会使CY=sendbyte^7

sda = CY

scl = 1

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

_nop_()

}

scl = 0

}

/***************** 从IIC总线上读数据子程序 ******************/

uchar IICReceiveByte(void)

{

register receivebyte,i = 8

scl = 0

while (i--)

{

scl = 1

receivebyte = (receivebyte <<1) | sda

scl = 0

}

return(receivebyte)

}

/*************** 一个简单延时程序 ******************/

void Delay(uchar DelayCount)

{

while(DelayCount--)

}

void Delay_Msec(uchar t)

{

uchar i

while (t >0)

{

for (i = 0i <200i++)

{

WDT = 1

_nop_()

_nop_()

_nop_()

_nop_()

}

t--

}

}

/*************** 24C256读一个字节 *****************/

uchar Rd_24c256(uint beginbyte)

{

uchar data result

uchar i

EA = 0

i = RW24XX(&result,1,beginbyte,rd_24c256,M24256)

EA = 1

return(result)

}

/*************** 24C256写一个字节 ***************/

void Wr_24c256(uint address,uchar datum)

{

uchar i

EA = 0

i = RW24XX(&datum,1,address,wr_24c256,M24256)

Delay_Msec(10)

EA = 1

}

黑莓手机目录

黑莓定义】

【特点简介】

【发展历程】

【进入中国】

【购买须知】

【网址】

【黑莓快捷键大全】

黑莓的未来

[编辑本段]【黑莓定义】姿拦中

所谓黑莓手机(Blackberry),是指由加拿大Reserach In Motion,简称RIM公司推出的一种无线手持邮件解决终端设备。

因其使用了标准的QWERTY英文键盘,看起来像是草莓表面的一粒粒种子,所以得名“黑莓”;同时,该设备在后期的产品中,也加入了手机的功能,所以国内普遍称之为“黑莓手机”。

但是一般俗称的黑莓机,指的却不单单只是一台手机,而是由加拿大RIM(Research in Motion)公司所推出,包含服务器(邮件设定)、软件( *** 作接口)以及终端(手机)大类别的Push Mail实时电子邮件服务。

[编辑本段]【特点简介】

“黑莓”(Black berry)移动邮件设备基于双向寻呼技术。该设备与RIM公司的服务器相结合,依赖于特定的服务器软件和终端,兼容现有的无线数据链路,实现了遍及北美、随时随地收发电子邮件的梦想。这种装置并不以奇妙的图片和彩色屏幕夺人耳目,甚至不带发声器。“911”事件之后,由于Blackberry及时传递了灾难现场的信息,而在美国掀起了拥有一部Black berry终端的热潮。

黑莓赖以成功的最重要原则——针对高级白领和企业人士,提供企业移动办公的一体化解决方案。企业有大量的信息需要即时处理,出差在外时,也需要一个无线的可移动的办公设备。企业只要装一个移动网关,一个软件系统,用手机的平台实现无缝链接,无论何时何地,员工都可以用手机进行办公。它最大方便之处是提供了邮件的推送功能:即由邮件服务器主动将收到的邮件推送到用户的手持设备上,而不需要用户频繁的连接网络查看是否有新邮件。

[编辑本段]【发展历程】

RIM公司自1984年成立以来,早期推出的产品是RIM 850/950和RIM 857/957,他们的外形十分像我们熟悉的寻呼机,只是衡皮个头更大,拥有的按键更多,并且具有收发E-mail的功能。

之后推出的5790/5810和6210/6280几个型号的产品,从外观上就已经和现在的黑莓产品没有太大区别了,只是当时它们都只配备了单色屏幕,16M内存,并且不具备通话功能。

6230应该是黑莓手机中具有划时代意义的一款产品,从6230开始,黑莓正式支持通话功能,成为了真正意义上的“手机”。与6230同时代的,还有6510/6750/6710等型号。

之后,就是目前国内比较流行的7230/7290,以及7100/7130/8700系列了。这一代的产品普遍都配备的彩色屏幕,在7130和8700系列还提供了对和弦铃声、MP3铃声的支持。这也标志了RIM公司将黑莓系列打造成更具娱乐功能的手机——这个发展方向的决心。

于是,在最新的黑莓8100/8800/8830以及最新的8300上,我们看到了之前黑莓手机一直不具备的一系列华丽的功能:存储卡支持、二百万像素相机、闪光灯、MP3、视频播放等一系列吸引用户的多媒体功能。

[编辑本段]【进入中国】

黑莓之前一直没有在中国发售,直到05年初,国内才有部分手机玩家开始大胆“品尝”黑莓的“味道”。

很快,凭借着口口相传,黑莓手机凭借其独特的外形、低廉的价格,迅速吸引了一大批追求个性时尚的手机玩家。

同时,国内几个知名的数码论坛,HIPDA,HIPALM也纷纷开设了黑莓手机专区,使得黑莓手机短短不到一年时间就红遍了大江南北。迹山于是,国内的商家们开始大量通过不法手段,引进国外的黑莓手机到国内市场——就是我们所说的“水货”。

06年底,黑莓手机的业务已经进入中国。RIM和中国移动已经达成了合作协议,要不了多久,我们就可以在国内买到正规的RIM公司行货黑莓手机了。

同时,中国移动也已经推出了黑莓邮件服务,但目前只面向集团客户,提供了如下两个套餐:套餐一:月功能费398元,每月每用户赠送GPRS流量50M,超出部分的通信费资费标准为0.01元/KB。套餐二:月功能费598元,每月每用户赠送GPRS流量400M (含2M国际GPRS漫游),超出部分后的通信费资费标准为0.01元/KB。

通过资费不难看出,目前的黑莓邮件服务对于个人用户还是望尘莫及的。

[编辑本段]【购买须知】

在06年黑莓红极一时之后,大量的商家看准了这块市场。但货源远远跟不上玩家对于黑莓的需求,于是市场上开始大量的出现了黑莓的翻新机。水货本身不可怕,可怕的是翻新的机器。这批机器的出现,基本标志了7230/7290/7100T几个广受国内玩家欢迎的型号彻底无法买到新机。

与其同时,大量盲目跟风,本身并不是手机玩家的一些普通用户,在盲目购买之后,因动手能力较差、无法适应黑莓特殊的 *** 作系统,开始抛售之前购买的黑莓手机。再一次掀起了市场上二手黑莓手机的选购热潮。

如此一来,市场上充斥了黑莓原装水货机、二手机、翻新机等多种货源,使得普通玩家无从分辨,也不敢轻易购买。

淘宝上某些无良商家,更是拿来一些翻新的档次非常差的黑莓机,号称所谓的14天机来卖,价格一度压低到200-500元不等。

综上所述,目前并不是一个很好的购买黑莓的时机。

如果你对自己的动手能力比较自信,自认是一个成熟的手机玩家,只是想玩玩黑莓尝鲜,那么建议可以购买价格低廉的翻新机,熟悉一下系统,等RIM正式将产品拿到国内之后,再考虑购买行货。

如果你只是一个普通的用户,从没有使用过其他智能手机系统,并且在平时生活中你有比较多的电话、短信等等,那么建议你还是考虑清楚再来尝试黑莓手机了。

[编辑本段]【网址】

http://www.rim.com/

http://www.52blackberry.com/(黑莓手机中国论坛)

[编辑本段]【黑莓快捷键大全】

快捷键大全2008-08-06 18:20页面导航器:在页面中按X可以打开页面导航器

隐藏:按D键可以隐藏浏览器

搜索:在页面中按F键可以进行搜索

查看信息:在页面中按C键可以查看IP、连接时间及使用流量等信息

保存到消息列表:在页面中按S键可以将此页面的书签保存到消息列表

全屏:在界面中按U键可以全屏,再按一次退出全屏

首页:按H键可以返回首页

查看当前页面地址:按P键可以查看当前页面的地址

日历

添加新日程:按C键可以快速添加新日程

查看日程:按A键可以查看所有日程

以天查看:按D键可以以天来查看日历

以周查看:按W键可以以周来查看日历

以月查看:按M键可以以月来查看日历

移动到上一个/下一个日期:按Shift+空格键可以移动到上一天/周/月,按空格键可以移动到下一天/周/月

移动到今天:按T键可以移动到今天

移动到某天:按G键可以移动到某一天

多媒体浏览器

下一首:按N可以跳到下一首歌曲或者下一张图片

上一首:按P可以返回到上一首歌曲或者上一张图片

放大图片:按I键可以放大图片

缩小图片:按O键可以缩小图片

恢复为原始大小:按W键可以将图片恢复到原始大小

Opera mini 4(仅针对8800, 4.2.1.101ROM,其他ROM和机型可能略有不同)

快速拨号:依次按Alt键、*键和数字键可以打开相应数字的快速拨号页面

RSS:依次按Alt键、*键和数字0可以查看RSS新闻推送

缩放:浏览比较大的Web页面时,按5可以放大缩小页面

光标移动:浏览页面时,按I、J、L、M可以移动光标(短距离移动)

页面移动:浏览页面时,按2、4、6、8可以移动页面(大面积移动),俗称翻页

右键菜单:浏览页面时,按数字1可以打开右键菜单,包括刷新、链接地址等项目(不同于按下BlackBerry Menu键的菜单)

输入地址:依次按下Alt键、#键和数字1可以输入地址

书签:依次按下Alt键、#键和数字2可以查看书签

转到页面顶部/底部:依次按下Alt键、#键和数字3可以转到该页面的顶部或底部

前进:依次按下Alt键、#键和#键可以前进

更多基于*和#的快捷键请按Alt后再按*/#键查看相应的快捷键列表

Mobipocket Reader

完全关闭:在Mobipocket Reader界面下,依次按Shift、Q键可以完全关闭Mobipocket Reader,即不再驻留后台。

FlipSide

下一首:长按空格键可以前进到下一首歌曲

快进/快退:按住Alt或者Shift键并右移/左移轨迹球可以快进/快退当前曲目

暂停/播放:按空格键可以暂停/播放当前曲目

MiuTunes(for version 2.0.1 b)

暂停/播放:按空格键可以暂停/播放当前曲目

停止播放:长按空格键可以停止播放

下一首/上一首:按回车键/删除键可以播放下一首/上一首歌曲

快进/快退:按住Alt键再左移/右移轨迹球可以快退/快进当前曲目

最小化:按挂机键可以直接最小化

退出:按Alt键后再按Q键可以退出程序

显示歌曲信息:按Alt键后再按I键可以显示歌曲信息

随机播放:按Alt键后再按S键可以开启/关闭随机播放

循环播放:按Alt键后再按R键可以开启/关闭循环播放

下载封面:按Alt键后再按F键可以下载专辑封面

显示当前专辑:按Alt键后再按C键可以显示当前专辑

添加当前曲目到播放列表:按Alt键后再按P键可以添加当前曲目到播放列表

清除播放列表:按Alt键后再按L键可以清除播放列表

调整曲目顺序:在播放列表中按Alt键再上移/下移轨迹球可以移动选中曲目的顺序。

[编辑本段]黑莓的未来

黑莓赖以成功的最重要原则——针对高级白领和企业人士,提供企业移动办公的一体化解决方案。企业有大量的信息需要即时处理,出差在外时,也需要一个无线的可移动的办公设备。企业只要装一个移动网关,一个软件系统,用手机的平台实现无缝链接,无论何时何地,员工都可以用手机进行办公。它最大方便之处是提供了邮件的PUSH功能。

虽然RIM和NTP还在为黑莓的专利权大打官司,但这丝毫不影响黑莓的快速发展,目前RIM以及各通信厂商已经纷纷开发新款黑莓手机,并准备进军中国市场,相信不久就可以看到


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12492282.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存