论文部分内容阅读
随着科技的发展,单片机的应用基本涉足的各个领域,作为中波广播发射机来说,控制显示板原有的数字逻辑控制电路,逻辑复杂、成本高。所以哈广厂最先采用了单片机來对中波广播发射机进行控制,不仅完成了原有控制显示板的所有功能,而且还降低了成本,增加了稳定性,下面简单介绍一下用单片机进行控制的设计思路。
硬件主要分为四大部分:液晶、触摸屏、单片机、CPLD、和外部电路接口。单片机主要负责采集发射机数据(包括数字和模拟)、控制液晶显示和触摸屏实现人机交互,对各种数据处理后对发射机进行控制。使用CPLD对单片机的IO进行扩展,外围接口电路实现单片机、CPLD与发射机连接上的电平匹配。
控制程序包含8个页面分别为、主页面、时间设置页面、自动开关机设置页面、编码器控制页面 、发射机状态量页面、发射机故障指示页面、监控器页面、发射机工作模式页面。各页面可通过主页面进行切换,每个页面用一个独立的c文件实现,每个页面c文件内部通过语句while(flag_out)循环实现页面维持(此时flag_out为1),在需要切换页面时将flag_out置零跳出页面,回到主程序中然后进入下一个页面,完成页面的切换。页面间主要通过全局变量传递参数。
对发射机的状态检测和自动控制以及故障处理都在一个c文件(monitor.c)中实现,文件中主要由monitor() 函数实现功能,monitor () 函数执行一次就对发射机各种参数进行一次采集,并进行一次处理。在开机能操作的页面下每次循环都执行一次本函数。
触摸屏相应程序实现方法如下:通过touch.c中的r_touch()函数实现触摸屏X,Y参数的读取,通过X,Y判断触摸屏上的操作位置。
一、工作流程图
二、主程序设计说明
主要实现功能:
(一)单片机初始化,对E2PROM中的数据进行校验
(二)从E2PROM中读取上次设置和累计开关机时间
(三)在页面切换过程中起桥接作用。
单片机初始化对像包括:看门狗、时钟、交叉开关、ADC0、ADC1、串口、I2C控制器,总线控制器。
三、触摸屏程序设计说明
触摸屏特性:触摸屏在横纵座标上分别被256等分,
读取坐标函数为 unsigned char*r_touch();
数组返回值为一个指向数组unsigned char point 的指针。
四、发射机检测、控制函数monitor() 函数说明
(一)函数原型 bit monitor(void)
函数功能 对发射机各种数字量和模拟量进行采集,处理然后对发射机进行自动控制,进行开机时间的累积,在发射机有故障量产生时函数返回值为0,正常情况下返回1,用于自动翻屏。屏幕右上角的关机钮是在monitor()函数中实现的
(二)程序结构
程序中有两个返回点:如果有故障直接从故障检测处返回,没有故障运行完成后返回。在每个开机(上高压)状态下能操作的页面都包含monitor()函数。
五、关于时间设置函数说明
在时间设置文件submenu_time.c中有万年历计算器,实现设定时间的约束,此万年历计算器可算出不同年份每个月的天数,并算出某天是星期几。用于约束所调整的日期。函数如下:
unsigned char WeekDay20(unsigned char y, unsigned char m, unsigned char d)
y,m,d分别为输入的年月日,返回星期和天数高位为星期,低位为天数。用其限制输入的天数。
经过上述的设计,新的控制板大约减少了四倍的体积,并且采用的都是当今比较流行的器件,便于采购,运行稳定。
硬件主要分为四大部分:液晶、触摸屏、单片机、CPLD、和外部电路接口。单片机主要负责采集发射机数据(包括数字和模拟)、控制液晶显示和触摸屏实现人机交互,对各种数据处理后对发射机进行控制。使用CPLD对单片机的IO进行扩展,外围接口电路实现单片机、CPLD与发射机连接上的电平匹配。
控制程序包含8个页面分别为、主页面、时间设置页面、自动开关机设置页面、编码器控制页面 、发射机状态量页面、发射机故障指示页面、监控器页面、发射机工作模式页面。各页面可通过主页面进行切换,每个页面用一个独立的c文件实现,每个页面c文件内部通过语句while(flag_out)循环实现页面维持(此时flag_out为1),在需要切换页面时将flag_out置零跳出页面,回到主程序中然后进入下一个页面,完成页面的切换。页面间主要通过全局变量传递参数。
对发射机的状态检测和自动控制以及故障处理都在一个c文件(monitor.c)中实现,文件中主要由monitor() 函数实现功能,monitor () 函数执行一次就对发射机各种参数进行一次采集,并进行一次处理。在开机能操作的页面下每次循环都执行一次本函数。
触摸屏相应程序实现方法如下:通过touch.c中的r_touch()函数实现触摸屏X,Y参数的读取,通过X,Y判断触摸屏上的操作位置。
一、工作流程图
二、主程序设计说明
主要实现功能:
(一)单片机初始化,对E2PROM中的数据进行校验
(二)从E2PROM中读取上次设置和累计开关机时间
(三)在页面切换过程中起桥接作用。
单片机初始化对像包括:看门狗、时钟、交叉开关、ADC0、ADC1、串口、I2C控制器,总线控制器。
三、触摸屏程序设计说明
触摸屏特性:触摸屏在横纵座标上分别被256等分,
读取坐标函数为 unsigned char*r_touch();
数组返回值为一个指向数组unsigned char point 的指针。
四、发射机检测、控制函数monitor() 函数说明
(一)函数原型 bit monitor(void)
函数功能 对发射机各种数字量和模拟量进行采集,处理然后对发射机进行自动控制,进行开机时间的累积,在发射机有故障量产生时函数返回值为0,正常情况下返回1,用于自动翻屏。屏幕右上角的关机钮是在monitor()函数中实现的
(二)程序结构
程序中有两个返回点:如果有故障直接从故障检测处返回,没有故障运行完成后返回。在每个开机(上高压)状态下能操作的页面都包含monitor()函数。
五、关于时间设置函数说明
在时间设置文件submenu_time.c中有万年历计算器,实现设定时间的约束,此万年历计算器可算出不同年份每个月的天数,并算出某天是星期几。用于约束所调整的日期。函数如下:
unsigned char WeekDay20(unsigned char y, unsigned char m, unsigned char d)
y,m,d分别为输入的年月日,返回星期和天数高位为星期,低位为天数。用其限制输入的天数。
经过上述的设计,新的控制板大约减少了四倍的体积,并且采用的都是当今比较流行的器件,便于采购,运行稳定。