单片机原理与应用
Principles and Application of
Microcontroller
讲授:黄惟公教师简介:
黄惟公 教授 硕士研究生导师,“机电教研室”主任。
曾当过“知青”和工人。 1982年 1月年毕业于四川工业学院机械制造工艺设备及自动化专业。
1992.1~ 1993.1 在美国密西根大学作访问学者。
2000.9~2000.11在加拿大红河学院作访问学者。
在国内外发表论文 20余篇,主编、副主编教材 2部,
主持或作为主研完成、在研 863CMIS,85国家攻关项目、省级、省重点学科及各类横向科研课题 10余项。
目前主要从事机械工程测控方面的教学及科研工作。
1)智能化测控仪器研究 本研究有以下 4方面的内容
① 嵌入式系统的研究 对新型 16位,32位微处理器的应用、嵌入式实时操作系统在各种微处理器的移植与应用、嵌入式系统与 Internet网络的连接等新技术方面进行研究、跟踪世界先进水平,为研制具有自主知识产权的测控仪器建立硬、软基础。
② 现场总线测控仪表的研究 现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、互联、多变量、多点、多站的通讯系统。是目前仪表的发展方向。
③ 智能控制仪表的研究 研究如何把模糊控制、神经网络等新理论应用在控制仪表和装置中,如何在单片机上实现这些理论。
④ 虚拟仪器的研究 研究应用与各种领域的虚拟测试仪器、研究特殊性能的数据采集卡与 LabVIEW/CVI的接口,PXI总线的应用、基于网络的测控系统等内容。
2)计算机视觉监测及测量研究 本研究有以下 2方面的内容
① 基于线阵 CCD测量技术的研究 研究将 CCD技术应用于尺寸的非接触测量、
改造传统的测量仪器、研究提高 CCD的测量精度的方法和理论等内容。
② 基于二、三维计算机视觉技术的研究 研究将数字图象处理技术应用于二维、
三维对象的检测技术。本研究对利用图象处理方法进行物体尺寸的测量、形状的识别、文字的识别等方面做了大量的工作。
第 1章 基础知识
1.1 单片机简介
1.2 数制及其转换
1.1 计算机发展与组成
1946-1958 第一代电子管计算机 。磁鼓存储器,机器语言、汇编语言编程。世界上第一台数字计算机 ENIAC。
1.1.1 发展概况
1958-1964 第二代晶体管计算机 。 磁芯作主存储器,
磁盘作外存储器,开始使用高级语言编程。
1964-1971 第三代集成电路计算机 。使用 半导体存储器,出现多终端计算机和计算机网络。
1971- 第四代大规模集成电路计算机 。 出现微型计算机、单片微型计算机,外部设备多样化。
1981- 第五代人工智能计算机 。 模拟人的智能和交流方式。
1946年由美国宾夕法尼亚大学研制 ENIAC( Electronic
Numerical Integrator And calculator),运算速度
5000次 /秒,功耗 150kw/h,占地 170m2,造价 100万美元。
1.1.2 计算机发展趋势
微型化 ─ 便携式、低功耗
巨型化 ─ 尖端科技领域的信息处理,需要超大容量、高速度
智能化 ─ 模拟人类大脑思维和交流方式,多种处理能力
系列化、标准化 ─ 便于各种计算机硬、软件兼容和升级
网络化 ─ 网络计算机和信息高速公路
多机系统 ─ 大型设备、生产流水线集中管理 (独立控制、
故障分散、资源共享 )
1.1.3 微型计算机组成结构微型计算机系统硬件微型计算机
( 主机 )
微处理器
(CPU)
软件外围设备运算器控制器存储器
(内存 )
RAM
ROM
外部设备辅助设备输入设备 (键盘,扫描仪,语音识别仪 … )
输出设备 (显示器,打印机,绘图仪,… )
辅助存储器 (磁带,磁盘,光盘 )
输入 /输出接口 (PIO,SIO,CTC,ADC,DAC…)
(I/O接口 )
总线 (AB,DB,CB)
系统软件 (操作系统,编辑,编译程序,故障诊断,监控程序 …)
应用软件 (科学计算,工业控制,数据处理 …)
程序设计语言 (机器语言,汇编语言,高级语言 )
电源电路时钟电路单片机简介
单片机 即单片机微型计算机,是将计算机主机 (CPU、
内存 和 I/O接口 )集成在一小块硅片上的微型机 。
单片机开发系统 有单片单板机和仿真器。实现单片机应用系统的硬、软件开发。
单片机为工业测控而设计,又称微控制器 。 具有三高优势 (集成度高、可靠性高、性价比高 )。
主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等。 特别适合于嵌入式微型机应用系统。
单片机发展概况
1976-1978 初级 8位单片机 Intel MCS-48 系列
1978- 高档 8位单片机 Intel MCS-51系列,
-51子系列,8031/8051/8751
-52子系列,8032/8052/8752
低功耗型 80C31高性能型 80C252廉价型 89C2051/1051
1983- 16位单片机 Intel MCS-96 系列
8098/8096,80C198/80C196,DSP
32位单片机 ARM
1.1.4 计算机主要技术指标
字长,CPU并行处理二进制的数据位数
8位机,16位机,32位机和 64位机 。
内存容量,内存存储单元数容量单位,1K=210=1024,1M=220=1KK
8K,64K,16M,64M。
运算速度,CPU处理速度时钟频率、主频、每秒运算次数
6MHz,12MHz,24MHz,100MHz,300MHz。
内存存取周期,内存读写速度
50nS,70nS,200nS 。
1.2 计算机的数制及转换
一,十进制 ND有十个数码 0~ 9、逢十进一。
十进制用于计算机输入输出,人机交互 。
二,二进制 NB两个数码,0,1,逢二进一 。
二进制为机器中的数据形式。
三,十六进制 NH十六个数码,0~ 9,A~ F,逢十六进一 。
十六进制用于表示二进制数。
不同进位制数以下标或后缀区别,十进制数可不带下标。
如,101,101D,101B,101H,101H
介绍计算机中数的表示方法和基本运算方法。
1-2-1 进位计数制表 1-2-1 不同进位记数制对照表十进制 二进制 十六进制 十进制 二进制 十六进制
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0 0 1 1 3 11 1 0 1 1 B
4 0100 4 12 1 1 0 0 C
5 0101 5 13 1 1 0 1 D
6 0 1 1 0 6 14 1 1 1 0 E
7 0 1 1 1 7 15 1111 F
1.2 计算机的数制及转换
一,十进制 ND
符号集,0~ 9 规则:逢十进一。
例 1234.5=1× 103 +2× 102 +3× 101 +4× 100 +5× 10-1
加权展开式以 10称为基数,各位系数为 0~ 9。
一般表达式:
ND= dn-1× 10n-1+dn-2× 10n-2 +… +d0× 100 +d-1× 10-1+…
1.2.1 进位计数制
1.2 计算机的数制及转换
二,二进制 NB
符号集,0,1 规则:逢二进一 。
例 1101.101=1× 23+1× 22+0× 21+1× 20+1× 2-1+1× 2-3
加权展开式以 2为基数,各位系数为 0,1。
一般表达式:
NB = bn-1× 2n-1 + bn-2× 2n-2 +… +b0× 20 +b-1× 2-1+…
1.2.1 进位计数制
1.2 计算机所用数制及转换
三,十六进制 NH
符号集,0~ 9,A~ F 规则:逢十六进一 。
例,DFC.8=13× 162 +15× 161 +12× 160 +8× 16-1
展开式以十六为基数,各位系数为 0~ 9,A~ F。
一般表达式:
NH= hn-1× 16n-1+ hn-2× 16n-2+… + h0× 160+ h-1× 16-1+…
1.2.1 进位计数制
1.2.2 不同进位计数制之间的转换
先展开,然后按照十进制运算法则求和 。
举例,
1011.1010B=1× 23+1× 21+1× 20+1× 2-1+1× 2-3=11.625
DFC.8H =13× 162+15× 161+12× 160+8× 16-1 = 3580.5
(一)二、十六进制数转换成十进制数
进位计数制的一般表达式,
Nr= an-1rn-1+an-2rn-2+ … +a1r1+ a0r0+ a-1r-1… + a-mr-m
一个 r1进制的数转换成 r2进制数的方法:
先展开,然后按 r2进制的运算法则求和计算 。
1.2.2 不同进位计数制之间的转换
( 二 ) 二进制与十六进制数之间的转换
24=16,四位二进制数对应一位十六进制数 。
举例,
3AF.2H = 0011 1010 1111.0010 = 1110101111.001B
3 A F 2
1111101.11B = 0111 1101.1100 = 7D.CH
7 D C
(三) 十进制数转换成二、十六进制数
整数,小数分别转换
1.整数转换法
,除基取余,,十进制整数不断除以转换进制基数,直至商为 0。 每除一次取一个余数,从低位排向高位 。 举例,
1,39转换成二进制数
39 =100111B
2 39 1 ( b0)
2 19 1 ( b1)
2 9 1 ( b2)
2 4 0 ( b3)
2 2 0 ( b4)
2 1 1 ( b5)
0
2,208转换成十六进制数
208 = D0H
16 208 余 0
16 13 余 13 = DH
0
(三)十进制数转换成二、十六进制数
1,小数转换法
,乘基取整,,用转换进制的基数乘以小数部分,直至小数为 0或达到转换精度要求的位数 。 每乘一次取一次整数,从最高位排到最低位 。 举例,
1,0.625转换成二进制数
0.625
× 2
1.250 1 (b-1)
× 2
0.5 0 0 (b-2)
× 2
1.0 1 (b-3)
0.625 = 0.101B
2,0.625转换成十六进制数
0.625 × 16 = 10.0
0.625 = 0.AH
3,208.625 转换成十六进制数
208.625 = D0.AH
1.2.2 带符号数的表示方法
机器数,机器中数的表示形式,其位数通常为 8的倍数
真值,机器数所代表的实际数值。
举例,一个 8位机器数与它的真值对应关系如下:
真值,X1=+84=+1010100B X2=-84=-1010100B
机器数,[X1]机 = 01010100 [X2]机 = 11010100
机器中,数的符号用,0”、,1” 表示。
最高位作符号位,,0”表示,+”,,1”表示,-”。
(一)机器数与真值
1.2.2 带符号数的表示方法
最高位为符号位,0表示,+”,1表示“-”。
数值位与真值数值位相同。
例 8位 原码 机器数:
真值,x1 = +1010100B x2 =- 1010100B
机器数,[x1]原 = 01010100 [x2]原 = 11010100
原码表示简单直观,但 0的表示不唯一,加减运算复杂 。
有符号数通常使用三种表示方法:
(二 )原码 (True Form)
(三)补码( Two’s Complement)
正数的补码表示与原码相同。
负数补码的符号位为 1,数值位等于求反加 1。
例,求 8位 补码 机器数:
x=+4 [x]补 = 00000100
x=-4 10000100
x1111011
[x]补 = 11111100
补码表示的优点:
0的表示唯一,加减运算方便。
数的补码与“模”有关,模,即计数系统的量程。
当 X<0,[X]补 = 模 -| X| 。
8位二进制数的模为,28 = 256
当 X<0,[X]补 = 28 -| X|
= 256 -| X| = 255 -| X| +1
= [X]反码 + 1
规则:求反加 1,符号位不变。
如,1000 1101B 其补码,1111 0010
规定,0000 0000B 为 0
1000 0000B 不是- 0,而是- 128
8位机器数表示的真值
8 位机器数 有符号数十六进制 二进制无符号数原码 补码
00
01
7F
80
FE
FF
00000000
00000001
01 1 1 1 1 1 1
10000000
1 1 1 1 1 1 10
1 1 1 1 1 1 1 1
0
1
127
128
254
255
+0
+1
+ 127
- 0
- 126
- 127
+0
+1
+ 127
- 128
- 2
- 1
1.2.2 带符号数的表示方法四,机器数与真值之间的转换
1)X1=+127,X2=-127,求 [X]原,[X]补
[X1]原 =[X1]补 =01111111= 7FH
[X2]原 =11111111= FFH
[X2]补 =10000001= 81H
2)X1=+255,X2=-255,求 [X]原,[X]补
[X1]原 =[X1]补 =0000000011111111= 00FFH
[X2]原 =1000000011111111= 80FFH
[X2]补 =1111111100000001= FF01H
1,真值?机器数
1.2.3 二 — 十进制编码 BCD码例:求十进制数 876的 BCD码
[876]BCD = 1000 0111 0110
876 = 36CH = 11 0110 1100B
BCD码 (Binary Coded Decimal)
二进制代码表示的十进制数。
一,8421 BCD码二,BCD码运算十进制调整,计算机实际按二进制法则计算,加入十进制调整操作,可计算 BCD码。
十进制调整方法,当计算结果有非 BCD码或产生进位或借位,进行加 6或减 6调整。
例,计算 BCD码 78+69=?
0111 1000 [78]BCD
+ 0110 1001 + [69]BCD
1110 0001 产生非 BCD码和半进位
+ 0110 0110 +66H调整
1 0100 0111 带进位结果,147
例,计算 BCD码 38-29=?
0011 1000 [38]BCD
+ 1 1 0111 - [29]BCD
0 1111 产生非 BCD
+ 1111 1010 -06调整
1 0000 1001 结果无借位,9
1.2.4 字符编码美国标准信息交换码 ASCII码,用于计算机与计算机、计算机与外设之间传递信息。
行列
000 001 010 0 1 1 100 101 1 1 0 111
0 0 0 0 NUL D L E SP 0 @ P,p
0 0 0 1 S O H DC1 ! 1 A Q a q
0 0 1 0 S T X DC2,2 B R b r
0 0 1 1 ETX DC3 # 3 C S c s
0 1 0 0 E O T DC4 $ 4 D T d t
0 1 0 1 E N Q NAK % 5 E U e u
0 1 1 0 ACK S Y N & 6 F V f v
0 1 1 1 B E L ETB ’ 7 G W g w
1 0 0 0 BS CAN ( 8 H X h x
1 0 0 1 HT EM ) 9 I Y i y
1 0 1 0 LF S U B *,J Z j z
1 0 1 1 VT E S C + ; K [ k {
1 1 0 0 FF FS,< L \ l |
1 1 0 1 CR GS - = M ] m }
1 1 1 0 SO RS · > N ↑ n ~
1 1 1 1 SI US /? O _ o D E L
学习要求:
上课记笔记
独立完成作业
认真做好实验学习方法:动手实践
Practice is a best way to learning.