合泰单片机做电压表_合泰单片机总结

这篇博客总结了如何使用合泰单片机进行电压表的制作,包括C编译器版本、中断服务函数的设置、宏定义以及内嵌汇编的使用等关键步骤。文中详细解释了指针、数组、中断处理以及位变量的限制和用法,为合泰单片机的电压测量提供了实用指导。
摘要由CSDN通过智能技术生成

《合泰单片机总结》由会员分享,可在线阅读,更多相关《合泰单片机总结(11页珍藏版)》请在人人文库网上搜索。

1、合泰单片机总结-测试环境C编译器V21. Debug2.3. .数组,支持一维/二维数组(大小小于1 bank);4. 使用const关键字,变量将存储于程序存储区,如,const uint8_t tab = “1,2,3”;5. 中断服务函数:#pragma vector ISR_tmr0 0x0c/定义中断入口地址void ISR_tmr0(void)tick+ ;6. 中断函数中调用普通函数(1)方法1#pragma vector ISR_tmr0 0x0c#pragma nolocal funfun()void ISR_tmr0(void)fun() ;(2)方法2#pragma ve。

2、ctor ISR_tmr0 0x0cfun()void ISR_tmr0(void)#asmcall _fun;#endasm7. 宏定义#define_pa0_12_0/bit 0 of RAM address 0x128. 位变量定义对于有多个bank的MCU,位变量只能定义在bank0,使用如下方式#pragma rambank0bit flag ;#pragma norambank9. 指针(1) 不支持指向“字符串数组”char *rainbow = red, orange, yellow ;/ not supported(2) 只支持全局的静态函数指针,且所指函数不能带有参数fun。

3、()return 1;int (*const p)() =fun; / global and initialization requiredvoid main()int a;a=(*p)();(3) 不支持取得const常量的地址const int ldc = 0;void main()int *a;a = &ldc; / cannot pass10. 内嵌汇编#asmlabel: opcode operands.#endasm11 / 11文档可自由编辑Eg:char a;int b;void fun(char p1,int p2)a = p1;#asm / b = p2;MOV A,fun。

4、1MOV _b,AMOV A,fun11mov _b1,A#endasmvoid main()int d1;char d2;unsigned char q, r;r = 0;q = d1 / d2; / get quotient#asm / r = q;MOV A, CR3 ; CR3qMOV CR4,A ; CR4r#endasm#asm / fun(d2,d1)MOV A,CR2 MOV fun0,A ; p1 = d2MOV A,CR1MOV fun1,AMOV A,CR11 MOV fun11,A ; p2 = d1CALL _fun#endasm11. 预编译指令12. 编译器特殊选项13. 内嵌函数14. 注意事项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值