计算程序:计算程序一般比较耗时,所以坚决反对任何中断,尤其是乘除法 。
传输程序:主要用于带外置LED和LCD驱动器的应用 。
中断处理程序:中断程序主要用于处理实时性要求高的任务和事件,如外部突发信号检测、按键检测与处理、定时计数、LED显示屏扫描等 。
一般来说,中断程序应该保持代码尽可能的简洁 。对于不需要实时处理的功能,可以在中断中设置触发标志,然后由主程序执行具体的事务——这一点非常重要,尤其是对于低功耗低速的MCU,必须保证所有中断的及时响应 。
对于不同任务体的安排,不同MCU的处理方式也不同 。
比如对于低速低功耗MCU(Fosc=32768Hz)的应用,考虑到这些项目都是手持设备和普通的LCD显示器,对按键和显示器的响应要求实时性很高 。因此,一般采用定时中断来处理按键动作和数据显示 。对于高速MCU,如Fosc》1MHz的应用,由于此时MCU有足够的时间执行主程序循环,所以各种触发标志只能在相应的中断中设置,所有任务都可以在主程序中执行 。
在单片机的编程中,还需要特别注意防止在中断和主程序体中同时访问或设置同一个变量或数据 。有效的防范方法是将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行数据的相关操作;在其他程序中(主要是中断),只对需要处理数据的地方设置触发标志 。――这可以确保数据的执行是可预测的和唯一的 。
全球主流MCU制造商
欧美地区
1.飞思卡尔恩智浦(Freescale NXP):荷兰,主要提供16位和32位MCU 。应用:汽车电子、LED和普通照明、医疗保健、多媒体融合、家用电器和电动工具、建筑自动化技术的电机控制、电源和功率转换器、能源和智能电网、自动化、计算机和通信基础设施 。
2.微芯片Atmel(微芯片技术爱特梅尔):美国,主要提供16位和32位MCU 。应用领域:汽车电子、工业应用、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子设备、计算机外设 。
3.Cypress Spansion:美国,主要提供8位、16位、32位MCU 。应用:汽车电子、家用电器、医疗、消费电子、通讯和电信、工业、无线 。
4.ADI(雅德诺半导体):美国,主要提供8位、16位、32位MCU 。应用:航空空航空航天和国防、汽车应用、建筑技术、通信、消费电子、能源、医疗保健、仪器仪表和测量、电机、工业自动化、安全 。
5.英飞凌(Infineon):德国,主要提供16位和32位MCU 。应用领域:汽车电子、消费电子、工程、商用车和农用车、数据处理、电动交通、工业应用、医疗设备、移动设备、电机控制和驱动、电源、电动自行车和摩托车用小型电动汽车、智能电网、照明、太阳能系统解决方案、风能系统解决方案 。
6.ST微电子(ST Microelectronics):意大利/法国,主要提供32位MCU 。应用:LED和普通照明、交通、医疗保健、多媒体融合、家用电器和电动工具、建筑自动化技术的电机控制、电源和功率转换器、能源和智能电网、自动化、计算机和通信基础设施 。
7.高通:美国,主要提供16位和32位MCU 。应用:智能手机,平板电脑,无线调制解调器 。
8.德州仪器:美国,主要提供16位和32位MCU 。应用:汽车电子,消费电子,医疗设备,移动设备,通信 。
9.美心(Maxim):美国,主要提供32位MCU 。应用:汽车电子,消费电子,工业应用,安全 。
日本和韩国
1.瑞萨(Renesas):日本主要提供16位和32位MCU 。应用:计算机和外围设备,消费电子,医疗保健电子,汽车电子,工业,通信 。
2.东芝:日本,主要提供16位和32位MCU 。应用:汽车电子、工业应用、电机控制、无线通信、手机、计算机和外围设备、视频和音频/视频、消费电子(家用电器)、LED照明、安全、电源管理、娱乐设备 。
推荐阅读
- 奥迪tt有敞篷的吗
- 儿童室内游戏项目有哪些
- apple论坛有哪些 apple论坛
- 更新中
- 谁能告诉我 坚果手机质量有问题客服不鸟我我该怎...
- 坚果手机突然充不上电也开不了机的进来有办法了,我的独家黑科技绝对解决
- 已经把坚果卖掉了~
- 锤子是不是和浏览器有合作
- 你们最爱的大屏手机来了 2020巨屏手机有哪些
- 搭载的天玑1200跑分有点狠 红米k40天玑1200跑分
