- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言在单片机上扩展
C语言在8051单片机上的扩展(KEIL中interrupt、using关键字的用法) 直接访问寄存器和端口 定义 sfr P0 0x80 sfr P1 0x81 sfr ADCON; 0xDE sbit EA 0x9F 操作 ADCON = 0x08 ; /* Write data to register */ P1 = 0xFF ; /* Write data to Port */ io_status = P0 ; /* Read data from Port */ EA = 1 ; /* Set a bit (enable all interrupts) */ 在使用了interrupt 1 关键字之后,会自动生成中断向量 在 ISR中不能 与其他 后台循环代码(the background loop code) 共享 局部变量 因为 连接器 会复用 在RAM中这些变量的 位置 ,所以 它们会有不同的意义,这取决于当前使用的不同的函数 复用变量对 RAM有限的51来将 很重要。所以,这些函数希望按照一定的顺序执行 而不被中断。 timer0_int() interrupt 1 using 2{ unsigned char temp1 ; unsigned char temp2 ; executable C statements ;} interrupt声明 表示 向量生成在 (8*n+3),这里,n就是interrupt参数后的那个数字这里,在08H的代码区域 生成 LJMP timer0_int 这样一条指令 using tells the compiler to switch register banks on entry to an interrupt routine. This context switch is the fastest way of providing a fresh registerbank for an interrupt routines local data and is to be preferred to stacking registers for very time-critical routines. Note that interrupts of the same priority can share a register bank, since there is no risk that they will interrupt each other. using 告诉编译器 在进入中断处理器 去切换 寄存器的bank。这个contet切换是为中断处理程序的局部变量提供一个新鲜的寄存器bank 最快的方式。 对时序要求严格的程序,是首选的 stack寄存器(保存寄存器到stack)方式。 注意:同样优先级别的中断 可以共享 寄存器bank,因为 他们每次将中断 没有危险 If a USING 1 is added to the timer1 interrupt function prototype, the pushing of registers is replaced by a simple MOV to PSW to switch registerbanks. Unfortunately, while the interrupt entry is speeded up, the direct register addressing used on entry to sys_interp fails. This is because C51 has not yet been told that the registerbank has been changed. If no working registers are used and no other function is called, the optimizer eliminiates teh code to switch register banks.如果在timer1 的中断函数原型中使用USING 1, 寄存器的pushing将被 MOV to PSW 切换寄存器bank 所替换。 不幸的是,当一个中断入口被加速时。用在入口的 直接寄存器寻址 将失败。这是因为 C51没有告诉 寄存器bank已经改变。如果 不工作的寄存器将被使用,如果没有其他函数被调用,优化器..... Logically
您可能关注的文档
- 1.4 概率公理化定义及性质 PowerPoint Presentation.ppt
- 114例HBsAg阳性孕妇及其新生儿PBMC 感染HBV状况.doc
- 10年中医英译研究回顾.doc
- 11项生化指标在298例胸腹水性质鉴别中意义.doc
- 131I与抗甲状腺药物治疗甲状腺亢进症合并周期性麻痹疗效比较.doc
- 140例强直性脊柱炎心理分析及对策.doc
- 15例骨科手术后切口脂肪液化探讨.doc
- 13例葡萄球菌性烫伤样皮肤综合征患者观察和护理干预.doc
- 10吨卧式绕线机设计.doc
- 161两力合成.doc
- 2025济钢集团有限公司社会招聘(7人)考前自测高频考点模拟试题附答案.docx
- 2025河南鹤壁市市直机关遴选公务员19人备考题库附答案.docx
- 2025河南驻马店西平县委巡察办所属事业单位选聘工作人员3人备考题库必威体育精装版.docx
- 2025泰山集团泰安华电热工有限公司招聘工作人员备考题库附答案.docx
- 2025河南鹤壁市淇县选拔乡镇办事业单位人员30人备考题库必威体育精装版.docx
- 2025济南财金投资控股集团有限公司权属企业招聘(9人)考前自测高频考点模拟试题附答案.docx
- 患者转院出院培训课件.pptx
- 2025泰安市泰山城建集团有限公司部分权属企业工作人员招聘公笔试参考题库附答案.docx
- 2025河南驻马店市(正阳县)事业单位招聘联考核减岗位备考题库附答案.docx
- 2025河南驻马店市西平县选调7人备考题库附答案.docx
有哪些信誉好的足球投注网站
文档评论(0)