?? 機(jī)械a型液晶顯示.c
字號(hào):
#include <absacc.h>
#include <reg52.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <intrins.h>
/*定義字型字位口*/
#define zoma 500
#define N 5
#define uchar unsigned char
#define uint unsigned int
/*定義P1口個(gè)管腳*/
sbit SERCONTROL=P3^4;
sbit DOG=P3^5;
sbit busy=P2^0;
sbit req=P2^1;
sbit bell=P2^2;
sbit IN1=P3^3;
bit specur;
bit shake;
/*顯示緩存變量定義*/
uchar data keychoose=0; //菜單標(biāo)志
uchar data menunum=0; //主菜單選項(xiàng)標(biāo)志
uchar data gbnum=0; //光標(biāo)位置參數(shù)
uchar data gblcnum=0;
uchar controlstyle; //動(dòng)態(tài)=0x2a、靜態(tài)=0xe3負(fù)載標(biāo)志
bit bellvalue; //按鍵聲音
bit altra; //已通訊
bit keydd;
bit pause;
uint sdspeed;
uint sdlc;
uchar sw[3]; //設(shè)定速度值 數(shù)位
uchar lc[3]; //設(shè)定勵(lì)磁數(shù)位
uchar loadnum;
uchar data speed=0;
uchar keystore;
uchar connum;
uchar bellnum;
uchar keydownnum;
uchar num;
uchar digh1;
uchar digl1;
uchar digh2;
uchar digl2;
uchar gbit;
uchar shbit;
uchar bbit;
uchar qbit;
uchar wbit;
float xiaoyu;
float dig1;
float dig2;
float huaca;
uchar ana1[N];
uchar ana2[N];
float analog1;
float analog2;
uchar keyvalue;
uchar code tab1[]={ //主菜單顯示
"1.設(shè)定電機(jī)轉(zhuǎn)速"
"2.設(shè)置勵(lì)磁電流"
"3.實(shí)驗(yàn)項(xiàng)目選擇"
"4.設(shè)定按鍵聲音"
};
uchar code tab11[]={
"請(qǐng)選擇實(shí)驗(yàn)項(xiàng)目"
"1.傳動(dòng)效率測(cè)試"
"2.動(dòng)態(tài)負(fù)載測(cè)試"
};
uchar code tab112[]={
"轉(zhuǎn)速"
"轉(zhuǎn)矩"
};
uchar code tab22[]={
"speed "
"current"
};
uchar code tab2[]={
"請(qǐng)輸入勵(lì)磁電流級(jí) "
"between 0 and 100"};
uchar code tab3[]={
"請(qǐng)輸入電機(jī)轉(zhuǎn)速級(jí) "
"between 0 and 80 "};
uchar code tab4[]={
"設(shè)定按鍵聲音"
"1.有聲音"
"2.無聲音"};
uchar code tab5[]={
"輸入轉(zhuǎn)速"
"輸出轉(zhuǎn)速"
"輸入轉(zhuǎn)矩"
"輸出轉(zhuǎn)矩"
"0000.0rpm"
"00.000Nm"
};
uchar code tab6[]={
"效率"
"速比"
"00.0"
"000.0"};
uchar code tab7[]={"0123456789 ."};
uchar code tab8[]={"*"};
uchar code tab9[]={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x84, 0x40, 0x48, 0x3F, 0x88, 0x04, 0x20, 0x22, 0x21, 0x04, 0x42, 0x20, 0x00, 0x00, 0x02, 0x01, 0xE0, 0x00, 0x24, 0x00, 0x80, 0x00,
0x00, 0x1D, 0x03, 0xB8, 0x8A, 0x49, 0x08, 0x82, 0x20, 0xFC, 0x55, 0x0B, 0x42, 0x20, 0x50, 0x3F, 0x1F, 0xE2, 0x20, 0x00, 0x4F, 0x89, 0x00, 0x00,
0x00, 0x25, 0xE1, 0x29, 0x7C, 0x49, 0x0B, 0x03, 0xB8, 0x84, 0x6F, 0x88, 0x47, 0xF0, 0x88, 0x7F, 0x04, 0x82, 0x20, 0x00, 0x55, 0x17, 0xE0, 0x00,
0x00, 0x1A, 0x85, 0x29, 0xAA, 0x7F, 0x0C, 0x07, 0x20, 0xFC, 0xA8, 0x9E, 0x42, 0x20, 0x84, 0x01, 0x05, 0x01, 0xC0, 0x00, 0xCD, 0x16, 0x20, 0x00,
0x00, 0x0C, 0x85, 0x2A, 0xAA, 0x49, 0x1B, 0xE3, 0x20, 0x48, 0x28, 0x8D, 0x43, 0xD1, 0x22, 0x3D, 0x1A, 0xE0, 0x00, 0x00, 0x54, 0x95, 0x20, 0x00,
0x00, 0x0D, 0x84, 0xE8, 0xBC, 0x7F, 0x09, 0x04, 0x30, 0xB6, 0x37, 0x1C, 0x26, 0x50, 0x40, 0x25, 0x10, 0x07, 0x78, 0x00, 0x5C, 0x1C, 0xA0, 0x00,
0x00, 0x11, 0x44, 0x30, 0xB0, 0x49, 0x08, 0x84, 0x21, 0xFC, 0x26, 0x2B, 0xC2, 0x60, 0x48, 0x3D, 0x10, 0x05, 0x49, 0x80, 0x55, 0x14, 0x20, 0x00,
0x00, 0x22, 0x4B, 0x00, 0x90, 0x49, 0x0B, 0x64, 0x40, 0xB4, 0x2A, 0x88, 0x42, 0x60, 0x84, 0x01, 0x10, 0x07, 0x39, 0x80, 0x50, 0x94, 0x20, 0x00,
0x00, 0x04, 0x20, 0xF8, 0xEF, 0x81, 0x04, 0x05, 0x81, 0x68, 0x11, 0x80, 0x43, 0x98, 0x7C, 0x01, 0x20, 0x04, 0x00, 0x00, 0x1F, 0x18, 0x40, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x07, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x40, 0x7C, 0x01, 0x03, 0x02, 0x80, 0x08, 0x3F, 0x00, 0x00, 0x80, 0x88, 0x00, 0x01, 0xFF, 0xC0, 0x1F, 0xFF, 0x80, 0x00, 0x00,
0x00, 0x1F, 0xC2, 0x30, 0x88, 0x79, 0x0D, 0x42, 0x78, 0x90, 0x3F, 0x02, 0x00, 0x88, 0x8A, 0x00, 0x07, 0xC7, 0xC0, 0x7C, 0x0F, 0xC0, 0x00, 0x00,
0x00, 0x0F, 0xE0, 0x90, 0xF8, 0x91, 0x09, 0x05, 0x89, 0x7E, 0x21, 0x02, 0x23, 0xF0, 0xFC, 0x00, 0x0F, 0x07, 0x81, 0xF1, 0xC3, 0xE0, 0x00, 0x00,
0x00, 0x11, 0x46, 0x90, 0x88, 0x5F, 0x8F, 0xE5, 0x09, 0x62, 0x1E, 0x8F, 0xC0, 0x80, 0xC2, 0x00, 0x0E, 0x07, 0x83, 0xCF, 0xC3, 0xE0, 0x00, 0x00,
0x00, 0x2F, 0xC4, 0x61, 0xFE, 0x25, 0x0B, 0x4D, 0x09, 0x52, 0x69, 0x83, 0x03, 0x60, 0x88, 0x00, 0x1C, 0x0F, 0x87, 0x0F, 0x81, 0xE0, 0x00, 0x00,
0x00, 0x19, 0x04, 0x20, 0x60, 0x31, 0x0D, 0x85, 0x09, 0xCA, 0x5F, 0x03, 0x01, 0x41, 0xFE, 0x00, 0x1C, 0x0F, 0x0E, 0x07, 0x81, 0xE0, 0x00, 0x00,
0x00, 0x0F, 0xC5, 0x20, 0xBC, 0x51, 0x18, 0x85, 0x09, 0x42, 0x6B, 0x04, 0x80, 0xC0, 0xA8, 0x60, 0x1E, 0x0F, 0x0E, 0x0F, 0x81, 0xE0, 0x00, 0x00,
0x00, 0x09, 0x02, 0xD1, 0x60, 0x81, 0x0B, 0x63, 0x09, 0x42, 0xFF, 0x08, 0x40, 0xA0, 0x88, 0x60, 0x1E, 0x0F, 0x1C, 0x0F, 0x03, 0xE0, 0x00, 0x00,
0x00, 0x37, 0xE1, 0x08, 0x1E, 0x01, 0x08, 0x22, 0x09, 0x84, 0x0C, 0x90, 0x27, 0x18, 0x88, 0x00, 0x1E, 0x1E, 0x18, 0x0F, 0x03, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1E, 0x18, 0x0F, 0x07, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x18, 0x1F, 0x1F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x18, 0x1F, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x1C, 0x1F, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x1E, 0x3E, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x1F, 0x3E, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x3C, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x07, 0x3C, 0x78, 0x00, 0x00, 0x00,
0x00, 0x10, 0x82, 0x20, 0x00, 0x00, 0x00, 0x84, 0x00, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x7C, 0x7C, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xC2, 0x00, 0xFF, 0xFF, 0xF0, 0xFF, 0x1F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x78, 0x7C, 0x00, 0x00, 0x00,
0x00, 0x04, 0x87, 0xF8, 0x7A, 0xB5, 0x21, 0x1F, 0x89, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x78, 0x3C, 0x00, 0x00, 0x00,
0x00, 0x1F, 0xF3, 0x40, 0x7B, 0xB5, 0x21, 0xB5, 0x09, 0x0B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0xF8, 0x3E, 0x00, 0x00, 0x00,
0x00, 0x13, 0xC2, 0xF0, 0x7A, 0xAD, 0x20, 0xDF, 0x1F, 0xCA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x03, 0xF8, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x13, 0xC6, 0x90, 0x6A, 0x2D, 0x20, 0xB4, 0x09, 0x14, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x0F, 0xFF, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x1E, 0x42, 0x60, 0x6A, 0x2D, 0x20, 0x9E, 0x09, 0x0E, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x0F, 0xFF, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x0B, 0xC2, 0x30, 0xFF, 0xFD, 0xC0, 0x74, 0x11, 0x08, 0x93, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0xC0, 0x00, 0x00, 0x0F, 0x81, 0xC0, 0x00,
0x00, 0x02, 0x47, 0xC8, 0x00, 0x00, 0x00, 0x4F, 0x21, 0x10, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x83, 0xC0, 0x00, 0x00, 0x07, 0x81, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC7, 0x80, 0x00, 0x00, 0x03, 0xC3, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xEF, 0x00, 0x00, 0x00, 0x01, 0xE3, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
void send (uchar dat);
void delay1 (uint ms);
void vbell(uint us);
void wr_zb1 (uchar comm,uchar addr_x,uchar addr_y);
void dis_star(uchar starnum);
void clear_star(uchar starnum);
void clearmark(uchar clnum);
void dismark(uchar disnum);
void disp_speed(uchar code *chn);
void disp_cz(uchar code *chn,uchar lnum);
void disp_chn (uchar code *chn);
void disp_chn1 (uchar code *chn);
void digkey(uchar num);
/*--------延時(shí)1ms函數(shù)----------*/
void delays(void)
{uchar i;
for(i=0;i<176;i++){ }
}
/*延時(shí)200ms函數(shù)*/
void delay200(void)
{ uint i;
for(i=45000;i>0;i--)
{}
}
/*---------------延時(shí)子程序----------------*/
void delay (uint us)
{
while(us--);
}
/*-----------響鈴子程序---------------------*/
void vbell(uint us)
{ bell=bellvalue;
while(us--);
bell=0;
}
/*------------寫命令或數(shù)據(jù)到LCD--------------*/
void wr_zb (uchar comm,uchar addr_x,uchar addr_y) reentrant
{
send(comm);
send(addr_x);
send(addr_y);
}
void wr_zb1 (uchar comm,uchar addr_x,uchar addr_y)
{
send(comm);
send(addr_x);
send(addr_y);
}
void send (uchar dat) //寫命令或數(shù)據(jù)
{
while(busy);
P0=dat;
req=1;
while(busy==0);
req=0;
}
/*鍵盤掃描程序*/
char keyscan(void)
{
uchar sccode;
uchar recode;
DOG=~DOG;
P1=0xf0;//發(fā)全0掃描行,列線輸入
if((P1&0xf0)!=0xf0)//查看讀入的列線是否有0
{
delays();
if((P1&0xf0)!=0xf0)
{
sccode=0xfe;
while((sccode&0x10)!=0)//是否四行都掃描完了
{
P1=sccode;
if((P1&0xf0)!=0xf0)//本行有鍵按下
{shake=0;
recode=(P1&0xf0);
P1=0xf0;
return((~sccode)+(recode));//返回鍵的特征字符 交叉點(diǎn)行為1其他為0,交叉點(diǎn)列為0其它為1
}
else
sccode=(sccode<<1)|0x01;//如果本行沒有鍵按下,則左移一位,掃描下一行
}
}
}
shake=1;
P1=0xf0;
return(0);
}
//************初始化
void init(void)
{
uchar i;
shake=0;
busy=1;
req=0;
keystore=0;
analog1=0;
keydd=0;
controlstyle=0; //11為開環(huán),0為閉環(huán);
bellvalue=1; //按鍵聲音
altra=0; //已通訊
sdspeed=0;
sdlc=0;
for(i=0;i<3;i++)
{ sw[i]=0;
lc[i]=0;} //設(shè)定速度值 數(shù)位
loadnum=0;
specur=0;
keystore=0;
connum=0;
bellnum=0;
keydownnum=0;
num=0;
pause=0;
digh1=0;
digl1=0;
digh2=0;
digl2=0;
gbit=0;
shbit=0;
bbit=0;
qbit=0;
wbit=0;
xiaoyu=0;
dig1=0;
dig2=0;
huaca=0;
for(i=0;i<N;i++)
{ ana1[i]=0;
ana2[i]=0;
}
analog1=0;
analog2=0;
keyvalue=0;
DOG=1;
P1=0xf0;
P0=0xff;
SERCONTROL=0; //默認(rèn)為接收狀態(tài)
RCAP2H=0xff;
RCAP2L=0xfa;
T2CON=0x34;
SCON=0x50;
IT1=0;
IT0=0;
ES=1;
EX0=1;
EA=1;
}
void consend(void) //發(fā)實(shí)驗(yàn)項(xiàng)目
{DOG=~DOG;
SBUF=0xff;
while(TI==0);
TI=0;
SBUF=0x2a;
while(TI==0);
TI=0;
SBUF=controlstyle;
while(TI==0);
TI=0;
}
void sendspeed(void) //發(fā)速度指令
{
DOG=~DOG;
SBUF=0xfc;
while(TI==0);
TI=0;
SBUF=0xcf;
while(TI==0);
TI=0;
SBUF=sdspeed;
while(TI==0);
TI=0;
}
void sendlc(void) //發(fā)加載指令
{DOG=~DOG;
SBUF=0xab;
while(TI==0);
TI=0;
SBUF=0xba;
while(TI==0);
TI=0;
SBUF=sdlc;
while(TI==0);
TI=0;
}
void sendzero(void)
{DOG=~DOG;
SBUF=0xff;
while(TI==0);
TI=0;
SBUF=0x88;
while(TI==0);
TI=0;
}
void sendrnew(void)
{DOG=~DOG;
SBUF=0xff;
while(TI==0);
TI=0;
SBUF=0x11;
while(TI==0);
TI=0;
}
//****-----------------------顯"*"
void dis_star(uchar starnum)
{wr_zb(0xf9,9+starnum,48);
send(tab8[0]);
}
//*-------------------------清"*"
void clear_star(uchar starnum)
{uchar j;
for(j=48;j<64;j++)
{wr_zb(0xf3,9+starnum,j);
send(0x00);
}
}
//*-----------------清選擇標(biāo)志---------------
void clearmark(uchar clnum)
{uchar i,j;
for(j=clnum*16;j<clnum*16+16;j++)
{for(i=0;i<2;i++)
{wr_zb(0xf3,i,j);
send(0x00);
}
}
}
/*-----------------顯示選擇標(biāo)志---------------*/
void dismark(uchar disnum)
{wr_zb(0xf0,0,disnum);
send(0xa1-0xa0);
send(0xf4-0xa0);
}
/*-----------------顯示圖形-----------------*/
void disp_img (uchar code *img) reentrant
{
uchar i,j;
for(j=0;j<64;j++)
{
for(i=0;i<24;i++)
{
wr_zb(0xf3,i,j);
send(img[j*24+i]);
}
}
}
//*----------------------------------------顯"請(qǐng)輸入電機(jī)轉(zhuǎn)速值"
void disp_speed(uchar code *chn)
{uchar i;
for(i=0;i<9;i++)
{ wr_zb(0xf0,i+1,0);
send(chn[i*2]-0xa0);
send(chn[i*2+1]-0xa0);
}
for (i=0;i<17;i++)
{wr_zb(0xf1,i+2,16);
send(chn[18+i]);
}
sw[0]=sdspeed/10;
sw[1]=sdspeed-sw[0]*10;
//sw[2]=(sdspeed-sw[0]*1000-sw[1]*100)/10;
//sw[3]=sdspeed-sw[0]*1000-sw[1]*100-sw[2]*10;
for(i=0;i<2;i++)
{ wr_zb(0xf9,i+9,32);
send(tab7[sw[i]]);
}
}
//*----------------------------------------顯"請(qǐng)輸入勵(lì)磁電流值"
void disp_lc(uchar code *chn)
{uchar i;
for(i=0;i<9;i++)
{ wr_zb(0xf0,i+1,0);
send(chn[i*2]-0xa0);
send(chn[i*2+1]-0xa0);
}
for (i=0;i<17;i++)
{wr_zb(0xf1,i+2,16);
send(chn[18+i]);
}
lc[0]=sdlc/100;
lc[1]=(sdlc-lc[0]*100)/10;
lc[2]=sdlc-lc[0]*100-lc[1]*10;
//sw[3]=sdspeed-sw[0]*1000-sw[1]*100-sw[2]*10;
for(i=0;i<3;i++)
{ wr_zb(0xf9,i+9,32);
send(tab7[lc[i]]);
}
}
//*-----------------------------------顯測(cè)量數(shù)值
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -