⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 机械a型液晶显示.c

📁 使用8051单片机来实现电机的转速的调节和液晶显示
💻 C
📖 第 1 页 / 共 3 页
字号:
#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口个管脚*/

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;          //菜单标志
uchar data menunum=0;            //主菜单选项标志
uchar data gbnum=0;              //光标位置参数
uchar data gblcnum=0;
uchar controlstyle;                //动态=0x2a、静态=0xe3负载标志
bit bellvalue;                    //按键声音
bit altra;                      //已通讯
bit keydd;
bit pause;
uint sdspeed;
uint sdlc;
uchar sw[3];                      //设定速度值 数位
uchar lc[3];                      //设定励磁数位
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.设定电机转速"
"2.设置励磁电流"
"3.实验项目选择"
"4.设定按键声音"
};
uchar code tab11[]={
"请选择实验项目"
"1.传动效率测试"
"2.动态负载测试"
};
uchar code tab112[]={
"转速"
"转矩"
};
uchar code tab22[]={
"speed  "
"current"
};
uchar code tab2[]={              
"请输入励磁电流级 "
"between 0 and 100"};

uchar code tab3[]={
"请输入电机转速级 "
"between 0 and 80 "};

uchar code tab4[]={
"设定按键声音"
"1.有声音"
"2.无声音"};

uchar code tab5[]={
"输入转速"
"输出转速"
"输入转矩"
"输出转矩"
"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);




		  

/*--------延时1ms函数----------*/
void delays(void)
{uchar i;
for(i=0;i<176;i++){ }
}


/*延时200ms函数*/
void delay200(void)
{  uint i;
  for(i=45000;i>0;i--)  
  {}
}

/*---------------延时子程序----------------*/
void delay (uint us)
{
  while(us--);
}

/*-----------响铃子程序---------------------*/
void vbell(uint us)
{ bell=bellvalue;
  while(us--);
  bell=0;
}
/*------------写命令或数据到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)               //写命令或数据
{
  while(busy);
  P0=dat;
  req=1;
  while(busy==0);
  req=0;
}



 /*键盘扫描程序*/
char keyscan(void)
{
uchar sccode;
uchar recode;
DOG=~DOG;
P1=0xf0;//发全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));//返回键的特征字符 交叉点行为1其他为0,交叉点列为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为开环,0为闭环;
 bellvalue=1;                    //按键声音
 altra=0;                      //已通讯
 sdspeed=0;
 sdlc=0;
for(i=0;i<3;i++)
{ sw[i]=0; 
 lc[i]=0;}                     //设定速度值 数位
 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;   //默认为接收状态
	       
		RCAP2H=0xff;
		RCAP2L=0xfa;
		T2CON=0x34;
		SCON=0x50;
	    IT1=0;
		IT0=0;
		ES=1;
	
		EX0=1;
		EA=1;
    }


 void consend(void)           //发实验项目
 {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)        //发速度指令
 {
  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)     //发加载指令
 {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);
	 }
	
}
   //*-----------------清选择标志---------------
   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);
	 }
	}
 }
  
 /*-----------------显示选择标志---------------*/
 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]);
    }
  }
}

//*----------------------------------------显"请输入电机转速值"
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]]);
  }
}
//*----------------------------------------显"请输入励磁电流值"
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]]);
  }
}
//*-----------------------------------显测量数值

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -