• 回答数

    4

  • 浏览数

    360

上班好远
首页 > 学术论文 > 电子时钟毕业论文的开题报告

4个回答 默认排序
  • 默认排序
  • 按时间排序

谁的吴邪

已采纳

源程序如下:ORG0000H;程序开始入口LJMPSTARTORG0003H;外中断0中断程序入口RETIORG000BH;定时器T0中断程序入口LJMPINTT0;跳至INTTO执行ORG0013H;外中断1中断程序入口RETIORG001BH;定时器T1中断程序入口LJMPINTT1ORG0023H;串行中断程序入口地址RETI;---------------主程序----------------------;START:MOVR0,#70H;70给R0,清70-7FH显示内存MOVR7,#0FHCLEARDISP:MOV@R0,#00H;0给R0中的数为地址的内存中存放(70H)INCR0DJNZR7,CLEARDISPMOV78H,#2;默认时间为12:00,闹钟5:00MOV79H,#1MOV74H,#2;防止上电时数码管显示00小时MOV75H,#1MOV66H,#1;中断退出时66H为1时,分、时计时单元数据移入显存标志MOV68H,#1;上电默认闹钟开状态MOV7DH,#6;闹钟时十位MOV7CH,#3MOV69H,#0MOV7AH,#0AH;放入"熄灭符"数据MOVTMOD,#11H;设T0、T1为16位定时器MOVTL0,#0B0H;50MS定时初值(T0计时用)MOVTH0,#3CHSETBEA;总中断开放SETBET0;允许T0中断SETBTR0;T0定时器开始计时MOVR4,#14H;1秒定时用初值(50MS×20)START1:LCALLDISPLAY;显示子程序LCALLBEEP;闹钟查询;口为0时转时间调整程序JMPSTART1;口为1时跳回START1;-----------------------时间闹钟调整系统--------------------------;NFLAG:MOVA,68H;设置闹钟开关状态CJNEA,#1,BEE68MOV68H,#0JMPE6BEE68:MOV68H,#1E6:MOV66H,#8;中断退出66H不为1时分、时计时单元数据移入显存标志MOV72H,7BHMOV73H,7CHMOV74H,7DHMOV75H,7EHLCALLDDLLCALLDDLMOV72H,68HMOV73H,69HMOV74H,7AHMOV75H,7AHLCALLDDLLCALLDDLMOV66H,#1LJMPSTART1SETTIME:;键按下时间小于1秒,设置闹钟开关状态并查看闹钟时间,不关走时,确保准确,大于1秒调时MOVTL1,#0B0H;T1闪烁定时初值MOVTH1,#3CHMOVR2,#06H;进入调时状态,赋闪烁定时初值MOV66H,#8;调闹钟时保持走时,关闭时钟显示数据SETBET1;允许T1中断SETBTR1;开启定时器T1SET1:LCALLDISPLAY;调用显示,防止键按下无显示;口为0等待键释放MOVR5,#00H;清设置类型闪烁标志SETN1:INCR5;闹钟分调整SET5:;有键按下大于1秒分时间连续加(秒加1),小于1秒转调时状态;键释放查询,键释放自动转调时MOVR0,#7CHLCALLADD1MOVA,R3CLRCCJNEA,#60H,HHN1HHN1:JCSEETN1LCALLCLR0JMPSEETN1SET6:INCR5;闹钟时调整SEET6:;短按调时,长按退出CLRET0CLRTR0MOV70H,#00H;设定后的时间从00秒开始走时MOV71H,#00HINCR5SET3:;计时开始SETOUT:MOVR5,#00H;清设置类型闪烁标志CLRTR1;关闭T1CLRET1;关T1中断MOV66H,#1SETOUT2:;--------------------------延时1秒钟-----------------------;DDL:MOV18H,#36DDL0:MOV17H,#239DDL1:LCALLDISPLAYDJNZ17H,DDL1DJNZ18H,DDL0RET;----------------------------T0中断程序------------------------;INTT0:PUSHACC;打包PUSHPSWCLRET0CLRTR0MOVA,#0B7HADDA,TL0MOVTL0,AMOVA,#3CHADDCA,TH0MOVTH0,ASETBTR0DJNZR4,OUTT0;20次中断未到中断退出ADDSS:MOVR4,#14H;20次中断到(1秒)重赋初值MOVR0,#71H;指向秒计时单元(70-71H)ACALLADD1;调用加1程序(加1秒操作)MOVA,R3;秒数据放入A(R3为2位十进制数组合)CLRC;清进位标志CJNEA,#60H,ADDMMADDMM:JCOUTT01;小于60秒退出ACALLCLR0;等于或大于60秒清0MOVR0,#77H;指向分计时单元(76H-77H)ACALLADD1MOVA,R3CLRCCJNEA,#60H,ADDHHADDHH:JCOUTT0ACALLCLR0MOVR0,#79H;指向小时计时单元(78H-79H)ACALLADD1MOVA,R3CLRCCJNEA,#24H,HOURHOUR:JCOUTT0ACALLCLR0OUTT0:MOVA,66H;查询标志CJNEA,#1,OUTT01MOV72H,76H;中断退出时将分、时计时单元数据移入对应显示单元MOV73H,77HMOV74H,78HMOV75H,79HOUTT01:POPPSW;出栈POPACCSETBET0;开放T0RETI;中断返回;---------------------------加1程序--------------------------;ADD1:MOVA,@R0;取当前计时单元数据到ADECR0;指向前一地址SWAPA;A中数据高四位与低四位交换ORLA,@R0;前一地址中数据放入A中低四位ADDA,#01H;A加1操作DAA;十进制调整MOVR3,A;移入R3寄存器ANLA,#0FH;高四位变0MOV@R0,A;放回前一地址单元MOVA,R3;取回R3中暂存数据INCR0;指向当前地址单元SWAPA;A中数据高四位与低四位交换ANLA,#0FH;高四位变0MOV@R0,A;数据放入当削地址单元中RETCLR0:CLRCCLRA;清累加器MOV@R0,A;清当前地址单元DECR0;指向前一地址MOV@R0,A;前一地址单元清0RET;子程序返回;-------------------------调时闪烁程序----------------------;INTT1:PUSHACCPUSHPSWMOVTL1,#0B0HMOVTH1,#3CHDJNZR2,INTT1OUT;秒未到退出中断(50MS中断6次)MOVR2,#06H;重装秒定时用初值CPL02H;秒定时到对闪烁标志取反JB02H,FLASH1;02H位为1时显示单元"熄灭"MOVA,R5CJNEA,#01H,NLJMPNNN1NL:CJNEA,#02H,NL1LJMPNNN1NL1:CJNEA,#03H,NL2LJMPNLLNL2:CJNEA,#04H,INTT1OUTLJMPNLLNLL:MOV72H,76HMOV73H,77HMOV74H,78HMOV75H,79HAJMPINTT1OUTNNN1:MOV72H,7BHMOV73H,7CHMOV74H,7DHMOV75H,7EHINTT1OUT:POPPSW;恢复现场POPACCRETI;中断退出FLASH1:MOVA,R5CJNEA,#01H,MLLJMPMNN1ML:CJNEA,#02H,ML1LJMPMNN2ML1:CJNEA,#03H,MNLJMPMLLMN:CJNEA,#04H,INTT1OUTLJMPMHLMLL:MOV72H,7AHMOV73H,7AH;显示单元(72-73H),将不显示分数据MOV74H,78HMOV75H,79HAJMPINTT1OUTMHL:MOV72H,76HMOV73H,77HMOV74H,7AH;显示单元(74-75H),小时数据将不显示MOV75H,7AHAJMPINTT1OUTMNN1:MOV72H,7AHMOV73H,7AH;显示单元(72-73H),将不显示闹钟分数据MOV74H,7DHMOV75H,7EHAJMPINTT1OUTMNN2:MOV72H,7BHMOV73H,7CHMOV74H,7AHMOV75H,7AH;显示单元(74-75H),闹钟小时数据将不显示AJMPINTT1OUT;-------------------------显示-------------------------------;DISPLAY:MOVDPTR,#DISDATAMOVA,70HMOVCA,@A+DPTRMOVP3,;查询标志CJNEA,#1,BEEREMOVA,78H;查询闹钟时个位CJNEA,7DH,BEEREMOVA,79H;查询闹钟时十位CJNEA,7EH,BEEREMOVA,76H;查询闹钟分个位CJNEA,7BH,BEEREMOVA,77H;查询闹钟分十位CJNEA,7CH,BEEREBB:;0123456789空白END

