资源简介
电子表Verilog编程
多功能电子表共有5种功能:功能1为数字钟;功能2为数字跑表;功能3为调时;功能4为闹钟设置;功能5为日期设置。除调时功能以外,电子表处于其他功能状态下时并不影响数字钟的运行。使用数字钟功能时,还可以通过按键快速查看当前的闹钟设置时间和当前日期。该电子表利用EDA实验平台的扬声器整点报时和定时报时,设置3个按键分别作为功能键和调整键。
代码片段和文件信息
#include
#include “system.h“
#include “altera_avalon_pio_regs.h“
#include “alt_types.h“
#include “sys/alt_timestamp.h“
void initial(void);
//void time_test(void);
void delay_ms(unsigned int num);
void delay_us(unsigned long int num);
void wr_data(alt_u8 data);
void wr_comand(unsigned int comand);
int main()
{
alt_u8 hour=0xf0minute=0xffsecond=0xffmode=0xff;
// time_test();
initial();
while(1)
{
hour=IORD_ALTERA_AVALON_PIO_DATA(PIO_2_base); //读数据
minute=IORD_ALTERA_AVALON_PIO_DATA(PIO_3_base);
second=IORD_ALTERA_AVALON_PIO_DATA(PIO_4_base);
mode=IORD_ALTERA_AVALON_PIO_DATA(PIO_5_base);
wr_comand(0x80); //第一行
wr_data(0xa0);
wr_data(0xb0);
wr_data(0xc0);
wr_data(0xd0);
wr_data(0xe0);
mode=mode<<4;
wr_data(mode);
wr_comand(0xc8); //第二行
wr_data(hour);
hour=hour<<4;
wr_data(hour);
wr_data(0xe0);
wr_data(minute);
minute=minute<<4;
wr_data(minute);
wr_data(0xe0);
wr_data(second);
second=second<<4;
wr_data(second);
}
}
/*void time_test(void)
{
unsigned long int time1;
unsigned long int time2;
unsigned long int freq;
if(alt_timestamp_start()<0)
{
printf(“register failure!“);
}
else
{
time1=alt_timestamp();
delay_us(40);
time2=alt_timestamp();
freq=alt_timestamp_freq();
printf(“time1=%ldtime2=%ld\n“time1time2);
printf(“该延迟函数运行所花费的时间是:%f“(double)(time2-time1)/freq);
}
}*/
void initial(void) //控制器初始化
{
IOWR_ALTERA_AVALON_PIO_DATA(PIO_1_base0x18); //18
delay_ms(20);
wr_comand(0x30);
delay_us(120);
wr_comand(0x30);
wr_comand(0x30);
wr_comand(0x38); //功能设置:2X16
wr_comand(0x0c); //关显示
wr_comand(0x01); //清屏
delay_ms(2);
wr_comand(0x06); //设定输入方式,AC自动减一,画面不动
}
void delay_ms(unsigned int num) //ms延时
{
unsigned int i;
unsigned long int j;
for(i=0;i {
for(j=0;j<7135;j++)
{
;
}
}
}
void delay_us(unsigned long int num) //us延时
{
unsigned long int i;
unsigned int j;
for(i=0;i {
for(j=0;j<6;j++)
{
;
}
}
}
void wr_comand(unsigned int comand) //写指令
{
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_basecomand);
IOWR_ALTERA_AVALON_PIO_DATA(PIO_1_base0x18); //18
delay_us(1);
IOWR_ALTERA_AVALON_PIO_DATA(PIO_1_base0x1c); //1c
delay_us(1);
IOWR_ALTERA_AVALON_PIO_DATA(PIO_1_base0x18);
delay_us(50);
}
void wr_data(alt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1263 2012-04-02 16:51 MyTimer\MyTimer.qpf
文件 3738 2012-04-05 09:02 MyTimer\MyTimer.qsf
文件 1591 2012-04-03 20:46 MyTimer\db\mux_0kb.tdf
文件 137 2012-04-02 16:51 MyTimer\db\MyTimer.db_info
文件 580994 2012-04-05 09:34 MyTimer\db\MyTimer.cmp.cdb
文件 174 2012-04-05 09:33 MyTimer\db\MyTimer.tis_db_list.ddb
文件 1479 2012-04-03 20:19 MyTimer\db\MyTimer.(0).cnf.cdb
文件 753 2012-04-03 20:19 MyTimer\db\MyTimer.(0).cnf.hdb
文件 38766 2012-04-05 09:31 MyTimer\db\MyTimer.rtlv_sg_swap.cdb
文件 46 2012-04-05 09:33 MyTimer\db\MyTimer.cmp.ecobp
文件 2194 2012-04-05 09:34 MyTimer\db\MyTimer.asm.qmsg
文件 63987 2012-04-05 09:33 MyTimer\db\MyTimer.fit.qmsg
文件 199697 2012-04-05 09:34 MyTimer\db\MyTimer.tan.qmsg
文件 187638 2012-04-05 09:31 MyTimer\db\prev_cmp_MyTimer.map.qmsg
文件 966 2012-04-05 09:32 MyTimer\db\MyTimer.cbx.xm
文件 63987 2012-04-05 09:31 MyTimer\db\prev_cmp_MyTimer.fit.qmsg
文件 2194 2012-04-05 09:31 MyTimer\db\prev_cmp_MyTimer.asm.qmsg
文件 8943 2012-04-05 09:31 MyTimer\db\MyTimer.lpc.txt
文件 202843 2012-04-05 09:31 MyTimer\db\prev_cmp_MyTimer.tan.qmsg
文件 11383 2012-04-05 09:31 MyTimer\db\MyTimer.lpc.html
文件 456894 2012-04-05 09:31 MyTimer\db\prev_cmp_MyTimer.qmsg
文件 187638 2012-04-05 09:32 MyTimer\db\MyTimer.map.qmsg
文件 4 2012-04-05 09:33 MyTimer\db\MyTimer.cmp.logdb
文件 20280 2012-04-03 20:46 MyTimer\db\MyTimer.(2).cnf.cdb
文件 9123 2012-04-03 20:46 MyTimer\db\MyTimer.(2).cnf.hdb
文件 436 2012-04-05 09:31 MyTimer\db\MyTimer.smp_dump.txt
文件 26596 2012-04-05 09:31 MyTimer\db\MyTimer.(1).cnf.cdb
文件 15646 2012-04-04 17:55 MyTimer\db\MyTimer.(43).cnf.cdb
文件 3716 2012-04-05 09:31 MyTimer\db\MyTimer.(1).cnf.hdb
文件 1025 2012-04-05 09:31 MyTimer\db\MyTimer.lpc.rdb
............此处省略472个文件信息
相关资源
- verilog hdl synthesis a practical primer.pdf 中
- EDAverilog课程设计报告
- EDA四人抢答器Verilog编程
- Design Compiler入门教程
- LDPC的Verilog程序源代码
- 浮点运算器 Verilog
- 基于MIPS指令集的32位CPU设计与Verilog语
- sd卡读写verilog
- NCO程序Verilog
- Quartus和Modelsim中仿真ROM所需文件和
- VERILOG 制作的FIR滤波器
- LDPC码verilog HDL 实现
- verilog编写的数字时钟、万年历、闹钟
- 基于FPGA的FM调制与解调,FM工程文件和
- 基于verilog HDL的四位密码锁程序
- FPGA数字万年历verilog
- Verilog IIC读MPU6050-融合滤波-单轴-代码
- EDA技术与Verilog HDL
- Cadence® NC-Verilog® Simulator Help
- IrDA_uart 包括testbench
- verilog最终snake.rar
- 七段数码管时钟显示的硬件实现veri
- 天津大学计算机科学与技术学院数字
- SystemVerilog与功能验证
- SystemVerilog for Verification(最新版)
- 基于MIPS指令集的32位CPU设计与Verilog语
- 基于FPGA的EEPROM读写系统
- 基于verilog的数字时钟设计
- dac8830的驱动程序,乒乓缓存
- 王金明:《Verilog HDL程序设计教程》及
评论
共有 条评论