C51问答.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C51问答

C51问答 C51问答 一、#pragma asm是什么意思? #pragma asm MOV P1,R7 NOP NOP MOV P1,#0 #pragma endasm 实际上就是一个在C51中内嵌汇编语言的开关 二、一个 hex to bcd 的算法程序 HEX_BCD:CLR A MOV 30H,A MOV 31H,A MOV 32H,A MOV R2,#15 H_B0: MOV A,R1 RLC A MOV R1,A MOV A,R0 RLC A MOV R0,A MOV A,32H RLC A ACALL BCD_ADJ MOV 32H,A MOV A,31H RLC A ACALL BCD_ADJ MOV 31H,A MOV A,30H RLC A ACALL BCD_ADJ MOV 30H,A DJNZ R2,H_B0 MOV A,R0 RLC A MOV A,32H RLC A MOV 32H,A MOV A,31H RLC A MOV 31H,A MOV A,30H RLC A MOV 30H,A RET BCD_ADJ:PUSH PSW PUSH ACC CJNE A,#50H,$+2 JC B1 POP ACC ADD A,#30H PUSH ACC B1: ANL A,#0FH CJNE A,#5,$+2 JC B2 POP ACC ADD A,#3 PUSH ACC B2: POP ACC POP PSW RET 三、有关单片机ALE引脚的问题 单片机不访问外部锁存器时ALE端有正脉冲信号输出,此频率约为时钟振荡频率的1/6.每当访问 外部数据存储器是,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲.这句话是不是有毛 病.我觉得按这种说法,应该丢失3个ALE脉冲才对,我一直想不通是怎么回事,希望大虾们帮帮我. 小弟感激涕零. 答: 其他所有指令每6个机器周期发出一个ALE,而MOVX指令占用12个机器周期只发出一个ALE 四、如何将一个INT型数据转换成2个CHAR型数据? 经keil优化后,char1=int1/256,char2=int1%256或char1=int18,char2=int10x00ff效率是一样的。 五、在KEIL C51上仿真完了,怎样生成HEX文件去烧写?? 右键点项目中Target 1,选第二个,在OUTPUT中选中CREAT HEX 六、typedef 和 #define 有何不同?? typedef 和 #define 有何不同》》》 如 typedef unsigned char UCHAR ; #define unsigned char UCHAR ; typedef命名一个新的数据类型,但实际上这个新的数据类型是已经存在的,只不过是定义了 一个新的名字. #define只是一个标号的定义. 你举的例子两者没有区别,但是#define还可以这样用 #define MAX 100 #define FUN(x) 100-(x) #define LABEL 等等,这些情况下是不能用typedef定义的 七、请问如何设定KELC51的仿真工作频(时钟) 用右键点击左边的的target 1,然后在xtal一栏输入 八、不同模块怎样共享sbit变量,extern不行? 把SBIT定义单独放到一个.H中,每个模块都包含这个.h文件 九、C51中对于Px.x的访问必须自己定义吗? 是的。 如sbit P17 =0x97;即可定义对P1.7的访问 十、SWITCH( )语句中表达式不可以是位变量对吗? 可以用位变量: #include #include void main() { bit flag; flag=0; switch(flag) { case

文档评论(0)

80219pm + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档