–Da Universidade de Tecnologia de Hunan e da Universidade de Nanhua
A equipe do Sr. Chen Zhu
Nesta edição, destacamos o caso de cooperação entre escola e empresa da DWIN Technology – Extrator Inteligente de Ácidos Nucleicos Totalmente Automático. A solução possui uma interface de operação intuitiva, monitoramento em tempo real do status do equipamento, temperatura, tempo e outras informações através da tela, e pode ser ajustada por meio de parâmetros. Integra desinfecção UV, alteração de senha e outras funções práticas, o que aumenta a conveniência da operação experimental e a segurança dos dados. Ao mesmo tempo, o equipamento também suporta operações de início, pausa e finalização de experimentos, bem como controle de HEAP e iluminação LED, garantindo ainda mais a precisão e a confiabilidade do experimento.
【Código C51】
O C51 possui uma grande quantidade de código; aqui está um exemplo do código da função principal e do código de processamento de vários controles.
Função principal:
#include “sys.h”
#include “uart4.h”
#include “uart5.h”
#include “touch.h”
#incluir “tim0.h”
#include “norflash.h”
#include “lab.h”
vazio principal(vazio)
{
sys_init();
uart4_init(9600);
uart5_init(9600);
timer0_cnt_init();
mudança_de_página(25);
touch_init();
enquanto(1)
{
val_addr_handler();
manipulador_de_tempo_de_laboratório();
Uart4_Rx_handler();
}
}
Código de tratamento de controle:
void val_addr_handler(void)
{
#define VAL_START_ADDR 0×5000
u8 n;
se(is_addr_scan==0)
{
retornar;
}
is_addr_scan=0;
se(dwkey_show_scan==1)
{
keyshow_scan(DW_KEY_ADDR,DW_KEYSHOW_ADDR);
keyshow_scan(DW_OLDKEY_ADDR,DW_OLDKEYSHOW_ADDR);
keyshow_scan(DW_CHANGEKEY1_ADDR,DW_CHANGEKEY1SHOW_ADDR);
keyshow_scan(DW_CHANGEKEY2_ADDR,DW_CHANGEKEY2SHOW_ADDR);
}
dwkey_show_scan=0;
sys_read_vp(VAL_START_ADDR,(u8*)&cur_scan_val,SCANLEN); para(n=0;n
para(n=0;n
{
se(n
{
se (cur_scan_val[n]>0)
{
lab_data_run_view(n);
lab_pop_clear(n,0);
}
}
senão se(n==0×06)
{
se (cur_scan_val[n]>0)
{
page_id_update(cur_scan_val[n]);
lab_pop_clear(n,0);
}
}
senão se(n==0×07)
{
se(cur_scan_val[n]!=last_scan_val[n])
{
lab_led_con(cur_scan_val[n]);
último_valor_de_varredura[n] = valor_de_varredura_atual[n];
}
}
senão se(n==0×08)
{
se (cur_scan_val[n]>0)
{
lab_uv_con(cur_scan_val[n]);
lab_pop_clear(n,0);
}
}
senão se(n==0×09)
{
se(cur_scan_val[n]!=last_scan_val[n])
{
lab_heap_con(cur_scan_val[n]);
último_valor_de_varredura[n] = valor_de_varredura_atual[n];
}
}
senão se(n==0x0A)
{
se (cur_scan_val[n]>0)
{
lab_data_save();
lab_pop_clear(n,0);
}
}
senão se(n==0x0B)
{
se (cur_scan_val[n]>0)
{
lab_data_default(n);
lab_pop_clear(n,0);
}
}
senão se(n==0x0C)
{
se (cur_scan_val[n]>0)
{
lab_data_modify();
lab_pop_clear(n,0);
}
}
senão se(n==0x0D)
{
se (cur_scan_val[n]>0)
{
lab_data_detele();
lab_pop_clear(n,0);
}
}
senão se(n==0x0E)
{
se (cur_scan_val[n]>0)
{
lab_start();
lab_pop_clear(n,0);
}
}
senão se(n==0x0F)
{
se (cur_scan_val[n]>0)
{
fim_do_laboratório(1);
lab_pop_clear(n,0);
}
}
senão se(n==0×10)
{
se(cur_scan_val[n]!=last_scan_val[n])
{
lab_pause_cont(cur_scan_val[n]);
último_valor_de_varredura[n] = valor_de_varredura_atual[n];
}
}
senão se(n==0×11)
{
se (cur_scan_val[n]>0)
{
status_da_página_do_laboratório(n);
lab_pop_clear(n,0);
}
lab_wash_chooose();
}
senão se(n==0×12)
{
se (cur_scan_val[n]>0)
{
limpar_dados_de_laboratório();
lab_pop_clear(n,0);
}
}
senão se(n==0×13)
{
se (cur_scan_val[n]>0)
{
cur_scan_val[n] = 0;
sys_write_vp(0×5013,(u8*)&cur_scan_val,1);
touch_lock();
}
}
senão se(n==0×14)
{
se (cur_scan_val[n]>0)
{
cur_scan_val[n] = 0;
sys_write_vp(0×5014,(u8*)&cur_scan_val,1);
touch_changekey();
}
}
}
}
Data da publicação: 27 de maio de 2024



