新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于单片机控制的数字视频混合器

一种基于单片机控制的数字视频混合器

作者:时间:2010-11-02来源:网络收藏

3 软件设计

根据功能的要求,软件有主程序和串口中断子程序两部分,主程序流程图如图3所示。编程侧重点是:初始化;键控功能;对PC命令的判断和执行;更新系统配置及对数据的保存。

3.1 访问EEPROM和看门狗设置

AT89S8252有看门狗和EEPROM寄存器WMCON。

;写一字节

SETB WMCON.3 ;访问EEPROM使能

SETB WMCON.4 ;写EEPROM使能

MOVX @DPTR,A ;写一字节,寻址范围0000H~07FFH

JNB WMCON.1$ ;WMCON.1,准备下一次访问

CLR WMCON.4

CLR WMCON.3 ;MOVX指令可以访问外部数据存储器

从EEPROM读字节与写过程相似。

WMCON.0是看门狗使能位,WMCON.1是看门狗复位位(复位后为1),WMCON.5~7可以设定看门狗的时钟周期(16~2048ms)。如果在看门狗的时钟周期内,没有设置看门狗复位位或者没有关闭看门狗,内部复位信号会复位

3.2 与PC串行通信

PC与单片机通信的数据格式有三种:命令长度+命令号;命令长度+命令号+读数据字节数N+首地址+校验和;命令长度+命令号+写字节数N+首地址+数据1+…+数据N+校验和。命令长度、命令号、读u20889写数据字节数N、首地址和数据n(1≤n≤N)都是一字节,用16进制表示。命令长度整个命令格式字节数。校验和=命令号+读数据字节数N+首地址,或者校验和=命令中+写数据字节数N+首地址+数据1+…+数据N。例如:显示附加信号1并且1号LED亮,PC发送0x02 0x01;读1号TMC2081的00~03存储器,PC发送0x5 0xB 0x4 0x0 0xF;写0x0 0x21 0x1D 0x0到SAA7121的27~2A存储器,PC发送0x9 0xC 0x4 0x27 0x0 0x21 0x1D 0x0 0x13。

图3 主程序流程图

在单片机的串口中断子程序中,根据接收到的命令长度判断是否接收到一个完整的命令格式。如果接收到一个完整命令格式就设置标志位FLG1(如图3)根据这个标志位进入主程序中处理PC命令的程序,由接收到的命令号识别各种PC发送命令。例如,1号命令是显示附加信号1并且点亮1号LED,0xC号命令是写SAA7121存储器等。依据接收到的校验和,可以判断接收PC数据的正确性,防止对的错误操作。

用VB6.0设计软件,读写PC的串行口。本文波特率为9600bps,单片机的定时器/计数器2(T2)设定在波特率发生器的工作方式。



评论


相关推荐

技术专区

关闭