LCD1602数字钟

2011-11-27 流水灯程序仿真 http://forum.eepw.com.cn/thread/204650/1
2011-11-27 汇编程序——流水灯程序仿真 http://forum.eepw.com.cn/thread/204654/1
2011-11-28 定时器程序仿真 http://forum.eepw.com.cn/thread/204717/1
2011-11-29 收到板子 http://forum.eepw.com.cn/thread/204768/1
2011-11-30 买全元件 http://forum.eepw.com.cn/thread/204769/1
2011-11-30 开始焊接
2011-12-01 焊接完毕
2011-12-02 开始调试
2011-12-03 led发光管流水灯及闪烁 http://forum.eepw.com.cn/thread/204798/1
2011-12-04 定时器应用
2011-12-07 数码管滚动显示的程序 http://forum.eepw.com.cn/thread/205739/1
2011-12-09 数字钟调试完毕 http://forum.eepw.com.cn/thread/205791/1
2011-12-10 LCD1602液晶显示
2011-12-17 考六级
2011-12-18 点阵显示
2011-12-28 LCD1602数字钟
关键词: LCD1602 数字






2011-12-03 led发光管流水灯及闪烁
发光二极管左右流动程序
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char //宏定义
#define uint unsigned int //宏定义
sbit led1=P0^0; //位定义
/*//////////延时子程序\\\\\\\\\\\\\\\*/
void delay(uint del)
{
uint x,y;
for(x=del;x>0;x--)
for(y=119;y>0;y--)
;
}
/******************主程序****************/
void main()
{
unsigned char LED;
LED = 0xfe; // 1111 1110,P0.1=0被点亮
P0 = LED;
while(1)
{
P0 = LED;
delay(1000);
P0=0xff;
delay(500);
LED = _crol_(LED,1); //循环右移1位,点亮下一个LED
if(LED==0x7f) // 0111 1111,P0.7=0被点亮
{
P0=0x00;
delay(300); //全亮
P0=0xff;
delay(250); //全灭
P0=0x00;
delay(250); //全亮
P0=0xff;
delay(250); //全灭
P0=0x7f;
delay(600); //7f
while(P0!=0xfe)
{
delay(1000);
P0=P0<<7|P0>>1;//循环左移 bf df ef f7 fb fd fe
delay(600);
}
P0=0x00;
delay(600); //全亮
}
}
}
发光二极管左右流动图片

数码管滚动显示
数码管滚动显示字符--PASS-ALL---
程序:
#include<reg52.h>
#include<intrins.h>
#include<stdio.h>
unsigned char shift,j=0;
//unsigned char code table[]={0xbf,0xbf,0xbf,0xbf,0x8c,0x88,0x92,0x92,0xbf,0x88,0xc7,0xc7,0xbf,0xbf,0xbf,0xbf}; // --PASS-ALL--
unsigned char code table[]={0x40,0x40,0x40,0x40,0x73,0x77,0x6d,0x6d,0x40,0x77,0x38,0x38,0x40,0x40,0x40,0x40}; // --PASS-ALL--
//unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(unsigned int del)
{
unsigned int x,y;
for(x=del;x>0;x--)
for(y=119;y>0;y--)
;
}
void display(void);
void main()
{
char k;
P0=0xFF;
P2=0xFF;
while(1)
{
for(j=0;j<9;j++)
{
for(k=0;k<125;k++)
display();
}
delay(1000);
P0=0xFF;
P2=0xFF;
}
}
void display(void)
{
char i;
//shift=0xfe;
shift=7;
for(i=7; i>=0; i--)
{
P0=table[i+j];
P2=shift;
//shift=(shift<<1)|0x01;
if(shift>0) shift--;
else shift=7;
delay(1);
}
P2=0xff ;
}

2011-12-04 定时器应用
使用定时器0,使P1.5口接的发光二级管每秒钟闪烁一次
#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char
sbit led1=P1^5 ;
uchar num;
void main()
{
TMOD=0X00;
TH0=(8192-5000)/32;
TL0=(8192-5000)%32;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(num==200)
{
num=0;
led1=~led1;
}
}
}
void T0_time() interrupt 1
{
TH0=(8192-5000)/32;
TL0=(8192-5000)%32;
num++;
}

回复
打赏帖 | |
---|---|
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
rtthread硬件加密-5hash加密分析被打赏10分 | |
【STM32F769】SD卡驱动及其调试经验分享被打赏32分 | |
【分享开发笔记,赚取电动螺丝刀】使用看门狗降低系统隐藏bug触发概率被打赏18分 | |
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】MCUXpressoConfigTools配置外设时的异常解决被打赏24分 |