文档库 最新最全的文档下载
当前位置:文档库 › c51中sbit可以做为函数的参数吗

c51中sbit可以做为函数的参数吗

c51中sbit可以做为函数的参数吗
c51中sbit可以做为函数的参数吗

含参不等式恒成立问题中求参数取值范围一般方法(教师版)

恒成立问题是数学中常见问题,也是历年高考的一个热点。大多是在不等式中,已知一个变量的取值范围,求另一个变量的取值范围的形式出现。下面介绍几种常用的处理方法。 一、分离参数 在给出的不等式中,如果能通过恒等变形分离出参数,即:若()a f x ≥恒成立,只须求出()max f x ,则()m ax a f x ≥;若()a f x ≤恒成立,只须求出()min f x ,则()m in a f x ≤,转化为函数求最值。 例1、已知函数()lg 2a f x x x ??=+ - ???,若对任意[)2,x ∈+∞恒有()0f x >,试确定a 的取值范围。 解:根据题意得:21a x x + ->在[)2,x ∈+∞上恒成立, 即:23a x x >-+在[)2,x ∈+∞上恒成立, 设()23f x x x =-+,则()2 3924f x x ??=--+ ??? 当2x =时,()max 2f x = 所以2a > 例2、已知(],1x ∈-∞时,不等式() 21240x x a a ++-?>恒成立,求a 的取值范围。 解:令2x t =,(],1x ∈-∞ (]0,2t ∴∈ 所以原不等式可化为:22 1t a a t +-<, 要使上式在(]0,2t ∈上恒成立,只须求出()2 1t f t t +=在(]0,2t ∈上的最小值即可。 ()22211111124t f t t t t t +????==+=+- ? ? ???? 11,2t ??∈+∞???? ()()min 324f t f ∴== 234a a ∴-< 1322 a ∴-<< 二、分类讨论 在给出的不等式中,如果两变量不能通过恒等变形分别置于不等式的两边,则可利用分类讨论的思想来解决。 例3、若[]2,2x ∈-时,不等式2 3x ax a ++≥恒成立,求a 的取值范围。 解:设()2 3f x x ax a =++-,则问题转化为当[]2,2x ∈-时,()f x 的最小值非负。 (1) 当22a -<-即:4a >时,()()min 2730f x f a =-=-≥ 73 a ∴≤又4a >所以a 不存在;

c51库函数

#include” 当51单片机通过8255和锁存器74LS273来扩展IO时,经常用到头文件absacc.h。 在程序中,用“#include”即可使用其中定义的宏来访问绝对地址,包括:CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD 例如: rval=CBYTE[0x0002];指向程序存贮器的0002h地址 rval=XWORD [0x0002];指向外RAM的0004h地址 KEIL 中ABSACC.H 定义如下: #ifndef __ABSACC_H__ #define __ABSACC_H__ #define CBYTE ((unsigned char volatile code *) 0) #define DBYTE ((unsigned char volatile data *) 0) #define PBYTE ((unsigned char volatile pdata *) 0) #define XBYTE ((unsigned char volatile xdata *) 0) #define CWORD ((unsigned int volatile code *) 0) #define DWORD ((unsigned int volatile data *) 0) #define PWORD ((unsigned int volatile pdata *) 0) #define XWORD ((unsigned int volatile xdata *) 0) #ifdef __CX51__ #define FVAR(object, addr) (*((object volatile far *) (addr))) #define FARRAY(object, base) ((object volatile far *) (base)) #define FCVAR(object, addr) (*((object const far *) (addr))) #define FCARRAY(object, base) ((object const far *) (base)) #else #define FVAR(object, addr) (*((object volatile far *) ((addr)+0x10000L))) #define FCVAR(object, addr) (*((object const far *) ((addr)+0x810000L))) #define FARRAY(object, base) ((object volatile far *) ((base)+0x10000L)) #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L)) #endif #endif 再如: #define COM8255 XBYTE[0X060FF] //后面若出现COM8255,则单片机端口P0和P2联合输出0X060FF绝对物理地址(地址指向82C55指令寄存器) #define PA8255 XBYTE[0X000FF] //后面若出现PA8255,则单片机端口P0和P2联合输出0X000FF绝对物理地址(地址指向82C55的A组端口寄存器) #define PB8255 XBYTE[0X020FF] //后面若出现PB8255,则单片机端口P0和P2联合输出0X020FF绝对物理地址(地址指向82C55的B组端口寄存器) #define PC8255 XBYTE[0X040FF] //后面若出现PC8255,则单片机端口P0和P2联合输出0X040FF绝对物理地址(地址指向82C55的C组端口寄存器) ? ? absacc.h里的宏 #define CBYTE ((unsigned char volatile code? *) 0)

