单片机51到AVR程序的移植

发布者:水手谷水手最新更新时间:2016-03-28 来源: eefocus关键字:单片机  AVR程序  移植 手机看文章 扫描二维码
随时随地手机看文章
将 C51 向 ICCAVR的转换进行一次总结 
1、 头文件
对C51中定义寄存器的头文件如 reg51.h at89x51.h等替换成相应的 AVR头文件 如 io8515.h  io2313.h等
2、 中断处理函数
在 C51 中以 interrupt 关键字来说明某一个函数为中断处理函数 在 ICCVAR 中可采用#pragma interrupt_handler预处理命令在程序开始处声明 具体用法如下: 
#pragma interrupt_handler <中断处理函数名> <中断向量号>
注意 对原 C51 源程序中的 interrupt 和 using关键字应当删除 
3 、对 C51 中的 bit 和 sbit 数据类型的处理
在 ICCAVR中不支持 bit 和 sbit数据类型 对这两种类型可用 unsigned char来代替对有关位运算用标准 C 的位运算功能进行处理 也可采取在线汇编处理 
4 、对中断系统 定时器初始化
需重新根据相应控制寄存器的功能给其赋值 方法与 C51 相同 具体如下 对 MCS51中 TMOD TCON的处理改为对 AVR的 TCCR0 TCCR1A TCCR1B TIFR的处理 
对 MCS51 中 IE IP的处理改为对 AVR中 GIMSK TIMSK MCUCR SREG
的处理对 MCS51 中 IE IP的处理改为对 AVR中 GIMSK TIMSK MCUCR SREG的处理 
5 将原 C51中有关对看门狗电路 外部 EEPROM的处理改为对 AVR芯片内部看门狗电路 内部 EEPROM的处理 
6 、对 MCS51UART 的初始化改为对 UCR和 UBRR和被始化 
7、 如果使用片外 SRAM 应当对 MCUCR初始化如果有引脚作为输出引脚使应当对其方向寄存器进行初始化 
8、 对 C51中符合 ANSI标准的 C语言 原则上不需要进行修改 除非为了程序结构的优化 
关键字:单片机  AVR程序  移植 引用地址:单片机51到AVR程序的移植

上一篇:单片机怎么样下载程序
下一篇:单片机控制220VAC开断

推荐阅读最新更新时间:2024-03-16 14:48

单片机传感器测量系统温度误差补偿的解决方案
  1 引言   对高精度传感器,温度误差已成为提高其性能的严重障碍,特别是在环境温度变化较大的应用场合更是如此。依靠传感器本身附加一些简单的硬件补偿措施是很困难的,目前对于一传感器测量系统已大量引入了单片机,实现自动检测和控制。因此用单片机自身的特点,利用软件来解决传感器温度误差难题是一条有效途径。   在一单片机传感器测量系统中,要解决传感器温度误差补偿问题,首先要测出传感器点的温度,该温度信号作为多路采样开关采集信号的一路送入单片机。测温元件通常是安装在传感器内靠近敏感元件的地方,用来测量传感器点的环境温度,测温元件的输出经放大及A/D转换送到单片机,单片机通过并行接口接收温度数据,并暂存温度数据。信号采样结束,单片机运
[单片机]
51单片机串口调试程序C语言
/*定义为中断方式串口处理*/ #define INTERSENDSTR /*不为8032系列芯片 */ //#define CHIP_8032 #include absacc.h #include reg51.h #include string.h #include err.h #ifdef INTERSENDSTR unsigned char xdata sSendComBuf ,sRecComBuf ; unsigned char data bOut,bIn,bSout,bSin; #else #define DEFSENDCHAR TI=0;SBUF=ACC;while(!TI);TI=0; #endif
[单片机]
单片机DHT11温湿度+1602液晶显示程序
DHT11驱动程序参考 http://www.51hei.com/bbs/dpj-112282-1.html http://www.51hei.com/bbs/dpj-38067-1.html 1602驱动程序参考 http://www.51hei.com/bbs/dpj-24671-1.html /********************************************************************************************* 程序名:    DHT11-1602 编写人:    fby 编写时间:  2019年3月21日 硬件支持:  STC89C52RC D
[单片机]
<font color='red'>单片机</font>DHT11温湿度+1602液晶显示<font color='red'>程序</font>
C8051与SRAM的高速接口
C8051系列单片机没有与标准的51单片机那样的数据总线(RD、WR、ALE)等,只能采用通用I/O口模拟总线方式访问外部存储器。 因此,C8051访问一次外部存储器需要几十条指令。即便这样,由于C8051的绝大多数指令的执行只需一个机器(振荡)周期,在同样的时钟下与标准的51单片机相当。例如,20MHz的时钟下,在文献 给出的SRAM接口方式中,C8051读或写1个字节需要1.7 s,这就是说可以达到的最大传输率为588KB/s。相比之下,标准51读或写1个字节需要1.2 s。为了充分发挥C8051的能力,本文介绍两种提高访问外部SRAM速度的接口方法。 1 扩展外部SRAM的高速接口电路之一 图1所示电路可提高访问外部SRA
[单片机]
C80<font color='red'>51</font>与SRAM的高速接口
ATmega16L单片机数码管显示示例程序设计
简介:在这里为大家提供一个ATmega16L单片机数码管显示示例程序设计。 ;****************************************************** ;*标题: ATmega16L单片机数码管显示示例程序 ;*文件: ;*版本: 1.0 ;******************************************************* #include avr/io.h #include avr/delay.h //注: 内部函数_delay_ms() 最高延时 262.144mS@1MHz 即 32.768ms@8MHz // 该函数可以实现较精确的定时for()
[单片机]
飞思卡尔16位单片机(八)——PWM模块测试
一、PWM模块介绍 PWM在工业领域应用很广,是实现D/A转换和精确脉冲序列输出的有效手段。许多单片机都设置了PWM输出功能。XEP100单片机的PWM模块具有如下特点: (1)XEP100单片机具有8个可编程的PWM通道,与单片机的PP0—PP7管脚复用。每个通道的周期和占空比是可以独立控制的,8个通道都是8位精度的。通过设置寄存器PWMCTL可以将相邻的两个通道连接成一个16位精度的PWM通道,因此一个XEP100单片机可以提供4个16位精度的PWM通道; (2)每个PWM通道都有独立的计数器; (3)每个通道都可以设置为使能或禁能状态; (4)每个通道占空比的极性是可以通过软件选择的,通过设置寄存器PWMPOL实
[单片机]
单片机开发人员的几个常疏忽的问题点
我的工作主要是主导新产品试产,在实际的工作中,经常出现因为RD人员的设计 疏忽 导致试产失败。这个疏忽要加上引号,是因为这并不是真正的粗心造成的,而是对生产工艺的不熟悉而导致的。为了避免各位做RD的朋友出现同样的错误,或为了更好的完成试产我对一些常见的问题点做一些总结,希望能对大家有所帮助。 1、IC封装的选择。现在电子产品都在向环保的无铅发展,欧洲2006年7月1日就要实现全部无铅化,,现在正处于有铅向无铅的过渡期。因此,元器件厂商提供的元器件也出现无铅与有铅两种规格,有的厂商甚至已经停止了有铅元器件的生产。 问题点就在于这有铅和无铅两种元器件的选择上,当一个产品设计完成后,RD人员需要对具体元器件进行确认,请在确认
[单片机]
基于单片机和CPLD的高精度大型望远镜伺服控制器设计
设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。 引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用
[单片机]
基于<font color='red'>单片机</font>和CPLD的高精度大型望远镜伺服控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved