单片机应用系统设计实例共46页

合集下载

单片机应用系统设计举例PPT

单片机应用系统设计举例PPT

8 GND
475Ω×8
15
a
QA QB
1 2
b c
QC 3
d
QD 4
e
QE QF
5
QG 6
7
f g dp
QH
GND
74HC595 a)
VCC
U7
10
16 /SCLR
SPICLK11 VCC
M OSI P26 P22
14 12 13
SCK SER RCK /G
8 GND
5.1KΩ×8
QA QB
15 1
c
f
dp
f
g
d
g
dp
dp
VCC
2020/4/7
键盘电路图
P00
330Ω×4
P01
P02
P03
10KΩ×4 S1 S2 S3 S4 GND
12.4 系统软件设计
单片机的检测报警程序采用C语言编写。
系统采用每10ms循环采样的方式采集压力信 号(在此假设采用8位转换精度)。使用定时器0实 现10毫秒的定时。报警声音通过PWM控制蜂鸣器 发出,监测的压力值超过上限时,发出上限报警声 音(高音调);监测的压力值低于下限时,发出下 限报警声音(低音调)。不管发生哪种报警,报警 指示灯闪烁(亮500ms,灭500ms,通过对定时 器0的中断计数50次实现)。如果没有报警,则不 出现报警声音和闪烁信号。系统运行指示灯通过对 定时器0的中断计数50次实现定时输出高低脉冲控 制D1。
STC12C5410AD单片机片内集成了8通道10 位高速模数转换器,并且,具有较多的通用I/O和片 上外设(定时器、UART等),因此,在本系统的 设计中,可以采用STC12C5410AD作为系统的检 测与控制中心。

第十一章 单片机应用系统设计实例

第十一章  单片机应用系统设计实例

第十一章 单片机应用系统设计实例
11.1.2 系统硬件电路的设计
第十一章 单片机应用系统设计实例
11.1.3 系统软件程序的设计
电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始 化参数设置、按键处理、数码管显示模块等,在设计时各个模块都采 用子程序结构设计,在主程序中调用。由于定时器/计数器采用中断 方式处理,因此还要编写定时器/中断服务子程序,在定时器/计数器 中断服务程序中对时钟进行调整。 一.主程序 主程序执行流程如图,主程序先对显示单元和定时器/计数器初 始化,然后重复调用数码管显示模块和按键处理模块,当有键按下, 则转入相应的功能程序。
第十一章 单片机应用系统设计实例
开始 现场保护,重置初值 启动下一个50ms 50ms 计数器加1 否 50ms 计数器=20? 是 秒单元加1,50ms计数器清0,秒写入秒个位 和秒十位

秒单元=60? 是 分单元加1,秒单元清0,分写入分个位和分十 位
分单元=60? 是 时单元加1,分单元清0,时写入时个位和时十 位 时单元=24? 时单元清0 是 中断返回
开始
初始化
调用A/D转换子程序 调用显示子程序
第十一章 单片机应用系统设计实例
二.A/D转换子程序
A/D转换子程序用于对ADC0809八路输入模拟电压进行A/D转 换,并将转换的数值存入8个相应的存储单元中,如下图。A/D转 换子程序每隔一定时间调用一次,也即隔一段时间对输入电压采样 一次。 三.显示子程序
11.1.1 软时钟的基本原理
软时钟是利用单片机内部的定时器/计数器来实现,它的处理过程 如下:首先设定单片机内部的一个定时器/计数器工作于定时方式, 对机器周期计数形成基准时间(如10ms),然后用另一个定时器/ 计数器或软件计数的方法对基准时间计数形成秒(对10ms计数100 次),秒计60次形成分,分计60次形成小时,小时计24次则计满 一天。然后通过数码管把它们的内容在相应位置显示出来即可。

单片机应用系统设计方法共48页PPT

单片机应用系统设计方法共48页PPT

