资源简介
七段数码管时钟显示的verilog源代码,已做过FPGA验证。
代码片段和文件信息
#include
#include “system.h“
#include “io.h“
#include “sys/alt_irq.h“
#include “alt_types.h“
#include “altera_avalon_timer_regs.h“
#include “altera_avalon_pio_regs.h“
volatile int TIME_COUNTER = 0;
volatile int TIME_FLAG = 0;
volatile int SEC_L = 0;
volatile int SEC_H = 0;
volatile int MIN_L = 0;
volatile int MIN_H = 0;
//时间计数
void timer_tick(void)
{
if(!TIME_FLAG){
SEC_L++;
if(SEC_L > 9){
SEC_L = 0;
SEC_H++;
}
if(SEC_H == 6){
SEC_H = 0;
SEC_L = 0;
MIN_L++;
}
if(MIN_L > 9){
MIN_L = 0;
MIN_H++;
}
if(MIN_H == 6){
MIN_H = 0;
MIN_L = 0;
}
}
else{
}
}
//将时间显示在七段数码管上
void timer_disp(void)
{
int time = MIN_H * 16 * 16 * 16 + MIN_L * 16 * 16 +SEC_H * 16 + SEC_L;
IOWR_32DIRECT(SEG7_0_base0time);
}
//timer中断服务
static void timer_ISR(void* base_Address alt_u32 Interrupt_Level)
{
//清除中断标志位
IOWR_ALTERA_AVALON_TIMER_STATUS((alt_u32)base_Address 0);
//累计定时器中断发生次数
TIME_COUNTER++;
if(TIME_COUNTER == 10){
TIME_FLAG = IORD_8DIRECT(SWITCH_PIO_0_base0);
TIME_COUNTER = 0;
//显示时间状态
timer_tick();
timer_disp();
}
}
//timer初始化
void timer_init()
{
//设置定时器为自由运行模式
IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_0_base
ALTERA_AVALON_TIMER_CONTROL_ITO_MSK |
ALTERA_AVALON_TIMER_CONTROL_CONT_MSK |
ALTERA_AVALON_TIMER_CONTROL_START_MSK);
//开始中断注册操作
alt_irq_register(TIMER_0_IRQ (void *)TIMER_0_base timer_ISR);
}
void alter_sec(void)
{
SEC_L++;
if(SEC_L > 9){
SEC_L = 0;
SEC_H++;
if(SEC_H > 5){
SEC_L = 0;
SEC_H = 0;
}
}
}
void alter_min(void)
{
MIN_L++;
if(MIN_L > 9){
MIN_L = 0;
MIN_H++;
if(MIN_H > 5){
MIN_L = 0;
MIN_H = 0;
}
}
}
void alter_min_h(void)
{
MIN_H++;
if(MIN_H > 5){
MIN_H = 0;
}
}
//按键中断服务
void button_ISR(void* context alt_u32 id)
{
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_0_base 0);
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_0_base 0xff);
if(TIME_FLAG){
int button_value = IORD_ALTERA_AVALON_PIO_DATA(BUTTON_PIO_0_base);
if((button_value & 0x01) == 0){
alter_sec();
}
if((button_value & 0x02) == 0){
alter_min();
}
}
}
//按键初始化
void button_init()
{
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(BUTTON_PIO_0_base 0xff);
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_0_base 0x0);
alt_irq_register(BUTTON_PIO_0_IRQ NULL button_ISR);
}
int main(void)
{
button_init();
timer_init();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2008-09-15 14:19 SEG7_Timer\.me
文件 747 2008-09-15 14:22 SEG7_Timer\.me
文件 671 2008-09-15 15:23 SEG7_Timer\.me
文件 172 2008-09-15 19:14 SEG7_Timer\.me
文件 16384 2008-09-15 15:23 SEG7_Timer\.me
文件 16384 2008-09-15 15:23 SEG7_Timer\.me
文件 137 2008-09-15 19:14 SEG7_Timer\.me
文件 239 2008-09-15 14:20 SEG7_Timer\.me
文件 3080 2008-09-10 10:16 SEG7_Timer\.me
文件 0 2008-09-15 14:24 SEG7_Timer\.me
文件 119 2008-09-15 14:20 SEG7_Timer\.me
文件 236 2008-09-15 14:20 SEG7_Timer\.me
文件 0 2008-09-15 14:22 SEG7_Timer\.me
文件 179 2008-09-15 14:20 SEG7_Timer\.me
文件 0 2008-09-15 14:24 SEG7_Timer\.me
文件 120 2008-09-15 14:20 SEG7_Timer\.me
文件 177 2008-09-15 14:20 SEG7_Timer\.me
文件 92 2008-09-15 14:27 SEG7_Timer\.me
文件 133 2008-09-15 14:22 SEG7_Timer\.me
文件 47 2008-09-15 15:23 SEG7_Timer\.me
文件 154 2008-09-15 14:20 SEG7_Timer\.me
文件 207 2008-09-15 19:14 SEG7_Timer\.me
文件 48 2008-09-15 14:24 SEG7_Timer\.me
文件 133 2008-09-15 14:20 SEG7_Timer\.me
文件 160 2008-09-15 14:20 SEG7_Timer\.me
文件 1 2008-09-15 19:14 SEG7_Timer\.me
文件 104 2008-09-15 19:14 SEG7_Timer\.me
文件 1 2008-09-15 19:14 SEG7_Timer\.me
文件 264385 2008-09-15 19:14 SEG7_Timer\.me
文件 506 2008-09-15 19:14 SEG7_Timer\.me
............此处省略593个文件信息
相关资源
- 已分类的数码管数据集
- 基于51单片机的水箱、水塔水位检测系
- Altium designer 集成库 stc89c51 SG3525 数码
- 抢答器主要涉及按键防抖和6位数码管
- stm32-DS18B20 数码管显示
- FPGA数字频率计数码管显示
- 51单片机通过DS1302进行时钟显示,并在
- 黑金科技的FPGA 控制DS18B20并用数码管
- FPGA控制超声波测距及数码管显示
- 带温度显示的万年历_数码管显示(
- 六位数码管循环滚动显示九位学号
- STM32f103ADC USART FLASH 八段数码管驱动
- 基于51单片机的数码管显示时钟电路图
- 基于单片机汇编的带时钟显示的计算
- DS1302 数码管显示 带闹钟可调
- FPGA程序:VHDL超声波测距+数码管+不同
- STM32F103C8T6定时器秒表TM1650显示.rar
- 键盘扫描与数码管及点阵显示设计课
- STM32开发板上实现实时的时钟显示
- 四位数码管STM32计时程序
- 基于CPLD的生日贺卡实现点阵,液晶,
- 接口课程设计 数码管日历表
- LED数码管数据集
- 数码管数别字识--KNN算法
- 数码管数字识别--穿线法
- 2019 LedEdit-K_v4.7.rar
- 基于穿线法的数码管识别
- 用数码管与DS18B20设计温度报警器PRO
- C8051F020例程 包含九个小程序
- 四位数字频率计数码管显示.zip
评论
共有 条评论