keil c51 详细中文手册

Keil C51使用详解 V1.0 第一章 Keil C51开发系统基本知识 (6) 第一节系统概述 (6) 第二节Keil C51单片机软件开发系统的整体结构 (6)

1. C51 for Dos 7 2. C51 for Windows的安装及注意事项: (7) 第四节Keil C51工具包各部分功能及使用简介 (7) 1. C51与A51. 7 2. L51和BL51. 8 3. DScope51,Tscope51及Monitor51. 8 4. Ishell及uVision. 9 第二章 Keil C51软件使用详解 (10) 第一节Keil C51编译器的控制指令 (10) 1. 源文件控制类 (10) 2. 目标文件(Object)控制类: (10) 3. 列表文件(listing)控制类: (10) 第二节dScope51的使用 (11) 1. dScope51 for Dos 11 2. dScope for Windows 12 第三节Monitor51及其使用 (13) 1. Monitor51对硬件的要求 (13) 2. Mon51的使用 (13) 3. MON51的配置 (13) 4. 串口连接图: (13) 5. MON51命令及使用 (14) 第四节集成开发环境(IDE)的使用 (14) 1. Ishell for Dos的使用 (14) 2. uVision for windows的使用 (15) 第三章 Keil C51 vs 标准C.. 15

第二节内存区域(Memory Areas): (16) 1. Pragram Area: (16) 2. Internal Data Memory: 16 3. External Data Memory. 16 4. Speciac Function Register Memory. 16 第三节存储模式 (16) 1. Small模式 (16) 2. Compact模式 (17) 3. large模式 (17) 第四节存储类型声明 (17) 第五节变量或数据类型 (17) 第六节位变量与声明 (17) 1. bit型变量 (17) 2. 可位寻址区说明20H-2FH.. 18 第七节Keil C51指针 (18) 1. 一般指针 (18) 2. 存储器指针 (18) 3. 指针转换 (18) 第八节Keil C51函数 (19) 1. 中断函数声明: (19) 2. 通用存储工作区 (19) 3. 选通用存储工作区由using x声明,见上例。 (19) 4. 指定存储模式 (19) 5. #pragma disable. 19 6. 递归或可重入函数指定 (19)

含参不等式恒成立问题学考压轴题(函数专题)

