首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
单片机在赤道式天文望远镜控制系统中的应用
来源:本站整理  作者:佚名  2009-04-02 15:32:21



  2 、下位机软件流程图

3、子程序部分

  (1)键盘输入及显示部分

  在该系统中,我们选用了8279芯片,在程序中查询键值,送入固定单元,如果无键按下,则送#0FFH入固定单元,然后查询此单元,如果为#0FFH,则返回,否则根据单元的键值内容转入相应的功能子程序;而显示部分主要把待显示的数据经过拆分成7位(本系统采用7位数码管显示),分别送给显示缓冲区,由查表的方式从表中取出7个相应的字型,送到8279数据口实现动态显示,8279的键盘扫描及显示方式是通过初始化编程来实现的,8279初始化部分程序如下:

  MOV DPTR, #7FF0H; 8279芯片的状态地址

  MOV A, #0D1H; 清除命令

  MOV @DPTR, A; 命令字送入

  LL: MOV A, @DPTR; 读8279状态字

  JB ACC.7, LL ; 清除等待

  MOV A, #08H; 显示器左边输入外部译码,双键互锁方式

  MOV @DPTR, A; 命令字送入

  MOV A, #2AH; 时钟编程命令

  MOV @DPTR,A; 命令字送入

  RET; 返回

  (2)MC146818时钟部分

  MC146818芯片是摩托罗拉公司生产的一种可编程的时钟芯片,该系统中用它来读写恒星时,其中一些主要的操作就是芯片的初始化,读时间操作,写时间操作几大部分,在使用该芯片进行执行读/写时间操作时,必须得注意,要首先查询它的状态看它是否正在刷新数据,如果是,必须等刷新数据动作完成之后再对芯片进行读/写操作,否则容易出错,MC146818的初始化部分程序如下:

  MOV DPTR,#0BFCAH; A寄存器口地址

  MOV A,#26H; 命令字

  MOVX @DPTR,A

  INC DPL; B寄存器口地址

  MOV A,#1AH; 命令字

  MOVX @DPTR,A

  RET; 返回

  读时间子程序:

  MOV DPTR, #0BFCAH

  AA: MOVX A, @DPTR; 读取状态字

  ANL A, #80H

  JNZ AA; 芯片是否正在刷新?否,读取数据

  MOV DPTR, #0BFC0H;读秒单元

  MOVX A, @DPTR

  MOV @R1, A

  INC R1

  MOV DPL, #0C2H; 读分单元

  MOVX A, @DPTR

  MOV @R1,A

  INC R1

  MOV DPL, #0C4H; 读时单元

  MOVX A, @DPTR

  MOV @R1, A

  RET; 返回

  写时间的子程序同上类似,不再多述。

  (3)串行通信子程序

  W77E58实现双串口通信,初始化完毕后进入主流程,逐个查询串口是否有通信数据请求,如果有则进入通信子程序执行并返回,否则程序直接往下执行,把下位机的数据分别发送给把手盒和工控机,等待接收控制命令。具体的初始化程序如下:

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:175,335.90000 毫秒