毕业论文基于FPGA的数字钟(设计一个基于FPGA的数字时钟)
1.设计一个基于FPGA的数字时钟
秒计数器计数59后,分计数器+1,同时秒归0
以此类推。
当分计数器到59的时候,时计数器+1,同时分归0
以此类推。
当时计数器=23,分计数器=59,秒计数器=59时,全部复位为0
另外整点报时功能,需要加入一个信号ring signal(这个信号时接给蜂鸣器的),也就是当分计数器=59,秒计数器=59时。给出一个
ring signal=1,这个ring signal=1的信号要持续多久,就看你自己设计经过几个时钟周期,让其停止。
而音调的高低:可以给蜂鸣器送不同的电压来确定。
响几声的话:你可以设计成比如说,一个时钟周期,就是相当于你的2HZ的2秒钟
首先 ring signal =1 ,然后下一个时钟周期ring sianl=0,
再等于1,再等于0,
再等于1,再等于0,
再等于1,再等于0,
这样四声低的就完成了,然后下一声高的,你就可以用另外一个信号ring siangl2
持续一个时钟周期。ring signal2=1,再复位为0
注意ring signal 和ring signal2的信号电压要给的不同,保证音调高低
另外重要的是还需要一个模块来驱动数码管。就相当于说是告诉数码管在它显示1,2,3,4,5,6,7,8,9,0的时候,它的七段 灯是怎么样亮的。
而且数码管还分共阴共阳极。可以根据其情况来给它不同的使能信号。
至于你说的原理图,我想应该是代码综合出来的RTL级示意图吧。因为既然是试验箱就是不需要你自己设计硬件的。那RTL级的图的话,如果就我上面说的这些你还是没明白的话,可以再问我。我再抽时间给你画个图。 或者最好由代码来生成.
另外在上实验箱实现的时候,你可以参照实验箱的使用手册,来定义输出的管脚.注意管脚文件可以在你的编译软件里设置.关键看你用哪家公司的FPGA了.Xilinx的ISE,Altera的QUARTUS ii 。或者可以另外写UCF文件跟你的代码一起编译,管脚设定便自动生成了。
如果有问题你可以继续补充问题。乐意为你解答。
或者留下你的联系方式,我可以后续support 你。
楼上的兄弟,你有设计那是你的设计.你的设计是完全按照楼主的意思来量身订制的么?
你这种设计文档,网上一搜一大堆.有用么?
楼主是用实验箱来做的,试问你带的原理图是什么东西啊?schematic?layout?
只有让楼主知道设计原理是怎么样的,才能让他理解并做好自己的设计.懂?
2.基于fpga数字时钟设计的主程序
如果你有兴趣,我把细节都给你module top( input clk, input rst, output CE, output SCLK, inout IO, output CS, output AO, output SCL, output SDI ); reg read_ds1302_start; wire read_ds1302_done; wire[23:0] read_ds1302_time; read_ds1302_time U1 (clk,rst,read_ds1302_start,read_ds1302_done,read_ds1302_time,CE,SCLK,IO); reg write_lcd_start; wire write_lcd_done; write_lcd_time U2 (clk,rst,CS,AO,SCL,SDI,write_lcd_start,write_lcd_done,read_ds1302_time); parameter T100ms = 21'd2_000_000; reg[20:0] count; always@(posedge clk,negedge rst) if(!rst) count <= 0; else if(count < T100ms) count <= count + 21'd1; else count <= 0;reg[1:0] i; reg[3:0] temp; always@(posedge clk,negedge rst) if(!rst) begin read_ds1302_start <= 0; write_lcd_start <= 0; i <= 0; end else case(i) 2'd0: if(count == T100ms) begin read_ds1302_start <= 1; i <= i + 2'd1; end 2'd1: begin read_ds1302_start <= 0; if(read_ds1302_done) if(read_ds1302_time[3:0] != temp) begin temp <= read_ds1302_time[3:0]; write_lcd_start <= 1; i <= i + 2'd1; end else i <= 0; end 2'd2: begin write_lcd_start <= 0; if(write_lcd_done) i <= 0; end endcase endmodule。
3.用cpld/fpga设计数字钟
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity count60 is port(jn,rd,clk:in std_logic; count1,count0:out std_logic_vector(3 downto 0); co:out std_logic); end count60; architecture count_arc of count60 is begin process(clk) variable cnt1,cnt0:std_logic_vector(3 downto 0); begin if clk'event and clk='1' then if jn='1' then if cnt1="0101" and cnt0="1000" then co 评论0 0 0。
51单片机数字时钟毕业论文(单片机数字时钟论文)
1.单片机数字时钟论文
数字时钟064
双击自动滚屏 文章来源:一流设计吧 发布者:16sheji8 发布时间:2008-07-07 10:49:38 阅读:1311次
一 摘要
单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是 集CPU ,RAM ,ROM ,
定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产
品和工业自动化上。而51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设
计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
二 说明
系统由AT89C51、LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定
时时间的设定,输出等功能。系统的功能选择由SB0、SB1、SB2、SB3、SB4 完成。其中SB0
为时间校对,定时器调整功能键,按SB 0 进入调整状态。SB1 为功能切换键。第一轮按动
SB1 依次进入一路、二路、三路定时时间设置提示程序,按SB3 进入各路定时调整状态。定
时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1 键,依次进入时间
¡ 年¡ 位校对、¡ 月¡ 位校对、¡ 日¡ 位校对、¡ 时¡ 位校对、¡ 分¡ 位校对、¡ 秒¡ 位
校对状态。不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。各
预置量设置完成后,系统将所有的设置存入RAM 中,按SB1 退出调整状态。上电后,系统自
动进入计时状态,起始于¡ 00¡ 时¡ 00¡ 分。SB4 为年月日显示转换键,可使原来显示时分
秒转换显示年月日。
三、电路原理分析
1. 显示原理
电原理图见附图1。由6 个共阴极的数码管组成时、分、秒的显示。P0 口的8 条数据线
P0.0 至P0.7 分别与两个CD4511 译码的ABCD 口相接,P2 口的 P2.0 至P2.2 分别通过电阻
R10 至R13 与VT1 至VT3 的基极相连接。这样通过P0 口送出一个存储单元的高位、低位BCD
显示代码,通过P2 口送出扫描选通代码轮流点亮LED1 至LED6,就会将要显示的数据在数
码管中显示出来。从P0 口输出的代码是BCD 码,从P2 口输出的就是位选码。这是扫描显示
原理。
2 键盘及读数原理
键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去
抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电
平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里
采用软件延时的方法来避开抖动,延时时间20ms.
3 连击功能的实现
按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应
的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms,当按键没释放则
[1] [2] 下一页
本文来自: 一流设计吧(puters in the infiltration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable, easy to use features, it is particularly suited to and control of the system, increasingly widely used in various fields. This article describes an electronic bell system is single-chip microcomputer (AT89C51) as the core, the clock chip DS1302, LED display driver chip components, such as MAX7219 component.Describes the application of Proteus's ISIS software of the electronic single-chip system clock to achieve the design and simulation methods in details.The method can not only test the property of the system precisely,but also improve development efficiency and reduce development cost,which values in popularity. Key words: AT89C51; DS1302; MAX7219; Proteus; electronics clock 目 录 第一章 绪论 ……………………………………………………………… 2 1.1 引言 …………………………………………………………………… 2 1.2 Proteus软件简介 …………………………………………………… 2 第二章 系统设计 …………………………………………………………. 3 2.1 电子钟系统器件选择 ………………………………………………………… 3 2.1.1 AT89C51单片机简介 …………………………………………… 3 2.1.2 实时时钟电路DS1302工作原理 ……………………………………6 2.1.3 MAX7219工作原理 ……………………………………………….8 2.2 电子钟系统设计流程 ……………………………………………… 11 第三章 硬件电路设计 …………………………………………………… 12 3.1 Protel DXP电路图设计 …………………………………………………12 3.2 Proteus 电路图设计 ………………………………………………… 13 第四章 软件设计 ……………………………………………………………14 4.1 程序流程图设计 ………………………………………………………………14 4.2源程序设计 …………………………………………………………………… 14 4.3 KeilC51进行程序调试 ……………………………………………………… 18 第五章 系统调试与仿真 ……………………………………………………19 5.1 Proteus中Hex文件选择 …………………………………………………… 19 5.2 Proteus 进行电子钟系统仿真 …………………………………… 20 结束语 ………………………………………………………………………… 22 参考文献 ………………………………………………………………………23。
6.求数字电子钟毕业论文设计
12. 基于单片机的电子钟设计(字数:7710,页数:24 ) 13. 基于单片机的数字电子钟设计(字数:10301,页数:42 价) 14. 基于Labview的虚拟数字钟设计(字数:17457,页数:32 ) 15. 电子日历钟(字数:10677,页数:33 ) 16. 数字钟的设计与制作(字数:4922,页数:23 ) 17. 单片机数字钟设计(字数:15355,页数:47 ) 18. 基于单片机的数字钟设计(字数:12541,页数:27 ) 19. 单片机定时闹钟设计(字数:8450,页数:24 ) 20. 万年历可编程电子钟控电铃(字数:14371.页数:41 价)可联&系>Q=Q:136。
后面输入。.775。
.接着输入12。
5Q%Q空>间里有所有内容。可$代,$写21. 数字定时闹钟设计(字数:7770,页数:28 ) 22. 基于EDA技术的数字电子钟设计(字数:12247,页数:32 ) 23. 多功能时钟打点系统设计(字数:8353,页数:31 ) 24. 智能音乐闹钟设计(字数:10002,页数:37 ) 25. 基于AT89S51单片机的数字电子钟设计(字数:14560,页数:39 )。
7.求 单片机多功能数字钟 毕业设计
89C51 LED电子钟 参考链接: /news/c8/2009-01/109.htm *APPLICATION NOTE E6000 ICEXPLORER *************** * Title: FOR colk_time * * Version: 00 * * Last Updated: * * MCU: AT89C91 * * FOR: WWW.PICAVR.COM * *************************************************** K1 BIT P3.2 K2 BIT P3.4 K3 BIT P3.3 K4 BIT P3.5 C_HOUR EQU 23H C_MINUTE EQU 24H C_SECOND EQU 25H ON_HOUR EQU 26H ON_MINUTE EQU 27H OFF_HOUR EQU 28H OFF_MINUTE EQU 29H ORG 0000H AJMP MAIN ORG 0003H AJMP WINT0 ORG 000BH AJMP WTO ORG 0030H MAIN: MOV SP,#50H CLR 00H MOV 21H,#0 MOV 22H,#0 MOV C_HOUR,#0 MOV C_MINUTE,#0 MOV C_SECOND,#0 MOV ON_HOUR,#0 MOV ON_MINUTE,#0 MOV OFF_HOUR,#0 MOV OFF_MINUTE,#0 MOV TH0,#05 MOV TL0,#05 MOV TMOD,#02H SETB EA SETB EX0 CLR ET0 CLR TR0 CLR IT0 M: MOV A,C_HOUR CJNE A,ON_HOUR,OFF_TIME MOV A,C_MINUTE CJNE A,ON_MINUTE,OFF_TIME SETB P3.7 AJMP NEXT OFF_TIME: MOV A,C_HOUR CJNE A,OFF_HOUR,NEXT MOV A,C_MINUTE CJNE A,OFF_MINUTE,NEXT CLR P3.7 NEXT: JNB 00H,M ACALL DISP1 AJMP M TAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H DISP1: MOV R0,C_HOUR MOV DPTR,#TAB MOV A,R0 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P1,A CLR P2.0 ACALL DL ;SEND DISPPLAY HOUR HIGHT BIT SETB P2.0 MOV A,R0 ANL A,#0FH MOVC A,@A+DPTR MOV P1,A CLR P2.1 ACALL DL SETB P2.1 ;SEND DISPPLAY HOUR LOW BIT MOV R1,C_MINUTE MOV A,R1 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P1,A CLR P2.2 ACALL DL SETB P2.2 ;SEND DISPPLAY MINUTE HIGHT BIT MOV A,R1 ANL A,#0FH MOVC A,@A+DPTR MOV P1,A CLR P2.3 ACALL DL SETB P2.3 ;SEND DISPLAY MINUTE LOW BIT MOV R2,C_SECOND MOV A,R2 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P1,A CLR P2.4 ACALL DL SETB P2.4 ;SEND DISPPLAY SECOND HIGHT BIT MOV A,R2 ANL A,#0FH MOVC A,@A+DPTR MOV P1,A CLR P2.5 ACALL DL SETB P2.5 ;SEND DISPPLAY SECOND LOW BIT RET ;**************************************详见链接。
8.单片机电子钟的毕业设计
89C51 LED电子钟
详见参考链接:
*APPLICATION NOTE E6000 ICEXPLORER ***************
* Title: FOR colk_time *
* Version: 00 *
* Last Updated: *
* MCU: AT89C91 *
* FOR: WWW.PICAVR.COM *
***************************************************
K1 BIT P3.2
K2 BIT P3.4
K3 BIT P3.3
K4 BIT P3.5
C_HOUR EQU 23H
C_MINUTE EQU 24H
C_SECOND EQU 25H
ON_HOUR EQU 26H
ON_MINUTE EQU 27H
OFF_HOUR EQU 28H
OFF_MINUTE EQU 29H
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP WINT0
ORG 000BH
AJMP WTO
ORG 0030H
MAIN: MOV SP,#50H
CLR 00H
MOV 21H,#0
MOV 22H,#0
MOV C_HOUR,#0
MOV C_MINUTE,#0
MOV C_SECOND,#0
MOV ON_HOUR,#0
MOV ON_MINUTE,#0
MOV OFF_HOUR,#0
MOV OFF_MINUTE,#0
MOV TH0,#05
MOV TL0,#05
MOV TMOD,#02H
SETB EA
SETB EX0
9.用51单片机 ds1302 液晶显示isd1420完成多功能数字钟的论文
//********DS1302读写程序************
void w(uchar u) //写入1位字节
{
uchar i;
ACC = u;
for(i=8; i>0; i--)
{
IO = ACC0;
CLK = 1;
CLK = 0;
ACC = ACC >> 1;
}
}
uchar r(void) //读出1位字节
{
uchar i;
for(i=8; i>0; i--)
{
ACC = ACC >>1;
ACC7 = IO;
CLK = 1;
CLK = 0;
}
return(ACC);
}
void W1302(uchar ucAddr, uchar ucDa)
{
RST = 0;
CLK = 0;
RST = 1;
w(ucAddr); // 地址,命令
w(ucDa); //写1Byte数据
CLK = 1;
RST = 0;
}
void wclock(uchar *p) //写入时钟多字节数据
{
uchar i;
// W1302(0x80,0x00); //停止时钟
W1302(0x8e,0x00); // 允许写
RST=0;
CLK=0;
RST=1;
w(0xbe); //写多字节命令
for(i=8;i>0;i--)
{
w(*p); //按数组指针逐个写入,写入数据在主函数调用时指向b数组
p++;
}
W1302(0x00,0x50); //启动定时器
CLK=1;
RST=0;
}
void rclock(uchar *p) //读出时钟多字节数据
{
uchar i;
RST=0;
CLK=0;
RST=1;
w(0xbf);
for(i=7;i>0;i--)
{
*p=r();
p++;
}
CLK=1;
RST=0;
}
DS1302读写程序,供参考 以下定义口
sbit CLK=P2^3;
sbit IO=P2^4;
sbit RST=P2^5;
sbit ACC7=ACC^7;
sbit ACC0=ACC^0;
转载请注明出处众文网 » 基于51单片机的数字钟毕业论文