单片机课程设计报告
1
单 片 机 课 程 设 计 报 告
姓 名:
学 号:
指导教师:
xxxx 大学
2023 年 11 月
单片机课程设计报告
2
目录
1 设计目标 ...........................................................................................................3
2 设计方案及可行性分析 ..................................................................................3
设计原理:........................................................................................................................3
程序设计难点分析: .......................................................................................................3
红外解码模块分析: .......................................................................................................3
1、 编码方式: ...............................................................................................................3
2、 红外信号的接收:..................................................................................................5
3、 解码程序: ...............................................................................................................5
3 硬件设计及仿真结果 ....................................................................................11
硬件设计:......................................................................................................................11
(1) 红外接收与解码模块......................................................................................11
(2) 数码管显示........................................................................................................11
(3) LED 灯显示 ........................................................................................................11
Protues 仿真:...............................................................................................................11
1、 遇到的问题: ........................................................................................................11
2、 解决方案:.............................................................................................................11
4 软件设计及实现 ............................................................................................13
主程序流程图设计: .....................................................................................................13
软件框架设计: .............................................................................................................13
源程序代码及注释: .....................................................................................................14
1、 汇编代码:.............................................................................................................14
2、 C 语言代码:.........................................................................................................22
5 小组讨论记录.................................................................................................32
6 个人心得体会.................................................................................................32
初次选题:......................................................................................................................32
最终选题:......................................................................................................................33
课程设计感想: .............................................................................................................33
单片机课程设计报告
3
1 设计目标
篮球计时计分器是一种应用非常广泛比赛计时工具,对现代社会越来越重要。
采用单片机控制使这个系统按键操作使用简洁,LED 显示,安装方便。解决了篮
球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用。该课
程设计拟使用红外遥控器代替单片机上的按键进行操作,具有较强的实际意义,
可以对计分器进行远距离的操作,而并不需要近距离按按钮,方便裁判在离计分
器较远时进行计分。
2 设计方案及可行性分析
设计原理:
主函数,识别是否有红外遥控按键按下,一直保持循环。如果有按键按下,去执行按键检测。
为了实现篮球计分器的功能,左边两个数码管和右边两个数码管要分别计数。
因为是四个数码管的不同显示,需要用到四个不同的存储单元存放要显示的数字。
遥控信号的发送和解码由相应的解码程序来完成,按键识别后,分别执行不同的功能函数
(这是我们主要要完成的)。
以按键一功能函数为例,甲队加一分,那么就需要在第二个数码管上的数字显示加一,当计
数到 10 时,置零,第一位数码管显示加一。
此外,在 LED 显示程序和数码管显示程序都放在显示函数中。按键功能执行函数执行完毕,
会把相应的数码管显示和 LED 显示相应存储单元内容刷新,然后调用显示函数。
程序设计难点分析:
1、精确的延时,没有精确的延时,无法对遥控发送的信号进行解码,这是编写 C 程序比较
困难的一部分。
2、四位数码管的显示,以多少的频率刷新,让人才能看起来同时显示四个不同的值。
3、按键识别后,对四个存储单元内容的操作(数据传送,加法,转移指称,判断等等)。
4、按键按下后,对应的发光二极管亮;比较比分的数值,led7 和 led8 分别亮。
5、没有精确的延时,无法对遥控发送的信号进行解码,这是编写 C 程序比较困难的一部分。
另外,除了延时,还需要很多的位操作指令,所以解码函数用 C 语言写非常复杂。
红外解码模块分析:
1、编码方式:
单片机课程设计报告
4
采用脉宽调制的串行码,以脉宽为 0.565ms、间隔 0.56ms、周期为 1.125ms 的组合表示
二进制的“0”;以脉宽为 0.565ms、间隔 1.685ms、周期为 2.25ms 的组合表示二进制的
“1”,其波形如图 2 所示。
图 2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)
上述“0”和“1”组成的 32 位二进制码经 38kHz 的载频进行二次调制以提高发射效率,
达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图 3
所示。
图 3 遥控信号编码波形图
UPD6121G 产生的遥控编码是连续的 32 位二进制码组,其中前 16 位为用户识别码,
能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十
六进制 01H;后 16 位为 8 位操作码(功能码)及其反码。UPD6121G 最多额 128 种不
同组合的编码。
遥控器在按键按下后,周期性地发出同一种 32 位二进制码,周期约为 108ms。一
组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在 45~63ms
之间,图 4 为发射波形图。
图 4 遥控连发信号波形
当一个键按下超过 36ms,振荡器使芯片激活,将发射一组 108ms 的编码脉冲,这
108ms 发 射 代 码 由 一 个 引 导 码 ( 9ms ) , 一 个 结 果 码 ( 4.5ms ) , 低 8 位 地 址 码
(9ms~18ms),高 8 位地址码(9ms~18ms),8 位数据码(9ms~18ms)和这 8 位数据的
单片机课程设计报告
5
反码(9ms~18ms)组成。如果键按下超过 108ms 仍未松开,接下来发射的代码(连发
码)将仅由起始码(9ms)和结束码(2.25ms)组成。
图 5 引导码 图 6 连发码
2、红外信号的接收:
接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完
成从红外线接收到输出与 TTL 电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合
于各种红外线遥控和红外线数据传输。
接收器对外只有 3 个引脚:Out、GND、Vcc 与单片机接口非常方便,如图 7 所示。
① 脉冲信号输出,直接接单片机的 IO 口。
② GND 接系统的地线(0V);
③ Vcc 接系统的电源正极(+5V);
3、解码程序:
ORG 0000H
MAIN:
JNB P2.2,IR ;遥控扫描
LJMP MAIN ;在正常无遥控信号时,一体化红外接收头输出是高电平,程序一直在循环。