#include
0x92,0x82,0xf8,0x80,0x90,0xff};
uchar i,temp;
while(1)
TempData1[1] = led_discode[num];
TempData1[0] = led_discode[num/10];
TempData2[1] = led_discode[fen];
TempData2[0] = led_discode[fen/10];
TempData3[1] = led_discode[shi];
TempData3[0] = led_discode[shi/10];
TCNT1H = 0xE1;
TCNT1L = 0x7C;
TCCR1A = 0x00;
TCCR1B = 0x05;
TIMSK = 0x04;
TCNT1L = 0x7C;
num++;
num=0;
fen=0;
shi=0;
unsigned char i;
PORTA=WeiMa[i+FirstBit];
PORTC=TempData1[i];
unsigned char i;
PORTA=WeiMa[i+FirstBit];
PORTC=TempData2[i];
unsigned char i;
PORTA=WeiMa[i+FirstBit];
PORTC=TempData3[i];
unsigned char i;
PORTA=WeiMa[i+FirstBit];
PORTC=0XBF;
uint i,j;
for( i=0;i
for(j=0;j<1141;j++);
关键字:AVR128 数码管 时钟显示
引用地址:AVR128的程序——数码管时钟显示
#include
#define uchar unsigned char
#define uint unsigned int
void timer1_init(void);
void display1(uchar FirstBit,uchar Num);
void display2(uchar FirstBit,uchar Num);
void display3(uchar FirstBit,uchar Num);
void display4(uchar FirstBit,uchar Num);
void Delayms(uint MS);
uchar TempData1[8];
uchar TempData2[8];
uchar TempData3[8];
uchar WeiMa[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar led_discode[11]={0xc0,0xf9,0xa4,0xb0,0x99,
uchar temp=0x01;
uint num=0,fen=19,shi=20;
void main(void)
{
DDRA=0XFF;
PORTA=0XFF;
DDRC=0XFF;
PORTC=0XFF;
DDRF|=0X0E;
PORTF|=0X0E;
PORTF&=0xF7;
DDRB |=0X10;
PORTB|=0X10;
timer1_init();
SEI();
{
display1(6,2);
display2(3,2);
display3(0,2);
display4(2,1);
display4(5,1);
}
}
void timer1_init(void)
{
}
#pragma interrupt_handler timer1_ovf_isr:15
void timer1_ovf_isr(void)
{
TCNT1H = 0xE1;
if(num==60)
{
fen++;
if(fen==60)
{
shi++;
if(shi==24)
{
}
}
}
}
void display1(uchar FirstBit,uchar Num)
{
for(i=0;i
{
PORTC=led_discode[10];
Delayms(2);
}
}
void display2(uchar FirstBit,uchar Num)
{
for(i=0;i
{
PORTC=led_discode[10];
Delayms(2);
}
}
void display3(uchar FirstBit,uchar Num)
{
for(i=0;i
{
PORTC=led_discode[10];
Delayms(2);
}
}
void display4(uchar FirstBit,uchar Num)
{
for(i=0;i
{
PORTC=led_discode[10];
Delayms(2);
}
}
void Delayms(uint MS)
{
}
上一篇:AVR128的程序——数码管0~7顺序闪烁
下一篇:AVR128的程序——外部中断
推荐阅读最新更新时间:2024-03-16 14:46
STM32+LCD12864汉字显示与定位 时钟,闹钟Proteus仿真程序
师傅所教知识制作了一个LCD12864的屏幕显示,字模自己软件下载的,俺们新手,写的粗糙 期末项目为时钟的显示和设定,内含闹钟 PU原理图 按键:PA0:暂停时钟 在暂停时钟后再按一次PA0则开始选择改变分钟(反白),继续按下PA0开始设置时钟的改变(反白) PA1与PA2连用检测按键:数字的增加 PB0:数据的减少 PB1与PB2连用检测按键:确认改变 仿真原理图如下 另外,我现在另添加的闹钟的设置,可在运行程序后设置闹钟,闹钟的设定没上传,原理类似 缺点: 1. 日期判定没有做完,只是进行了简单的判断,没有大月小月的判断,闰年这类的 2. 时钟的修改的增加判断23的时候没用反白和清屏 修改
[单片机]
用定时器中断设计时钟,用1602液晶显示
本时钟有些功能还未完全实现,仅实现一部分功能,年月日星期功能还未实现 还可以加上整点报时和断电记忆的功能 #include reg52.h #define uchar unsigned char sbit rd=P2^6; sbit wr=P2^5; sbit lcde=P2^7; sbit k1=P1^0; sbit k2=P1^1; sbit k4=P1^3; sbit k8=P1^7; uchar code table1 = 2011-10-01 SAT ; uchar code table2 = 00:00:00 ; uchar t,s1num; char shi,fen,miao; voi
[单片机]
51单片机学习记录——数码管动态显示
正在学习51的数码管以及中断,打算利用六位数码管实现一个时钟的功能。 但使用数码管输出时,如果不添加延时语句,那么一直有显示混乱的现象,有时完全无法分辨清楚数字。 如果在传送完数据以后延时1ms,显示混乱情况会好转。 同时发现延时的时间越长,显示效果越好。但是当然,相应的显示稳定程度也会下降,即数码管闪烁。 程序中在送完段选数据以后已经使用了参考书中的 消影 语句: 1 dula=1; 2 P0=table ; 3 dula=0; 4 P0=0xff;// 消影 可是这个语句只是在有延时的情况下才有效果,如果我不写延时语句,那么显示依旧混乱。 虽然在显示过程延时不会影响中断的计时,但是我总不想依赖for语句写出来的延
[单片机]
AVR PCF8591 AD&DA数码管显示
#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int /******************************************* TWSR中数据的各种状态,#include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int /******************************************* TWSR中数据的各种状态,参照mega 16手册172页 ***
[单片机]
【自学51单片机】5 --- 定时器、数码管、逻辑运算、
定时器介绍、数码管静态显示、逻辑运算符和逻辑电路符号 1、逻辑运算和逻辑电路 引入逻辑概念:在生活中,逻辑存在 ‘真’ 和 ‘假’ 两个逻辑值,而逻辑对应到C语言和数字电路中, ‘真’ 对应C语言或数字电路中的一切 ‘非0值’,而 ’假‘ 对应为 ’0值‘。 1.1 C语言逻辑运算符 假定两个字节变量A和B,两者进行某种逻辑运算后结果为F。 以下为逻辑运算符(按变量整体值进行运算) && 逻辑与:F = A && B,当 A、B 的值都为真(即非 0 值,下同)时,其运算结果 F 为真(具体数值为 1,下同);当 A、B 值任意一个为假(即 0,下同)时,结果 F 为假(具体数值为 0,下同)。 || 逻辑或:F
[单片机]
51单片机实现带数码管显示的加法简易计算器
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: LED-74HC595 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200701 ---- @ModifiedTime: 20200701
[单片机]
PIC18F458控制数码管显示1~8数字程序
本程序是基于PIC18F458控制LED数码管显示1~8数字的C语言程序,笔者也是刚刚学习PIC单片机,也是和大家一起学习交流吧!不多说了,先贴程序: #include p18f458.h static volatile int table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};//段码 volatile unsigned char data; /*初始化子程序*/ void initial() { TRISA=0x00; /*A口设置为输出*/ TRISC=0
[单片机]
单片机在电动机保护中的应用
单片机即单片微型计算机的简称,它是将CPU、ROM、RAM、TIMER/COUNTER以及输入/输出接口(I/O)等集成在一块超大规模集成电路芯片上而制成的,有些单片机还集成了模数转换器(ADC)、脉宽调制模块(PWM)、通讯接口等,使用者只需用少量的外围电路就可组成各种应用系统。单片机可分为8位机和16位机,其中8位机在市场中占主导地位。生产单片机的半导体厂家很多,包括:INTEL、PHILIPS、SIEMENS、ADM、ATAIEL、MICROCHIP等。近年来,MICROCHIP公司生产的单片机以其简约的指令系统、纳秒级的指令周期、强大的外围接口功能深受电子工程师们的青睐,笔者曾使用过PIC16CXXX和PIC16FXX
[单片机]
小广播
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
11月25日历史上的今天
厂商技术中心