04章_单片机_杭和平
基于ADuC824单片机的数字式压力变送器设计

压力传 感器 的输 出电压信 号进 行放 大和 A/ 转换 。 D
量主要使 用 2类变 送器 , 1 绝 大部 分仍 然 使 用传 第 , 统的 4 OmA 模 拟输 出变送 器 , 合 各 种 二 次仪 ~2 配 表或者数 据采 集 器 进行 记录 、 测 和控 制 。模拟 式 监 的变送 器无论 是精 度 、 可靠性 、 息 的传递都 有 自身 信
维普资讯
基于 AD C 2 单 片机的数字式压力 u 84 变送器设计
杭和 平 , 杨 芳, 宋 娟
( 京联合 大 学生物化 学工程 学 院 , 北 北京 1 0 2 ) 0 0 3
De i n o g t lPr s u e Tr n mit rBa e n ADu 2 CU sg fDi ia e s r a s te s d o C8 4 M
送 器通 常 作 为现 场 总 线 的末端 —— 现场 设 备 出现 。 现场 总线 技术 的采 用 是 工业 控 制 系统 技 术 的 革命 ,
由于其数 字化 、 放性 等特 点 和 总线 传输 的通 信方 开 式, 显著 地提 高 了变送器 的性 能 , 大地降低 了系统 大
安装维 护 的费用 。但是 目前现 场总 线的各种 标准并 行 存在并 且都 有 自己 的生 存领 域 , 没 有形 成 真 正 还
摘 要 : 绍 了基 于 A C 2 的数 字 式压 力 变 介 Du 8 4
送器 的设 计原 理 。利 用 ADu 8 4单 片机 内部 集 成 C2
的增益 可调 放 大 器和 2 4位 的 A/ 转 换 器 , 接 对 D 直
0 引 言
在 国 内 目前 的工 业 控制 领 域 中 , 于压 力 的测 对
单片机原理及应用(胡乾斌)第六章

contents
目录
• 单片机概述 • 单片机的基本组成 • 单片机的指令系统 • 单片机的编程语言 • 单片机的开发环境 • 单片机应用系统的设计
01 单片机概述
单片机的定义与特点
定义
单片机是一种集成电路芯片,内 部集成了计算机的硬件系统,包 括中央处理器、存储器、输入/输 出接口等。
调试与测试
对系统进行调试和测试,确保 系统能够正常工作。
单片机应用系统的硬件设计
01
02
03
04
单片机选择
根据系统需求,选择合适的单 片机型号。
传感器选择
根据系统需求,选择合适的传 感器型号,实现信号的采集和
转换。
执行器选择
根据系统需求,选择合适的执 行器型号,实现控制信号的输
出和执行。
外部电路设计
CPU的性能决定了单片机的处 理速度和功能,常见的CPU有8 位、16位和32位。
存储器
存储器是单片机中用于存储程序和数 据的部件。
单片机的存储容量取决于其内部存储 器的容量和扩展能力。
存储器分为只读存储器(ROM)和随机存 取存储器(RAM),ROM用于存储程序和 常数,RAM用于存储数据和堆栈。
特点
单片机具有体积小、功耗低、可 靠性高、价格便宜等特点,广泛 应用于各种智能控制领域。
单片机的应用领域
工业自动化控制
单片机可以用于实现各种工 业设备的自动化控制,如电
机控制、温度控制等。
智能仪表
智能家居
医疗电子
单片机可以用于实现各种智 能仪表的测量和控制,如智 能温度计、智能流量计等。
单片机可以用于实现各种 智能家居设备的控制,如 智能照明、智能安防等。
基于单片机控制“航标灯”的控制系统设计与调试毕业论文