个性化教案 学生姓名 年级 科目 数学 授课教师 日期 时间段 课时 2 授课类型 新课/复习课/作业讲解课 教学目标 教学内容 函数专题:含参不等式恒成立问题 个性化学习问题解决 “含参不等式恒成立问题”把不等式、函数、三角、几何等内容有机地结合起来,知识点多,综合性强,解法灵活等。在解决这类问题的过程中涉及的“函数与方程”、“化归与转化”、“数形结合”、“分类讨论”等数学思想对锻炼学生的综合解题能力,培养其思维的灵活性、创造性都有着独到的作用 恒成立问题的基本类型: 类型1:若所求问题可转化为二次不等式,则可考虑应用判别式法解题。一般地,对于二次函数 ),0()(2R x a c bx ax x f ∈≠++=,有 1)0)(>x f 对R x ∈恒成立?? ??00a ; 2)0)(对x ∈R 恒成立,求实数a 的取值范围。 例2:若不等式02)1()1(2>+-+-x m x m 的解集是R ,求m 的范围。 类型2:设)0()(2 ≠++=a c bx ax x f (1)当0>a 时,],[0)(βα∈>x x f 在上恒成立?????>>-?????<- ?0 )(2020)(2βββαααf a b a b f a b 或或, ],[0)(βα∈x x f 在上恒成立? ??>>?0)(0 )(βαf f ],[0)(βα∈-?????对[]1,2x ∈恒成立,求实数a 的取值范围。

单片机教案C51标识符和函数

一、C51特点 1. C语言编程与汇编语言编程相比的优势 1)编程调试灵活方便 2)生成的代码编译效率高 3)完全模块化 4)可移植性好 5)便于项目维护管理 2. C51语言编译器与标准ANSI C编译器的主要区别 头文件:为了实现这些功能,只需将相应的功能寄存器的头文件加载在程序中,就可实现指定的功能。因此,C51系列头文件集中体现了各系列芯片的不同功能。 数据类型: 由于80C51系列器件包含了位操作空间和丰富的位操作指令,因此C51比ANSI C多一种位类型 数据存储类型: 80C51系列单片机有程序存储器和数据存储器。数据存储器又分片内和片外数据存储器。片内数据存储器还分直接寻址区和间接寻址区,分别对应code、data、idata、xdata以及根据80C51系列特点而设定的pdata类型。 数据运算操作和程序控制: 从数据运算操作和程序控制语句以及函数的使用上来讲,它们几乎没有什么明显的区别。只是在函数的使用上,由于单片机系统的资源有限,它的编译系统不允许太多的程序嵌套。 C51与标准ANSI C库函数: 部分库函数不适合单片机处理系统,因此被排除在外,如字符屏幕和图形函数。 C51的标识符和关键字: 标识符用来标识源程序中某个对象的名字,这些对象可以是语句、数据类型、函数、变量、数组等。标识符区分大小写,第一个字符必须是字母或下划线。 二、C51的数据类型

三、存储器类型 定义变量时,除了说明存储种类外,还允许说明变量的存储器类型。存储器类型和存储种类是完全不同的概念,存储器类型指明该变量所处的单片机的内存空间。C51编译器可识别以下存储器类型,如下表所示。 四、C51的运算符和表达式 运算符就是完成某种特定运算的符号。运算符按其表达式中与运算符的关系可分为单目运算符、双目运算符和三目运算符。 赋值运算符: 使用“=”的赋值语句格式如下: 变量= 表达式; 需要注意“==”与“=”两个符号的区别,有时编译报错,往往就是错在if(b = 0xff)之类的语句中,错将“==”用为“=”。“==”符号是用来进行相等关系的运算。 算术运算符: + 加或取正值运算符 - 减或取负值运算符 * 乘运算符 / 除运算符 % 模(取余)运算符,如8 % 5 = 3,即8除以5的余数是3 关系运算符: C51中有6种关系运算符: > 大于 < 小于 >= 大于等于 <= 小于等于 == 测试等于 != 测试不等于 逻辑运算符: 逻辑与:条件式1 && 条件式2。 逻辑或:条件式1 || 条件式2。 逻辑非:!条件式。 位运算符:

Keil C51 集成开发环境的使用实验报告

Keil C51 集成开发环境的使用 姓名:专业:学号:成绩: 一、实验目的 1、熟悉Kei C51集成开发环境的基本操作; 2、掌握简单Kei C51和汇编程序的编写、调试。 二、实验内容 1、仔细阅读教材相关内容,掌握KeiC51集成开发环境的基本功能; 2、分别用汇编和C51编写清零程序,把片外RAM中的7000H-70FFH单元 中内容清零; 3、分用汇编和C51编写查找相同个数程序。统计片外RAM7000H-700FH中 “00H”的个数并保存在片内RAM30H单元中。 三、实验原理与步骤 1、清零程序 (1)汇编语言程序设计框图 (2)实验步骤 用连续或单步方式运行程序,检查7000H-70FFH单元中执行内容变化。 (3)假使把7000H-70FFH中的内容改成FFH,如何修改程序。 (4)用C51 重新编写该程序,运行并查看结果。 2、查找相同数个数 (1)汇编语言程序设计框图