298 评论

大乱乱小乱乱

具体的先写HDL,写好了EDA工具给综合可以参考百度文库资料数字电子时钟工作原理(参考百度百科)单片机通过了 3只 74HC164串行-并行转换芯片后,驱动时钟屏幕,因为时钟屏幕的极性是共阴极,数字电路钟点所以必须使用“74HC”电路而不能使用“74LS”电路,后者的高电平驱动能力很差!这里的 3 只 74HC164芯片,自身属于串行输入,而从单片机一则看过去,3 只芯片驱动方式则是并行驱动,这样可以避免每次传送新的显示数据时,都需要从头到尾传送 24 个笔段数据。目前的传送方式可以只是传送已经变化了的显示数据。晶体频率使用的是 32768HZ,这种低频率时基,对掉电保护的电池耗电关系极大,HT48R10A单片机具有的“RTC”实时时钟的功能,大大方便了电路设计。按照常规,在如此低的频率下,对单片机的指令执行速度会有矛盾,但是,这种单片机却能够让程序运行时使用“内部 RC ”振荡频率而仅仅是时钟部分使用 32768HZ频率,这样,就可以选择“内部 RC”高达数 MHZ 的指令运行频率而不用理会时钟走时频率,两者依靠这种特有的“RTC”功能获得了很理想的配合。当进入电池掉电保护的时候,可以令电池耗电维持在仅仅数十 uA 的水平,一只 60mAh的掉电保护电池,就可以让掉电保护时间长达几个月之久!进入掉电保护后,屏幕不显示,所有按钮和控制功能暂时失效,仅仅实时时钟仍然继续走时。当外部主电源恢复供电后,所有功能自动恢复,实时时钟无需调整。单片机的 15P是复位引脚,当上电时或者程序运行发生异常时,可以通过此引脚让程序重新运行。但是,一般地,单片机本身具有“看门狗”自动复位功能,可以快速地自动对程序运行异常进行复位,人们几乎觉察不到它的复位影响。单片机的 10P 引脚安排为专门检测外部供电是否正常,当外部 5V供电掉电后,单片机将立即进入掉电保护状态,而在电路中电源能量还没有完全消耗尽之前,程序也必须抢先对各个端口进行配置,以便进入低电源消耗状态。电路图中有两个输出端口,一个是“睡眠”控制输出端口,它只有在开始倒计时的时候才会输出高电平;另一个时“定时”输出端口,它只有在到达定时时间的时候才会输出高电平。合理地利用这两个输出,就能够安排一些简单的自动控制,例如,可以利用“睡眠”的倒计时功能来给电孵化行业的“自动翻蛋”使用,利用“定时”功能来作为一只“电子闹钟”等等。电路中,屏幕的公共引脚接有一只 NPN小功率三极管,这主要是在单片机对 74HC164 传送数据时,临时关闭显示屏幕的供电以免产生“鬼影”,同时,在掉电保护时则可以完全关闭屏幕的供电。单片机预留了两个端口没有使用,这里可以在将来安排外接电存储器,以便派生例如电子打铃仪或者多次定时数据存储,成为功能更加丰富的时钟品种。各个按钮的使用说明:(请参考印刷板图)。各按键在印刷板上的编号与单片机芯片引脚和功能关系,请参考下面表格。其中,标注“G”的焊盘是电路供电的参考点,即 5V电源的负极,俗称“地线”。所有按键都是需要与这个“G”接通的时候(需要串入 1K 左右电阻),该按键才算是“被按下”。当这个“G”引出到按键板时,需要在它上面串接一只 1K左右的电阻,不要直接让其与各按键引脚直接“短接”,以防止芯片内部引脚损坏。是以一种元器件做为振动源,而这种振动源在一定条件下,具有很高的恒定频率,把恒频率的振动转化为电脉冲,再按1秒多少次,用电子器件进行计数,达到次数为1秒,计数60秒为1分钟.....,并用相应的显示机构进行显示,这种机构可以是机械的、也可以是电子液晶、二极管等方式。