常州机电职业技术学院毕业设计(论文)题目:单片机控制“航标灯”的控制系统的设计与调试摘要单片微型计算机简称单片机。
它是把组成微型计算机的各功能部件:中央处理器、CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通信接口等制作在一块集成芯片中,构成一个完整的微型计算机。
单片机主要应用于控制领域,由于其具有可靠性高、体积小、价格低、易于产品化等特点,因而在智能仪器仪表、实时工业控制、智能终端、通信设备、导航系统、家用电器等自控领域获得广泛应用[1]。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,实质上是一种数字/角度转换器步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成.步进控制器由缓冲寄存器,环形分配器,控制逻辑及正,反转控制门等组成,能把输入的脉冲转换成环形脉冲,以便控制步进电机,并能进行正反向控制.但由于步进控制器线路复杂.成本高.采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加,灵活改变步进电机的控制方案,无需逻辑电路组成时序发生器.软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式并可实现一台单片机控制多台电机.提供灵活多样的控制手段和提高控制精度对复杂繁琐的控制易于实现,尤其在本系统中更显示出微机控制的优越性。
本设计采用凌阳16 位单片机SPCE061A对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用凌阳单片机的语音功能播报电机的转速。
关键词:单片机步进电机ABSTRACT[2]The single slice of microcomputers is abbreviated as the one-chip computer. It is every function part which makes up the microcomputer: Central processing unit, CPU, arbitrary access memory RAM , read-only memory ROM,, I/O interface circuit , timer / counter and serial communicationinterface ,etc. make in the integrated chip together, form an intact microcomputer. One-chip computer apply controlled field to mainly, because it have dependability high , small , price low , easy commercialization ,etc. characteristic, therefore won extensive application in fields of automatic control such as intellectual instrument and apparatus , real-time industrial control , intelligent terminal , communication equipment , navigation system , household appliances ,etc.It is that one kind can change the electric pulse signal into a electromechanical component of angle displacement or line displacement to walk into the electrical machinery, it is a kind of figure / angle converter that is walked into the control system of the electrical machinery to mainly walk into the controller in fact, power amplifier and walking into the electrical machinery ,etc. make up . Walked into the controller to buffer the register , the annular distributor, control logic and, overturn , control door ,etc. make up , can change the pulse input into into an annular pulse , in order to control , walk into electrical machinery , can carry on positive and negative to control. But because walk into the controller circuit complicatedly. With high costs. Adopt one-chip computer control , replace with software described above to walk into the controller , make the circuit simple, with low costs, dependability increases greatly, change the control scheme of walking into the electrical machinery flexibly , do not need logical circuit to make up the time sequence generator . Software programming very flexible to produce , walk into electrical machinery excitation array come , control various operation way to walk into electrical machinery and can realize one machine control many sets of electrical machinery while being different kinds of. It is easy to realize to offer the flexible control means and improving the precision of controlling to complicated and tedious control, demonstrate the superiority that the computer controls especially in this system even more.Design , adopt , insult male genital 16 one-chip computer SPCE061A to walk into electrical machinery control originally, square wave with time sequence as the control signal of walking into the electrical machinery through what IO mouth is outputted, the signal drives and walks into the electrical machinery through the chip L298N; Meanwhile , come state in electrical machinery go on , control with keyboard of 4X4 , in charge of rotational speed to reveal electrical machinery with number, adopt 74LS164 urge as 4 single number display that in charge of , from the input signal of the one-chip computer; Utilize the pronunciation function of insulting the open one-chip computer to report the rotational speed of the electrical machinery. Keyword: One-chip computer Walk into the electrical machinery绪论近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛的应用。
单片机原理及应用 教学课件 佟云峰 第五章 单片机接口技术

V2 负载
P1.0
V
R1
P1.0 缓冲器
缓冲器 R2
图5-33 达林顿管驱动电路
图5-34 功率MOSFET管驱动电路
图5-35 4N25光电耦合器接口电路
图5-36 4N40接口电路
本章小结
MCS-51单片机虽然已集成了计算机基本的功能部件,能满足小 型测控系统的需要,但对于较复杂的应用系统,往往还需要扩 展一些外围芯片,以弥补片内硬件资源的不足。 单片机要求扩展时,为了便于与各种芯片相连接,应把单片机 的外部总线变成一般微机所具有的三总线结构形式,即地址总 线、数据总线、控制总线。 单片机扩展片外数据存储器、外部程序存储器时,数据存储器 和程序存储器地址空间完全重叠,均为0000H~0FFFFH,但数据 存储器与I/O端口及外部设备是统一编址的。扩展片外数据存 储器、外部程序存储器的地址线、数据线由P0口和P2口提供, 数据存储器读写控制线只是用、扩展线,而不使用。程序存储 器使用的控制信号有ALE和。
例 5-1 图 5-14 是 LED 数码管与单片机接口的电路实例。图中单 片机的 P1 口经 74LS245 驱动后与 LED 数码管笔段端连接,通过 I/O 端口的输出来控制数码管显示内容,数码管的公共端保持 为高电平,使数码管处于显示状态。
P1.0 P1.1 P1.2 P1.3 AT89C51 P1.4 P1.5 P1.6 P1.7 74LS245 B0 A0 B1 A1 B2 A2 B3 A3 B4 A4 B5 A5 B6 A6 B7 A7 E DIR 8*470
图5-21
LCD 控制示意图
2. 硬件译码的LCD接口
图5-23 硬件译码的6位LCD接口电路
5.4 实时时钟/日历芯片DS1302
哈工程单片机课程设计

