C51程序
学习C51程序之前需要对C语言有一定的了解和学习;这里只介绍与C语言有区别的地方;
具体的不同如下:
1、C51中增加了几种针对MSC-51单片机的特有数据类型
a、sfr和sfr16:用于定义特殊功能寄存器,如:sfr PSW = 0xd0(一般情况下这些特殊功能寄存器不需要用户自定义,通常包含在 b、bit和sbit: 定义位变量,只占用一个二进制位;bit是位寻址区中的变量(20H~2FH,关于位寻址区详见51单片机之存储器篇);sbit指特殊功能寄存器中的可以位寻址的变量 ,如:sbit P1_0 = P1^0 sbit OV = 0xd2 2、C51的存储模式与存储器密切相关,定义变量时要指明指定的存储器属性 如: 其实,对于单片机而言,他有片内、片外存储器,有RAM、ROM之分,RAM中还可以细分为4块(详见51单片机之存储器篇),所以我们需要在定义变量时明确的指出变量要存放在哪里?因此我们需要上图的不同的存储器类型来标识。 3、有专门的关键字和语法规则 在常规的函数定义后加入interrupt n来说明该函数为中断函数。n的取值有6种,分别代表不同的中断类型: 在使用中断函数时要注意以下几点:
上一篇:51单片机之定时器\计数器的工作原理
下一篇:51单片机之存储器
推荐阅读最新更新时间:2024-11-13 11:22
推荐帖子
- 用上了IAREWSTM81.2,很好用,但是暴露出STM8的库有问题
- 刚去ST的新网站看了下,STM8的库还是1.1.1的在用1.1编译器的时候,虽然在C/C++Compiler里勾选上了Requireprototype,但是发现没有函数原型的话编译器是不会报错的,也就是说IAREWSTM81.1并没有严格检查函数原型是否声明了,但是在1.2下发现这一项的检查非常严格了,加上函数原型声明后,剩下几十个错误信息都是因为库函数没有原型声明造成的,观察下发现,在STM8库的头文件里,只声明了COSMIC编译器下的函数原型,并没有IAR下的头文件声明,我把
- 笑哈哈 stm32/stm8
- 如何在pda上实现拦截电话并设置屏幕横竖方式
- 想做个小程序,使其起到如下效果:当按通话键或有来电时,无论屏幕是处于横屏还是竖屏,立即切换到竖屏,当挂断电话后再恢复到原来的屏幕方式想以服务的方式做,能安装能卸载给个例子或思路如何在pda上实现拦截电话并设置屏幕横竖方式首先,显示驱动要支持转屏。其次,LZ的应用要能检测到来电信息不用做成服务啊,做成服务,你的小程序做什么?小弟是个新手,不知从何处下手,那位给个思路
- maq9627 嵌入式系统
- 电动车防盗 方案SI24r2E,与芯片介绍
- 经调查,中国现在电动自行车保有量3亿,在中东部地区,平均每3人就有一辆电瓶自行车,在沿海城市,外来人口较大,电动自行车使用率极高,超过60%以上,一个500万人口的城市,电动自行车的数量就高大250万辆以上。低碳环保,符合国家环保要求,轻便灵活,让人出行方便,性价比高三个方面使电动自行车增加迅速。方案简述:随着电动自行车的急速增加,相对应的社会治安问题也急剧攀升。一些地区的电动自行车丢失报案率占总治安报警率的60%以上,严重影响社会治安。电动自行车智能防盗备案,是利
- 动能世纪 RF/无线
- 有奖直播:罗姆DC/DC转换器设计研讨会,资深电源领域专家上实战干货~
- 一本正经的管理员(定睛一看):罗姆的要开DC/DC设计转换器研讨会线上直播没事儿瞎跑的小记者(得瑟得瑟):我今年3月份刚去了罗姆世界最小消耗电流180nA的DC/DC转换器BD70522GUL(点此查看详情)的发布会。一本正经的管理员:这个“最”字,太傲娇了没事儿瞎跑的小记者(轻蔑地一看):傲娇而有实力,发布会上来的也是谦和且技术牛的开发部的大佬一本正经的管理员:这次研讨会直播来的,也是一位电源领域的专家,拥有从电
- EEWORLD社区 电源技术
- 倾力奉献——uCOS-IIv2.52源码中文译注
- 把这个读懂了,ucos也就差不多了。大家加油啊,呵呵呵呵倾力奉献——uCOS-IIv2.52源码中文译注谢谢分享!谢谢楼主markXIEXIE浪费了,原来这份文档我也有,还说是原创...好东西,帮顶了大概看了下,下载还是很值的也是该跑跑OS的时候了!读不懂再看嘛谢谢楼主了谢谢分享!刚开始接触ucos学习了。谢谢楼主倾力奉献——uCOS-IIv2.52源码中文译注感谢分享那好,既然这么说了,就好好看看楼主爱死你了……谢谢楼主了好东西不至于吧,怎么都学
- zzhere2007 实时操作系统RTOS
- C语言嵌入式系统编程修炼之道
- C语言嵌入式系统编程修炼之道不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种高级的低级语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉醉于C语言给嵌入式开发带来的便利。http://download.eew
- tiankai001 下载中心专版
设计资源 培训 开发板 精华推荐
- MIC5376 EV,基于 MIC5376-2.8YMT 高性能 150mA LDO 低压差稳压器的评估板
- 使用 ROHM Semiconductor 的 BD46462 的参考设计
- AIS3624DQ适配器板,标准DIL24插座
- LTC1147-3.3、3.3V 低压差高效稳压器的典型应用电路
- AM6TW-4809DZ ±9V 6 瓦双路输出 DC/DC 转换器的典型应用
- STM32F303VE MCU的评估板
- LT6656BIDC-2.048、2.048V 电压基准作为微功率稳压器的典型应用
- LTC1433 最高效率 3.3V/5V 转换器的典型应用电路
- 自适应前灯测试和原型制作套件(安装在有机玻璃面板)
- 用于微处理器复位电路的 NCP301LSN36T1 3.6V 电压检测器的典型应用