离、看门狗电路等;
◆工艺设计,包括机架机箱、面板、配线、接插件等,
必须兼顾电磁兼容的要求以及安装、调试、维护等操作
是否方便的要求。
2021/7/20
17
2.硬件可靠性设计
单片机应用系统工作环境恶劣,个别系统甚至要求
在无人值守情况下工作,因此任何差错都可能造成非常
严重的后果。可见,单片机在应用时对系统的可靠性要
10
(1)货源稳定、充足 所选单片机芯片在国内元器件市场上货源要稳定、
充足,并且有成熟的开发设备(主要指仿真器和编程器)。 对于MCS-51及其兼容芯片来说,在研制阶段可选择带 Flash ROM存储器的CPU芯片,如89S5X系列,借助 ISP编程器即可反复修改监控程序,便于调试。 (2)性价比高
2021/7/20
9
2.CPU的合理选型
目前世界上生产单片机的厂商有几十家,单片机芯
片的型号有上千种,其中应用较多的产品有Intel公司
的MCS-51及其兼容芯片(如ATMEL公司的89S5X系列、
Philips公司的51系列等)、MCS-51派生型芯片(如SST
公司的89E5XRD2系列、华邦Winbond的W78与
W77系列、 Philips公司的LPC76X与LPC900系列等)、
ATMEL公司的AVR系列、Microchip公司的PIC系列、
Motorola公司的M68HC系列、TI公司的TMS430系
列等MCU芯片以及以ARM为内核的32位MCU芯片。
一般来说,在选择单片机类型时应综合考虑以下几
个因素: 2021/7/20
适应性,但系统反应速度会下降,软件设计费用和所需
存储器容量也相应增加。
对于产品量大、价格敏感的小产品,原则上能用软

单片机应用系统课程设计实例

单片机应用系统课程设计实例

数字钟设计实例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟,显示格式“XX XX XX”,从左向右分别是:时、分、秒1、硬件设计2、软件设计说明:定时器每1000us中断一次,在中断服务程序中,对中断次数计数,100us计数10000次就是1s,然后再对秒计数得到分和小时,并送入显示缓存。

LEDBUF EQU 30H ;显示码缓存区HOUR EQU 40HMINUTE EQU 41HSECOND EQU 42HC100us EQU 43HTICK EQU 10000 ;置中断次数T100us EQU 256-100 ;置定时器初始值LJMP START ;跳转至主程序ORG 000BH ;定时器0中断入口T0INT: PUSH PSW ;状态保护PUSH ACCMOV A,C100us+1JNZ GOON ;计数值是否为0DEC C100usGOON: DEC C100us+1MOV A,C100usORL A,C100us+1JNZ EXITMOV C100us,#HIGH(TICK) ;重置计数值MOV C100us+1,#LOW(TICK)INC SECOND ;秒值加一MOV A,SECONDCJNE A,#60,EXIT ;判断秒值是否为60MOV SECOND,#0 ;秒值为60,则清0INC MINUTE ;分值加一MOV A,MINUTECJNE A,#60,EXIT ;判断分值是否为60MOV MINUTE,#0 ;分值为60,则清0INC HOUR ;小时值加一MOV A,HOURCJNE A,#24,EXIT ;判断小时值是否为24MOV HOUR,#0 ;小时值为24,则清0 EXIT: POP ACCPOP PSWRETIDELAY: ;延时子程序MOV R7,#0FFHDELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6,DELAYLOOPRETLEDMAP: DB 3FH,06H,5BH,4FH ;八段数码管显示码DB 66H,6DH,7DH,07HDB 7FH,6FH,77H,7CHDB 39H,5EH,79H,71HDISPLAYLED:MOV R0,#LEDBUFMOV R1,#6 ;共6个八段管MOV R2,#B ;位扫描码初值LOOP: MOV A,#0MOV P0,A ;关所有八段管MOV A,@R0MOV P0,AMOV A,R2MOV P3,A ;显示一位八段管MOV R6,#01HCALL DELAYMOV A,R2 ;显示下一位RR AMOV R2,AINC R0DJNZ R1,LOOPRETT0LED: MOV DPTR,#LEDMAP ;将字段码转换显示码MOVC A,@A+DPTRRETSTART: MOV TMOD,#02H ;定时器工作方式2 MOV TH0,#T100us ;置定时器初始值MOV TL0,#T100usMOV IE,#B ;EA=1,IT0=1MOV HOUR,#0 ;显示初始值MOV MINUTE,#0MOV SECOND,#0MOV C100us,#HIGH(TICK)MOV C100us+1,#LOW(TICK)SETB TR0 ;启动定时器0MLOOP: MOV A,HOUR ;显示小时值十位MOV B,#10DIV ABCALL T0LEDMOV LEDBUF,A ;将十位值送显示码缓存区MOV A,B ;显示小时值个位CALL T0LEDORL A,#80H ;显示小数点MOV LEDBUF+1,A ;送显示码缓存区MOV A,MINUTE ;显示分钟值十位MOV B,#10DIV ABCALL T0LEDMOV LEDBUF+2,A ;将十位值送显示码缓存区MOV A,B ;显示分钟个位值CALL T0LEDORL A,#80H ;显示小数点MOV LEDBUF+3,A ;送显示码缓存区MOV A,SECONDMOV B,#10 ;显示秒十位值DIV ABCALL T0LEDMOV LEDBUF+4,A ;送显示码缓存区MOV A,BCALL T0LEDMOV LEDBUF+5,ACALL DISPLAYLED ;调用显示子程序LJMP MLOOPEND。