哈工程单片机课程设计一、课程目标知识目标:1. 理解单片机的原理与结构,掌握单片机的基本工作方式;2. 学会使用单片机编程语言进行程序设计,并能实现简单的控制功能;3. 了解单片机在工程领域的应用,掌握相关传感器与执行器的接口技术。
技能目标:1. 能够运用所学知识,独立设计并实现基于单片机的控制系统;2. 培养学生动手能力,学会使用相关开发工具与调试设备;3. 提高学生的问题分析能力,培养他们解决实际工程问题的能力。
情感态度价值观目标:1. 培养学生对单片机技术的兴趣,激发他们学习相关工程的热情;2. 增强学生的团队协作意识,培养他们相互学习、共同进步的精神;3. 引导学生认识到单片机技术在我国工程领域的重要地位,树立为祖国工程技术事业贡献力量的信念。
本课程针对哈尔滨工程大学单片机课程设计,结合学生年级特点,注重理论与实践相结合,培养学生具备扎实的单片机基础知识,较强的动手实践能力,以及解决实际工程问题的综合素质。
通过本课程的学习,使学生能够在工程领域发挥所学,为我国工程技术事业做出贡献。
二、教学内容1. 单片机原理与结构:介绍单片机的基本组成、工作原理及性能特点,对应教材第一章内容;- 单片机的内部结构;- 单片机的工作原理;- 单片机的性能指标。
2. 单片机编程语言:学习单片机编程语言(如C语言、汇编语言等),对应教材第二章内容;- 编程语言的基本语法;- 编程实例分析;- 程序设计与调试方法。
3. 单片机接口技术:学习单片机与传感器、执行器的接口技术,对应教材第三章内容;- 常用接口电路;- 传感器与单片机的接口设计;- 执行器与单片机的接口设计。
4. 单片机控制系统设计:结合实际案例,学习单片机控制系统设计方法,对应教材第四章内容;- 控制系统设计步骤;- 系统分析与设计;- 系统调试与优化。
5. 实践环节:组织学生进行单片机控制系统设计与实现,结合教材内容进行实际操作;- 设计简单的单片机控制系统;- 动手编程与调试;- 分析并解决实际问题。
单片机(教材)第二章 东北大学石亚和老师版