352 评论

新民娜姐

数字钟的VHDL设计 1、设计任务及要求: 设计任务:设计一台能显示时、分、秒的数字钟。具体要求如下: 由实验箱上的时钟信号经分频产生秒脉冲; 计时计数器用24进制计时电路; 可手动校时,能分别进行时、分的校正; 整点报时; 2 程序代码及相应波形 Second1(秒计数 6进制和10进制) Library ieee; Use ; Use ; Entity second1 is Port( clks,clr:in std_logic; Secs,Secg: out std_logic_vector(3 downto 0); cout1:out std_logic); End second1; Architecture a of second1 is Begin Process(clks,clr) variable ss,sg: std_logic_vector(3 downto 0); variable co: std_logic; Begin If clr='1' then ss:="0000"; sg:="0000"; Elsif clks'event and clks='1' then if ss="0101" and sg="1001" then ss:="0000"; sg:="0000";co:='1'; elsif sg<"1001" then sg:=sg+1;co:='0'; elsif sg="1001" then sg:="0000";ss:=ss+1;co:='0'; end if; end if; cout1<=co; Secs<=ss; Secg<=sg; end process; End a; Min1(分计数器 6进制和10进制 alm实现整点报时) Library ieee; Use ; Use ; Entity min1 is Port(clkm,clr:in std_logic; mins,ming:buffer std_logic_vector(3 downto 0); enmin,alarm: out std_logic); End; Architecture a of min1 is Begin Process(clkm,clr) variable ms,mg :std_logic_vector(3 downto 0); variable so,alm :std_logic; Begin If clr='1' then ms:="0000"; mg:="0000"; Elsif clkm'event and clkm='1' then if ms="0101" and mg="1001" then ms:="0000";mg:="0000"; so :='1'; alm:='1'; elsif mg<"1001" then mg:=mg+1; so :='0';alm:='0'; elsif mg="1001" then mg:="0000";ms:=ms+1; so :='0';alm:='0'; end if; end if; alarm<=alm; enmin<= so; mins<=ms; ming<=mg; End process; End a; Hour1(时计数器 4进制与2进制) Library ieee; Use ; Use ; Entity hour1 is Port(clkh,clr:in std_logic; hours,hourg:out std_logic_vector(3 downto 0)); End; Architecture a of hour1 is Begin Process(clkh,clr) variable hs,hg :std_logic_vector(3 downto 0); Begin If clr='1' then hs:="0000"; hg:="0000"; Elsif clkh'event and clkh='1' then if hs="0010"and hg="0011" then hs:="0000";hg:="0000"; elsif hg<"1001" then hg:=hg+1; elsif hg="1001" then hg:="0000";hs:=hs+1; end if; end if; hours<=hs; hourg<=hg; End process; End; Madapt(校分) Library ieee; Use ; Use ; Entity madapt is Port(en,clk,secin,m1:in std_logic; minset:out std_logic); End; Architecture a of madapt is Begin Process(en,m1) Begin if en='1' then if m1='1' then minset<=clk; else minset<=secin; end if; else minset<=secin ; end if; End process; end; Hadapt (校时) Library ieee; Use ; Use ; Entity hadapt is Port(en,clk,minin,h1:in std_logic; hourset:out std_logic); End; Architecture a of hadapt is Begin Process(en,h1) Begin if en='1' then if h1='1' then hourset<=clk; else hourset<=minin; end if; else hourset<=minin; end if; End process; end; Topclock(元件例化 顶层文件) Library ieee; Use ; Use ; Use ; Entity topclock is Port(clk,clr,en,m1,h1:in std_logic; alarm:out std_logic; secs,secg,mins,ming,hours,hourg:buffer std_logic_vector(3 downto 0)); End; Architecture one of topclock is Component second1 Port( clks,clr:in std_logic; secs,secg: buffer std_logic_vector(3 downto 0); cout1: out std_logic); End Component; Component min1 Port(clkm,clr:in std_logic; mins,ming:buffer std_logic_vector(3 downto 0); enmin,alarm: out std_logic); End Component; Component hour1 Port(clkh,clr:in std_logic; hours,hourg:buffer std_logic_vector(3 downto 0)); End Component; Component madapt Port(en,m1,clk,secin:in std_logic; minset:out std_logic); End Component; Component hadapt Port(en,h1,clk,minin:in std_logic; hourset:out std_logic); End Component; signal a,b,c,d: std_logic; begin u1:second1 port map(clr=>clr, secs=>secs,secg=>secg,clks=>clk, cout1=>a); u2:min1 port map(clr=>clr,alarm=>alarm, mins=>mins,ming=>ming,clkm=>b,enmin=>c); u3:hour1 port map(clr=>clr, hours=>hours,hourg=>hourg,clkh=>d); u4:madapt port map(en=>en,m1=>m1,clk=>clk,secin=>a,minset=>b); u5:hadapt port map(en=>en,h1=>h1,clk=>clk,minin=>c,hourset=>d); end; 3 电路图 4 实验心得程序全部都给你写好了啊,只 要你自己仿真,再下载到实验箱就OK了啦

277 评论

白色七巧板

到我的Q空间看看吧

111 评论

相关问答

  • 电子商务企业的论文开题报告

    论文开题报告基本要素 各部分撰写内容 论文标题应该简洁,且能让读者对论文所研究的主题一目了然。 摘要是对论文提纲的总结,通常不超过1或2页,摘要包含以下内容:

    一一欧巴桑 4人参与回答 2023-12-06
  • 电子证据论文开题报告

    电子证据立法研究论文参考文献 参考文献:[1]刘品新。中国电子证据立法研究[M].北京:中国人民大学出版社2005:6.

    银色手链 3人参与回答 2023-12-06
  • 单片机电子时钟的设计毕业论文

    电子钟相关毕业设计 ·数字电子钟的电路设计 (字数:9242,页数:22 )·数字电子钟的设计与制作 (字数:8017,页数:22 )·数字钟的设计 (字数:6

    憨丶小包 5人参与回答 2023-12-10
  • 电子时钟的毕业论文

    摘 要本次的硬件综合设计是对我们所学知识的综合运用,独立完成具有一定实用价值的小型系统——数字时钟。数字时钟是一种用数字技术实现是、分、秒计时的装置,与机械式时

    小馋猫儿richard 4人参与回答 2023-12-09
  • 电子商务法毕业论文开题报告

    建议看看下面的资料网,在这里想要谁给现写一篇,可能不会有,因为z这里没人会为了这个区花费一些时间去写的,所以根据我搜集的一些网站来看,希望对你有所帮助,用心去做

    啊呜咖啡 3人参与回答 2023-12-12