(2)实验步骤 ①在7000H-700FH单元中放入随机数,其中几个单元输入0; ②用连续或单步方式运行程序; ③观察片内RAM 30H的内容,应显示“00H”的个数。 (3)用C51重新编写程序,运行并查看结果。 四、实验程序 1、清零程序 (1)汇编语言 ORG 0000H MOV R0,#0100H MOV DPTR,#7000H MOV A,#0 LOOP:MOVX @DPTR,A INC DPTR DJNZ R0,LOOP END (2) C语言 #include void main() { char xdata *p=0x7000; int t=0x7100-0x7000 ; while(t--) {*p=00; p++; } } 2、查找相同数个数

(完整word)高中数学恒成立问题.doc

高中数学不等式的恒成立问题 不等式恒成立的问题既含参数又含变量,往往与函数、数列、方程、几何有机结 合起来,具有形式灵活、思维性强、不同知识交汇等特点 . 考题通常有两种设计方式: 一是证明某个不等式恒成立,二是已知某个不等式恒成立,求其中的参数的取 值范围 . 解决这类问题的方法关键是转化化归,通过等价转化可以把问题顺利解 决,下面我就结合自己记得教学经验谈谈不等式的恒成立问题的处理方法。一、构 造函数法 在解决不等式恒成立问题时,一种最重要的思想方法就是构造适当的函数,即构 造函数法,然后利用相关函数的图象和性质解决问题,同时注意在一个含多个变量 的数学问题中,需要确定合适的变量和参数,从而揭示函数关系,使问题更加面目 更加清晰明了,一般来说,已知存在范围的量视为变量,而待求范围的量视为参数. 例 1已知不等式对任意的都成立,求的取值范围. 解:由移项得 :. 不等式左侧与二次函数非常相 的似,于是我们可以设则不等式对满足 一切实数恒成立对恒成立.当时, 即 解得故的取值范围是. 注:此类问题常因思维定势,学生易把它看成关于的不等式讨论,从而因计算繁琐出错或者中途夭折;若转换一下思路,把待求的x 为参数,以为变量,令 则问题转化为求一次函数(或常数函数)的值在内恒为负的问题,再来求解参数应满足的条件这样问题就轻而易举的得到解决了。

二、分离参数法 在不等式中求含参数范围过程中,当不等式中的参数(或关于参数的代数式) 能够与其它变量完全分离出来并,且分离后不等式其中一边的函数(或代数式)的 最值或范围可求时,常用分离参数法. 例2已知函数(为常数)是实数集上的奇函数,函数在区间上是减函数 . 都有在上恒成立,求实数的(Ⅰ)若对(Ⅰ)中的任意实数 取值范围 . 解:由题意知,函数在区间上是减函数. 在上恒成立 注:此类问题可把要求的参变量分离出来,单独放在不等式的一侧,将另一侧 看成新函数,于是将问题转化成新函数的最值问题:若对于取值范围内的任一个数都有恒成立,则;若对于取值范围内的任一个数都有恒成立,则. 三、数形结合法 如果不等式中涉及的函数、代数式对应的图象、图形较易画出时,可通过图象、 图形的位置关系建立不等式求得参数范围 . 例 3已知函数若不等式恒成立,则实数的取值范围是.

教案高中含参不等式的恒成立问题整理版.doc