第二章 89C51单片机的结构和原理A TMEL 、PHLIPS 和SST 等公司生产的8位单片机89C51与80C51兼容,具有低功耗高性能的特点,特别是在内部增加了闪速存储器Flash ROM ,给单片机系统的开发应用带来很大方便,近年来得到非常广泛的应用。
本章以A T89C51为基础,详细介绍芯片的内部硬件资源、各功能部件的结构和原理。
2.1 89C51单片机内部结构及特点 2.1.1 基本组成单片机是在一块硅片上集成了CPU 、RAM 、ROM 、定时器/计数器、并行I/O 接口、串行接口 等基本功能部件的大规模集成电路,又称为MCU 。
89C51单片机包含下列部件: 1. 一个MCS-51内核的8位微处理器(CPU ); 2. 一个片内振荡器及时钟电路,最高允许振荡频率为24MHz ; 3. 4KB 程序存储器ROM ,用于存放程序代码、数据或表格;4. 128字节数据存储器RAM ,用于存放随机数据,变量、中间结果等;5. 4个8位并行I/O 接口P0-P3,每个口都可以输入或输出;6. 2个16位定时器/计数器,每个定时器/计数器都可以设置成定时器方式或者计数器方式;7. 1个全双工串行口,用于实现单片机之间或单片机与PC 机之间的串行通讯;8. 5个中断源、2个中断优先级的中断控制系统;9. 1个布尔处理机(位处理器),支持位变量的算术逻辑操作; 10. 21个特殊功能寄存器SFR (或称专用寄存器),用于控制内部各功能部件; 对外具有64KB 的程序存储器和数据存储器寻址能力,支持111种汇编语言指令。
89C51单片机的内部结构如图2.1所示,其内部各硬件模块之间由内部总线相连接。
外部中断控制串行通信外部脉冲输入基准时钟源图2.1 MCS-89C51单片机的结构框图上图中,存储器容量和定时器/计数器数量随子型号的不同而有变化,见表2.1。
89C51是一种低功耗、低电压、高性能的8位单片机。
第4章(第5版)李朝青-单片机原理及接口技术(第5版)课件
12:49
单片机原理及接口技术
20
【例4-2】
20H单元的内容拆成两段,每段四位。 并将它们分别存入21H与22H单元中。程序如下:
:拆字。将片内RAM
解: START:
ORG MOV MOV ANL MOV INC MOV SWAP ANL MOV SJMP
2000H R0,#21H A,20H A,#0FH @R0,A R0 A,20H A, A,#0FH @R0,A $
JMP_128:MOV RL MOV JMP JMPTAB:AJMP AJMP ┇ AJMP
A,R3 A DPTR,#JMPTAB @A+DPTR ROUT00 ROUT01 ┇ ROUT7F
128个子程序首址
•说明:此程序要求128个转移目的地址(ROUT00 ~ROUT7FH)必须驻
留在与绝对转移指令AJMP相同的一个2KB存储区内。 •RL指令对变址部分乘以2,因为每条AJMP指令占两个字节。
29
三、循环程序
在程序运行时,有时需要连续重复执行某段程序,可以使用 循环程序。其结构包括四部分: 1、置循环初值 2、循环体(循环工作部分) 3、修改控制变量 4、循环控制部分 其组织方式如图4-2所示。
一、分析问题
二、确定算法 三、画程序流程图
四、编写程序
12:49
单片机原理及接口技术
3
一、分析问题
对需要解决的问题进行分析,以求对问题由 正确的理解。 解决问题的任务是什么? 工作过程? 现有的条件,已知数据,对运算的精度和速 度方面的要求? 设计的硬件结构是否方便编程?
12:49
单片机原理及接口技术
17
§4.1.3
单片机ATtiny25的特点以及在直流无刷风扇上的应用
1 概 述
A ty 5 Am l 司 2 0 Ti 2 是 t e 公 n 0 5年最 新推 出的一 款
基于 A R R S V IC的低 功 耗 C S的 8位 单 片机 , MO 同 期推 出 的相 同类 别 的单 片 机 还 有 A t y 5和 A . Ti 4 n T
[ 摘 要 ] 介 绍 了 A m l 司新 推 出的单 片机 A t y5的# 4 a能和使 用方法 以及 I te 公 Ti 2 n -c . S P下载接 口 方 法。叙述 了 A t y 5 直 流无刷 风扇控 制 的应 用 实例 , 出 了硬件 原理 图以及 利 用 A t y5进 Ti 2 在 n 给 Ti 2 n
以上 , P编程 方 式 可 以极 大地 方 便 应 用 系 统 的 开 I S 发 、 低开 发成 本 。A t y5内有 18字节 的 E P 降 Ti 2 n 2 E—
R M, Ti 4 /A t y5的 E P O O A t y5 Ti 8 n n E R M分 别 是 26字 5
ty 5 i 8 。这 三种 单 片 机 主 要 针 对 电 池 充 电 器 、 感 n 传 器终 端和 低 端 马达 控 制 等 电子 产 品 的 应用 。在计 算机 的接 口电路 、 携 式 电子产 品 、 家 电 、 便 小 医疗 仪
t y 5 别 具 有 2 B4 B8 B闪 存 ( l h 程 序 存 i8分 n K /K /K Fa ) s 储器 , Fa 该 l h程 序 存 储 器 支 持 IP I—yt r— s S (nS s m Po e
ga m n ) r i 方式 的板 上编程 , 以反 复编程 1 0 m g 可 000次
《单片机原理与应用》-胡辉-电子教案-4917第4章
5.双字节BCD码整数转换成双字节十六进制整数
入口条件:待转换的双字节BCD码整数在R2、R3中。 出口:转换后的双字节十六进制整数仍在R2、R3中。
ORG BH2: MOV LCALL MOV MOV LCALL MOV MUL ADD MOV CLR 0100H A,R3;将低字节转换成十六进制 BCD1 R3,A A,R2;将高字节转换成十六进制 BCD1 B,#100;扩大一百倍 AB A,R3;和低字节按十六进制相加 R3,A A
Y
X=Y? N X-Y> 0? Y OV = 1? N 32H Y 32H X Y N Y OV = 1? N
• • • • • • • • • • • • •
ORG 0100H MOV A,30H CLR C SUBB A,31H JZ DZ1 JC EBB JB OV,EB1 AJMP DZ1 EBB:JB OV,DZ1 EB1:MOV A,31H AJMP JS0 DZ1:MOV A,30H JS0:MOV 32H,A END
4.1.1 分支程序
分支程序可根据要求无条件或条件地改变程序执行流向。 编写分支程序主要在于正确使用转移指令。分支程序有: 单分支结构、双分支结构、多分支结构(散转)
条件成立?
N Y N 条件成立? Y
程序段A 程序段A
程序段A
下条指令
单分支结构
双分支结构
分支程序
分支程序可根据要求无条件或条件地改变程序执行流向。 编写分支程序主要在于正确使用转移指令。分支程序有: 单分支结构、双分支结构、多分支结构(散转)
第4章
程序设计
4.1 简单汇编语言程序设计
虽然单片机的每—条指令能使计算机完成一 种特定的操作。但要完成某一特定的任务还 需要将这些指令按工作要求有序组合为一段 完整的程序。程序实际上是一系列计算机指 令的有序集合。我们把利用计算机的指令系 统来合理地编写出解决某个问题的程序的过 程,称之为程序设计。
单片机(教材)第六章东北大学石亚和老师版
第六章 89C51单片机的定时器/计数器定时器/计数器是伴随计算机技术一并出现的。
计算机本身工作需要时钟节拍,另外还有大量定时和脉冲计数的需求场合。
例如PC 机上都有实时时钟系统,可以准确地给出年月日时分秒信息;单片机系统运行中也可能需要某种定时应用,比如每10ms 进行一次A/D 转换,或每100ms 扫描一次键盘,某种操作后要延时200μs 再进行下一步操作,等等。
至于计数应用也很多,这主要是对外部事件脉冲进行计量,比如某些数字化仪表,前端采用的就是电压/频率转换技术,把模拟量转换为一定频率的脉冲,如水表、电表、煤气表等。
许多工业应用的流量检测仪表也是把体积流量或质量流量转换为与流量成比例的电脉冲。
单片机中具有的定时器/计数器能方便地解决这些问题。
在工业检测和控制应用中,许多场合都需要用到定时或计数功能。
那么,定时器和计数器有怎样的区别和联系呢? 单片机内部的定时器/计数器硬件结构是相同的,其工作本质是对脉冲计数。
如果脉冲来自单片机外部,其频率未知,且随时变动,因此这时应采用计数器方式;如果脉冲来自系统内部,它的脉冲频率或周期是已知的,稳定的,则可通过选择不同的时间常数,实现定时器功能。
定时器运行的基础是振荡周期,实质是其12分频即机器周期。
衡量定时器的技术指标有下列内容:定时精度:单片机定时器的运行是对机器周期进行计数,因此定时精度与系统主频有关,比如主频为12MHz ,则定时精度就是一个机器周期,即1μs 。
定时间隔:单片机定时器单次运行所能实现的最大定时间隔,对于16位运行方式,这个时间间隔就是65536*1μs=65.536ms 。
外部脉冲限制:当用作计数器时,单片机对外部输入脉冲的识别方法是:在一个机器周期检测到高电平,在下一个机器周期检测到低电平,则可确认引脚上的一次负跳变,计数器加1。
因此可以推知,引脚上的脉冲频率应不高于主频的1/24。
例如主频为12MHz ,则外部脉冲频率应不超过500KHz 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机的C51编程语言
§4.1 C51编程语言概述
一、C51编程语言概述
C51(语言): 基于51系列单片机的C语言或C语言编译器 C51成为对单片机系统编程的首选语言
汇编语言有助于理解单片机硬件、功能模块、存储器结构
1. C51语言编程与汇编语言编程的区别
(1)汇编语言:编程需考虑存储器结构(特别是片内数据存储器) 及按实际地址处理端口数据
§4.3 C51变量与数据类型
(7) 位类型 *用于访问MCS-51单片机可位寻址的单元* ① bit
用于定义位变量或函数返回值的类型 (数组、指针除外) 作用域:片内RAM中的位寻址区 与char等类型类似,不过是1位的变量 【例】:
bit done_flag = 0 //定义位变量done_flag,初值为0 bit func(bit bvar1){ //bit 类型的函数 bit bvar2; …… return(bvar2); //返回值是bit类型 }
(2)C51语言:C51编译器自动分配存储器资源,用户只需专注于 软件设计和问题的解决
§4.1 C51编程语言概述
(3)C51语言特点: 可读性好,编程调试灵活方便
高级语言,精炼、简短;仿真调试系统成熟
生成的代码编译效率高
编译系统高级,代码编译效率稍低于汇编语言
完全模块化
一种功能对应一个函数模块;程序由多个函数模块组成,可进行结构化设计
§4.3 C51变量与数据类型
③ bit与sbit区别
bit:定义位变量,编译器随机分配位地址 sbit:定义可位寻址的SFR或变量的某一位,其位地址是 确定的;只能用于在外部定义全局变量 *实际编程时,尽量使用unsigned char和bit两种类型*
§4.3 C51变量与数据类型 三、存储器类型:
§4.3 C51变量与数据类型
[数据类型] bdata 变量名 sbit 位变量名=变量名^位位置 【注】:用bit或sbit定义位变量时,若位变量值是符号地址, 则对应的SFR或变量必须事先用sfr定义 【例】:sbit OV=0xD2; sbit CY=0xD7; unsigned char bdata flag; sbit flag0=flag^0; sfr P1=0x90; sbit P1_0=P1^0 …………
5. code区(程序代码区)
用@DPTR间接访问的程序存储器 例如:unsigned char code unit_id[2]={0x1234,0x89ab};
6. 说明
若变量定义未指明存储器类型,系统会选择由存储模式 决定的默认存储器类型
§4.3 C51变量与数据类型
FFFF FFFF IDATA区 idata 128B 80 共64K 通用RAM 位寻址区 0FFF 片内ROM 4K 0000 程序存储器ROM 内部数据存储区RAM 寄存器区 2F 1F 00 7F XDATA区 共64K
3. idata区
间接寻址访问的片内RAM全部空间(256B) 例如:int idata var1;//片内RAM中定义间接寻址访问的整型变量
4. pdata和xdata区
都用于间接访问片外RAM
§4.3 C51变量与数据类型
pdata区:用@Ri间接访问的片外RAM低256B xdata区:用@DPTR间接访问的全部片外RAM空间 尽量将外部数据存放在pdata区 例如:float pdata outp_value;
首字符必须为字母或下划线(少用);区分大小写
二、关键字
1.定义:编程语言保留的特殊标识符,有固定名称和含义
不允许另作他用;用户标识符不能与之重名
2.C51关键字:32个标准C关键字和19个扩展关键字
3.注释符号: (1) /* */
(2) //
§4.3 C51变量与数据类型
一、常量与变量
1.常量:程序执行过程中,其值不能改变
auto: 默认的存储种类;一般分配在堆栈区; 声明自动变量的函数体执行完后,释放其占用的内存空间 extern: 用于外部变量(函数体后面或其它程序文件定义的变量)声明 该类变量在程序结束时才释放占用的空间
§4.3 C51变量与数据类型
(b)数据类型:决定变量在存储器中的长度和取值范围 (c)存储器类型:指明变量所处的存储空间 (d)变量名表:各变量用逗号隔开 【例】 int i, j, k ; extern bit my_bit ; //定义位变量 (3) 种类 (根据作用域的不同) (a) 局部变量(内部变量) 在函数内部或用{ }括起的功能模块内部使用的变量 须定义在函数或功能模块的开头
§4.3 C51变量与数据类型
(4) float(浮点型):长度为32位 (4B) 十进制中有7位有效数字;单精度浮点型,有24位精度 (5) *(指针型) C51中长度为1~3B,存放指向另一个数据的地址
*C51扩展的特殊数据类型*
(6) 特殊功能寄存器型 *用于声明或定义MCS-51单片机的21个SFR* ① sfr类型 长度为8位(1B)
十进制小数形式:由数字和小数点构成 指数形式:[〒]数字[.数字]e[〒]数字 【例】:12.34e-3,-3.12e2 (c) 字符型常量:用单引号(„ ‟)括起来的字符 举例:„=‟, „A‟, „f‟, „123‟ 不可显示的控制字符:用ASCII码表示或利用 „\‟组成转 义字符(如表4-3) (d) 字符串型常量:用双引号(“ ”)括起来的字符
片内RAM的位寻址区(20H-2FH),允许字节和位混合访问
bdata型变量可位寻址,即可用sbit定义位变量 例如:unsigned char bdata status_byte;
§4.3 C51变量与数据类型
unsigned int bdata status_word; unsigned long bdata status_dword; sbit stat_flag=status_byte^4; if(status_word^15){ ......} stat_flag=1; 注:bdata区不允许定义float和double型变量
§4.3 C51变量与数据类型
② sbit a)用于定义可位寻址SFR的某一位 声明方法: sbit 位变量名=位地址 sbit 位变量名=SFR名^位位置 位置0~7 sbit 位变量名=字节地址^位位置 【例】: sbit P1_0=0x90 sbit P1_0=P1^0 sbit P1_0=0x90^0 b)访问片内RAM的位寻址区(20H~2FH) 定义方法:
FF SFR
code CODE区
data DATA区 idata
格式:sfr 变量名=SFR的字节地址
SFR寄存器名 一致
地址常数
§4.3 C51变量与数据类型
【例】:sfr Acc=0xE0; sfr P0=0x80 ② sfr16类型 长度为16位(2B),声明格式同上
用于声明高8位地址和低8位地址连续的16位SFR
低8位地址作为定义地址 【例】:sfr16 DPTR=0x82; //DPL=82H,DPH=83H, 89C51 sfr16 T2=0xCC; //TL2=CCH,TH2=CDH, 89C52 等价于用sfr分别对高8位和低8位进行声明 【注】: C51中对SFR的访问必须首先利用sfr或sfr16进行声明 声明的地址范围:80H~FFH
§4.1 C51编程语言概述
3. C51开发过程
(1)编写C51程序:可用任何文本软件
(2)利用C51编译器和连接软件生成目标文件(.hex)
Hale Waihona Puke (3)用程序烧录器将*.hex文件写入单片机,上电即可运行
§4.2 C51标识符和关键字
一、标识符
1.定义:用来标识源程序中某个对象的名字 2.格式:由字符串、数字、下划线等组成
2. C51数据类型
(1) char(字符型):长度为8位 (1B) unsigned char(无符号字符型):范围 0~255 signed char(有符号字符型):范围-128~127 (默认) (2) int(整型): 长度为16位(2B) unsigned int(无符号):范围 0~(216-1) signed int(有符号):范围-215~(215-1) (默认) (3) long(长整型): 长度为32位(4B) unsigned long(无符号):范围 0~(232-1) signed long(有符号):范围-231~(231-1) (默认)
§4.3 C51变量与数据类型
C51数据类型 unsigned char signed char unsigned int 长度 1字节 1字节 2字节 取值范围 0~255 -128~+127 0~65535
signed int
unsigned long signed long float bit
可移植性好
只需将C51程序稍加修改,即可将其在不同系列单片机之间相互移植
便于项目维护管理
便于分工合作、灵活管理及后期维护
§4.1 C51编程语言概述
2. C51与ANSI C(标准C语言)编译器的区别
相同点:编程语言、程序结构和程序设计方法 单片机硬件资源决定了C51与标准C的不同 *以Keil C51编译器为例 * (1)头文件:C51会提供不同头文件,标准C则没有 (2)数据类型:C51增加了几种MCS-51单片机特有的数据类型 (3)变量存储模式:RAM和ROM分开,故C51存储模式与标准C不同 (4)输入/输出处理:C51是通过MCS-51单片机串行口完成的 (5)库函数:C51库函数数量减少,某些库函数用法与标准C不同
(b)全局变量(外部变量) 在程序开始处或函数外部定义的变量
§4.3 C51变量与数据类型