单片机==数码管用delay函数显示时钟(5)
来源:互联网 发布:看电影视频软件 编辑:程序博客网 时间:2024/05/20 20:03
目的
在数码管上显示时钟
包含的文件
//seg.c#include <reg52.h>#include <intrins.h>#include "delay.h"#define SEGPORT P0sbit bit_select = P2^0;sbit seg_select = P2^1;unsigned char bitdata[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char segdata[8] = {0x3f,0x3f,0x40,0x3f,0x3f,0x40,0x3f,0x3f};unsigned char changedata[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void main(){ unsigned char i; unsigned char j; unsigned char sec = 0; unsigned char min = 0; unsigned char hour = 0; while(1) { for(i = 0; i < 63; i++) { for(j = 0; j < 8; j++) { SEGPORT = 0x0; seg_select = 1; seg_select = 0; SEGPORT = 0xff; bit_select = 1; bit_select = 0; SEGPORT = segdata[j]; seg_select = 1; seg_select = 0; SEGPORT = bitdata[j]; bit_select = 1; bit_select = 0; delay_ms(2); } } sec++; if(sec < 60) { segdata[7] = changedata[sec % 10]; segdata[6] = changedata[sec / 10]; } else { segdata[7] = 0x3f; segdata[6] = 0x3f; sec = 0; min++; } if(min < 60) { segdata[4] = changedata[min % 10]; segdata[3] = changedata[min / 10]; } else { segdata[4] = 0x3f; segdata[3] = 0x3f; min = 0; hour++; } if(hour < 24) { segdata[1] = changedata[hour % 10]; segdata[0] = changedata[hour / 10]; } else { segdata[1] = 0x3f; segdata[0] = 0x3f; hour = 0; } }}
//delay.cvoid 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_Hextern void delay_us(unsigned char t);extern void delay_ms(unsigned char t);extern void delay_s(unsigned char t);#endif
0 0
- 单片机==数码管用delay函数显示时钟(5)
- 单片机==lcd_显示时钟(21)
- 单片机==时钟定时器(6)
- 单片机数码管时钟显示
- 单片机显示时钟
- MSP430F413单片机实现时钟显示
- 数码时钟
- 数码时钟
- 数码时钟
- 数码时钟
- 数码时钟
- 数码时钟
- 数码时钟
- 数码时钟
- 用手机修改单片机时钟(1602显示)
- 单片机时钟程序(5)ds1302.h
- 单片机时钟程序(5)ds1302.h
- 数码可调时钟(加闹钟)
- 第三周项目1 - 顺序表的基本运算
- Oracle知识点(2)简单查询 模糊查询 范围查询
- linux操作系统服务器远程安装matlab
- GeoHash核心原理解析
- 【神经网络与深度学习】【Matlab开发】caffe-windows使能Matlab2015b接口
- 单片机==数码管用delay函数显示时钟(5)
- Centos7安装redis
- Android launcher2 刷新/更新应用列表界面
- 人脸识别算法-特征脸方法(Eigenface)及python实现
- 一维数组的选择排序,冒泡排序,以及插入排序。
- php上传二进制数据流
- Day 15: Linked List
- 重载,覆盖,多态
- 自定义OutputFormat--Hadoop