12 2019 档案
提高软件可靠性的方法和技术
摘要:1.建立以可靠性为核心的质量标准 在软件项目规划和需求分析阶段就要建立以可靠性为核心的质量标准。这个质量标准包括实现的功能、可靠性、可维护性、可移植性、安全性、吞吐率等等,虽然还没有一个衡量软件质量的完整体系,但还是可以通过一定的指标来指定标准基线。 软件质量从构成因素上可分为产品质量和过程质量。 阅读全文
posted @ 2019-12-22 00:30 TotallyNewUser 阅读(3048) 评论(0) 推荐(0)
如何提高软件可靠性
摘要:一、软件可靠性定义 长期运行的稳定性(鲁棒性) 输出数据的正确性 异常情况的可记录性 二、影响软件可靠性的因素 1) 需求分析定义错误 由于分析失误,从开始就走上了错误的路线,向着错误的目标前进,以后实现中的错误在所难免。 2) 设计质量 设计水平的高低与设计者的水平有着直接的联系,但可以通过人文方 阅读全文
posted @ 2019-12-22 00:28 TotallyNewUser 阅读(2780) 评论(0) 推荐(0)
51单片机中将变量、数组、函数设置在固定位置,定位到绝对地址
摘要:一、不带初值的变量或数组 直接使用_at_ 关键字加上地址就行。 如: unsigned char idata myvar _at_ 0x40; unsigned char code myvar[10] _at_ 0x40; _at_ 关键字的前后都有空格。 二、带初值的变量或数组 要将某变量定位在 阅读全文
posted @ 2019-12-15 21:10 TotallyNewUser 阅读(2062) 评论(0) 推荐(0)
函数指针和指针函数用法和区别
摘要:前言 函数指针和指针函数,在学习 C 语言的时候遇到这两个东西简直头疼,当然还有更头疼的,比如什么函数指针函数、指针函数指针、数组指针、指针数组、函数指针数组等等,描述越长其定义就越复杂,当然理解起来就越难,特别是刚开始学习这门语言的童鞋,估计碰到这些东西就已经要崩溃了,然后好不容易死记硬背下来应付 阅读全文
posted @ 2019-12-15 21:08 TotallyNewUser 阅读(210) 评论(0) 推荐(0)
C语言位域的定义和使用
摘要:位域的定义和使用 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 阅读全文
posted @ 2019-12-15 21:05 TotallyNewUser 阅读(1786) 评论(0) 推荐(0)
关于可重入函数(可再入函数)和模拟堆栈(仿真堆栈)
摘要:作者:xzp21st 邮箱: tyter1223@163.com 撰文辛苦,转载请注明作者及出处 关键字:keilc51,模拟堆栈,可重入函数调用,参数传递,C?XBP,C?ADDXBP 摘要:本文较详细的介绍了keilc51可再入函数和模拟堆栈的一些概念和实现原理,通过一个简单的程序来剖析keil 阅读全文
posted @ 2019-12-15 21:00 TotallyNewUser 阅读(634) 评论(0) 推荐(0)
C51学习笔记
摘要:一, C51内存结构深度剖析 二, reg51.头文件剖析 三, 浅淡变量类型及其作用域 四, C51常用头文件 五, 浅谈中断 六, C51编译器的限制 七, 小淡C51指针 八, 预处理命令 一,C51内存结构深度剖析 在编写应用程序时,定义一个变量,一个数组,或是说一个固定表格,到底存储在什么 阅读全文
posted @ 2019-12-15 20:53 TotallyNewUser 阅读(1058) 评论(0) 推荐(0)
关于8051的bootloader实现方式
摘要:一, 基本硬件需求要实现IAP功能,需要51单片机可以在程序里修改代码空间的Flash,或者至少可以修改用户程序区的Flash,新出的51大部分都能满足这个要求二, 空间划分一般bootloader位于单片机代码空间的起始地址,用户程序在后面。这个需要根据实际的需求来决定,bootloader功能简 阅读全文
posted @ 2019-12-15 20:45 TotallyNewUser 阅读(1315) 评论(0) 推荐(0)
Keil C51里关于堆栈指针的处理
摘要:Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址,还得时刻记住哪些地址的内存单元是已经分配了,新增加的变量就不能占用那些已经分配了的单元,以免产生内 阅读全文
posted @ 2019-12-15 20:37 TotallyNewUser 阅读(1778) 评论(0) 推荐(0)
单片机中断全局变量保护方法
摘要:首先要明白这几个知识点:关键字volatile的使用,原子操作,临界区的使用。明白的直接跳到文中的4.全局变量的使用及保护处查看。 1.关键字volatile 关键字volatile用于告诉编译器,说明被修身的变量可能会被意想不到地改变,防止编译器对代码进行优化。 比如如下程序: 上述4条语句,如果 阅读全文
posted @ 2019-12-15 13:55 TotallyNewUser 阅读(4722) 评论(0) 推荐(1)
80C51存储器与C51内存优化
摘要:80C51在物理结构上有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。但在逻辑上,即从用户使用的角度上,80C51有三个存储空间:片内外统一编址的64KB的程序存储器地址空间(用16位地址)、256B的片内数据存储器的地址空间(用8位地址,其中128B的专用寄存器地址 阅读全文
posted @ 2019-12-15 13:49 TotallyNewUser 阅读(1310) 评论(0) 推荐(0)
C51浮点数显示、浮点数表示方法
摘要:C51里用4字节存储一个浮点数,格式遵循IEEE-754标准(详见c51.pdf第179页说明)。一 个浮点数用两个部分表示,尾数和2的幂,尾数代表浮点上的实际二进制数,2的幂代表指 数,指数的保存形式是一个0到255的8位值,指数的实际值是保存值(0到255)减去127,一个 范围在-127到+1 阅读全文
posted @ 2019-12-15 13:43 TotallyNewUser 阅读(2174) 评论(0) 推荐(0)
C51热启动代码的编制
摘要:对于工业控制计算机,往往设有有看门狗电路,当看门狗动作,使计算机复位,这就是热启动。热启动时,一般不允许从头开始,这将导致现有的已测量到或计算到的值复位,导致系统工作异常。因而在程序必须判断是热启动还是冷启动,常用的方法是:确定某内存单位为标志位(如0x7f位和0x7e位),启动时首先读该内存单元的 阅读全文
posted @ 2019-12-12 23:53 TotallyNewUser 阅读(371) 评论(0) 推荐(0)
watchdog的正确使用方法
摘要:关于watchdog应该有过单片机学习经历的人。都比較熟悉。但watchdog的正确使用方法,恐怕大家假设没有经历过实际产品的开发不会有深入的理解。 瑞萨RL78系列的单片机自身带有watchdog,当启用watchdogtimer定时器后。在watchdog timer溢出时间间隔的75%会产生w 阅读全文
posted @ 2019-12-11 23:59 TotallyNewUser 阅读(926) 评论(0) 推荐(0)
Keil C中startup.a51的作用
摘要:启动文件. 清理RAM.设置堆栈等.即执行完start.a51后跳转到.c文件的main函数. 和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char data xxx="100";,那startup.a51中就会 阅读全文
posted @ 2019-12-11 23:39 TotallyNewUser 阅读(2052) 评论(0) 推荐(0)