任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂

2025-08-20
| 24页
| 76人阅读
| 0人下载
精品

内容正文:

任务三 制作电子秒表 单片机技术及应用 同步精品课堂 高等教育出版社第 4 版 1 数码管动态显示模块电路原理图的绘制和焊接 电子秒表程序的编写,包括定时器的使用和时分秒的计时逻辑 电子秒表的仿真调试和程序下载 能够绘制电子秒表程序流程图并进行编程 理解数码管动态显示的原理和实现方法 准确编写定时器中断服务函数,确保计时的准确性 电子秒表的仿真调试和程序下载 在日常生活中,电子秒表是一种非常实用的计时工具。今天我们将学习如何制作一个用 6 位数码管显示时分秒,每秒变化一次的电子秒表。 通过这个项目,我们将进一步掌握数码管显示和定时器的应用。 任务三 制作电子秒表 工具及材料准备: 工作准备: 制作一个电子秒表,用6位数码管显示时分秒,每秒变化一次 任务需求 软件:Protel DXP 2004、Proteus 7.4、Keil uVision2、EasyPRO Programmer、流程图绘制软件。 硬件:计算机 1 台、编程器 1 台、最小系统电路板 1 块、杜邦线 2 条、电池盒 1 个。 穿好工作服,戴好防静电手环,穿绝缘胶鞋。 清洁工作台面,清理工作区域,工具、仪器仪表摆放整齐有序。 任务三 制作电子秒表 - 任务实施 ① 启动 Protel DXP 2004,新建一个电路原理图文件,其文件名为 “数码管动态显示模块电路原理图”。 绘制数码管动态显示模块电路原理图(启动与新建文件) 任务三 制作电子秒表 - 任务实施 ② 从元件库 “Miscellaneous Connectors.IntLib” 中查找 “Header 8” 和 “Header 2”(2 个 I/O 口插座和 1 个电源插座),拖入工作窗口。 ③ 从元件库 “Miscellaneous Devices.IntLib” 中查找 “RES2”(6 个电阻),拖入工作窗口。 ④ 从元件库 “TI Interface 8 - Bit Line Transceiver.IntLib” 中查找 74LS245,在 “TI Logic Gate 1.IntLib” 中查找 7406 (2 个数字集成芯片),拖入工作窗口。 ⑤ 在元件库中自制一个 4 位一体的数码管,加载该元件库,将 4 位一体的数码管拖入工作窗口。 绘制数码管动态显示模块电路原理图(查找与拖入元件) 任务三 制作电子秒表 - 任务实施 ⑥ 绘制如图所示的电路,修改标号和标称值。 ⑦ 保存该文件。 绘制数码管动态显示模块电路原理图(绘制与保存电路) 任务三 制作电子秒表 - 任务实施 ① 根据数码管动态显示模块电路元件清单,选取元件,用万用表检测元件的好坏。 焊接电路(元件选取与检测) 名称 标号 规格 数量 金属膜电阻 R1~R6 10kΩ 6 4 位一体数码管 DS1、DS2 共阴极 2 电源插座 P2 2 针 1 I/O 口插座 P1、P3 8 针 2 DIPIC 插座 DIP20 1 三态同相双向总线收发器 (74LS245) U1 DIP20 1 反相缓冲器 (7406) U2 DIP14 1 任务三 制作电子秒表 - 任务实施 ② 绘制元件布局图,在万能电路板上按布局图依次进行元件的排列、插装。 ③ 按工艺要求焊接元件,背面用直径为 0.5~1mm 的导线连接,直到所有的元件连接并焊完为止。焊接顺序为 IC 插座 → 数码管 →I/O 口插座 → 电阻 → 电源插座 → 连接导线。 焊接电路(元件布局与焊接) 任务三 制作电子秒表 - 任务实施 根据电路原理图 (如图所示) 用杜邦线搭接电路,数码管动态显示模块的 I/O 口与最小系统板的 P0 和 P2 口相连,连接电源和地端,安装电池盒。 根据原理图搭接电路 任务三 制作电子秒表 - 任务实施 ① 启动流程图绘图软件 Diagram Designer,新建一个文件,文件名为 “电子秒表主函数.DDD”,设置图纸大小为 A4。 ② 从右侧的标准框图符号库中拖取所需的框图符号,调整其大小和位置。 ③ 在框图中输入文本。 ④ 用指向线连接框图符号。 ⑤ 保存文件。 绘制程序流程图(主函数) 任务三 制作电子秒表 - 任务实施 下图所示分别为电子秒表显示函数和定时器 0 中断服务函数流程图。 绘制程序流程图(显示函数与中断服务函数) 任务三 制作电子秒表 - 任务实施 ① 启动 Keil uVision2,新建一个工程文件 “电子秒表.uV2”。 ② 新建一个 C51 源程序文件 “电子秒表.C”,将该文件加载到该工程中。 编程(新建工程与源文件) 任务三 制作电子秒表 - 任务实施 编程(全局变量与函数声明) #define uint unsigned int uint t_50ms = 0; uchar hour = 0; uchar min = 0; uchar sec = 0; uchar buf[6] = {0, 0, 0, 0, 0, 0}; // secl sec0min1 min0 hourl hour0 uchar code SEG[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; // dp gfedcba共阴 uchar code POS[6] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20}; /*----------------------------函数声明-------------------*/ void disp(void); void disp_min(void); void disp_sec(void); void disp_hour(void); 任务三 制作电子秒表 - 任务实施 编程(延时函数与定时器初始化函数) /*----------- 延时k ms函数-----------------------*/ void delay(uint k) {     uint i, j;     for (i = 0; i < k; i++) {         for (j = 0; j < 125; j++) {             ;         }     }} /*----------------- 定时器0初始化函数------*/ void init_timer0(void) {     TMOD = 0x01;     TL0 = -(50000 % 256); // 50ms/1μs = 50000     TH0 = -(50000 / 256);     TR0 = 1;     ET0 = 1;} 任务三 制作电子秒表 - 任务实施 编程(延时函数与定时器初始化函数) /* 定时器0中断服务函数-----------------------*/ void int_timer0() interrupt 1 using 0 {     TL0 = -(50000 % 256); // 50ms/1μs = 50000     TH0 = -(50000 / 256);     t_50ms++;     if (t_50ms >= 20) {         t_50ms = 0;         sec++;         if (sec >= 60) {             sec = 0;             min++;             if (min >= 60) {                 min = 0;                 hour++;                 if (hour >= 24) {                     hour = 0;                 }             }         }     }} /* 显示函数----------------- */void disp(void) {     uchar i, j;     for (i = 0; i <= 5; i++) {         P2 = POS[i];         j = buf[i];         P0 = SEG[j];         delay(10);     }} 任务三 制作电子秒表 - 任务实施 编程(主函数与编译) /* 主函数 -------------- */void main(void) {     init_timer0();     EA = 1;     while (1) {         buf[0] = sec % 10; // 秒的个位         buf[1] = sec / 10; // 秒的十位         buf[2] = min % 10; // 分的个位         buf[3] = min / 10; // 分的十位         buf[4] = hour % 10; // 小时的个位         buf[5] = hour / 10; // 小时的十位         disp(); // 显示函数     }}   ③ 编译,生成 HEX 文件 “电子秒表.HEX”。 任务三 制作电子秒表 - 任务实施 仿真调试程序 启动仿真软件Proteus 7.4,新建一个仿真文件(可调节照明时间的智能照明控制器.DSN)。 根据电路原理图绘制仿真电路图(省略复位和时钟电路),添加电源(VCC) 和地端,修改元件标号和标称值。 随堂检测1 制作电子秒表时,绘制数码管动态显示模块电路原理图需要用到哪些元件库? 答案:需要用到 “Miscellaneous Connectors.IntLib”“Miscellaneous Devices.IntLib”“TI Interface 8 - Bit Line Transceiver.IntLib”“TI Logic Gate 1.IntLib” 等元件库。 在电子秒表程序中,定时器 0 的定时时间是多少? 答案:定时器 0 的定时时间是 50ms。 随堂检测2 焊接数码管动态显示模块电路时,焊接顺序是什么? 答案:焊接顺序为 IC 插座 → 数码管 →I/O 口插座 → 电阻 → 电源插座 → 连接导线。 在电子秒表程序中,当秒数达到 60 时,会发生什么? 答案:当秒数达到 60 时,秒数会清零,分钟数加 1;当分钟数达到 60 时,分钟数清零,小时数加 1;当小时数达到 24 时,小时数清零。 1 分组讨论,讨论如何优化电子秒表的显示效果,如增加闪烁、亮度调节等功能。分析在电子秒表程序中,如何添加暂停和复位功能。 1. 绘制数码管动态显示模块电路原理图 任务三 制作电子秒表 2. 焊接电路 主函数 显示函数与中断服务函数 启动与新建文件 查找与拖入元件 绘制与保存电路 3. 根据原理图搭接电路 4. 绘制程序流程图 5. 编程 新建工程与源文件 全局变量与函数声明 延时函数与定时器初始化函数 定时器中断服务函数与显示函数 主函数与编译 感谢观看 24 $$

资源预览图

任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
1
任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
2
任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
3
任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
4
任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
5
任务三 制作电子秒表(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。