串口通过164控制三个数码管
2011-04-30 14:43
302 查看
/*****************************************/ /*功能:按键控制数码管显示数; /*作者:oych /* 日期:2011.4.30 /****************************************/ #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit setup=P1^0; sbit add=P1^1; sbit sub=P1^2; uchar data_in[3]={0}; uchar sign=10,gw=0,sw=0,value=0; uchar code list[]={0x03,0x9f,0x24,0x0c,0x98,// 0x48,0x40,0x1f,0x00,0x08,0xff,0xfc,};//0,1,2,3,4,5,6,7,8,9,空,-, /*****************************************/ /*功能:10ms的延时; /****************************************/ void delay(uint t) { uchar k; while(t--) { for(k=0;k<114;k++); } } /*****************************************/ /*功能:串口发送数据; /****************************************/ void wr_byte(uchar num) { SBUF = num; //发送数据 while (!TI); TI = 0; //发送完毕,清中断标志 } /*****************************************/ /*功能:数据发送处理; /****************************************/ void display() { sw=value/10; gw=value%10; wr_byte(list[gw]); wr_byte(list[sw]); wr_byte(list[sign]); } /*****************************************/ /*功能:数值加; /****************************************/ void plus() { if(add==0) { delay(50); if(add==0) { if(value==99) value=0; if(sign==11) { if(value==1) { value=0; sign=10; } else value--; } else value++; display(); } } } /*****************************************/ /*功能:数值减; /****************************************/ void dec() { if(sub==0) { delay(50); if(sub==0) { if(value<=1||(sign==11)) { sign=11;//负号; value++; } else { value--; sign=10;//正号; } display(); } } } /*****************************************/ /*功能:主函数; /****************************************/ void main(void) { SCON = 0x00; //设置串行口工作方式0,发送 rx数据端,低位在前,高位在后; display(); P1=0xff; while(1) { if(setup==0) { delay(50); if(setup==0) { plus(); dec(); } } } }
相关文章推荐
- 通过rs232串口控制投影机定时开关
- PIC 通过SPI串口控制TC77温度传感器
- IIC读写AT24C02代码1——通过串口命令控制R/W
- C#与Arduino通过串口通信来控制LED灯的状态
- 通过串口连接控制树莓派
- 配置实现通过串口(com 口、RS232 接口)终端控制 Linux 系统
- Android NDK——App端通过串口通信完成实时控制单片机上LED灯的颜色及灯光动画特效
- 通过串口编程控制打印机
- 通过串口连接控制树莓派
- STC89C52通过串口控制流水灯亮灭
- Arduino通过串口控制舵机角度实验
- 通过串口传值给Arduino,再通过Arduino控制小车(直流电机)移动与二自由度云台转动角度
- socat:通过网络控制串口设备案例分析
- labview通过串口控制风扇
- 通过串口连接控制树莓派
- STC89C52通过串口控制流水灯亮灭
- 安卓通过串口控制zigbee
- Python通过pyserial控制串口操作
- 树莓派进阶之路 (022) - 串口篇 - 通过串口连接控制树莓派
- Arduino 通过串口字符串控制LED开关