历史上的今天
返回首页

历史上的今天

今天是:2025年03月11日(星期二)

正在发生

2018年03月11日 | 在C语言中如何对某个引脚进行读写操作

2018-03-11 来源:eefocus

  在C语言里。如果直接写P1.O,C编译器并不能识别,而且P1.O也不是一个合法的C语言变量名,所以得给它另起一个名字,比如起名为P1—0,可是P1—0是不是就是P10呢?
  
  可以这么认为,C编译器可不这么认为,所以必须给它们建立联系,这里使用了KeilC的关键字sbit。来定义。sbit是C51中的一种扩充数据类型,利用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。
  
  sbit的用法有三种:
  
  第一种方法:sbit位变量名=地址值
  
  第二种方法:sbit位变量名=SFR名称^变量位地址值
  
  第三种方法:sbit位变量名=SFR地址值^变量位地址值
  
  如定义PSW中的OV可以用以下三种方法:
  
  (1)sbitOV=0xd2说明:
  
  0xd2是OV的位地址值,这样是把位的绝对地址赋给位变量。
  
  sbit的位地址必须位于80F_一FFI-1之间。
  
  (2)sbitOV=PSW^2说明:
  
  其中PSW必须先用sfr定义好,先定义一个特殊功能寄存器名再指定位变量名所在的位置,当可寻址位位于特殊功能寄存器中时可采用这种方法。
  
  (3)sbitOV=0xDO^2说明:
  
  0xDO就是PSW的地址值。
  
  因此这里用sbitP1—0=P1^0就是定义用符号P1一O来表示P1.0引脚,当然,如果你愿意也可以用P10一类的名字,只要下面程序中也随之更改就行了。同样我们可以用P1.1的地址去写,如sbjtP1—1=Ox91:这样在以后的程序语句中就可以用P1—1来对P1.1引脚进行读写操作了。
  
  通常我们可以直接使用系统提供的预处理文件里面已定义好的各特殊功能寄存器的简单名字,直接引用可以省去一点时间。当然您也可以自己写自己的定义文件,用您认为好记的名字。

推荐阅读

史海拾趣

D+H Mechatronic AG公司的发展小趣事

随着市场竞争的加剧,D+H Mechatronic AG开始调整其市场布局策略。公司根据市场需求和产品特点,有针对性地开拓新的市场领域。同时,公司还加强了与客户的沟通和合作,深入了解客户需求并提供定制化的解决方案。这些举措使公司在激烈的市场竞争中保持了稳定的增长态势,并逐步巩固了其在电子行业中的地位。

ETA-USA公司的发展小趣事

ETA-USA一直注重技术创新和研发实力的提升。公司拥有一支高素质的研发团队和先进的研发设施,不断推出具有竞争力的新产品和解决方案。同时,ETA-USA还积极与高校、科研机构等合作,共同推动电子技术的创新和发展。

Comtronic Gmbh-Verbindungstechnik公司的发展小趣事

随着业务的发展和市场的扩大,ETA-USA开始在全球范围内布局。公司先后在中国、欧洲等地设立了分公司或办事处,以更好地服务当地客户。这一全球扩张策略不仅增强了公司的市场竞争力,也为其带来了更多的商业机会和合作伙伴。

DART(英国达特)公司的发展小趣事

在快速发展的过程中,DART公司也遇到了不少挑战和危机。例如,某个时期全球电子元器件供应紧张,导致公司面临严重的原材料短缺问题。面对这一挑战,DART公司迅速调整采购策略,积极寻找新的供应商和替代品,并加强与现有供应商的合作和沟通。通过这些措施,公司成功度过了危机,并保持了业务的稳定增长。

Denyo Europa Gmbh公司的发展小趣事

Denyo Europa Gmbh公司一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系,从原材料采购到生产流程,再到产品检测,每一个环节都严格把关。公司还定期对员工进行质量意识培训,确保每一个员工都能深刻理解质量对于企业发展的重要性。这种对质量的执着追求,使公司的产品在市场上赢得了良好的口碑。

Freqtech Ohg公司的发展小趣事

随着业务的不断增长,Freqtech Ohg公司开始实施全球化战略。公司首先在欧洲建立了研发中心,随后在亚洲市场设立了生产基地和销售网络。通过整合全球资源,Freqtech不仅降低了生产成本,还更快速地响应了不同地区客户的需求。同时,公司积极参与国际展会和技术交流,不断提升品牌知名度和影响力,为公司的全球化发展奠定了坚实基础。

问答坊 | AI 解惑

[转贴]开关电源的分类及应用

1 引言   随着电力电子技术的告诉发展,电力电子设备与人们的工作、生活的关系日益密切,而电子设备都离不开可靠的电源,进入80年代计算机电源全面实现了开关电源化,率先完成计算机的电源换代,进入90年代开关电源相继进入各种电子、电器设备 ...…

查看全部问答>

论坛改版倒计时---欢迎大家的讨论!

号外号外,潜水的用户请快快浮出水面.eeworld论坛要改版啦!近期会新增加一个聚合页面.目前正在紧张内测中.先截个图给大家看看。新页面集中了大家可能会比较关注的发贴排行、本周热点、最新评论、会员空间等列表模块。大家有什么意见?请指正!不 ...…

查看全部问答>

嵌入式的迷茫阶段

各位好,我是计算机专业,想打算学习嵌入式的,但是我发现在嵌入式课程的学习中有很多芯片,很多的电路图,我以前学过接口,但是感觉现在的知识和以前学的有很大的差别,甚至是根本就没有听说过,现在学习起来感觉很迷茫,不知道嵌入式是否对于像我 ...…

查看全部问答>

散射 OR 辐射的概念,你弄懂了么?

之前也看到论坛里有就关于”二极管是有源无源的讨论”, 这里也抛个概念出来,希望大家可以说说。 辐射与散射到底有何区别?又有什么联系?…

查看全部问答>

wince平台中的SQLIT问题

我是一个嵌入式开发的新手,目前想用VS2005(C#)做一个SQLite应用程序,在WINCE平台上运行,是不是只下载一个 System.Data.Sqlite 安装之后,在C#里面添加引用就可以了?谁能给我说一下开发的详细的步骤啊?…

查看全部问答>

关于数字地与模拟地

我看别人设计的电路里面,数字地和模拟地之间用电感连接起来! 我想问问这个电感的大小是怎样选择的! 谢谢…

查看全部问答>

LM1117系列有没有能够提供负压的?

LM1117系列有没有能够提供负压的? 请教几个问题:1,1117系列是否属于LDO? 2,LM1117系列有没有能够提供负压的?对于LDO了解不多 3,对于LDO了解不多,是不是象有LM317和LM337那样的分类形式分别提供正负电压的?或是通用的?…

查看全部问答>

电源面试问题若干(来自我测试一下)

转自:http://forum.powersystems.eet-cn.com/BLOG_ARTICLE_6743.HTM?click_from=8800073982,9523571682,2011-03-04,PSCOL,FORUM_ALERT&click_from==etsd 1.一般情况下,同功率的开关电源与线性电源相比,_____。 A, 体积大,效率高   ...…

查看全部问答>

关于直流电压隔离采样

现在要对0-25V的直流电压进行隔离采样,精度要求1%,由于霍尔电压传感器的价格 较高,希望能换其他的隔离采样方式!   本来用线性光耦HCNR201大概能实现,但是这个光耦前后级各需一个运放,这样前后 运放就必须各自接不同的电源和地才行 ...…

查看全部问答>