高中数学不等式的恒成立问题 一、用一元二次方程根的判别式 有关含有参数的一元二次不等式问题,若能把不等式转化成二次函数或二次方程,通过根的判别式或数形结合思想,可使问题得到顺利解决。 基本结论总结 例1 对于x ∈R ,不等式恒成立,求实数m 的取值范围。 例2:已知不等式04)2(2)2(2 <--+-x a x a 对于x ∈R恒成立,求参数a 的取值范围. 解:要使04)2(2)2(2 <--+-x a x a 对于x ∈R恒成立,则只须满足: (1)???<-+-<-0)2(16)2(4022 a a a 或 (2)?? ? ??<-=-=-0 40)2(20 2a a 解(1)得?? ?<<-<2 22 a a ,解(2)a =2 ∴参数a 的取值范围是-2<a ≤2. 练习 1. 已知函数])1(lg[2 2 a x a x y +-+=的定义域为R ,求实数a 的取值范围。 2.若对于x ∈R ,不等式恒成立,求实数m 的取值范围。 3.若不等式的解集是R ,求m 的范围。 4.x 取一切实数时,使3 47 2+++kx kx kx 恒有意义,求实数k 的取值范围.

例3.设22)(2 +-=mx x x f ,当),1[+∞-∈x 时,m x f ≥)(恒成立,求实数m 的取值范围。 关键点拨:为了使 在 恒成立,构造一个新函数 是解题的关键,再利用二次 函数的图象性质进行分类讨论,使问题得到圆满解决。若二次不等式中x 的取值范围有限制,则可利用根的分布解决问题。 解:m mx x x F -+-=22)(2 ,则当),1[+∞-∈x 时,0)(≥x F 恒成立 当120)2)(1(4<<-<+-=?m m m 即时,0)(>x F 显然成立; 当0≥?时,如图,0)(≥x F 恒成立的充要条件为: ??? ? ??? -≤--≥-≥?1 220)1(0m F 解得23-≤≤-m 。综上可得实数m 的取值范围为)1,3[-。 例4 。已知1ax x )x (f 2+-=,求使不等式0)x (f <对任意]2,1[x ∈恒成立的a 的取值范围。 解法1:数形结合 结合函数)x (f 的草图可知]2,1[x ,0)x (f ∈<时恒成立? 25a 0 a 25)2(f 0a 2)1(f >?? ?<-=<-=得。所以a 的取值范围是),25 (+∞。 解法2:转化为最值研究 4a 1)2a x ()x (f 22- +-= 1. 若]2,1[)x (f ,3a 232a 在时即≤≤上的最大值,25a ,0a 25)2(f )x (f max ><-==得3a 25 ≤<所以。 2. 若0a 2)1(f )x (f ]2,1[)x (f ,3a 2 3 2a max <-==>>上的最大值在时即,得2a >,所以3a >。 综上:a 的取值范围是),2 5 (+∞。 注:1. 此处是对参a 进行分类讨论,每一类中求得的a 的范围均合题意,故对每一类中所求得的a 的范围求并集。 2. I x ,m )x (f ∈<恒成立)m (m )x (f max 为常数?∈> 解法3:分离参数 ]2,1[x ,x 1x a ]2,1[x ,01ax x 2∈+ >?∈<+-。设x 1 x )x (g +=, 注:1. 运用此法最终仍归结为求函数)x (g 的最值,但由于将参数a 与变量x 分离,因此在求最值时避免了分类讨论,使问题相对简化。 2. 本题若将“]2,1[x ∈”改为“)2,1(x ∈”可类似上述三种方法完成。 仿解法1:?∈<)2,1(x ,0)x (f 25a 0 )2(f 0)1(f ≥?? ?≤≤得即),25 [:a +∞的范围是 读者可仿解法2,解法3类似完成,但应注意等号问题,即此处2 5 a = 也合题。 O x y x -1

KeilC51使用详解

KeilC51使用说明 首先启动Keil μVision2程序,首次进入 Keil μVision2的编辑界面如图1所示,否则,会打开用户前一次处理的工程。 图1 首次进入Keil μVision2的编辑界面 下面通过简单的编程、调试,引导大家学习Keil μVision2软件中Keil Monitor-51 Driver 仿真器的基本使用方法和基本调试技巧。 1 工程的建立 单击“项目->新建项目…”菜单,弹出创建新工程对话框,如图2所示。选择你要保存的路径, 输入工程文件的名字, 不需要输入扩展名。比如保存到JY_E2X00目录里,工程文件的名字为 Test1,如图(2)所示,然后点击“保存”,保存后的文件扩展名为.uv2,这是KeilμVision2项 目文件扩展名。以后我们可以直接点击此文件来打开已创建的工程。 图2 创建新工程对话框

这时会弹出一个对话框,要求选择目标CPU(即用户所用单片机的型号),Keil μVision 几乎支持所有的51内核的单片机,我们以AT89S52芯片为例,如图3所示, 在左侧的Data base列表框中点击Atmel前面的“+”号,展开该层,选中AT89S52,在其右边的Description显示区域。中是对这个单片机的基本描述,然后再点击“确定”按钮. 图3 为工程选择目标CPU 窗口会出现询问是否添加startup.a51,如图4:请选择“否”。 图4 此时,在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要为这个工程添加文件。如图5所示。

Keil-C51-基本使用方法 (1) 。。。。2

、Keil C51工程建立与仿真 1、建立一个工程项目,选择芯片并确定选项 双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。附录: 一 图1 建立一个工程项目在文件名中输入一个项目名“my-test”,选择保存路径(可在 “我的 文档” 中先建 立一个 同名的

文件夹),单击保存。在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确定,如图2所示。 图 2 选择单片机后按确定 选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。其它采用默认设置,然后点确定。 图3 选择Target

页面 图4 选择Output页面 2、建立源程序文件 图 5 建立源程序文件

程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm格式(如my-test.asm)保存在刚才所建立的一个文件夹中(my-test)。 3、添加文件到当前项目组中 单击工程管理器中“Target 1”前的“+”号,出现“Source Group1”后再单击,加亮后右击。在出现的下拉窗口中选择“Add Files to Group‘Source Group1’”,如图6所示。在增加文件窗口中选择刚才以asm格式编辑的文件my-test.asm,鼠标单击“ADD”按钮,这时my-test.asm文件便加入到Source Group1这个组里了,随后关闭此对话窗口。 图 6 添加文件到当前项目组中 4、编译(汇编)文件 选择主菜单栏中的“工程”,在下拉菜单中选中“重建

C51库函数详解

_chkfloat_: 函数定义: unsigned char _chkfloat_ ( float val); /* number to check */ 函数功能: _chkfloat_函数检查浮点数val 的类型。 返回值: _chkfloat_函数返回浮点数val 的类型。 返回值意义 0 标准浮点数 1 浮点0 2 +INF 正溢出 3 -INF 负溢出 4 NaN 非数 函数测试: #include #include /* 本实验测试本征库中的_chkfloat_函数 函数定义:unsigned char _chkfloat_(float val); 返回值: Return Value Meaning 0 Standard floating-point number. 1 Floating-point value 0. 2 +INF (positive overflow).

3 -INF (negative overflow). 4 NaN (Not a Number) error status. 用P1指示返回值 */ unsigned char f[4]={0xff,0xff,0xff,0xff}; void delay(unsigned int time) { while(time--); } void main() { P2=~_chkfloat_(1.2455); //Standard floating-point number. delay(50000); P2=~_chkfloat_(0.00); //Floating-point value 0. delay(50000); P2=~_chkfloat_(1000000000000000000000000000000000000000000000000000000000000000.0000 000000); //+INF (positive overflow). delay(50000); P2=~_chkfloat_(-1000000000000000000000000000000000000000000000000000000000000000.000 0000000); //-INF (negative overflow). delay(50000); P2=~_chkfloat_(*((float *)f)); //NaN (Not a Number) error status. while(1);

keil+c51教程

Keil uVision2的使用 Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。 这里我们仅仅介绍Keil uVision2的简单使用,更详细的使用方法见本光盘单片机软件\Keil c51\Keil书籍与资料目录中的内容。 keil C51v6.12的安装: 先运行光盘中单片机软件\setup\setup.exe安装程序,选择安装“Eval Version”版进行安装。一直点击“Yes”或“Next”,直到“Finish”完成。 之后运行同目录中的Keil uv2汉化安装.exe安装汉化程序。 安装好后,在桌面上会产生快捷图标,如下图: keil C51v6.12的使用: 点击桌面快捷图标,可以直接进入主画面:

序。 在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。首先从菜但的“工程”中“新建工程...”,建立我们将要做的工程项目: 新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为Test,并将Test工程“保存”到 C:\Keil下:

接下来,Keil环境要求我们为Test工程选择一个单片机型号;我们选择Atmel公司的89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。“确定”后工程项目就算建立了。

立了工程项目,肯定要实施这个工程,现在就为工程添加程序; 点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这里你可以进行编辑、修改等操作。 根据题意,在文档中写入下列代码:(下列代码你暂时不要管什么意思,只要照抄正确就可以,今后在学习汇编时你会明白的) mov p0,#01010101B;将01010101二进制代码送P0口 ajmp$;程序在此原地踏步 end;程序结束标志 写完后再检查一下,并保存文件,保存文件时,其文件名最好与前面建立的工程名相同(当然这里为Test了),其扩展名必须为.Asm!“文件名”中一定要写全,如:Test.Asm;保存后的文档彩色语法会起作用,将关键字实行彩色显示:

导数中含参数问题与恒成立问题的解题技巧

函数、导数中含参数问题与恒成立问题的解题技巧与方法 含参数问题及恒成立问题方法小结: 1、分类讨论思想 2、判别法 3、分离参数法 4、构造新函数法 一、分离讨论思想: 例题1: 讨论下列函数单调性: 1、()x f =();1,0,≠>-a a a a x 2、()x f =)0,11(1 2≠<<--b x x bx 二、判别法 例2:已知不等式04)2(2)2(2 <--+-x a x a 对于x ∈R恒成立,求参数a 的取值范围. 解:要使04)2(2)2(2<--+-x a x a 对于x ∈R恒成立,则只须满足: (1)???<-+-<-0)2(16)2(4022a a a 或 (2)?? ???<-=-=-040)2(202a a 解(1)得???<<-<2 22a a ,解(2)a =2 ∴参数a 的取值范围是-2<a ≤2. 练习1. 已知函数])1(lg[22a x a x y +-+=的定义域为R ,求实数a 的取值范围。 三、分离法参数: 分离参数法是求参数的取值范围的一种常用方法,通过分离参数,用函数观点讨论主变量的变化情况,由此我们可以确定参数的变化范围.这种方法可以避免分类讨论的麻烦,从而使问题得以顺利解决.分离参数法在解决有关不等式恒成立、不等式有解、函数有零点、函数单调性中参数的取值范围问题时经常用到. 解题的关键是分离出参数之后将原问题转化为求函数的最值或值域问题.即: (1) 对任意x 都成立()min x f m ≤ (2)对任意x 都成立。 例3.已知函数]4,0(,4)(2∈--=x x x ax x f 时0)(

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

Keil c51的使用及界面翻译

Keil C51的使用方法 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。 下面介绍Keil C51软件的使用方法 进入Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界

进入Keil C51后的编辑界面 简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。 1)建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存.

3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定. 4)完成上一步骤后,屏幕如下图所示

到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。 5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项 新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写

单片机开发与仿真软件Keil C51的使用

单片机开发与仿真软件Keil C51的使用 一、Keil C51 操作入门 Keil C51 简介 Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。Keil 51支持汇编语言、C语言等各种开发语言。其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。uVision2调试器是一个强大的全特性调试器,允许用户在PC 机上完全模拟目标程序、指令集和片内外围功能。 实验所用的是Keil C51 评估版。 Keil C51 的启动 双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。 图1 Keil C51的启动界面 建立第1 个Keil C51 程序 Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。硬件电路参见图2,单片机I/O 输出低电平可点亮LED。 图2 LED 闪烁发光电路 ●新建工程。执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“Create

New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash”,并保存。参见图3。 图3 新建Keil C51 工程 ●选择CPU。紧接着,Keil C51 提示选择CPU 器件。8051 内核单片机最早是由鼎鼎大 名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。在这里可以选择Philips 的第 1 个器件“80/87C51”,该器件与Intel 的8051 完全兼容。参见图4 。 图4 选择CPU ●接下来弹出一个如图5 所示的对话框。该对话框提示是否要把标准8051 的启动代

含参数的一元二次不等式的解法以及含参不等式恒成立问题(专题复习)

含参数的一元二次不等式的解法 解含参数的一元二次不等式,通常情况下,均需分类讨论,那么如何讨论呢?对含参一元 二次不等式常用的分类方法有三种: 一、按2 x 项的系数a 的符号分类,即0,0,0<=>a a a ; 例1 解不等式:()0122 >+++x a ax 分析:本题二次项系数含有参数,()04422 2 >+=-+=?a a a ,故只需对二次项 系数进行分类讨论。 解:∵()04422 2 >+=-+=?a a a 解得方程 ()0122 =+++x a ax 两根,24221a a a x +---=a a a x 24 222++--= ∴当0>a 时,解集为?? ????????+---<++-->a a a x a a a x x 242242|22或 当0=a 时,不等式为012>+x ,解集为? ?????> 21|x x 当0+-a a ax ax 分析 因为0≠a ,0>?,所以我们只要讨论二次项系数的正负。 解 ()()032)65(2 >--=+-x x a x x a ∴当0>a 时,解集为{}32|>?; 例3 解不等式042 >++ax x 分析 本题中由于2 x 的系数大于0,故只需考虑?与根的情况。 解:∵162 -=?a ∴当()4,4-∈a 即0

Keil C51 基本使用方法

附录: 一、Keil C51工程建立与仿真 1、建立一个工程项目,选择芯片并确定选项 双击Keil uVision2快捷图标后进入Keil C51开发环境,单击“工程”菜单,在弹出的下拉菜单选中“新工程”选项,屏幕显示为图1。 图1 建立一个工程项目 在文件名中输入一个项目名“my-test”,选择保存路径(可在“我的文档”中先建立一个同名的文件夹),单击保存。在随后弹出的“为目标target选择设备”(Select Device for Target “Target1”)对话框中用鼠标单击Atmel前的“+”号,选择“89C51”单片机后按确 定,如图2 所示。

图2 选择单片机后按确定 选择主菜单栏中的“工程”,选中下拉菜单中“Options for Target ‘Target1’”,出现图3所示的界面。单击“target”页面,在晶体Xtal(MHz)栏中选择试验板的晶振频率,默认为24MHz,我们讲座试验板的晶振频率为11.0592MHz,因此要将24.0改为11.0592。然后单击输出“Output”页面,在“建立hex格式文件”前打勾选中,如图3-4。其它采用默认设置,然后点确定。 图3 选择Target页面

图4 选择Output页面 2、建立源程序文件 单击“文件”菜单,在下拉菜单中选择“新建”,随后在编辑窗口中输入以下的源程序(如图5)。 ORG 0000H LJMP MAIN ORG 030H MAIN: MOV P0,#00H MOV P1 ,#00H MOV P2 ,#00H MOV P3 ,#00H ACALL DEL MOV P0 ,#0FFH MOV P1 ,#0FFH MOV P2 ,#0FFH MOV P3 ,#0FFH ACALL DEL AJMP MAIN ORG 0200H DEL: MOV R5,#04H F3: MOV R6,#0FFH F2: MOV R7,#0FFH F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END 图5 建立源程序文件 程序输入完成后,选择“文件”,在下拉菜单中选中“另存为”,将该文件以扩展名为.asm

相关文档