160 likes | 268 Views
任务 17 串行口送显 60 秒计数器. 4 学时. 1. 完成串并转换接口 74LS164 与单片机的接口设计. 2. 完成 60 秒计数器设计. 3. 掌握串行发送 BCD 显示段码的编程控制方法. 一.任务目标. 二.任务要求. 用定时计数器产生 1s 的信号实现 60 进制计数器,并将计数器的结果适时地发送到与串行口相连的 74LS164 外接的 2 位 BCD 数码管显示。. 仿真演示. 三. 相关知识. 1 、单片机如何能收、发数据? 数据通信的传输方式 【 单工方式 】 【 半双工方式 】 【 全双工方式 】 串行数据通信两种形式
E N D
任务17 串行口送显60秒计数器 4学时
1.完成串并转换接口74LS164与单片机的接口设计 2.完成60秒计数器设计 3.掌握串行发送BCD显示段码的编程控制方法 一.任务目标
二.任务要求 用定时计数器产生1s的信号实现60进制计数器,并将计数器的结果适时地发送到与串行口相连的74LS164外接的2位BCD数码管显示。
三. 相关知识 1、单片机如何能收、发数据? 数据通信的传输方式 【单工方式】 【半双工方式】 【全双工方式】 串行数据通信两种形式 【异步通信】 【同步通信】 串行数据通信的传输速率 比特率 波特率
2、51单片机的串行口结构与工作原理 数据缓冲器SBUF 发送指令: MOV SBUF,A 接收数据指令:MOV A,SBUF 输入移位寄存器 外界数据通过引脚RXD(P3.0:串行数据接收端)输入。输入数据首先逐位进入输入移位寄存器,由串行数据转变为并行数据,然后在进入接收SBUF。 串行口控制寄存器SCON 串行口控制寄存器SCON主要用于串行通信的方式选择、接收和发送控制,并可以反映串行口的工作状态
51单片机的串行口结构与工作原理 SCON.7和SCON.6位 SM0和SM1——串行方式选择位 SCON.5位 SM2——多机通信控制位 SCON.4位 REN——允许串行接收位 SCON.3位 TB8——发送数据的第9位 SCON.2位 RB8——接收数据的第9位 SCON.1位 TI——发送中断标志位 SCON.0位 RI——接收中断标志位
3、串行口方式0 在方式0下,串行口用作同步移位寄存器,以8位数据为一帧,先发送或接收最低位,每个机器周期发送或接收1位,波特率固定为fOSC/12。 串行数据由RXD(P3.0)端口输入或输出,同步移位脉冲由TXD(P3.1)端口输出。 方式0常用于扩展I/O口。采用不同的指令实现输入或输出。
串行口方式0 (1)发送 执行指令:MOV SBUF, A (2)接收 准备接收数据时,先用指令把REN置1,使串行口允许接收数据;然后执行指令: MOV A, SBUF
四、任务分析 1、硬件电路
开始 秒信号发生器 指令:MOV A, R2 ADD A, #1 DA A R2送累加器A,ADD指令加1,BCD调整 No 计满否? 指令: CJNE A, #60H, rel 读者思考:为什么把A要和60H比较,而不是60? Yes A清0 A送R2暂存 至送显 2、程序设计 秒脉冲信号发生器 60进制BCD码计数器
程序设计 送显先后 十位在前,个位在后 送显时机选择:计数器计一次送显一次,即1s送一次 中断方式实现的送显的程序流程
接计数 MOV A, R2 SWAP A ANL A,#0FH 取R2高4位到A MOVC A,@A+DPTR 查表得十位字形码 启动串行口发送 MOV SBUF,A 发完否? No Yes 清除TI 取R2低4位到A MOV A, R2 ANL A,#0FH 查表得十位字形码 启动串行口发送 发完否? No Yes 清除TI 显示返回 程序设计
五.任务实施 • 1、在PROTEUS软件中按图搭接好电路; • 2、在伟福软件中编辑程序,进行编译,得到.HEX格式文件; • 3、将所得的HEX格式文件在PROTEUS中指定到MCU芯片中; • 4、运行仿真,观察仿真结果; • 5、PROTEUS中结果正常后,用实际硬件搭接并调试电路,通过编程器将.HEX格式文件下载到AT89C51中,通电验证实验结果。
六、任务总结 • 任务回顾 • 课后作业 • 思考题
Thank you! 标志