第12章 单片机应用系统设计举例

第12章 单片机应用系统设计举例

a)路路路路路路
b)路测路路
增强型8051单片机实用开发技术
9/24
4.电机驱动电路 .
U11 PWMP PWMN VCC R29 1K R30 1K 3 19 13 18 20 1 9 10 11 12 IN1 IN2 D2 D1 DNC AGND PGND PGND PGND PGND MC33886 OUT1 OUT1 OUT2 OUT2 DNC V+ V+ V+ Ccp FS 6 7 14 15 8 4 5 16 17 2 VBAT J1 2 1 Header 2
U13 IN GND OUT OUT 2 4 C14 47uF
VCC
REG1117-5
C15 0.1uF
增强型8051单片机实用开发技术
11/24
12.1.4 12.1.4 系统软件设计
单片机的检测报警程序采用C语言编写。 单片机的检测报警程序采用 语言编写。 语言编写 单片机的7个 单片机的 个ADC转换通道对小车路径检测的模拟量进 转换通道对小车路径检测的模拟量进 行采样, 行采样,进行二值化和坐标变换后得到小车中心与路径的 偏差, 偏差,然后根据偏差大小对舵机转角和小车速度进行相应 的调整。由于舵机和电机驱动对PWM频率要求差别较大, 的调整。由于舵机和电机驱动对 频率要求差别较大, 频率要求差别较大 驱动电机的PWM由单片机内部 由单片机内部PWM模块产生,而驱动舵 模块产生, 驱动电机的 由单片机内部 模块产生 机的PWM则由定时器 产生。 则由定时器T0产生 机的 则由定时器 产生。
增强型8051单片机实用开发技术
具体程序请参见教材!!! 具体程序请参见教材!!!
增强型8051单片机实用开发技术
12.2 基于实时操作系统 基于实时操作系统uC/OS-II的压力测控系统 的压力测控系统

单片机应用系统设计实例

单片机应用系统设计实例

