虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

1.<b>1</b>

  • MSP430系列单片机C语言程序设计与开发

    MSP430系列单片机C语言程序设计与开发MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP430系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。《MSP430系列单片机C语言程序设计与开发》介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。   《MSP430系列单片机C语言程序设计与开发》可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。MSP430系列超低功耗16位单片机的原理与应用目录MSP430系列单片机C语言程序设计与开发 目录  第1章 C语言基本知识1.1 标识符与关键字11.1.1 标识符11.1.2 关键字11.2 数据基本类型21.2.1 整型数据21.2.2 实型数据31.2.3 字符型数据41.2.4 各种数据转换关系61.3 C语言的运算符71.3.1 算术运算符71.3.2 关系运算符和逻辑运算符71.3.3 赋值运算符81.3.4 逗号运算符81.3.5 ? 与 :运算符81.3.6 强制转换运算符91.3.7 各种运算符优先级列表91.4 程序设计的三种基本结构101.4.1 语句的概念101.4.2 顺序结构111.4.3 选择结构121.4.4 循环结构141.5 函数181.5.1 函数定义181.5.2 局部变量与全局变量191.5.3 形式参数与实际参数201.5.4 函数调用方式201.5.5 函数嵌套调用211.5.6 变量的存储类别221.5.7 内部函数和外部函数231.6 数组231.6.1 一维数组241.6.2 多维数组241.6.3 字符数组261.7 指针271.7.1 指针与地址的概念271.7.2 指针变量的定义281.7.3 指针变量的引用281.7.4 数组的指针281.7.5 函数的指针301.7.6 指针数组311.8 结构和联合321.8.1 结构定义321.8.2 结构类型变量的定义331.8.3 结构类型变量的初始化341.8.4 结构类型变量的引用341.8.5 联合341.9 枚举361.9.1 枚举的定义361.9.2 枚举元素的值371.9. 3 枚举变量的使用371.10 类型定义381.10.1 类型定义的形式381.10.2 类型定义的使用381.11 位运算391.11.1 位运算符391.11.2 位域401.12 预处理功能411.12.1 简单宏定义和带参数宏定义411.12.2 文件包含431.12.3 条件编译命令44第2章 C430--MSP430系列的C语言2.1 MSP430系列的C语言452.1.1 C430概述452.1.2 C430程序设计工作流程462.1.3 开始462.1.4 C430程序生成472.2 C430的数据表达482.2.1 数据类型482.2.2 编码效率502.3 C430的配置512.3.1 引言512.3. 2 存储器分配522.3.3 堆栈体积522.3.4 输入输出522.3.5 寄存器的访问542.3.6 堆体积542.3.7 初始化54第3章 C430的开发调试环境3.1 引言563.1.1 Workbench特性563.1.2 Workbench的内嵌编辑器特性563.1.3 C编译器特性573.1. 4 汇编器特性573.1.5 连接器特性583.1.6 库管理器特性583.1.7 C?SPY调试器特性593.2 Workbench概述593.2.1 项目管理模式593.2.2 选项设置603.2.3 建立项目603.2.4 测试代码613.2.5 样本应用程序613.3 Workbench的操作623.3.1 开始633.3.2 编译项目683.3.3 连接项目693.3.4 调试项目713.3.5 使用Make命令733.4 Workbench的功能汇总753.4.1 Workbench的窗口753.4.2 Workbench的菜单功能813.5 Workbench的内嵌编辑器993.5.1 内嵌编辑器操作993.5.2 编辑键说明993.6 C?SPY概述1013.6.1 C?SPY的C语言级和汇编语言级调试1013.6.2 程序的执行1023.7 C?SPY的操作1033.7.1 程序生成1033.7.2 编译与连接1033.7.3 C?SPY运行1033.7.4 C语言级调试1043.7.5 汇编级调试1113.8 C?SPY的功能汇总1133.8.1 C?SPY的窗口1133.8.2 C?SPY的菜单命令功能1203.9 C?SPY的表达式与宏1323.9.1 汇编语言表达式1323.9.2 C语言表达式1333.9.3 C?SPY宏1353.9.4 C?SPY的设置宏1373.9.5 C?SPY的系统宏137 第4章 C430程序设计实例4.1 程序设计与调试环境1434.1.1 程序设计调试集成环境1434.1.2 设备连接1444.1.3 ProF149实验系统1444.2 数值计算1454.2.1 C语言表达式1454.2.2 利用MPY实现运算1464.3 循环结构1474.4 选择结构1484.5 SFR访问1494.6 RAM访问1504.7 FLASH访问1514.8 WDT操作1534.8. 1 WDT使程序自动复位1534.8.2 程序对WATCHDOG计数溢出的控制1544.8.3 WDT的定时器功能1554.9 Timer操作1554.9.1 用Timer产生时钟信号1554.9.2 用Timer检测脉冲宽度1564.10 UART操作1574.10.1 点对点通信1574.10.2 点对多点通信1604.11 SPI操作1634.12 比较器操作1654.13 ADC12操作1674.13.1 单通道单次转换1674.13.2 序列通道多次转换1684.14 时钟模块操作1704.15 中断服务程序1714.16 省电工作模式1754.17 调用汇编语言子程序1764.17.1 程序举例1764.17.2 生成C程序调用的汇编子程序177第5章 C430的扩展特性5.1 C430的语言扩展概述1785.1.1 扩展关键字1785.1.2 #pragma编译命令1785.1.3 预定义符号1795.1.4 本征函数1795.1.5 其他扩展特性1795.2 C430的关键字扩展1795.2.1 interrupt1805.2.2 monitor1805.2.3 no_init1815.2.4 sfrb1815.2.5 sfrw1825.3 C430的 #pragma编译命令1825.3.1 bitfields=default1825.3.2 bitfields=reversed1825.3.3 codeseg1835.3.4 function=default1835.3.5 function=interrupt1845.3.6 function=monitor1845.3.7 language=default1845.3.8 language=extended1845.3.9 memory=constseg1855.3.10 memory=dataseg1855.3.11 memory=default1855.3.12 memory=no_init1865.3.13 warnings=default1865.3.14 warnings=off1865.3.15 warnings=on1865.4 C430的预定义符号1865.4.1 DATE1875.4.2 FILE1875.4.3 IAR_SYSTEMS_ICC1875.4.4 LINE1875.4.5 STDC1875.4.6 TID1875.4.7 TIME1885.4.8 VER1885.5 C430的本征函数1885.5.1 _args$1885.5.2 _argt$1895.5.3 _BIC_SR1895.5.4 _BIS_SR1905.5.5 _DINT1905.5.6 _EINT1905.5.7 _NOP1905.5.8 _OPC1905.6 C430的汇编语言接口1915.6.1 创建汇编子程序框架1915.6.2 调用规则1915.6.3 C程序调用汇编子程序1935.7 C430的段定义1935.7.1 存储器分布与段定义1945.7.2 CCSTR段1945.7.3 CDATA0段1945.7.4 CODE段1955.7.5 CONST1955.7.6 CSTACK1955.7.7 CSTR1955.7.8 ECSTR1955.7.9 IDATA01965.7.10 INTVEC1965.7.11 NO_INIT1965.7.12 UDATA0196第6章 C430的库函数6.1 引言1976.1.1 库模块文件1976.1.2 头文件1976.1.3 库定义汇总1976.2C 库函数参考2046.2.1 C库函数的说明格式2046.2.2 C库函数说明204第7章 C430编译器的诊断消息7.1 编译诊断消息的类型2307.2 编译出错消息2317.3 编译警告消息243附录 AMSP430系列FLASH型芯片资料248附录 BProF149实验系统251附录 CMSP430x14x.H文件253附录 DIAR MSP430 C语言产品介绍275

    标签: MSP 430 C语言 单片机

    上传时间: 2014-05-05

    上传用户:253189838

  • 基于M CORE微控制器的嵌入式系统

    基于M CORE微控制器的嵌入式系统从应用的角度出发,全面介绍了构成嵌人式系统的微控制器的结构和常用支撑硬件的原理以及设计开发方法。本书共 24章,分为3大部分。第 1部分(第 1~14章)介绍具有 32位 RISC CPU核的M·CORE微控制器的结构及原理,按模块分章,对各功能模块的原理及使用方法都有详尽的讲解。众所周知,微控制器种类繁多,虽然不同种类微控制器的CPU及内部功能模块有所不同,但基本原理(尤其是一些通用的功能)是一致的。第2部分(第15—19章)介绍嵌入式系统常用外围电路的原理及设计和使用方法,包括有:异步串行接口的互连及应用举例、同步串行总线及应用举例、液晶显示模块、液晶控制器、触摸屏及触摸屏控制器和各类存储器的应用举例。第3部分(第20—24章)介绍嵌人式系统的开发环境与软件开发,在讨论嵌人式系统软件开发的一般过程和开发工具需求的基础上,介绍M·CORE软件开发支持工具集、MMC2107微控制器评估板、M·CORE常用工具软件、QodeWarrior集成开发环境IDE及M·CORE的基本程序设计技术。 第1部分 M·COREM控制器的结构及原理 第1章 微控制器及其应用技术概述 1.1 微控制器的特点 1.2 微控制器技术的发展 1.3 M·CORE系列微控制器 l.3.1 MMC2107的特点及组成 1.3.2 MMC2107的引脚描述 1.3.3 MMC2107的系统存储器地址映射 第2章 M·CORE M210中央处理单元(CPU) 2.1 M·CORE处理器综述 2.1.1 M·CORE处理器的微结构 2.1.2 M·CORE处理器的编程模型 2.1.3 M·CORE的数据格式 2.1.4 M·CORE处理器的寄存器 2.2 M·CORE处理器指令系统简述 2. 2.l 指令类型和寻址方式

    标签: CORE 微控制器 嵌入式系统

    上传时间: 2013-10-28

    上传用户:lhw888

  • 8051电子钟设计论文

    一:微电脑设计11.1:微电脑基本结构11.2:单芯片微电脑21.3:单芯片微电脑种类3二:MCS51架构介绍62.1:接脚说明62.2:内部构造图72.3:系统时序82.4:内存结构92.5:系统重制142.6:中断结构15三:LCD简介243.1:简介243.2:内部结构263.3:模块指令29图1-1 微电脑基本结构1表1-1 MCS-51 单芯片比较.5图2-1 MCS-51 接脚图.6图2-2 内部结构方块图8图2-3 MCS-51 指令执行时序.9图2-4 MCS-51 内部数据存储器.10图2-5 MCS-51 程序内存结构图.10图2-6 MCS-51内部数据存储器结构11图2-7 特殊功能缓存器12表2-1 特殊功能缓存器(SFC)初值设定.13图2-8 数据存储器结构图13表2-2 SFR重置设定值.15表2-3 中断向量17图2-9 中断结构方块图18表2-4 中断致能缓存器IE19表2-5 中断优先权缓存器(IP) .20表2-6 中断源优先权顺序21表2-7 计时/计数控制缓存器TCON.21表2-8 计时/计数模式设定.23图3-1 LCD 的接口电路方图24表3-1 LCD 接脚说明25表3-2 控制脚功能25表3-3 LCD 模块地址对映26表3-4 字符产生器与字型码对映27表3-5 LCD 内字型表28表3-6 LCD 控制指令表32图3-2 初始化流程图33表4-1 功能说明34图4-1 电路图35图4-2 程序流程图36此篇专题主要研究是利用8051芯片制作出电子钟,利用LCD当作显示介面,并且设置有闹铃功能,是很可以融入生活的小家电。关键词: AT89C51,LCD,电子锺,数字钟,闹铃。四:电子钟344.1:相关知识344.2:功能说明344.3`:流程图36五:心得感想41六:程序代码42附录:MCS51指令集.54参考数据60

    标签: 8051 电子钟 论文

    上传时间: 2013-10-11

    上传用户:butterfly2013

  • 串口调试软件SSCOMV3.0

    串口调试软件SSCOM可供免费使用,免费下载,本软件可以在Win95/98、Win2000、WinNT、WinXP下面运行.软件功能主要为: 1.接收从串口进来的数据并在窗口显示. 2.所接收到的数据数据显示方式可以选择为字符方式或者HEX方式 4.中文显示无乱码,且不影响速度 5.串口波特率可以选择为110bps-256000bps.(波特率>115200时需要硬件支持) 6.可以即时显示存在的串口号.如果您增加了usb转串口等设备,串口号也会在列表中出现. 7.可以选择“5、6、7、8”四种数据长度. 8.可以选择为“1、1.5、2”三种停止位.(1.5停止位需要硬件支持) 8.第9位数据可以选择为“无、奇校验、偶校验、1、0”四种方式. 9.可以选择“无流控、软流控、硬流控、自定义”四种流控方式. 10.串口设置和字符串操作等设置在程序关闭时自动保存,打开时自动载入. 11.可以在接收窗口按键即发送该键值. 12.可以在字符串输入框输入您想发送的字符串,并发送. 13.可以在字符串输入框输入您想发送的HEX数据串,数据的值从00到FF,没有任何限制. 14.可以定时重复发送数据,并可以设置发送时间间隔. 15.可以在发送字符串时选择发送新行,即自动加上回车换行. 16.可以显示当前串口的CTS、DSR、RLSL(CD)信号线的状态. 17.可以自由控制当前串口的DTR、RTS信号线的输出状态. 18.可以打开一个文本文件或者一个二进制文件预览其内容,查看方式可以是文本或者HEX方式. 19.可以打开一个文本文件或者一个二进制文件并以当前波特率发送到串口. 20.可以保存窗口内容到一个文本文件,文件名取自当前时间,保存在当前目录. 21.可以即时显示发送的字节数和接收到的字节数,按清除窗口将会清零. 22.带有功能强大的扩展功能:多条字符串发送定义和网上查找串口资料等. 23.可以定义最多32条预备发送的字符串,每条字符串可以定义为HEX数据串或者字符串方式.在每一条数据的左边打勾就表示这是一条hex数据串. 24.点击字符串右边的标号即可以发送这条定义好的字符串. 25.可以设置为循环发送你定义过的多条字符串,并且可以设置发送时间间隔. 26.在串口资料栏您可以从mcu51网站或者Google查找有关串口技术资料. 27.在串口资料栏您可以进入技术讨论bbs,在此发表您的高见或者提出您的问题和需求. 28.在产品信息栏您可以获得现时最新的产品信息. 29.这是个绿色软件,单个文件即可执行,不会给您的机器增加任何负担. 此版本使用C++Builder编写,相对于上一版本SSCOM2.0,主要改进在: 1.程序更稳定可靠,修改了一些报错信息.使用更加人性化。 2.修改了避免显示汉字乱码的算法,快了许多. 3.hex数据输入的错误兼容性. 4.发送字符串可以加发回车换行. 5.可以保存窗口内容到文件. 6.发送和接收的字符数统计更准确. 7.不再接收到一定数量字符数就清屏,因为发现即使收到很多内容也不会溢出,速度仍然很快. 8,可以打开二进制文件并发送,从前只能发文本文件. 9.打开文件后可以用asc方式或者hex方式预览文件中前4K内容. 10.发送文件前告诉操作者需要发送多少时间.免得久等. 11.新增功能强大的扩展功能,多达32条自定义字符串操作,程序关闭时这些字符串会自动保存,下次开机时再载入,每条可以定义为HEX数据串或者ASC字符串,按后边的数字按钮可以发送.也可以自动循环发送定义过的字符串. 12.新增串口设置自动保存. 13.加入了网络支持功能,用户很方便讨论问题和找到技术支持.

    标签: SSCOMV 3.0 串口调试 软件

    上传时间: 2013-10-26

    上传用户:448949

  • 8086指令系统

    8086指令系统目录 概述 2.1节   目录 2.1.1--2.1.5(传送)     2.1.1 目录:1~3        2.1.1-1 mov类例1                   mov类例2                   mov类例3                   mov类例4(END)        2.1.1-2. xchg  --3.XLAT                 查表示意图(end)     2.1.2堆栈操作指令(1)            堆栈操作指令(2)            堆栈操作指令(3)            堆栈操作指令(4)            堆栈操作指令(5)(END)     2.1.3标志传送指令(1)            标志传送指令(2)(end)     2.1.4地址传送指令(1)            地址传送指令(2)            地址传送指令(3)(end)     2.1.5输入输出指令(1)            输入输出指令(2)            输入输出指令(3)(end) 2.2节   目录 2.2.1--2.2.6(算术)     2.2.1加法指令(1)            加法指令(2)            加法指令(3)            加法指令(4)            加法指令5 end     2.2.2减法指令(1)            减法指令(2)            减法指令(3)            减法指令(4)      减法指令(5)            减法指令(6)(end)     2.2.3乘法指令(1)            乘法指令(2)            乘法指令(3)(end)     2.2.4除法指令(1)            除法指令(2)(end)     2.2.5符号扩展指令(end) 符号扩展说明     2.2.6十进制调整指令(1)            十进制调整指令(2)            十进制调整指令(3)            十进制调整指令(4)            十进制调整指令(5)            十进制调整指令(6)            十进制调整指令(7)            十进制调整指令(8)            十进制调整指令(9)(end) 2.3节  目录 2.3.1--2. 3.3(位)     2.3.1 逻辑运算指令(1)             逻辑运算指令(2)             逻辑运算指令(3)             逻辑运算指令(4)             逻辑运算指令(END)     2.3.2 移位指令(1)             移位指令(2)             移位指令(3)             移位指令(4)(end)     2.3.3 循环移位指令(1)             循环移位指令(2)(end) 2.4节  目录     2.4.1 无条件转移指令(1) 短转移的转移范围             无条件转移指令(2)             无条件转移指令(3)             无条件转移指令(4)(end)     2.4.2 条件转移指令(1)             条件转移指令(2)             条件转移指令(3)             条件转移指令(4)             条件转移指令(5)(end)     2.4.3 循环控制指令(1)             循环控制指令(2)(end)  2.4.4 子程序调用及返回指令(1)        子程序调用及返回指令(2)        子程序调用及返回指令(3)        子程序调用及返回指令(4)        子程序调用及返回指令(5) 子程序调用及返回指令(6) (end)     2.4.5 中断控制指令(1)             中断控制指令(2)             中断控制指令(3)             中断控制指令(4)             中断控制指令(5)             中断控制指令(6)             中断控制指令(7)             中断控制指令(8)(end)     2.4.6 系统功能调用(1)             系统功能调用(2)             系统功能调用(3)(end) 2.5节 目录 1---6(串操作) 串操作(1)传送 串操作(2) 串操作(3) 串操作(4)存串 串操作(5)读串、比较 串操作(6)搜索、重复前缀 串操作(7)REP 串操作(8)REPZ/REPNZ 串操作(9)前缀注释 串操作(10)例题 串操作(11)注释(end) 2.6 处理机控制类指令(1)(end)

    标签: 8086 指令系统

    上传时间: 2013-10-30

    上传用户:大三三

  • PC机之间串口通信的实现

    PC机之间串口通信的实现一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下:(1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据;(2)在小键盘上按“R”键,系统将此时乒乓开关的状态读入计算机I中,并显示出来,同时显示经串行通讯后,计算机II接收到的数据;(3)完成后,系统提示“do you want to send another data? Y/N”,根据用户需要,在键盘按下“Y”键,则重复步骤(1),进行另一数据的通讯;在键盘按除“Y”键外的任意键,将退出本程序。2.提高要求 能够进行出错处理,例如采用奇偶校验,出错重传或者采用接收方回传和发送方确认来保证发送和接收正确。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、8251A通用串行输入/输出接口芯片由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。能够完成上述“串←→并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A异步工作方式:如果8251A编程为异步方式,在需要发送字符时,必须首先设置TXEN和CTS#为有效状态,TXEN(Transmitter Enable)是允许发送信号,是命令寄存器中的一位;CTS#(Clear To Send)是由外设发来的对CPU请求发送信号的响应信号。然后就开始发送过程。在发送时,每当CPU送往发送缓冲器一个字符,发送器自动为这个字符加上1个起始位,并且按照编程要求加上奇/偶校验位以及1个、1.5个或者2个停止位。串行数据以起始位开始,接着是最低有效数据位,最高有效位的后面是奇/偶校验位,然后是停止位。按位发送的数据是以发送时钟TXC的下降沿同步的,也就是说这些数据总是在发送时钟TXC的下降沿从8251A发出。数据传输的波特率取决于编程时指定的波特率因子,为发送器时钟频率的1、1/16或1/64。当波特率指定为16时,数据传输的波特率就是发送器时钟频率的1/16。CPU通过数据总线将数据送到8251A的数据输出缓冲寄存器以后,再传输到发送缓冲器,经移位寄存器移位,将并行数据变为串行数据,从TxD端送往外部设备。在8251A接收字符时,命令寄存器的接收允许位RxE(Receiver Enable)必须为1。8251A通过检测RxD引脚上的低电平来准备接收字符,在没有字符传送时RxD端为高电平。8251A不断地检测RxD引脚,从RxD端上检测到低电平以后,便认为是串行数据的起始位,并且启动接收控制电路中的一个计数器来进行计数,计数器的频率等于接收器时钟频率。计数器是作为接收器采样定时,当计数到相当于半个数位的传输时间时再次对RxD端进行采样,如果仍为低电平,则确认该数位是一个有效的起始位。若传输一个字符需要16个时钟,那么就是要在计数8个时钟后采样到低电平。之后,8251A每隔一个数位的传输时间对RxD端采样一次,依次确定串行数据位的值。串行数据位顺序进入接收移位寄存器,通过校验并除去停止位,变成并行数据以后通过内部数据总线送入接收缓冲器,此时发出有效状态的RxRDY信号通知CPU,通知CPU8251A已经收到一个有效的数据。一个字符对应的数据可以是5~8位。如果一个字符对应的数据不到8位,8251A会在移位转换成并行数据的时候,自动把他们的高位补成0。 五、系统总体设计方案根据系统设计的要求,对系统设计的总体方案进行论证分析如下:1.获取8位开关量可使用实验台上的8255A可编程并行接口芯片,因为只要获取8位数据量,只需使用基本输入和8位数据线,所以将8255A工作在方式0,PA0-PA7接实验台上的8位开关量。2.当使用串口进行数据传送时,虽然同步通信速度远远高于异步通信,可达500kbit/s,但由于其需要有一个时钟来实现发送端和接收端之间的同步,硬件电路复杂,通常计算机之间的通信只采用异步通信。3.由于8251A本身没有时钟,需要外部提供,所以本设计中使用实验台上的8253芯片的计数器2来实现。4:显示和键盘输入均使用DOS功能调用来实现。设计思路框图,如下图所示: 六、硬件设计硬件电路主要分为8位开关量数据获取电路,串行通信数据发送电路,串行通信数据接收电路三个部分。1.8位开关量数据获取电路该电路主要是利用8255并行接口读取8位乒乓开关的数据。此次设计在获取8位开关数据量时采用8255令其工作在方式0,A口输入8位数据,CS#接实验台上CS1口,对应端口为280H-283H,PA0-PA7接8个开关。2.串行通信电路串行通信电路本设计中8253主要为8251充当频率发生器,接线如下图所示。

    标签: PC机 串口通信

    上传时间: 2013-12-19

    上传用户:小火车啦啦啦

  • 单片机系统软件抗干扰方法

    单片机系统软件抗干扰方法:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是:􀁺 消除模拟输入信号的嗓声(如数字滤波技术);􀁺 程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。1.1 指令冗余CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。1.2 拦截技术所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。1.2.1 软件陷阱的设计当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱:

    标签: 单片机 系统软件 抗干扰

    上传时间: 2013-10-29

    上传用户:大三三

  • 51单片机工程师实例设计程序集-(20种常见应用整编)

    51单片机工程师实例设计程序集-(20种常见应用整编) \7290\                          ;ZLG7290例程*\7290a\                         ;ZLG7290汇编例程*\bell\                          ;蜂鸣器音乐例程*\buzz\                          ;蜂鸣器响例程*\eeprom\                        ;读EEPROM并显示例程*\ex26a_lcd\                     ;16×2LCD模块例程*\ex36a_lcm\                     ;128×64点阵LCD模块例程*\KEY_IO\                        ;直连KEY和LED例程\led_light\                     ;直连LED例程*\lin_park\   ;lin模块的原码及例程。\lin\                           ;LIN总线例程\rs232\                         ;RS232例程(包括PC端和书上了串口例程)\USB1.1\                        ;USB1.1例程(包括PC端)\RS485\                         ;RS485例程\USB2.0\                        ;USB2.0例程(有3个,包括PC端)\TCPIP\                         ;基于ETHERNET的TCPIP例程\RTC\                           ;时钟显示例程\CAN_SELF\                      ;CAN自发自收例程  外中断1\CAN\                           ;CAN例程\USBPACK 2.0\                   ;USB2.0PC例程 注意:带*程序为MON51调试程序。在MON时程序下载后停不下来,可以按一下RSE按钮复位一下。

    标签: 51单片机 工程师 设计程序

    上传时间: 2013-10-13

    上传用户:雨出惊人love

  • DS1302+AT89S52+LED时钟程序(C语言源代码+

    #include<reg51.h>/*************************ds1302与at89s52引脚连接********************/sbit T_RST=P3^5; sbit T_CLK=P3^6;                 sbit T_IO=P3^7;                                sbit ACC0=ACC^0;sbit ACC7=ACC^7;unsigned char seg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};         //0~~9段码 /******************DS1302:写入操作(上升沿)*********************/ void write_byte(unsigned char da){   unsigned char i;   ACC=da;   for(i=8;i>0;i--)   {       T_IO=ACC0;   T_CLK=0;           T_CLK=1;      ACC=ACC>>1;   }} /******************DS1302:读取操作(下降沿)*****************/unsigned char read_byte(void){   unsigned char i;   for(i=0;i<8;i++)   {      ACC=ACC>>1;   T_CLK = 1;   T_CLK = 0;      ACC7 = T_IO;   }   return(ACC); } /******************DS1302:写入数据(先送地址,再写数据)***************************/ void write_1302(unsigned char addr,unsigned char da){   T_RST=0;    //停止工作   T_CLK=0;                                    T_RST=1;   //重新工作   write_byte(addr);    //写入地址      write_byte(da);   T_RST=0;   T_CLK=1;}

    标签: 1302 LED DS AT

    上传时间: 2014-01-17

    上传用户:sglccwk

  • 单片开关电源的设计和应用

    单片开关电源集成电路于20世纪如年代中、后期问世以来,在国际上获得广泛应用,已成为开发中、小功率无工频变压器式高效开关电源的首选产品。本书从实用角度出发,全面系统深入地阐述了单片开关电源的设计与应用。全书共10章。第1至4章分别介绍了六大系列TOPswitch、TOPSwitch—II、TinySwitch、TNY256、MC33370、TOPSwitch—FX等67种型号的单片开关电源集成电路的原理与应用。第5章讲述L4960、L4970/4970A系列15种型号的单片开关式稳压器。第6章介绍16种单片开关电源模块的设计。第7章阐述单片开关电源的特殊应用。第8、9、10章分别介绍单片开关电源的设计指南、电磁兼容性及酗试技术、外围电路关键元器件的选择。这是国内第一部关于单片开关电源的专著,充分反映了该领域的国内外最新研究成果。 第1章 单片开关电源概述 1.1 开关电源的发展趋势 1.1.1 开关电源的发展历史 1.1.2 单片开关电源的发展趋势 1.2 开关电源的基本原理 1.2.1 开关电源的控制方式 1.2.2 脉宽调制式开关电源的基本原理 1.3 单片开关电源的产品分类及主要特点 1.4 单片开关电源的基本原理及反馈电路类型 1.4.1 单片开关电源的基本原理 1.4.2 单片开关电源的两种工作模式 1.4.3 反馈电路的四种基本类型 1.5 单片开关电源典型产品的技术指标 第2章 三端单片开关电源的原理与应用 2.1 TOPSwitch—II系列的产品分类及性能特点 2.1.1 TOPSwitch—II的产品分类 2.1.2 TOPSwitch—II的性能特点 2.2 TOPSwitch—II系列单片开关电源的工作原理

    标签: 单片开关 电源

    上传时间: 2013-10-29

    上传用户:潜水的三贡