📄 fout.c
字号:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
/*********************************************
存储器分配地址
********************************************/
#define FF03 0
#define FF04 3
#define FF05 6
#define FF06 9
#define FF07 12
#define FF08 19
#define FF09 26
#define FF01 33
#define FF02 34
#define FF10 35
#define FF11 36
#define FF12 42
#define FF13 46
#define FF14 47
#define FF15 48
#define FF16 51
#define FF17 54
#define FF18 59
#define FF20 65
#define FF21 69
#define FF22 72
#define FF23 76
#define FF24 80
#define FF25 84
#define FF26 88
#define FF27 90
#define FF30 91
#define FF31 94
#define FF33 96
#define FF34 100
#define FF35 103
#define FF36 105
#define FF40 106
#define FF41 109
#define FE01 112
#define FE02 114
#define FE03 116
#define FE04 118
#define FE05 120
#define FE06 122
#define FE07 124
#define FE08 126
#define FE09 128
#define FE10 130
#define FE11 137
#define FE12 144
#define FE13 151
#define FE14 158
#define FE15 165
#define FE16 172
#define FE17 175
#define FE20 178
#define FE21 180
#define FE22 182
#define FE23 184
#define FE24 186
#define FE25 188
#define FE30 189
#define FE31 193
#define FE32 196
#define FE33 200
#define FE34 201
#define FE35 207
#define FE36 211
#define FE37 214
#define FC01 220
#define FC02 223
#define FC03 226
#define FC04 229
#define FC05 231
#define FC06 236
#define FC07 241
#define FC08 246
#define FC09 251
#define FC10 256
#define FC11 261
#define FC12 266
#define FC13 271
#define FC14 276
#define FC15 281
#define FC16 286
#define FC17 291
#define FC18 296
#define FC19 301
#define FC20 306
#define FC21 311
#define FC22 312
#define FC23 320
#define FC24 328
#define FC25 336
#define FC26 344
#define FC27 352
#define FC28 360
#define FC30 368
#define FC31 370
#define FC32 372
#define FC33 375
#define FP01 378
#define FP02 379
#define FP03 383
#define FP04 389
#define FP05 390
#define FP06 391
#define FP07 397
#define FP08 401
#define FP09 405
#define FH04 409
#define FH05 411
#define FH06 413
#define FH07 414
#define FH08 415
#define FH09 416
#define FH10 417
#define FH11 418
#define FH12 419
#define FH13 420
#define FH14 423
#define FH15 428
#define FH16 431
#define FH18 434
#define FH19 435
#define FH20 436
#define FH21 437
#define FH22 438
#define FH23 442
#define FH24 447
#define FH25 451
#define FH26 455
#define FH27 457
#define FH28 461
#define FH30 464
#define FU01 470
#define FU02 480
#define FU03 483
#define FU04 486
#define FU05 489
#define FU08 493
#define FU09 499
#define FU10 505
#define FU11 511
#define FU13 519
#define FU15 528
#define FU23 538
#define FU24 548
#define FU48 550
#define FU49 552
#define FU56 559
#define FU57 563
#define FU58 569
#define FU59 574
#define FU60 579
#define FU61 580
#define FF00 585
bit dotflag=0; //数码管显示小数点标记,0为小数点后2位,1为小数点后1位
extern uchar dispnum[4]; //数码管数字显示单元
extern bit WRITE_256_SUB(uchar ADDR_CS,uchar ADDR_HI,uchar ADDR_LO,unsigned char *SP,unsigned int NO);
extern bit READ_256_SUB(uchar ADDR_CS,uchar ADDR_HI,uchar ADDR_LO,unsigned char *SP,unsigned int NO);
void fout(uint frc)
{
if(frc>9999) {dotflag=1;frc=frc/10;}
else dotflag=0;
dispnum[0]=frc/1000;
dispnum[1]=frc/100-dispnum[0]*10;
dispnum[2]=frc/10-dispnum[0]*100-dispnum[1]*10;
dispnum[3]=frc%10;
}
/****************************
delay time
****************************/
void delay(uchar timedata )
{
uchar i,j;
for(i=0;i<timedata;i++)
{
j=timedata ;
while(j--);
}
}
/**********************
HEX码至ASCII码转换
**********************/
void hex_asc(uchar *dst, uchar *src, uchar len)
{
uchar j,temp;
uchar code ascii[]={"0123456789ABCDEF"}; /*ascii 字符表*/
for (j=0;j<len;j++)
{
temp=*(src+j);
*(dst+j*2)=ascii[_cror_(temp&0xf0,4)];
*(dst+j*2+1)=ascii[temp&0x0f];
}
}
/*********************************8
取地址高低字节
**********************************/
void readwrite256(uint add,uchar *bytesbuf,uchar lengh,bit wr,bit ffale)
{
idata union
{
unsigned int ADDRESS;
unsigned char ADDR[2];
}X;
X.ADDRESS=add;
if(wr==0)
WRITE_256_SUB(0XA0,X.ADDR[0],X.ADDR[1],bytesbuf,lengh);
else
READ_256_SUB(0XA1,X.ADDR[0],X.ADDR[1],bytesbuf,lengh);
if(ffale)
delay(100);
}
/***************************************
放置数据
***************************************/
uchar code ascii[]={"0123456789ABCDEF"};
void fetchdata(uchar a,uchar b,uchar d,uchar f,uchar e,uchar h)
{
factorysbuf[0]=ascii[a];
factorysbuf[1]=ascii[b];
factorysbuf[2]=ascii[d];
factorysbuf[3]=ascii[f];
factorysbuf[4]=ascii[e];
factorysbuf[5]=ascii[h];
}
/************************************************
出厂值设定
*************************************************/
uchar idata factorysbuf[6];
void factory(void)
{
fetchdata(0,0,0,0,0,0);
readwrite256(FF00,factorysbuf,1,0,1);
fetchdata(0,0,0,0,0,0);
readwrite256(FF01,factorysbuf,2,0,1);
fetchdata(0,0,0,0,0,0);
readwrite256(FF02,factorysbuf,1,0,1);
fetchdata(0,6,0,0,0,0);
readwrite256(FF03,factorysbuf,3,0,1);
fetchdata(0,5,0,0,0,0);
readwrite256(FF04,factorysbuf,3,0,1);
fetchdata(3,8,0,0,0,0);
readwrite256(FF05,factorysbuf,3,0,1);
fetchdata(3,8,0,0,0,0);
readwrite256(FF06,factorysbuf,3,0,1);
fetchdata(0,0,0,6,0,0);
readwrite256(FF07,factorysbuf,6,0,1);
fetchdata(0,0,0,6,0,0);
readwrite256(FF08,factorysbuf,6,0,1);
fetchdata(0,0,0,0,0,0);
readwrite256(FF09,factorysbuf,3,0,1);
fetchdata(1,0,0,0,0,0);
readwrite256(FF10,factorysbuf,1,0,1);
fetchdata(0,0,0,0,1,0);
readwrite256(FF11,factorysbuf,5,0,1);
fetchdata(0,5,0,0,0,0);
readwrite256(FF12,factorysbuf,3,0,1);
fetchdata(1,0,0,0,0,0);
readwrite256(FF13,factorysbuf,1,0,1);
fetchdata(1,0,0,0,0,0);
readwrite256(FF14,factorysbuf,1,0,1);
fetchdata(0,7,0,0,0,0);
readwrite256(FF15,factorysbuf,3,0,1);
fetchdata(0,0,0,0,0,0);
readwrite256(FF16,factorysbuf,3,0,1);
fetchdata(0,0,0,1,0,0);
readwrite256(FF17,factorysbuf,4,0,1);
fetchdata(1,0,0,0,0,0);
readwrite256(FF18,factorysbuf,5,0,1);
fetchdata(0,0,0,0,0,0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -