支持一角、五角、一元硬币类型,液晶实时显示统计好的硬币个数,同时能计算出当前硬币总价值。
#include "AT89X51.h"
#define u8 unsigned char
#define u16 unsigned int
#define uchar unsigned char
#define uint unsigned int
int delay();
void inti_lcd();
void show_lcd(int);
void cmd_wr();
void ShowState();
void clock(unsigned int Delay) ;
//正转值
#define RIGHT_RUN 1
sbit RS=0xA0;
sbit RW=0xA1;
sbit E=0xA2;
sbit fiveCents = P3 ^ 6;
sbit oneYuan = P3 ^ 7;
uchar OC = 0; //一毛
uchar FC = 0; //五毛
uchar OY = 0; //一元
uchar Total = 0;
uchar SpeedChar[]="1:00 5:00 1Y:00 ";
uchar StateChar[]="TOTAL:00.0 yuan ";
uchar Number[]="0123456789";
uchar SPEED[3]="050";
uchar RunSpeed=50; //速度
uchar RunState=RIGHT_RUN; //运行状态
uchar deta=0,sec=0;
bit flag = 0;
/*************************************************
函数功能:初始化定时器
**************************************************/
void init_time() //定时初始化
{
TMOD=0x01; //设置定时器0位工作模式1(M1,M0位0,1)
TH0=(65536-45872)/256; //装初值11.0592M晶振定时50ms数为45872
TL0=(65536-45872)%256;
ET0=1; //开定时器0中断
TR0=0; //启动定时器0