时单元=பைடு நூலகம்4?
时单元清0 是 中断返回
定时器/计数器T0中断服务程序
四.按键处理模块
按键处理设置为:如没有按键,则时钟 正常走时。当按下K0按键时,进入调分状态, 时钟停止走动;按K1可K2按键可进行加1或 减1操作;继续按K0键可分别进行分和小时 的调整;最后按K0键将退出调整状态,时钟 开始计时运行。
;秒 ;A-商,B-余数 ;秒十位 ;秒个位 ;分
;时
;循环扫描8位显示 ;位选码初值 ;8位显示
SCAN1:
MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR ;远程查表 MOV P0,A ;段选码 MOV A,R5 LCALL DL1MS INC R1 MOV A,R5 RR A MOV R5,A DJNZ R6,SCAN MOV P2,#0FFH MOV P0,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H, 0F8H,80H,90H,0BFH ;“0~9”,“-”的七段共阳极字段 码
while (key1==0); timedata[con]++; if (con==2) con1=24;else con1=60; if (timedata[con]>=con1) {timedata[con]=0;} } } if (con!=0) { if (key2==0) { delay1ms(10); //K2去抖 while (key2==0); timedata[con]--; if (con==2) con2=23;else con2=59; if (timedata[con]<=0) {timedata[con]=con2;} } } EA=1; }

单片机应用系统的设计方法及实例(1)

单片机应用系统的设计方法及实例(1)
AT89C2051
P3 .3 P3.2 P3.1 P3 .0
+5V
图 8-6 动态扫描显示接口电路
;-----------------主程序------------------
STAR: ∶

LOOP: ∶
ACALL S00EF
;将显示缓冲区内容送去显示


SJMP LOOP
;--------------送显示子程序--------------
P1.3 P1.2 P1.1 P1.0
D C B A LE
D C B A LE MC14495 …
D C B A LE
G
Y0
A
Y1
B
Y2
C
74LS138
Y7
图 8-3 采用译码器的静态显示接口电路
2.串行显示接口
8031
RXD TXD P1.0
AB CLK C LR
AB CLK C LR
… 74LS164
;置键有效标志

JNB
SETB
10H
R4,A RETUR
CLR
11H
CLR
10H
R4,#00H
11H,RETUR ;键有效标志等于0,未按过键,返回
SJMP
KEYDO
;键放开,转键处理
;置第一次发现键按下标志
;保存键值
;返回
;清键有效标志
;清第一次发现键按下标志
;清键值暂存单元
RRC JUS2 DOS1 JC DOS2 JC DOS3 JC ALMP ……
74 LS2 44
图 8-10 键盘与单片机的接口电路
开始
向所有的行输出 0

单片机应用系统设计实例

单片机应用系统设计实例
一、控制原理:
一、控制原理: 虚线表示允许水位变化的上下限。 水塔由电机带动水泵供水,单片 机控制电机转动以达到对水位控 制的目的。 ①当水位上升,达到上限时,因水导电,B、C棒连通+5V。b、c均为“1”,应停止电机和水泵的工作,不再供水; ②当水位降到下限时,B、C棒都不能与A棒导电。 b、c均为“0”,应启动电机,带动水泵工作,给水塔供水; ③当水位处于上下限之间时,B与A棒导通。 b为“1”, c为“0”,无论怎样都应维持原有的工作状态。
输出控制电路
输出高电平:双向可控硅导通,电热丝通电; 输出低电平:双向可控硅截止,电热丝断电。 8155 I/O端口的负载能力不足以驱动光电耦合器的发光 二极管,用1413作为功放。 控制算法:对于温度控制系统,系统具有大热惯性,系统采用脉冲宽度调制的控制方法。 也可用PID算法、Smith算法、Dalin算法等。
温度信号输入通道
MC14433是双积分3 ½ 位的A/D转换器:采用扫描的方法, 输出3 ½ 位的BCD码,从0000~1999共2000个数码。内部有时钟源(振荡器)。 VR:基准电压输入线,其值为200mV或2V; VX:被测电压输入线,最大为199.9mV或1.999V。 DS4~DS1:分别是个、十、百、千位的选通脉冲输出线; Q3~Q0 :BCD码数据输出线,动态地输出千位、百位、十位、个位值。 即DS4有效时,Q3~Q0表示的是个位值(0~9);依次类推。 EOC与INT0相接使得MC14433每次A/D结束后,同时启动下一次转换,使其处于 连续的A/D转换中,并使得单片机在中断服务程序中读入该次转换结果。
单击此处添加大标题内容
硬件:时钟电路片 软件:片内定时器 在单片机计时的过程中,每一次秒加1,都与规定的作 息时间比较,如比较相等就进行电铃或扩音设备的开关控制。 本系统共有4项控制内容:接通电铃和断开电铃; 接通和断开扩音设备。 由P1口输出控制码进行控制,其控制码定义为: 接通电铃:0FEH 断开电铃:0FDH 接通扩音设备:7FH 断开扩音设备:0BFH

第9章 单片机应用系统设计实例

第9章  单片机应用系统设计实例

9.1.3
控制程序:功能模块设计
程序共使用三个定时器。其中,T0和T1配合产生一路PWM波,T0决定 PWM波的频率,设计值为20KHz,T1决定PWM波的占空比;T2用于产生定时 中断,并决定控制周期,设计值为1ms。已知单片机外部晶振频率为16MHz,
根据第4章介绍的定时器配臵方法可得:T0工作在8位自动重装方式,定时
(1)初始化模块 初始化模块包括堆栈及中断初始化、定时器初始化以及变量初始化。 在堆栈及中断初始化中,关键是对中断控制字的配臵,包括: MOV MOV MOV SP, #7FH IE, #00101010B IP, #00001010B
本例将单片机内部数据存储器的80H~0FFH单元作为堆栈,因此,堆 栈指针被初始化为7FH。对IE的配臵表示允许T0、T1、T2中断。对IP的配 臵表示定义T0、T1为高优先级中断,T2为低优先级中断。
9.1.3
1.
磁悬浮球演示系统的控制程序设计
控制程序总体设计 (1)程序总体结构 单片机上电后,首先执行初始化程序,然后启动定时器并进入主循环,
等待定时中断。在主循环内,单片机反复从P1口读取用户指令,修改控制 器参数Ka、Kv、Kp和Ki。 本系统使用AT89C52的所有3个定时中断。其中,T0和T1中断配合产生 一路PWM信号;而T2则用于产生控制中断,并在T2中断服务程序中执行悬 浮控制算法,主程序和T2中断服务程序的流程见下图所示。
参数,选取得当即可实现小球的稳定悬浮。通常,这些参数应在编程之 前计算出来,而在编写程序时,它们都是常数。
9.1.2
磁悬浮球演示系统的电路设计
磁悬浮球演示系统的电路由单片机控制电路、A/D转换器及功率 放大电路等三部分组成。其单片机控制电路和A/D转换器电路如下图 所示。

单片机系统课程设计举例

单片机系统课程设计举例
实现功能:实时控制、数据采集、通信等。
优势:高可靠性、低成本、易于维护和升级。
智能仪表和传感器系统
智能仪表:用于测量和控制各种物理量,如温度、压力、流量等 传感器系统:用于采集环境中的各种信息,如温度、湿度、光照等
单片机系统:用于处理和分析传感器采集到的数据,并控制智能仪表进行相应的操作
应用领域:智能家居、工业自动化、医疗设备等
编程语言:C 语言、汇编 语言等
调试方法: 单步调试、 断点调试、 观察变量等
常见问题: 内存溢出、 堆栈溢出、 死循环等
解决方案: 优化代码、 增加内存、 修改堆栈大 小等
系统测试和优化
测试方法:单元测试、集成测试、系统测试等 测试工具:模拟器、示波器、逻辑分析仪等 优化目标:提高系统性能、降低功耗、提高稳定性等 优化方法:算法优化、硬件优化、软件优化等
Part Five
单片机系统应用举 例
智能家居控制系统
功能:实现家庭设备的智能控 制,如灯光、空调、窗帘等
特点:远程控制、定时控制、 智能联动、节能环保
技术:单片机、传感器、无线 通信、人工智能等
应用:家庭、酒店、办公楼等 场所
工业自动化控制系统
简介:单片机系统在工业自动化控制系统中得到广泛应用,如智能仪表、 电机控制等。 应用领域:工业自动化、智能制造、机器人技术等。
单片机应用领域
家用电器:如洗衣机、冰 箱、空调等
医疗设备:如医疗仪器、 医疗电子设备等
航空航天:如卫星、航天 器等
工业控制:如自动化生 产线、机器人等
汽车电子:如汽车电子 控制系统、车载导航系
统等
通信设备:如手机、路 由器等
军事领域:如武器装备、 军事通信等
单片机系统组成
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档