单片机码表的驱动程序
来源:互联网 发布:机战登录器源码 编辑:程序博客网 时间:2024/06/05 02:51
#include <reg52.h>#include "./delay/delay.h"#define SEGPORT P0sbit start = P1^0;sbit end = P1^1;sbit seg_select = P2^1; sbit bit_select = P2^0; unsigned char flag = 1;unsigned char duanma[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char weima[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char TempData[8];unsigned char shi = 0, fen = 0, miao = 0;void display(){ static unsigned char i = 0; SEGPORT = 0x0; seg_select = 1; seg_select = 0; SEGPORT = 0xff; bit_select = 1; bit_select = 0; SEGPORT = TempData[i]; seg_select = 1; seg_select = 0; SEGPORT = weima[i]; bit_select = 1; bit_select = 0; i++; if(8 == i){i = 0; } }void time0_init(void){ EA = 1; TMOD |= 0x01; TH0 = (65536 - 2000) / 256; TL0 = (65536 - 2000) % 256; ET0 = 1; TR0 = 1; }void time0_isr() interrupt 1{static unsigned char i = 0; TH0 = (65536 - 200) / 256; TL0 = (65536 - 200) % 256; i++; if(flag){if(50 == i){i = 0;miao++;if(60 == miao){ miao = 0;fen++;if(60 == fen){fen = 0;shi++;if(24 == shi){shi = 0;}}}}}TempData[0] = duanma[shi / 10];TempData[1] = duanma[shi % 10];TempData[2] = 0x40;TempData[3] = duanma[fen / 10];TempData[4] = duanma[fen % 10];TempData[5] = 0x40;TempData[6] = duanma[miao / 10];TempData[7] = duanma[miao % 10];}void time1_init(void){ EA = 1; TMOD |= 0x10; TH1 = (65536 - 2000) / 256; TL1 = (65536 - 2000) % 256; ET1 = 1; TR1 = 1; }void time1_isr() interrupt 3 { TH1 = (65536 - 2000) / 256; TL1 = (65536 - 2000) % 256; display();} void main(){ time1_init();time0_init(); while(1){ if(0 == start){ while(!start); //È¥¶¶¶¯delay_ms(10);while(!start);if(0 == flag){flag = 1;}else{flag = 0;}}if(0 == end){while(!end); //È¥¶¶¶¯delay_ms(10);while(!end);shi = 0;fen = 0;miao = 0;}}}/*****delay.c***********/void delay_us(unsigned char t){while(--t);}void delay_ms(unsigned char t){while(t--){delay_us(245);delay_us(245);}}void delay_s(unsigned char t){ while(t--){ delay_ms(200);delay_ms(200); delay_ms(200);delay_ms(200); delay_ms(200);}}/****delay.h*******/#ifndef _DELAY_H_#define _DELAY_H_extern void delay_us(unsigned char t);extern void delay_ms(unsigned char t);extern void delay_s(unsigned char t);#endif
0 0
- 单片机码表的驱动程序
- 51单片机的DS1302的驱动程序
- 基于STM8单片机的M25P16读写驱动程序
- 单片机之矩阵键盘的驱动程序
- 51单片机之LCD1602的驱动程序
- 51单片机串口通信的驱动程序
- 51单片机之IIC&EEPROM的驱动程序
- 单片机系统中PS/2键盘驱动程序的设计
- STC51单片机 WIN10系统安装CH340驱动程序失败的解决方法
- 51单片机RTL8019AS网卡驱动程序
- 51单片机RTL8019AS网卡驱动程序
- 51单片机I2C总线驱动程序
- 第十八节:把74HC595驱动程序翻译成类似单片机IO口直接驱动的方式
- AT24C02,04,08... 系列MC51单片机驱动程序
- AVR单片机(ATmega16L)DS18B20温度传感器驱动程序
- 51单片机(STC89C52)DS18B20温度传感器驱动程序
- PIC单片机(PIC16F877A)DS18B20温度传感器驱动程序
- 51单片机DS1302实时时钟驱动程序
- C语言学习笔记 lesson9 scanf 详解
- maven 加入本地仓库
- 蒙特卡罗算法 与 拉斯维加斯算法
- xmapp_mysql端口冲突解决---Port 3306 in use by......
- android studio中写中文注释时,输入法不跟随光标问题
- 单片机码表的驱动程序
- 第四周 项目5-多项式求和
- Modbus协议分类
- vb中函数的调用与参数的传递
- 追着嘟嘟学c#系列基础第十篇-----c#字符串【蓝鸥出品】
- 【summary】mat 【万恶溢出!!】
- 一个OpenCL例子
- Informatica常用组件使用方法
- Android中的一些命令