实例6: PC控制多位数码管显示 - 单片机开发技术实例(一)
详细内容
实例名称: PC 控制多位数码管显示。
实例所需主要资源; AT89C51 、数码管、74HCl64 、MAX232
实例目标:利用AT89C51 单片机普通I/O模拟串行方式控制三位数码管,通过串行口接收PC 发送来的显示数据,显示温度(0 -99.9 C范围内任意一个数) ;显示完毕后,发送应答信息给PC; 给出汇编语言和C 语言完整程序。
实例目的:进一步学习串行口的原理及其应用,学习RS-232 总线及MAX232 的工作原理,掌握单片机与PC 的通信方式。
1 硬件设计
总体电路设计
PC控制三位数码管显示的完整电路如图所示
图中,数码管DS3 显示小数位,DS2 显示个位, DS1 显示十位;单片机与PC 通信采用三线制连接方式,图中"PC 通信接口"的PCTXD 接标准9 针串口DB9 的3 针脚, PCRXD接2 针脚1 GND 接5 针脚。
2 单片机软件设计
本例的软件设计重点是单片机与PC之间的遵信,单片机串口工作方式1 .波特率为9600bit/s. 无校验位。程序开始后,单片机会等待接
收PC 传来的三个数据,分别为要显示的温度的十位、个位和小数位,先接收小数位,最后接收十位,接收完数据后会给PC 发送一个应答信号66H.下面给出详细的程序介绍。
(1) PC 控制三位数码管显示的程序流程图
本例的程序流程图如图所示。
下面程序中会用到一条新指令,即逻辑与指令,格式为: