
怎样写数字时钟设计的心得
题 目: 数字钟的设计心得学 年: 学 期: 专 业: 班 级: 学 号: 姓 名: 指导教师及职称: 时 间: 一、设计目的1. 熟悉集成电路的引脚安排。
2. 掌握各芯片的逻辑功能及使用方法。
3. 了解面包板结构及其接线方法。
4. 了解数字钟的组成及工作原理。
5. 熟悉数字钟的设计与制作。
二、设计要求1.设计指标时间以24小时为一个周期;显示时、分、秒;有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。
2.设计要求画出电路原理图(或仿真电路图);元器件及参数选择;电路仿真与调试;PCB文件生成与打印输出。
3.制作要求 自行装配和调试,并能发现问题和解决问题。
4.编写设计报告 写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
三、设计原理及其框图1.数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路构成数字钟。
图 3-1所示为数字钟的一般构成框图。
图3-1 数字钟的组成框图⑴晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。
不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。
⑵分频器电路 分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数。
分频器实际上也就是计数器。
⑶时间计数器电路 时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。
⑷译码驱动电路 译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。
⑸数码管 数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。
2.数字钟的工作原理1)晶体振荡器电路晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。
图3-2所示电路通过CMOS非门构成的输出为方波的数字式晶体振荡电路,这个电路中,CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。
输出反馈电 阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。
电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。
由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
晶体XTAL的频率选为32768HZ。
该元件专为数字钟电路而设计,其频率较低,有利于减少分频器级数。
从有关手册中,可查得C1、C2均为30pF。
当要求频率准确度和稳定度更高时,还可接入校正电容并采取温度补偿措施。
由于CMOS电路的输入阻抗极高,因此反馈电阻R1可选为10MΩ。
较高的反馈电阻有利于提高振荡频率的稳定性。
非门电路可选74HC00。
图3-2 COMS晶体振荡器2)分频器电路通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频。
通常实现分频器的电路是计数器电路,一般采用多级2进制计数器来实现。
例如,将32768Hz的振荡信号分频为1HZ的分频倍数为32768(215),即实现该分频功能的计数器相当于15极2进制计数器。
常用的2进制计数器有74HC393等。
本实验中采用CD4060来构成分频电路。
CD4060在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便。
CD4060计数为14级2进制计数器,可以将32768HZ的信号分频为2HZ,其内部框图如图3-3所示,从图中可以看出,CD4060的时钟输入端两个串接的非门,因此可以直接实现振荡和分频的功能。
图3-3 CD4046内部框图3)时间计数单元时间计数单元有时计数、分计数和秒计数等几个部分。
时计数单元一般为12进制计数器计数器,其输出为两位8421BCD码形式;分计数和秒计数单元为60进制计数器,其输出也为8421BCD码。
一般采用10进制计数器74HC390来实现时间计数单元的计数功能。
为减少器件使用数量,可选74HC390,其内部逻辑框图如图 2.3所示。
该器件为双2—5-10异步计数器,并且每一计数器均提供一个异步清零端(高电平有效)。
图3-4 74HC390(1\\\/2)内部逻辑框图秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。
CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。
秒十位计数单元为6进制计数器,需要进制转换。
将10进制计数器转换为6进制计数器的电路连接方法如图3-5所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。
图3-5 10进制——6进制计数器转换电路分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。
时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换。
利用1片74HC390实现12进制计数功能的电路如图3-6所示。
另外,图3-6所示电路中,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。
图3-6 12进制计数器电路4)译码驱动及显示单元计数器实现了对时间的累计以8421BCD码形式输出,选用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流,选用CD4511作为显示译码电路,选用LED数码管作为显示单元电路。
5)校时电源电路当重新接通电源或走时出现误差时都需要对时间进行校正。
通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数或将频率较高的方波信号加到需要校正的计数单元的输入端,校正好后,再转入正常计时状态即可。
根据要求,数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。
图3-7所示即为带有基本RS触发器的校时电路,图3-7 带有消抖动电路的校正电路6)整点报时电路一般时钟都应具备整点报时电路功能,即在时间出现整点前数秒内,数字钟会自动报时,以示提醒。
其作用方式是发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示。
根据要求,电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。
报时电路选74HC30,选蜂鸣器为电声器件。
四、元器件1.实验中所需的器材5V电源。
面包板1块。
示波器。
万用表。
镊子1把。
剪刀1把。
网络线2米\\\/人。
共阴八段数码管6个。
CD4511集成块6块。
CD4060集成块1块。
74HC390集成块3块。
74HC51集成块1块。
74HC00集成块5块。
74HC30集成块1块。
10MΩ电阻5个。
500Ω电阻14个。
30p电容2个。
32.768k时钟晶体1个。
蜂鸣器。
2.芯片内部结构图及引脚图图4-1 7400 四2输入与非门 图4-2 CD4511BCD七段译码\\\/驱动器图4-3 CD4060BD 图4-4 74HC390D 图4-5 74HC51D 图4-6 74HC303.面包板内部结构图面包板右边一列上五组竖的相通,下五组竖的相通,面包板的左边上下分四组,每组中X、Y列(0-15相通,16-40相通,41-55相通,ABCDE相通,FGHIJ相通,E和F之间不相通。
五、个功能块电路图1. 一个CD4511和一个LED数码管连接成一个CD4511驱动电路,数码管可从0---9显示,以次来检查数码管的好坏,见附图5-1。
图5-1 4511驱动电路2. 利用一个LED数码管,一块CD4511,一块74HC390,一块74HC00连接成一个十进制计数器,电路在晶振的作用下数码管从0—9显示,见附图5-2。
图5-2 74390十进制计数器3. 利用一个LED数码管,一块CD4511,一块74HC390,一块74HC00和一个晶振连接成一个六进制计数器,数码管从0—6显示,见附图5-3。
图5-3 74390六进制计数器4. 利用一个六进制电路和一个十进制连接成一个六十进制电路,电路可从0—59显示,见附图5-4。
图5-4 六十进制电路5. 利用两个六十进制的电路合成一个双六十进制电路,两个六十进制之间有进位,见附图5-5。
图5-5 双六十进制电路6. 利用CD4060、电阻及晶振连接成一个分频——晶振电路,见附图5-6。
图5-6 分频—晶振电路7. 利用74HC51D和74HC00及电阻连接成一个校时电路,见附图5-7。
图5-7 校时电路8. 利用74HC30和蜂鸣器连接成整点报时电路。
见附图5-8。
图5-8 整点报时电路9. 利用两个六十进制和一个十二进制连接成一个时、分、秒都会进位的电路总图,见附图5-9。
图5-9 时、分、秒的进位连接图六、总接线元件布局简图,见附图6-1七、芯片连接图见附图7-1八、总结1. 设计过程中遇到的问题及其解决方法。
1) 在检测面包板状况的过程中,出现本该相通的地方却未通的状况,后经检验发现是由于万用表笔尖未与面包板内部垂直接触所至。
2) 在检测CD4511驱动电路的过程中发现数码管不能正常显示的状况,经检验发现主要是由于接触不良的问题,其中包括线的接触不良和芯片的接触不良,在实验过程中,数码管有几段二极管时隐时现,有时会消失。
用5V电源对数码管进行检测,一端接地,另一端接触每一段二极管,发现二极管能正常显示的,再用万用表欧姆档检测每一根线是否接触良好,在检测过程中发现有几根线有时能接通,有时不能接通,把接触不好的线重新接过后发现能正常显示了。
其次是由于芯片接触不良的问题,用万用表欧姆档检测有几个引脚本该相通的地方却未通,而检测的导线状况良好,其解决方法为把CD4511的芯片拔出,根据面包板孔的的状况重新调整其引脚,使其正对于孔,再用力均匀地将芯片插入面包板中,此后发现能正常显示,本次实验中还发现一块坏的LED数码管和两块坏的CD4511,经更换后均能正常显示。
3) 在连接晶振的过程中,晶振无法起振。
在排除线与芯片的接触不良问题后重新对照电路图,发现是由于12脚未接地所至。
4) 在连接六进制的过程中,发现电路只能4、5的跳动,后经发现是由于接到与非门的引脚接错一根所至,经纠正后能正常显示。
5) 在连接校正电路的过程中,出现时和分都能正常校正时,但秒却受到影响,特别时一较分钟的时候秒乱跳,而不校时的时候,秒从40跳到59,然后又跳回40,分和秒之间无进位,电路在时、分、秒进位过程中能正常显示,故可排除芯片和连线的接触不良的问题。
经检查,校正电路的连线没有错误,后用万用表的直流电压档带电检测秒十位的QA、QB、QC和QD脚,发现QA脚时有电压时而无电压,再检测秒到分和分到时的进位端,发现是由于秒到分的进位未拔掉所至。
6) 在制作报时电路的过程中,发现蜂鸣器在57分59秒的时候就开始报时,后经检测电路发现是由于把74HC30芯片当16引脚的芯片来接,以至接线都错位,重新接线后能正常报时。
7) 连接分频电路时,把时个位的QD和时十位的1脚断开,然后时十位的1脚接到晶振的3脚,时十位的3脚接到秒个位的1脚,所连接的电路图无法正常工作,时十位从0-9的跳,时个位只能显示一个0,在这个电路中3脚的分频用到两次,故无法正常显示,因此要把12进制接到74HC390的一个逻辑电路空出来用于分频即可,因此把时十位的CD4511的12、6脚接地,7脚改为接74HC390的5脚,74HC390的3、4脚断开,然后4脚接9脚即可,其中空出的74HC390的3脚就可用于2Hz的分频,分频后变为1Hz,整个电路也到此为正常的数字钟计数。
2.设计体会在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。
在连接六进制、十进制、六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。
在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏。
又例如74HC390芯片,其本身就是一个十进制计数器,在仿真电路中必须连接反馈线才能正常显示,而在实际电路中无需再连接,因此仿真图和电路连接图还是有一定区别的。
在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所引起的。
3.对该设计的建议此次的数字钟设计重在于仿真和接线,虽然能把电路图接出来,并能正常显示,但对于电路本身的原理并不是十分熟悉。
总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。
数字钟设计
数字电子时钟课程设计 题目: 数字电子时钟课程设计 目 录 一、设计任务及设计要求…………………………………………(3) 二、设计方案论证 ………………………….. …………. (3) 1.总体方案及框图 2.各部分论证 三、单元电路设计…………………………………………………(4) 1.振荡器 ………………………………………………………(4) 2. 秒、分、时计数器…………………………………………(5) 3. 显示译码\\\/驱动器和LED七段数码显示管……………….(6) 4. 分频器……………………………………………………(7) 5. 报时电路…………………………………………………(9) 四、总体电路设计及原理………………………………………(13) 五、元器件明细表………………………………………………(10) 六、心得体会……………………………………………………(11) 七、参考文献……………………………………………………(11) 一、设计任务及设计要求 1.设计任务 数字电子钟的逻辑电路 2.设计要求 (1)由晶振电路产生1HZ的校准秒信号。
(2)设计一个有“时”、“分”、“秒”(23小时59分59秒)显示切且具有校时、校分、校秒的功。
(3)整点报时功能。
要求整点差10秒开始每隔1秒鸣叫一次,共五次,每次持续时间为一秒,前五次为500赫兹的声音,最后依次为1000赫兹的声音。
(4)用中小规模集成电路组成电子钟,并在实验箱上进行组装和调试。
(5)划出框图和逻辑电路图,写出设计,实验总结报告。
二、设计方案论证 数字钟原理框图如图1所示,电路一般包括以下几个部分:振荡器、分频器、译码显示电路、时分秒计数器、校时电路、报时电路。
图一 对于各个部分而言 数字钟计时的标准信号应该是频率相当稳定的1HZ秒脉冲,所以要设置标准时间源。
数字钟计时周期是24小时,因此必须设置24小时计数器,他应由模为60的秒计数器和分计数器及模为24的时计数器组成,秒、分、时由七段数码管显示。
为使数字钟走时与标准时间一致,校时电路是必不可少的。
设计中采用开关控制校时直接用秒脉冲先后对“时”“分”“秒”计数器进行校时操作。
能进行整点报时。
在从59分50秒开始,每隔2秒钟发出一次低音“嘟”的信号,连续五次,最后一次要求最高音“嘀”的信号,此信号结束即达到正点。
三、单元电路设计 1. 各独立功能部件的设计 (1) 、振荡器 振荡器是计时器的核心,其作用是产生一个标准频率的脉冲信号振荡频率的精度和 稳定度决定了数字钟的质量。
第一种方 案采用石英晶体振荡器,如图二。
使用 振荡频率为32768HZ的石英晶体和反 向器构成一个稳定性极好、精度较高 的时间信号源。
改变电容C可以 图 二 石英晶体振荡器 振荡器的频率进行微调,再通过一个反相器,输出32768HZ的方波将此方波的频率进行15次二分频后,在输出端刚好可得到频率为1HZ的脉冲信号。
第二种方案如图三采用集成电路555定时器与RC组成的多谐振荡器。
输出的脉冲频率为fS=1\\\/[(R1+2R2)C1ln2]=1KHZ,周期T=1\\\/fS=1ms。
若参数选择:R1=R2=10K欧姆,C1=47uF时,可以得到秒脉冲信号。
图三 方波信号发生器 附555定时器的功能表 输 出 输 出 阀值输入(v11) 触发输入(v12) 复位(RD) 输出(VO) 发电管T × × 0 0 导通 <2\\\/3VCC <1\\\/3VCC 1 1 截止 >2\\\/3VCC >1\\\/3VCC 1 0 导通 <2\\\/3VCC >1\\\/3VCC 1 不变 不变 (2) 秒、分、时计数器 U1到U6 六个74LS161构成数字钟的秒、分、时计数器。
U1、U2共同构成秒计数器,它由两个74LS161构成六--十进制的计数器,如图四。
U1作为秒个位十进制计数器,它的复位输入RD、和置位输入LD都接低电平,秒信号脉冲作为计数脉冲输入到CP1端,输出端C控制U2秒十位计数器的计数脉冲输入。
Q1、Q2、Q3、Q4作为秒个位的计时值送至秒个位七段显示译码\\\/驱动器。
U2作为秒十位六进制计数器,它的计数脉冲输入受到秒个位U1的控制,其计数器使能端EP、ET与U1的输出端C相连接。
当U2计数器计到0011,即清零信号到复位输入端时,Q1、Q2、Q3、Q4输出的都是零。
Q1、Q2、Q3、Q4作为秒十位的计时值送至秒十位七段显示译码\\\/驱动器。
U3 、U4分别构成分个位十进制和分十位六进制计数器,如图四。
U3、U4与U1、U2的连接方法相似。
当计数器输出为01011001状态,U3(U1)、U4(U2)的LD端同时为“0”,使计数器立即返回到00000000状态。
这样就构成了六十进制计数器。
图四 六十进制计数器 U5、U6共同构成时计数器,它由两个74LS161构成六十进制的计数器 如图五。
U5作为时十位计数器,它的复位输入RD、和置位输入LD都接低电平,时信号脉冲作为计数脉冲输入到CP1端,输出端C控制U6秒十位计数器的计数脉冲输入。
Q1、Q2、Q3、Q4作为秒个位的计时值送至秒个位七段显示译码\\\/驱动器。
当计数器输出为00100100状态,U5、U6的LD端同时为“0”,使计数器立即返回到00000000状态。
这样就构成了二十四进制计数器。
U12图五 二十四进制计数器 (3) 显示译码\\\/驱动器和LED七段数码显示管 六个74LS248集成电路构成数字钟的七段数码显示管显示译码\\\/驱动器。
74LS248七段显示译码器输出高电平有效,将8421BCD码译成七段(a、b、c、d、e、f、g)输出,用以直接驱动LED七段数码显示对应的十进制数。
74LS248的显示功能: 显示功能见功能表的上半部分。
[DCBA]是二进制码输入,要正确的执行显示功能,有关的功能端必须接合适的逻辑电平,这些功能端的作用随后介绍。
对于0~9输入,[DCBA]相当BCD8421码。
当超过9以后,译码器仍然有字型输出,具体见图六。
当[DCBA]=1111时,数码管熄灭。
实验时要在笔划段电极串联电阻,以保护LED数码管。
表1 中规模显示译码器74LS248的功能表 图六 74LS248显示字型与输入的对应关系 如图七,六个LED七段数码显示管利用不同发光段组合的方式显示不同数码,都采用+5V电源作为每段发光二极管的驱动电源。
需要发光的段为高电平,不发光的段为低电平。
设计中采用共阴极数码管,每段发光二极管的正向降压,随显示光的颜色有所不同,通常约2V~3V,点亮电流在5~10mA。
六个LED七段数码显示管分别显示秒个位、十位;分个位、十位;时个位、十位的计数十进制数 图七 显示译码\\\/驱动器和数码显示管 (4)分频器 分频器电路是由三个74LS90构成,如图八。
74LS90是异步十进制计数器,它由一个一位二进制计数器和一个异步五进制计数器组成。
将QA与CP2相连,计数脉冲由CP1端输入,输出由QA~QD引出,即得到十进制计数器。
只有在复位输入R0(1)= R0(2)=0和置位输入S9(1)= S9(2)=0时,才能够在计数脉冲(下降沿)作用下实现二—五—十进制加计算。
因为要对输入的脉冲进行三次10分频,三片74LS90的复位输入R0(1)、 R0(2)和置位输入S9(1) 、S9(2)都接低电平。
振荡器输出的方波脉冲计数器作为U1的CP1端的输入时钟脉冲,U1的QD端的输出脉冲作为U2的CPA端的输入时钟脉冲,U2的QD端的输出脉冲作为U3的CP1端的输入时钟脉冲,U3的QD端的输出脉冲fO=fS\\\/103¬¬¬¬¬¬¬=1HZ,即为秒信号方波脉冲,成为秒、分、时计数器的计数脉冲和时间校准信号。
将JK触发器的J、K端都接在高电平,Qn+1=JQn+KQn=Qn,每输入一个时钟脉冲后,触发器翻转一次,触发器处于计数状态。
经过触发器的二分频,Q端输出为500HZ的脉冲作为低音脉冲。
经过U1、U2计数器的二次十分频,输出的脉冲频率为10HZ,作为秒校时脉冲。
图八 分频器 附74LS90二—五—十进制计数器功能图 复位输入 置位输入 输出 R0(1) R0(2) S9(1) S9(2) QA QB QC QD H H L × L L L L H H × L L L L L × × H H H L L H L × L × 计数 L × × L 计数 × L L × 计数 × L × L 计数 JK触发器的功能表 J K Qn Qn+1 说明 0 0 0 0 输出状态不变 1 1 0 1 0 0 输出状态与J端状态相同 1 0 1 0 0 1 输出状态与K端状态相同 1 1 1 1 0 1 每输入一个脉冲输出状态改变一次 1 0 (五)报时电路 整点报时电路要求在每个整点发出音响,因此需要对每个整点进行时间译码,以其输出驱动音响控制电路。
如图九。
若要在每一整点发出五低音、一高音报时,需要对59分50秒到59分59秒进行时间译码。
QD4~QA4是分十位输出,QD3~QA3是分个位输出,QD2~QA2是秒十位输出,QD1~QA1秒个位输出。
在59分时,A= QC4 QA4 QD3 QA3=1;在50秒时,B= QC2 QA2=1;秒个位为0、2、4、6、8秒时,QA1=0,C= QA1=1;因而F1=ABC= QC4QA4 QD3 QA3 QC2 QA2 QA1仅在59分50秒、52秒、54秒、56秒、58秒时等于1,故可以用F1作低音的控制信号。
当计数器每计到59分59秒时,A= QC4 QA4 QD3QA3=1,D= QC2 QA2 QD1 QA1=1,此时F2=AD=1。
把F2接至JK触发器控制端J端,CP端加秒脉冲,则再计1秒到达整点时F3=1,故可用F3作一次高音控制信号。
用F1控制5次低音、F3控制高音,经音响放大器放大,每当“分”和“秒”计数器累计到59分50、52、54、56、58秒发出频率为500HZ的五次低音,0分0秒时发出频率为1000HZ的一次高音,每次音响的时间均为一秒钟,实现了整点报时的功能。
图九 整点报时电路 四、原理图(见最后一页) 五、元器件明细表 序号 元器件名称 型号规格 数量(个) 备注 U0 集成定时器 5G555定时器 1 构成多谐振荡器 U1~U6 同步加法计数器 74161 6 构成模加法计数器 U7~U9 异步十进制计数器 74LS90 3 构成分频器 U10 七端显示译码器 74LS248 6 分别显示秒、分、时的数字 U11~U12 与非门 多输入与非门 2 U13 J-K触发器 1 C1、C2 电容 2 C1=C2=104pf R1 R2 电阻 2 R1 =2K、R2=5.1K R、R` 电阻 2 R=1k,R`=47 U14 U20 门器件 非门 1 U15~U19 门器件 与门 6 多输入与门 U21~U23 门器件 与非门 3 多输入与非门 U24 触发器 J-K触发器 1 U25 晶体三级管 1 U26 喇叭 1 实现闹铃 六、设计体会 在整个课程设计完后,总的感觉是:有收获。
以前上课都是上一些最基本的东西,而现在却可以将以前学的东西作出有实际价值的东西。
在这个过程中,我的确学得到很多在书本上学不到的东西,如:如何利用现有的元件组装得到设计要求,如何找到错误的原因,如何利用计算机来画图等等。
但也遇到了不少的挫折,有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是芯片的管脚接错了,有时更是忘接电源了。
在学习中的小问题在课堂上不可能犯,在动手的过程中却很有可能犯。
特别是在接电路时,一不小心就会犯错,而且很不容易检查出来。
但现在回过头来看,还是挺有成就感的。
跪求数字钟的设计与制作毕业论文一篇
摘要 第一章绪论 第二章数字时钟简介 1.1振荡器 1.2分频器电路 1.3计数器 1.4 译码显示电路 1.5校时电路 1.6报时电路 第三章设计步骤与方法 3.1振荡电路 3.2分频器电路 3.3计数器 3.3.1计数器六十进制的接法 3.3.2二十四进制计数器的接法 3.4译码显示电路 3.5校时电路 3.6整点报时电路 3.6.1控制门电路部分 3.6.2音响电路部分 第四章组装与调试 4.1接通电源逐步调试 4.2按顺序对电路连线和调试 总结 致 谢 参考文献
EDA数字钟设计
1.Topclock(元件例化 顶层文件) Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_arith.all; Use ieee.std_logic_unsigned.all; 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; 2. 秒模块程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity SECOND isport(clk,clr:in std_logic; sec1,sec0:out std_logic_vector(3 downto 0); co:out std_logic);end SECOND;architecture SEC of SECOND isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clr='1' thencnt1:=0000;cnt0:=0000;elsif clk'event and clk='1' thenif cnt1=0101 and cnt0=1000 thenco<='1';cnt0:=1001;elsif cnt0<1001 thencnt0:=cnt0+1;elsecnt0:=0000;if cnt1<0101 thencnt1:=cnt1+1;elsecnt1:=0000;co<='0';end if;end if;end if;sec1<=cnt1;sec0<=cnt0;end process;end SEC;3.分模块程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINUTE isport(clk,en:in std_logic; min1,min0:out std_logic_vector(3 downto 0); co:out std_logic);end MINUTE;architecture MIN of MINUTE isbeginprocess(clk)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clk'event and clk='1' thenif en='1' thenif cnt1=0101 and cnt0=1000 thenco<='1';cnt0:=1001;elsif cnt0<1001 thencnt0:=cnt0+1;elsecnt0:=0000;if cnt1<0101 thencnt1:=cnt1+1;elsecnt1:=0000;co<='0';end if;end if;end if;end if;min1<=cnt1;min0<=cnt0;end process;end MIN;4.时模块程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity HOUR isport(clk,en:in std_logic; h1,h0:out std_logic_vector(3 downto 0));end HOUR;architecture hour_arc of HOUR isbeginprocess(clk)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clk'event and clk='1' thenif en='1' thenif cnt1=0010 and cnt0=0011 thencnt1:=0000;cnt0:=0000;elsif cnt0<1001 thencnt0:=cnt0+1;end if;end if;end if;h1<=cnt1;h0<=cnt0;end process;end hour_arc;----5.扫描模块程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity SELTIME is port( clk:in std_logic; sec1,sec0,min1,min0,h1,h0:in std_logic_vector(3 downto 0); daout:out std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0));end SELTIME;architecture fun of SELTIME is signal count:std_logic_vector(2 downto 0);begin sel<=count; process(clk) begin if(clk'event and clk='1') then if(count>=101) then count<=000; else count<=count+1; end if; end if; case count is when000=>daout<= sec0; when001=>daout<= sec1; when010=>daout<= min0; when011=>daout<= min1; when100=>daout<=h0; when others =>daout<=h1; end case; end process;end fun;6.显示模块程序library ieee;use ieee.std_logic_1164.all;entity DISPLAY is port(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0));end DISPLAY;architecture disp_are of DISPLAY isbegin process(d) begincase d is when0000 =>q<=0111111; when0001 =>q<=0000110; when0010 =>q<=1011011; when0011 =>q<=1001111; when0100 =>q<=1100110; when0101 =>q<=1101101; when0110 =>q<=1111101; when0111 =>q<=0100111; when1000 =>q<=1111111; when others =>q<=1101111;end case; end process;end disp_are;-----7.定时闹钟模块程序 library ieee;use ieee.std_logic_1164.all;entity ALERT isport(m1,m0,s1,s0:in std_logic_vector(3 downto 0); clk:in std_logic; q500,qlk:out std_logic);end ALERT;architecture sss_arc of ALERT is begin process(clk) begin if clk'event and clk='1' then if m1=0101 and m0=1001 and s1=0101 then if s0=0001 or s0=0011 or s0=0101 or s0=0111 then q500<='1'; else q500<='0'; end if; end if;if m1=0101 and m0=1001 and s1=0101 and s0=1001 thenqlk<='1';elseqlk<='0';end if;end if;end process;end sss_arc;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;以上回答你满意么
单片机数字钟课程设计小结
在小结中你所要阐述的内容:11、简述你所完成的工作;2、你在此过程中的收获;3、你的设计的不足之处以及你觉得应该如何改进至于具体的小结只有看了你的整个设计才可以写出,因为你的硬件设计软件设计别人都不知道,所以没法给你写。
数字钟实训报告怎么写
主要看你用什么来制作了 在数电课程有要求设计的,EDA中也有设计的
数字时钟温度设计
也是一个led网站 摘 要 本系统是从实际应用角度出发,针对当前市场上流行的LED产品的应用领域而设计制作的多功能电子显示屏,可用于商场导购促销显示、新闻与广告显示、车站机场班次时间资讯显示等。
本简易16行*64列LED电子显示屏根据题目设计要求,硬件部分主要包括SPCE061A单片机系统、16块8*8LED点阵显示模块构成16*64点阵、显示驱动电路、SPR4096存储器、PCF8563实时时钟电路、键盘输入控制器等部分,还外扩了液晶显示、温度实时检测、无线通讯、电机驱动屏幕旋转等电路,。
本系统不仅能够实现数字、字母、汉字等预存信息的切换显示,同时还可以实现信息的定时循环、上下左右滚屏、LED显示亮度连续可调、实时时间显示、实时温度显示、无线遥控、显示屏旋转等扩展功能。
另外,本系统可以和PC机通讯,通过PC机串口对显示信息进行更新。
关键词:LED电子显示屏 SPCE061A 串行通信 Abstract The LED lattice display system is a kind of new information display media with the rapid development of the computer, micro-electronics, photoelectron technology. This 16*64 LED display system includes SPCE061A MCU system, sixteen 8*8 LED lattice modules, display driving circuit, SPR4096 memory module, PCF8563 as the real-time clock chip, keyboard controller et. In addition, it includes LCD circuit, real-time temperature detective, RF communication circuit. This system can display the numbers, letters, Chinese characters. It can display the information timely and circularly, up-rollingly, down rollingly left-rollingly, right-rollingly. The lightness of the displaying information can be adjusted continuously. Further more, this system can be remote controlled and communicate with PC by COM1 to update the display information. Keywords: LED lattice display system SPCE061A serial communication 目 录 一、方案比较 4 1、控制系统 4 2、点阵信息提取方案 4 3、显示驱动电路 5 二、硬件设计与论证 5 1、主控制单片机 6 2、LED显示驱动电路 6 3、数据存储器 8 4、键盘液晶显示模块 9 5、无线通信模块 9 6、时钟电路的设计 10 7、温度检测 10 8、打印机的选择 11 9、旋转底盘的设计 11 三、系统的软件设计 11 1、主程序流程图 12 2、点阵字模信息提取程序流程图 12 3、LED各显示程序 12 4、串行通信程序 12 5、PC机客户程序 12 四、系统功能测试 16 1、测试及制作中所用仪器 16 2、键盘各键功能 16 3、单元模块电路测试 16 4、系统整体功能测试 16 五、总结 17 一、方案比较 1、控制系统 LED点阵电子显示屏的设计一般有两种方案: 方案一:采用可编程逻辑器件作为核心控制器产生LED点阵的行、列驱动信号。
由于该系统不仅要实现信息的显示,还要具备键盘控制器、显示亮度连续可调、实时时钟显示、与PC机通讯等功能及其他发挥功能,这就要求需要用中大规模的PLD,设计多个接口电路,开发周期长,不易进一步扩展,同时系统的成本会急剧上升(相对于第二种方案)。
因此,本设计并未采用这种方案。
方案二:采用单片机系统来实现。
鉴于SPCE061A单片机比传统的51系列8位单片机具有更加丰富的资源,而且数据处理速度快,同时“61板除了具备单片机最小系统电路外还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,体积小,可靠性高。
本系统的设计采用双单片机系统,一个主要用于完成多功能显示控制功能,另一个主要用于实时时钟显示、实时温度检测显示、无线通讯以及其他的扩展发挥部分功能,这样提供了充足的内部空间和更多的外部接口;同时由于安装和调试工作可以并行进行,极大地缩短了总体设计和制造的时间。
2、点阵信息提取方案 要用LED点阵来显示数字、字母和汉字等信息,首先要能够提取出其字模数据,即一个16*8的点阵数字、字母的字模数据共有16个字节,一个16*16的点阵汉字的字模数据共有32个字节。
首先要确定点阵信息提取方案。
方案一:固定汉字显示,就是将要显示的语句中全部汉字的字母数据依次提取出来,按顺序存放在存储器中,当有显示任务时,直接取出字模数据送至显示器即可。
这种方法占用空间少,程序实现简单,显示速度快。
本系统中对10组预存信息的点阵信息的提取和存储就是采用这种方案。
但是,要想显示大量的汉字信息或直接对显示信息进行更新,则几乎是不可能的事。
因此,要实现这样的功能就要采用第二种方案。
方案二:将标准的点阵信息字模数据的字库文件(本系统中采用汉字库文件HZK16、ASCII码库文件ASC16)装入外扩ROM存储器,采用与PC机相同的编码(机内码),先进行基于PC机的预处理,提取需显示内容的机内码,通过串口发给单片机,单片机首先进行判断,若是ASCII码,则直接计算出起始地址,在ASC16文件中指定位置取出连续的16个字节即为其字模信息;若为汉字,单片机将机内码转换为区码和位码,再计算出起始地址,在HZK16文件中指定位置取出连续的32个字节即为其字模信息,然后送到显示器去显示。
另外,PC机与单片机之间串口通信只是传输机内码,而不是传输字模信息,传输信息量小,不需要复杂的通信协议。
这样既可以减轻单片机的负担,而且可以根据要求随时改变显示内容,非常简单灵活。
3、显示驱动电路 常用的显示驱动方式有三种: 方案一:串行控制驱动,这种方式的好处是单元内的线路连接简单,给印刷电路板的设计带来方便,减少了布线的密度,方便以后的制作与调试,而且相对提高了每个单元的可靠性; 方案二:并行控制驱动,将显示数据通过并行(一般为8位)方式送入驱动电路,这样的好处是:相对于串行控制而言,数据的刷新速度快,在处理同等数量的数据时,对处理速度要求可以大大降低,从而提高了系统的稳定性,但也正因为“并行”使单元内的数据线路的连接更加复杂,布线后的排错难度大大增加; 方案三:采用专用集成电路(ASIC)直接驱动,由于这种专用集成电路是集行控制、列控制和外围驱动于一体,使系统的稳定性更为可靠,特别适合户外的大型或者超大型显示屏。
因为这种类型的显示屏对图像显示要求高,不仅要保证图像的一致性,而且要保证图像的稳定、高亮。
本次设计的显示屏仅为16行*64列,更适合采用串行控制这种方式,这样做既省去了并行控制驱动在制版过程中十分复杂的布线,又因为没有采用专用集成电路在一定程度上降低了整个系统的成本。
二、硬件设计与论证 根据以上的系统方案比较与分析,本设计的系统总体组成框图如图1所示: 图1 系统的总体组成框图 系统整体由三大部分构成: 以单片机1#为核心的模块一:包括16*64LED点阵、驱动电路、STR4096存储器、无线数传模块、旋转底盘、光电传感器、音箱、打印机。
实现功能:主要用来实现点阵的显示,包括特定标语库内容的显示,适时时间显示、适时温度显示,并实现上下左右滚屏等各种花样显示;存储器用来存储汉字和ASCII码的点阵库,并实现掉电不丢失功能;无线模块实现标语库更新和接受设置信息;底盘可实现显示屏的左右转动,摆动幅度可调;在商场导购中,光电传感器用于检测人员进出,可与自动门配合使用,音箱播放“欢迎光临”等语音信息;在广告牌应用中,打印机用于名片打印。
以单片机2#为核心的模块二:包括4*4键盘、液晶、无线数传模块。
实现功能:该部分实现遥控器的功能,可以遥控设置显示屏的滚动模式,选择标语库,设置时间,设置摆头幅度;实现标语库的更新。
(键盘使用说明见附录一) 以上位PC机为核心的模块三:包括上位机软件和MAX232。
实现功能:上位机主要实现标语库的数据更新,上位机软件通过MAX232将更新内容(汉字或者ASCII码的机内码)送到单片机2#,然后无线传输到单片机1#实现数据更新。
以下是各单元电路的具体设计: 1、主控制单片机 采用凌阳公司的16位单片机SPCE061A作为主控制器。
由于SPCE061A内置有2K字的SRAM和32K字的内存FLASH,能满足本系统数据处理及LED点阵显示所需数据的存储要求;CPU时钟频率高达49.152MHz,能满足刷新速度要求。
另外,“61板”功能较强、性价比高,具有体积小、集成度高、易扩展、功耗小等优点,简化主控制系统的硬件电路设计,可靠性高,而且凌阳单片机具有C语言风格的汇编语言,有与标准C兼容的C语言,C语言函数可以与汇编函数互相调用,使其开发更加容易,实现整个系统更加简单。
2、LED显示驱动电路 本次设计中16行*64列LED电子显示屏的制作以及其显示驱动电路的设计制作都是非常关键的部分。
下面主要介绍一下显示驱动电路的设计。
本LED点阵屏采用动态扫描的方式显示,即逐行扫描,工作时先将一行点阵字模通过列驱动输出,然后运用译码器选中对应行,使该行得以显示,接着再送下一行数据,再选中下一行有效,直到16行全被扫描一遍。
至此,一幅完整的文字信息就显现出来。
然后在反复扫描这16行直至显示新的信息。
采用这种方式的优点是耗电少,成本低,寿命长,但是也存在显示亮度及内容显示稳定的问题。
根据视觉滞留原理,根据视觉滞留原理,每屏的完整的显示时间应控制在20ms之内,即50Hz,人眼看上去才不会觉得闪烁。
由于要扫描16 行的点阵,所以每行的时间绝不能超过20ms÷16=1.25ms,同时也不是每行的扫描时间越短越好,因为LED的亮度同电流的大小和维持时间的长短有关。
LED点阵块的单点静态电流一般在10mA左右,由于占空比是1\\\/16,所以单点的动态电流最大可以达到160mA。
在维持时间恒定的情况下,电流越大(不超过额定电流),点阵亮度也越亮,而在电流恒定的情况下,需要一段维持时间来保持亮度。
试验表明当输入LED的电流为15mA时,维持时间至少需要1ms,否则LED呈微亮状态。
由于设计时设置SPCE061A单片机的时钟频率为24MHz,而每次传送移行的字模数据有64位,经计算传输所需的时间小于1ms,这样就能充分利用列驱动74HC595的锁存功能,即在它接收下一行待显示的数据,还没有锁存新数据的这段时间来显示本行的内容,这样就不需要额外加延时来增加显示屏的亮度。
采用这个方法就不要再增加LED的列驱动器件,从而使整个硬件结构更简化,成本降低。
行信号的处理是由四十六译码器CD4514来完成译码,输出为高。
由于显示屏行的组成是多个模块并联而成的,因而行驱动得功率要求比较大,而且我们进行行扫描时需要所选行为低,故加反相驱动器ULN2803来满足要求。
列信号的处理列信号的处理主要由8片8位带锁存的串入并出移位寄存器74HC595来完成。
从单片机IO口串行输出的64位点阵数据随着移位时钟的作用逐位移动到对应位置,在接收到锁存信号后,将数据并行输出至LED的列线,最后在行驱动信号作用下点亮一行LED象素。
显示扫描电路的电路图如图2所示。
图2 LED显示扫描驱动电路 3、数据存储器 设计题目要求能增大到10组预存信息,且显示信息具有掉电保护功能,同时考虑到要把汉字点阵字库文件HZK16(261K字节)和ASCII码点阵字库文件ASC16(4K字节)装入到ROM存储器中,以便根据机内码在字库中寻址,找到对应的字模,提取后再送到点阵显示屏显示。
因为SPCE061单片机的内存Flash只有32K,还要存放程序,因此需外扩数据存储器。
我们选择了凌阳“61板”的配套模组SPR4096。
SPR4096是一个高性能的4M-bit(512K字节)FLASH,分为256个扇区,每个扇区为2K字节。
SPR4096串行接口的工作频率可达5MHz,数据存取速度和存储容量都能够达到我们的要求。
硬件图连接如图3所示: 图3 SPR4096硬件连接图 4、键盘液晶显示模块 为使用键盘作为显示屏控制器,实现多功能显示控制,我们使用智能型键盘显示控制芯片HD7279A作为4*4键盘与单片机之间的接口,其与微处理器仅需4条接口线,采用串行通信方式,占用CPU端口少,同时HD7279得到键盘码后通过中断服务程序把按键信息送给单片机,使单片机可以腾出更多时间质性其他操作。
设计中我们需要用液晶模块显示遥控单片机菜单的各信息。
在本系统中选用了OCM4×8C模块,可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能,既可采用并行接口,又可采用串行接口,连线较为方便。
HD7229、OCM4×8C与单片机连接原理图如图4所示。
5、无线通信模块 在本设计中,我们采用了两块61板,1#板主要用于完成控制LED显示屏,2#板主要用于键盘液晶控制、实时时钟、实时温度检测显示、与PC机通讯以及其他的扩展发挥部分功能。
两板之间采用无线通讯进行数据传输。
为满足系统的要求我们选择了SRWF-1型微功率无线数传模块,该模块的特点是:高抗干扰能力和低误码率、完善的通讯协议、数据实时同步、看门狗实时监控、传输距离远、低功耗及休眠功能高可靠性,体积小、重量轻。
图4 键盘显示电路 SRWF-1型模块提供2个串口3种接口方式,COM1为TTL电平UART接口,COM2由用户自定义为标准的RS-232\\\/RS-485接口(用户只需拔\\\/插短路器再上电即可改变接口类型)。
SRWF-1提供的两个串口,在使用时注意以下事项:(1)对于空中接收的数据,SRWF-1通过串口转送给终端设备时,COM1和COM2同时输出,即用户如果在COM1和COM2各连接了1个设备,他们都可同时收到数据;(2)对于由终端设备送来,准备向空中发射的数据,SRWF-1只能正确接收COM1或COM2其中1个串口送来的数据,否则将造成数据通讯混乱。
如终端设备在向COM1发送1个0x12(数据正在传送)时,再向COM2发送1个0x34,模块将收到一个数据串0x12,0x34。
图5 SRWF-1与用户设备接口电路 注:没有使用的引脚可以悬空不连。
但不能连接长悬空线,以免引入干扰。
6、时钟电路的设计 系统要求实现实时时间的显示,这里我们选用串行日历时钟芯片PCF8563,,与单片机的连线大为减少,极大的节省了单片机的系统资源。
PCF8563与单片机的接口电路如图6所示。
而且该部分电路还加了掉电保护功能,在主供电系统意外断电时,即Vcc为0V时,D1截止, 3.6V备用电源通过D2继续给PCF8563供电,保证8563的正常运行。
图6 PCF8563时钟电路 7、温度检测 本系统扩展了实时温度检测显示功能,选用DS18B20一线式数字温度传感器,通过单片机读取当前环境温度可通过键盘切换显示时间和温度。
图6 DS18B20与单片机的接口电路 8、打印机的选择 本系统还扩展了打印机功能,在广告牌应用中用来打印名片等相关信息。
我们选择了北京市兴伟机电应用技术研究所研制的微型热敏\\\/针打打印机。
通过通用的ESC\\\/P打印命令实现字符的打印。
图7 打印机接口控制时序图 9、旋转底盘的设计 针对应用的需要,系统扩展了显示屏旋转功能,用普通小型直流电机提供动力,由变速箱减速并加大驱动能力,实现显示屏幕左右摆动,并且幅度可调。
图8 直流电机驱动电路 三、系统的软件设计 本系统的软件部分主要包括主程序、点阵字模信息提取程序、LED各显示程序、串行通信程序以及PC机客户程序等。
1、主程序流程图 见图8。
2、点阵字模信息提取程序流程图 见图9。
3、LED各显示程序 LED显示屏的显示方式有静止、上下滚屏、左右滚屏等多种方式。
其中上下滚屏显示程序类似,左右滚屏显示程序类似,其他多花样的显示方式程序都是在此基础上进行改动而来的。
因此主要给出静态显示、上移显示、左移显示这三种典型方式的程序流程图,见图10、图11、图12。
4、串行通信程序 每当向PC机客户程序里输入新显示内容并发送给单片机时,单片机就产生串行中断,接受待显示信息的机内码,然后再利用点阵字模信息提取程序得到点阵数据送到LED显示屏显示。
单片机接受数据采用中断的方式。
串行中断程序流程图见图13。
5、PC机客户程序 本系统的PC机客户程序是采用Visual Basic 6.0进行开发的,主要利用其串行通信控件MSComm,其主要流程图及运行效果见图14、图15。
图8 主程序流程图 图9 点阵字模信息提取程序流程图 图10 静态显示程序流程图 图11 上移显示程序流程图 图12 左移显示程序流程图 图13 串行中断程序流程图 图14 PC机客户程序流程图 图15 PC机客户控制程序的界面 四、系统功能测试 1、测试及制作中所用仪器 GDS-820C型双踪数字示波器、UNT-T型台式数字万用表、 SK1731SL2A直流稳压电源、F10型数字合成函数信号发生器、 联想PC、烙铁等 2、键盘各键功能 1 2 3 4 5 6 7 8 9 0 .\\\/+ C\\\/- 确定 上 下 取消 “0—9” :数字键; “. \\\/+” :小数点\\\/数据加1; “C\\\/-” : 删格\\\/数据减1; “确定” :进入菜单,保存设置 “取消” :返回上一级菜单 “上” : 菜单上翻,插入点左移 “下” : 菜单下翻,插入点右移 3、单元模块电路测试 1)LED点阵测试:用程序实现所有点阵全部点亮,显示部分点阵块无法完全点亮,更换点阵块后显示正常。
2)无线数传测试:由单片机#2无线发送1000字节数据,单片机#1接收并存储,通过开发环境查看接收数据,发送一百次,成功接收100次,经测试系统稳定; 3)与上位机通信测试:上位机循环发送1000字节数据,单片机接收并校验,接受成功后送液晶显示,然后停止发送,经测试接收时间相对于人的反映时间可以忽略。
测试20次,成功接受20次。
4)键盘液晶测试:用键盘控制菜单进出,上下翻页,键盘无抖动,液晶无闪烁。
4、系统整体功能测试 各单元模块整合后,系统上电,显示屏上显示预存信息,通过2#机上的键盘可以成功控制1#机上的显示,包括预存信息切换显示、翻页、上下滚屏、左右滚屏、对流、展开等各花样显示方式、LED显示屏亮度连续可调,能成功地显示出字母、数字、汉字等信息,通过按键可以控制显示实时时间、实时温度等信息,而且断电后,重新开机,预存的显示信息与时间均可掉电保护。
通过PC机的客户程序发送需更新信息数据到2#机,由2#机通过无线数传模块发送给1#机,可以成功地更新显示内容。
经过多次测试,整个系统工作稳定可靠,能够实现上述所有功能。
五、总结 我们制作的这套LED点阵电子显示屏系统不仅完成了题目要求的基本功能和发挥功能,还在实时温度检测显示、无线遥控、显示方式等方面有所创新。
本系统以凌阳16位单片机SPCE061A为核心部件,最终完成了竞赛题目中要求的各项任务,包括可以控制16*64LED点阵显示屏实现信息的左右滚屏、显示屏亮度连续可调、实时时间和实时温度的显示等,在设计过程中,力求硬件线路简单,充分发挥软件在编程方面灵活的特点,来满足系统设计的要求。
在竞赛的过程中,我们遇到了许多突发性的不太好解决的问题,例如,在整个系统的调试过程中,我们体会到无论是硬件还是软件的调试都要注意模块化,要从最底层开始,逐级通过后才能进行下一步的工作;同时在联合调试的过程中,应注意各模块之间的时序配合问题,有时都是正确的模块程序却因为按照不恰当的顺序来执行从而导致程序运行结果完全出错。
通过这次比赛,我们深深的体会到了团队间的共同协作的重要性,提高了自己的动手能力和解决问题的能力。



