演讲限时器单片机设计
- 格式:docx
- 大小:366.87 KB
- 文档页数:16
单片机设计24秒倒计时1.引言倒计时器是一种常见的电子设备,被广泛应用于体育比赛、倒计时游戏、厨房计时等场景中。
本文介绍了使用单片机设计一个24秒倒计时器的方法和过程。
2.设计原理本设计使用的单片机为51系列单片机,采用倒计时的方式进行计时,显示剩余时间,并发出声音提示时间结束。
具体实现主要包括以下几个步骤:-初始化单片机的定时器和功能引脚;-设置定时器的工作模式和计时时间;-编写程序控制定时器开始计时;-显示剩余时间并发出声音提示;-定时器到达设定时间后,停止计时并显示时间结束。
3.硬件设计硬件设计主要包括51系列单片机、LED数码管和蜂鸣器。
-单片机需要通过引脚连接LED数码管,用于显示剩余时间;-单片机通过一个GPIO引脚连接蜂鸣器,用于发出时间结束的提示声音。
4.软件设计软件设计主要包括初始化、计时、显示和提示等功能。
-初始化函数主要用于设置单片机的定时器和GPIO引脚;-计时函数用于设定倒计时的时间,并开始计时;-显示函数用于将剩余时间显示在LED数码管上;-提示函数用于判断是否到达设定时间,如果是则停止计时并发出提示声音。
5.实验结果经过调试和测试,实验结果表明该24秒倒计时器可以正常工作。
在开始计时后,数码管上会显示剩余时间,同时蜂鸣器会发出定时器结束的提示音。
6.结论本文介绍了使用单片机设计24秒倒计时器的方法和过程。
该设计通过初始化、计时、显示和提示等功能,实现了24秒倒计时的功能要求。
同时,该设计可以在实际中进行必要的优化和改进,以满足具体的应用需求。
7.致谢感谢本文参考的相关文献和资料,以及为本文提供实验设备和技术支持的相关人员。
[1]《51单片机原理与应用》[2]《C语言微机原理与接口技术》总结:本文主要介绍了使用单片机设计24秒倒计时器的方法和过程。
通过初始化、计时、显示和提示等功能,实现了24秒倒计时的功能要求。
同时,该设计可以在实际中进行必要的优化和改进,以满足具体的应用需求。
《单片机原理与应用》课程考试题型1、判断与填空2、回答提问3、改错4、编程设计5、系统硬件分析与设计考试中的典型题型1. 试说明微机系统、微机、中央处理器(CPU)、微处理器、微机开发系统等名词的意义与区别。
2. 计算机中为何要采用二进制?十六进制在计算机中起何作用?CPU是否可以直接执行十六进制数?3. 简述AT89C51单片机片内与片外RAM的空间分配。
4. MCS51单片机支持的中断数量及中断入口地址;5. 如何改变8051的当前工作寄存器组?6. 指出下列每条指令的寻址方式及其功能1、MOV A,#40H2、MOV A,40H3、MOV A,@R04、MOV A,R55、MOVC A,@A+DPTR6、SJMP LOOP7. 写出下列指令的机器码并指出每条指令中的50H或66H代表的是什么?1、 MOV A,#50H2、MOV @R0,#66HMOV A,50H MOV R6,#66HMOV 50H,#20H MOV 66H,#45HMOV C,50H MOV 66H,CMOV 50H,20H MOV 66H,R18. 编程,将8031单片机片内RAM 40H~4FH单元中的数据传送到片内RAM 60H~6FH单元中。
9. 编程,将8031单片机片外RAM 1000H~1030H单元中的数据顺序传送到片内RAM 从30H开始的地址单元中。
其他:要求每过1s传送1B数据,该如何设计程序?10. 试编写程序,判断30H单元中的数据是奇数还是偶数,是奇数则把31H单元置1,是偶数则把31置0。
要求不破坏30H单元的内容。
12.在单片机片外RAM 中,有起始地址为SOURCE及长度为LEN的数据块(长度不超过256B),试编一程序,将该数据块中的奇数(字节中1的个数为奇数)选出并送到以片外RAM起始地址为DIST为地址单元中。
13. 请编程,把片内RAM 以BLOCK为起始地址的100个无符号数中的最大数找出来(有几个找几个)并放入MAX单元,最大数的个数送NUM单元。
开放式单片机应用系统专题设计专题名称:演讲定时器班级:光电1103班姓名:彭超学号:U201114995指导老师:曹丹华一、任务要求基本要求:1.计时精度为1秒2.可通过键盘设置规定的演讲时间3.有启动、停止键、复位键4.时间过半有声音提示(1秒)5.正常演讲时绿灯每隔3秒闪烁一次(亮1s熄2s)6.演讲结束前一分钟有声音提示,同时指示灯由绿灯变为黄灯,且闪烁频率不断加快,到达定时时间蜂鸣器长鸣2秒二、功能特点及使用说明功能特点:1.可以调节LED数码管的亮度,以适应不同环境的需求,在周围环境较暗是亦可降低LED数码管的亮度节省电池电量,如果做成工业产品必定是便携式的,耗电量很重要(其实这玩意儿做单片机上估计没人用,编一个手机上用的app还是蛮不错的)2.设置了两种计时模式,一种是直接输入[秒数](比如演讲3分钟,输入0180),另一种是输入[分.秒](比如演讲3分钟,输入0300)3.设置了静音键,当演讲者希望关闭声音时,可以使用按键来关闭声音4.设置了一个重置键,用来重置机器5.设置了一对RUN/STOP键,用来暂停/恢复演讲计时使用说明:1.键盘整个键盘被分为十个数字键和六个功能键,各键功能:开机之后通过数字键0、1来选择模式2.声音数码管最末尾的小数点代表声音是否打开,按F12可关闭声音3.亮度调节按F14可以增加亮度,按F13可以降低亮度,总共设置了六级亮度,足以适应生活中对亮度的要求4.锁定暂停恢复F11可以暂停计时,之后可以通过F10来恢复计时5.软件重启F15可以在任何时候复位机器,在计时结束之后必须通过F15才可以重新设置计时6.模式选择开机后的画面如左图所示现在按下0可进入模式0按下1可进入模式1进如模式1后的画面如左图所示中间小数点左边数字为分右边的为秒按下数字键由高位到低位依次录入数据左图为7分28秒最末位的小数点表示声音打开进如模式0后的画面如左图所示按下数字键由高位到低位依次录入数据三、设计方案1.定时与中断的选择由于要控制黄灯的闪烁频率,亮1s,灭2s,之后亮1s,灭1.95s……黄灯熄灭的的时间为公差为50ms的等差数列故选择定时器定时时间为50ms,在中断内设置一个20分频的寄存器,每一秒钟加一,主程序中识别这个1s刺激信号来运作关于CPU时钟的选择,当然我情愿去选24.5MHz,这样指令跑的比较快,但是这样做会使CPU的负荷更高,并且做软件延时的时候需要更多次循环,不仅编写程序时要多加两条语句,更加重了CPU的负担,于是我的CUP时钟选取了最低的3.0625MHz2.按键的设计按键了解清楚是由低四口驱动的话就给高四口送高电平,低四口写入低电平,每当有键按下,高四口对应的引脚的电平就会被拉低,由此来涉及按键程序(消抖还有取键值等基本内容就不必多讲了)3.计时时间的输入开机后,在选完模式之后按顺序由高位到低位输入数据,如果有数字键按下,则通过一个指针直接将输入的键值直接写入显存,以后要使用的时候也直接从显存调用,非常方便4.绿灯闪烁的控制绿灯由于要3秒闪一次,所以之间使用一个寄存器做三分频,然后来控制绿灯在其中1s种内亮,而剩下的两秒种内熄灭5.黄灯变频闪烁的实现方法黄灯的变频闪烁要在时间到达最后60s才会启动,黄灯每次点亮1s之后熄灭一段时间,熄灭的时间是一个递减的等差数列,这样就可以做到黄灯的闪烁频率逐渐加快(经过计算后熄灭的时间依次为2s 1.95s 1.9s ……..0s),由于黄灯的程序比较短,置于中断中,在提高程序稳定性的同时不会致使中断过于冗长6.蜂鸣器的控制中断每一秒钟产生一个信号,之后主程序在接受到这个信号之后开始进行一系列的工作,其中就有判断现在蜂鸣器是否应该响,如果蜂鸣器响了,那么下一秒就会被关掉,这样就做到了响1s 结束时需要响两秒,这只需要一个2s中的延时程序,延时结束之后再将蜂鸣器关掉我还设置了一个静音键,每当蜂鸣器要工作时,都会检查静音控制单元,再确定是否打开蜂鸣器7.两种计时模式下显示的区分方法在模式选择时建立了一个模式控制字,显示时通过模式控制字来确定2号数码管是否显示小数点老区别分和秒8.亮度调节与按键静音的实现亮度控制字设置了六级亮度控制,每当显示完之后都会查询亮度控制字来确定LED灯的熄灭时间,一用人的视觉暂留效应,熄灭时间越长,LED就显得越暗9.暂停复位功能暂停就是机器动态停机,主要是关闭中断,还要在动态刷新显示器和按键,以对复位键的按下做出响应,再打开中断恢复机器状态四、流程图五、源程序系统内存分配表:File name: mcu_pengchao.asmDescription: 演讲计时器Date: 2013-11-7Designed by: 彭超光电1103班U201114995Source used: 30H,31H,32H,33H,34H,35H,36H,37H38H,39H,3AH3BH,3CH,3DH,3EH40H,41H,42H,43H,44H,45H,46H47H,48H,4AH,4BH,4CH,4DH,4EHR0,R1,R2,R3,R4,R5,R6,R7,R8,A,B;data;请参照上页的系统内存规划表比对其含义$include (C8051F310.inc)ORG 0000HSJMP STARTORG 000BHSJMP T0IORG 0030HSTART: MOV SP,#50HACALL Init_DeviceACALL OTHERSMAIN: ACALL MODCHOOSEACALL INPUTACALL READYMOV R7,#0TIME: ACALL DAKMOV A,R7CJNE A,3AH,CHANGESJMP TIMECHANGE: MOV 3AH,R7ACALL DISCHANGEACALL LEDCONACALL VOICESJMP TIME;///////////////////////////////////////////////;// 中断服务//;////////////////////////////////////////////////T0I: MOV TL0,#138 ;载入计时初值(50ms) MOV TH0,#244PUSH ACC ;保护现场PUSH PSWINC 45HMOV A,45HCJNE A,#20,JIXUMOV 45H,#0INC R7JIXU: CJNE R5,#4,TUICHU ;黄灯置于中断中ACALL YELLEDTUICHU: POP PSW ;恢复现场POP ACCRETI;///////////////////////////////////////////////;// 黄灯控制//;///////////////////////////////////////////////YELLED: MOV A,46HCJNE A,#0,CLSD9 ;判断该亮还是该灭MOV 44H,#0CLR P0.0INC 47HMOV A,47HCJNE A,#20,JIESHU ;亮1sMOV 47H,#0MOV 46H,#1SJMP JIESHUCLSD9: MOV 44H,#1SETB P0.0DEC 49HMOV A,49HCJNE A,#0,JIESHUMOV 46H,#0DEC 48HMOV 49H,48H ;灭的时间每次减少50ms JIESHU: RET;////////////////////////////////////////////////;// 模式选择//;///////////////////////////////////////////////MODCHOOSE: ACALL DAKCJNE A,#0,JXMOV 3DH,#0 ;选择模式0后显示----MOV 36H,#0AHMOV 37H,#0AHMOV 38H,#0AHMOV 39H,#0AHRETJX: CJNE A,#1,MODCHOOSEMOV 3DH,#1 ;选择模式1后显示≡.≡MOV 36H,#0CHMOV 37H,#0CHMOV 38H,#0CHMOV 39H,#0CHRET;////////////////////////////////////////////////;// 显示与按键//;////////////////////////////////////////////////DAK: ACALL DISACALL SCANKEYACALL KEYRET;显示DIS: MOV R0,#36HMOV R3,#00HMOV A,R3DX: ORL A,44H ;黄灯也要使用P0口(44H为黄灯控制单元)MOV P0,AMOV A,@R0MOV DPTR,#DSGMOVC A,@A+DPTRCJNE R0,#36H,PDMOV R4,35HCJNE R4,#1,DIR ;声音开启时显示末位的小数点INC ASJMP DIRPD: CJNE R0,#38H,DIRMOV R4,3DHCJNE R4,#1,DIR ;模式2时显示中间的小数点来分隔分秒INC ADIR: MOV P1,AACALL D2MSINC R0MOV A,R3ADD A,#40HJC LDMOV R3,ASJMP DXLD: MOV P1,#0;通过34H单元控制延时,实现亮度控制MOV A,34HCJNE A,#5,TO4RETTO4: CJNE A,#4,TO3ACALL D2MSACALL D2MSRETTO3: CJNE A,#3,TO2MOV R4,#6HERE1: ACALL D2MSDJNZ R4,HERE1RETTO2: CJNE A,#2,TO1MOV R4,#9HERE2: ACALL D2MSDJNZ R4,HERE2RETTO1: CJNE A,#1,TO0MOV R4,#15HERE3: ACALL D2MSDJNZ R4,HERE3RETTO0: MOV R4,#29HERE4: ACALL D2MSDJNZ R4,HERE4RETD2MS: MOV R2,#0DEL: NOPNOPDJNZ R2,DELRETDSG: DB 0FCH,060H,0DAH,0F2H,066H,0B6H,0BEH DB 0E0H,0FEH,0F6H,002H,06CH,092H,3H,7H,17H;键盘扫描SCANKEY: ANL P2,#0F0H ;低四位同时写0,看高四位哪一位为0,则对应列号MOV A,P2CJNE A,#0F0H,K1MOV A,#16MOV 43H,#16 ;无键按下,返回键值为16RETK1: ACALL DELAYANL P2,#0F0HMOV A,P2CJNE A,#0F0H,K2SJMP SCANKEYK2: ACALL KVCK3: MOV P2,#0F0HMOV A,P2CJNE A,#0F0H,K3 ;等待按键松开ACALL DELAYMOV A,R2MOV B,#04H ;根据行列号计算键值MUL ABADD A,R3MOV 43H,ARET;低四位同时写0,看高四位哪一位为0,则对应列号KVC: MOV 40H,A ;将P2端口高四位的状态存于40H中,留待行的判断MOV R2,#04HLIE: SETB CRLC ADEC R2JC LIE ;列号存在R2中MOV R3,#0FFHMOV 41H,#0FEH ;低四位依次写零(低四位具有驱动能力)MOV 42H,#0FEHMOV R0,#42HMOV P2,#0FEHHANG: MOV A,P2XCHD A,@R0MOV P2,AMOV A,41HRL AMOV 41H,AMOV 42H,AMOV A,P2ANL A,#0F0H ;A的低四位清零,用来和R4的高四位进行判断INC R3 ;行号存在R3中CJNE A,40H,HANGRETDELAY: MOV R4,#16LP1: MOV R6,#250LP2: DJNZ R6,LP2DJNZ R4,LP1RET;键值响应KEY: CJNE A,#16,NEXT ;无键按下SJMP GIVENEXT: CJNE A,#15,NEXT1 ;复位键AJMP STARTNEXT1: CJNE A,#14,NEXT2 ;增加亮度MOV R3,34HCJNE R3,#5,THEN1SJMP GIVETHEN1: INC 34HSJMP GIVENEXT2: CJNE A,#13,NEXT3 ;减小亮度MOV R3,34HCJNE R3,#0,THEN2THEN2: DEC 34HSJMP GIVENEXT3: CJNE A,#12,NEXT4 ;关闭声音MOV R1,35HCJNE R1,#1,THEN3MOV 35H,#0SJMP GIVETHEN3: MOV 35H,#1SJMP GIVENEXT4: CJNE A,#11,GIVE ;暂停ACALL STOPGIVE: MOV A,43HRET;锁定STOP: CLR ET0CLR TR0ACALL DISACALL SCANKEYCJNE A,#10,STOPSETB ET0SETB TR0RET;///////////////////////////////////////////////;// 声音控制//;///////////////////////////////////////////////VOICE: ACALL VOICE_HALFACALL VOICE_60SACALL VOICE_ENDRETVOICE_HALF: CLR P3.1MOV A,3BHCJNE A,#1,MIN ;如果之前就过一半了,则跳过该程序CLR CMOV A,32HSUBB A,#1MOV 32H,AMOV A,33HSUBB A,#0MOV 33H,A;减法结束CJNE A,#0FFH,MINMOV 3BH,#0MOV A,35HCJNE A,#1,MINSETB P3.1MIN: RETVOICE_60S: MOV A,31HCJNE A,#0,NXNX ;如果输入值小于60s,则跳过MOV A,30HCJNE A,#61,LEXXLEXX: JNC NXNXMOV R5,#4SJMP MIMNXNX: MOV A,3CH ;如果之前就在60s响过了,则跳过CJNE A,#1,MIMMOV A,3DH ;模式判别(3DH为模式控制单元)CJNE A,#0,MOOD2MOV A,39HCJNE A,#0,MIMMOV A,38HCJNE A,#0,MIMMOV A,37HCJNE A,#6,MIMMOV A,36HCJNE A,#0,MIMSJMP MIIMOOD2: MOV A,39HCJNE A,#0,MIMMOV A,38HCJNE A,#1,MIMMOV A,37HCJNE A,#0,MIMMOV A,36HCJNE A,#0,MIMMII: MOV 3CH,#0MOV R5,#4MOV A,35HCJNE A,#1,MIMSETB P3.1MIM: RET;结束判断VOICE_END: MOV A,39HCJNE A,#00H,RUNMOV A,38HCJNE A,#00H,RUNMOV A,37HCJNE A,#00H,RUNMOV A,36HCJNE A,#00H,RUNCLR ET0CLR TR0CLR EAMOV A,35HCJNE A,#1,NXSETB P3.1NX: MOV R3,#0NUX: ACALL DELAY ;延时2s(响2s)DJNZ R3,NUXMOV R3,#0NUY: ACALL DELAYDJNZ R3,NUYCLR P3.1ED: ACALL DAKSJMP EDRUN: RET;///////////////////////////////////////////////;// 绿灯控制//;////////////////////////////////////////////////LEDCON: CJNE R5,#4,GRELED ; R5=4意味着绿灯不应该亮(最后60s了)SJMP MIEGRELED: INC R5CJNE R5,#3,MIE ;R5在0 1 2之间循环(3秒中有一秒被点亮)MOV R5,#0CLR P3.3MOV R3,#8LOOP: CLR P3.4SETB P3.4DJNZ R3,LOOPSJMP HALFMIE: SETB P3.3MOV R3,#8LUUP: CLR P3.4SETB P3.4DJNZ R3,LUUPHALF: RET;////////////////////////////////////////////////;// 输入数值//;///////////////////////////////////////////////INPUT: LCALL DAKCJNE A,#10,GOONGOON: JC GOSJMP INPUTGO: DEC R1MOV @R1,ACJNE R1,#36H,INPUTWAIT: LCALL DAKCJNE A,#10,WAITRET;///////////////////////////////////////////////;// 准备计时//;///////////////////////////////////////////////READY: MOV A,3DHCJNE A,#0,MD1 ;模式判别;数值提取MOV A,37HMOV B,#10MUL ABMOV 4AH,AMOV A,38HMOV B,#100MUL ABMOV 4BH,AMOV 4CH,BMOV A,39HMOV B,#10MUL ABMOV B,#100MUL ABMOV 4DH,AMOV 4EH,BMOV A,36HADD A,4AHADD A,4BHMOV 4BH,AMOV A,4CHADDC A,4EHMOV 4EH,AMOV A,4BHADD A,4DHMOV 30H,AMOV A,4EHADDC A,#0MOV 31H,A ;(模式0)转化为16进制数后存放于30H 31H单元SJMP CHUYI2MD1: MOV A,37HMOV B,#10MUL ABADD A,36HMOV 4AH,AMOV A,39HMOV B,#10MUL ABADD A,38HMOV B,#60MUL ABADD A,4AHMOV 30H,AMOV A,BADDC A,#0MOV 31H,A ;(模式1)转化为16进制数后存放于30H 31H单元CHUYI2: CLR CRRC AMOV 33H,AMOV A,30HRRC AMOV 32H,A ;除以2后存放于32H 33H单元;3 2 1 GOSETB EASETB ET0MOV TL0,#0C6HMOV TH0,#06HSETB TR0RET;开始计时;///////////////////////////////////////////////;// 显存减一//;///////////////////////////////////////////////DISCHANGE: MOV A,3DHCJNE A,#0,MOD1 ;模式识别DEC 36HMOV A,36HCJNE A,#0FFH,SHIWEIMOV 36H,#09HDEC 37HSHIWEI: MOV A,37HCJNE A,#0FFH,BAIWEIMOV 37H,#09HDEC 38HBAIWEI: MOV A,38HCJNE A,#0FFH,QWEIMOV 38H,#09HDEC 39HQWEI: MOV A,39HCJNE A,#0FFH,NUNUMOV 39H,#09HSJMP NUNUMOD1: DEC 36HMOV A,36HCJNE A,#0FFH,MIAOMOV 36H,#09HDEC 37HMIAO: MOV A,37HCJNE A,#0FFH,FENMOV 37H,#05HDEC 38HFEN: MOV A,38HCJNE A,#0FFH,TWEIMOV 38H,#09HDEC 39HTWEI: MOV A,39HCJNE A,#0FFH,NUNUMOV 39H,#05H NUNU: RETI;/////////////////////////////////////////////// ;// 内存的初始化// ;/////////////////////////////////////////////// OTHERS: CLR P3.1MOV 44H,#1MOV R1,#3AHMOV 43H,#0MOV 3AH,#0MOV 3BH,#1MOV 3CH,#1MOV 34H,#3MOV 35H,#1MOV 36H,#11MOV 37H,#11MOV 38H,#11MOV 39H,#11MOV R5,#0MOV 3DH,#3MOV 46H,#0MOV 48H,#40MOV 49H,#40RET;/////////////////////////////////////////////// ;// 单片机初始设置// ;/////////////////////////////////////////////// Init_Device:; PCA_Initanl PCA0MD, #0BFhmov PCA0MD, #000h; Timer_Initmov TMOD, #001hmov CKCON, #002hmov TL0, #0C6hmov TH0, #006h; Port_IO_Initmov P0MDOUT, #001hmov P1MDOUT, #0ffhmov XBR1, #040h; Interuput_InitCLR ET0CLR EACLR TR0retEND六、程序测试方法与结果七、心得与体会这次单片计划课程设计是我第一次亲手设计一个完整的系统,我的完成时间应该是比较短的,也没有感受到想象中的难度,不过这次设计确实在很多方面不同于平时课堂上的一些简单的程序我最大的感受就是流程图在系统设计中的作用,画好流程图,思路就清晰了,如果构思没有错误的话,剩下的事情就是矫正一些细节的错误,在抽选好题目之后就开始构思,大概花了一天把主程序和各个模块都构思好了,结下来的两天对着流程图敲代码,然后逐个模块进行调试,在第四天的时候就已经可以在开发板上跑出符合设计要求的结果了(当时只有键盘的部分是使用我同学的,我写的键盘程序在后来周四上机的时候让两位助教看了将近两个小时之后终于找到了问题,在这里真心的对助教表示感谢)我选择使用汇编语言编写程序,而没有选择自己熟悉的C,在现在看来这是一个比较正确的选择,用汇编语言写程序直接和硬件挂钩,了解了每隔端口的配置,深入理解了单片机结构和工作原理之后才会避免出现一些错误,如果当时用C来编写,不仅有可能使某些代码经过汇编之后变的很冗长,更重要的是自己有可能根本就不了解这些代码在机器中怎么运行,机器对代码处理的过程,,当然,这也体现了汇编语言编写程序的优点以往写小程序都不怎么主意的问题在这次课设中都暴露出来了,尤其是在内存的规划上,比如在完成计时的子模块之后的调试中发现,在输入数值大于768的时候中断会异常的没有办法打开,后来检查才发现是自己用了内存中几个Temp,它们的位置刚好在SFR内,后来就集中规划了内存,重新设置了堆栈栈底才解决问题总之这次课程设计培养了自己汇编语言遍写程序的能力,加深了自己对单片机的理解,也提升了自己对硬件层面程序语言的认识,对今后的学习和工作有很大帮助设计人签名:。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
课程设计说明书课程名称:单片机原理及应用设计题目:计数与定时演示灯设计院系:电子信息与电气工程学院学生姓名:学号:专业班级:指导教师:课程设计任务书定时与计数演示灯摘要:采用晶振和两个30uF电容组成时钟电路,用于产生系统工作室所必需的时钟控制信号;利用变压器、桥堆2W10一个1000Uf电容、7805、拨动开关、一个LED和一个5.1千欧的电阻组成电源电路,为系统提供+5V的稳定电压;使用一个30Uf电容、一个2千欧电阻、按键和一个1千欧电阻组成复位电路,用于系统初始化操作;用单片机(AT89C52)、八个1千欧电阻、八个LED、时钟电路、复位电路和电源电路组成一个操作简单,使用方便,能实现定时与计数功能,并显示结果的定时计数系统。
关键词:单片机(AT89C52);复位电路;时钟电路;LED电路;电源电路;程序;目录1设计背景 (4)1.1时代背景 (4)1.2研究背景及其意义 (4)2.设计方案 (4)2.1设计方案选择 (4)2.2 定时与计数演示灯设计方案 (5)3.方案实施 (5)3.1硬件设计 (6)3.2软件设计 (8)3.3调试与制作 (9)4.结果与结论 (10)4.1系统实现的功能 (10)4.2可改进的空间 (10)5.收获与致谢 (10)6.参考文献 (11)7.附件 (11)7.1 电路原理图 (11)7.2 程序 (11)7.3 元器件清单 (12)7.4实物图 (13)1.设计背景1.1时代背景单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。
近年来,除了各种类型的工控机,各种以通用微处理器构成的计算机方板模块、以通用微处理器为核,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形态的PC机等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。
目前,许多单片机类课程教材都是以80C51系列为基础来讲授单片机原理及其应用的。
《电子线路CAD》课程论文题目:演讲倒计时电路的设计1 电路功能和性能指标本设计为实现计数报警功能,首先可以用脉冲开关实现计数脉冲的产生;其次可以用74LS192计数器和74LS138译码器实现计数和数字的显示,最后用蜂鸣器实现报警,可以用555定时器实现让LED灯持续亮10秒;总的来说电路有两部分组成,一部分是计数译码部分,另一部分是报警部分。
2 原理图设计2.1原理图元器件制作元器件截图:图1制作步骤:(1)新建一个元器件库【File---New---Project---Integrated Library---命名保存】(2)建立元器件原理图【右击工程---Add New to Project---Schematic Library】(3)绘制原理图符号,注意改变引脚符号图2(4)制作后填写好新器件信息并保存图32.2 原理图设计1.原理图设计过程(1)新建一个工程文件【File---New---Project---PCB Projiect】并保存为“演讲倒计时”(2)添加原理图【右击工程“数字显示计时电路.PrjPCB”---Add New toProject---Schematic】同时将工程命名为“演讲倒计时”(3)查找元件,在Librarice中查找图中元件(4)模块化布局,清晰,明了且美观(5)按照原理连线2.下图即为绘制好的原理图图43.下图为massage框图:图54.项目的元器件库列表图6其步骤为:(1)首先打开“演讲倒计时.PRJPCB”,并打开原理图文件,进入原理图编辑界面。
(2)执行“Design→Make Schematic Library”菜单命令,在弹出的对话框界面点击OK即可。
5.设计过程中需要注意以下几点:(1)在元器件较多时,原理图设计过程中使用模块化,不然整体很容易出错且让人眼花缭乱,没有整体效果(2)每个模块都标记好备注,方便以后查看(3)元器件之间隔开一些,检查更加方便,可观性较好(4)善于使用网络标号,美观且连线不复杂,看起来简洁大方2.3 原理图报表1.网络报表生成步骤:(1)点击界面上的工具栏中的design;(2)然后单击弹出来的窗口中的Netlist For Project→Protel(3)最后就可以出现网络报表,如图:图72.网络表的作用意义网络表是设计电路板过程中所需的非常重要的文件,它是连接电气原理图和PCB板的桥梁,网络表是对电器原理图中各个元器件之间电气连接的定义,它是图像化的原理图中提炼出来的元器件连接网络的文字表达形式,在PCB制作中加载网络表,可以自动得到与原理图中完全相同的各个元器件中间的连接关系。
一、简答题1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点?2、简述8051单片机的内部基本结构。
3、程序状态字PSW中主要包含了哪些状态信息?4、什么是时钟周期、机器周期、指令周期?8051CPU机器周期与时钟周期是什么关系?5、若震荡频率f osc=12MHz,则震荡周期、状态周期、机器周期分别为多少?6、如何区别一条访问数据存储器的指令是访问片RAM还是访问片外RAM?7、8051的存储器由哪几部分组成?片内RAM分为哪几个性质和用途不同的区域?8、在8051单片机中,什么是特殊功能寄存器?特殊功能寄存器与其它片内RAM单元有什么区别?9、简述堆栈工作过程和SP的作用。
10、EA引脚有何功能?11、51系列程序存储器的编址规律是怎样的?如何知道单片机执行指令时,是从片内ROM中取指令,还是从片外ROM中取指令?12、访问位地址20H和字节地址20H的区别是什么?13、按照同一优先级中的优先权排队顺序列出MCS-51的中断源和相应的中断入口地址14、MCS-51定时器/计数器作定时器以及计数器使用时,计数脉冲由谁提供?这与什么因素有关?15、已知振荡器振荡频率为12MHz,要求定时器/计数器0产生10ms的定时,试编写初始化程序首先计算TH0、TL0的初值,TH0=D8H,TL0=F0H;其次确定方式寄存器TMOD的值为01H;最后写出初始化程序:START:MOV TL0,#0F0HMOV TH0,#0D8HMOV TMOD,#01HSETB TR016、简述定时器/计数器0、1的4中工作方式的特点。
17、综述P0、P1、P2、P3口各有哪几个功能?18、为何说P1口是“准双向接口”?19、波特率表示什么?8051单片机的串口在4种工作方式下的波特率分别如何确定?20、如异步通信,每个字符由11位组成,串行口每秒钟传送250个字符,则波特率为多少?答:波特率是每秒钟传送的二进制数的位数,所以波特率为11×250=275021、设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止符),问每秒钟最多可传送多少个字符?答:2400/10=24022、串行数据传送的主要优点和用途是什么?23、MCS-51有几个中断优先级?如何设定?24、MCS-51单片机CPU响应中断后,由硬件自动执行哪些操作?25、MCS-51指令系统主要有哪几种寻址方式?请举例说明。
会议发言限时器会议发言限时器第一篇:会议发言限时器的设计方案绪论提高会议效率,过去是说得多行动少,如今动真格的了。
为保证计时准确、叫停规范,可通过会议发言限时器来自动提醒,超时叫停。
通过限时发言,与会者讲话不再穿靴戴帽。
现在会议既紧凑又精炼,发言者直入主题,不再讲那些令人生厌的空话、套话,泡会的时间减少了,搞服务办实事的时间相对就多了。
一会议发言限时器的设计方案及框图1会议发言限时器的设计方案本限时器打开启动开关后,时钟便开始计时,当时钟走到12分钟或17分钟时,就会发出短促的“嘟”提醒声,频率约1000hz;当时钟走到15分钟或20分钟时,发出约4秒钟“嘟”终止声,频率约800hz。
2会议发言限时器的设计框图图1.会议发言限时器的框图二.会议发言限时器的各部分电路分析1.时间显示电路计数器的芯片选择为lm8361。
显示器的芯片选择为两个七段译码器。
计数器lm8361的分钟个位及十位的管脚非别与两个七段译码器连接,组成时间显示器。
电阻r3的作用是限制显示电流。
开关k2的作用:闭合为停止计时兼计数器清零;开启为开始计时。
电源v的大小为15v。
图时间显示电路图3.时间控制电路时间控制电路电路的连接依据:以17分钟报警为例。
表1.七段显示器的对应表abdefg01111110101100002110110131111001401100015101101160011111711100008111111191110011当七段显示器显示“17”时,图中d1、f1、a2、d2、f2输出低电平,a1经过非门电路也输出低电平。
f1、d9~d12、d14为或门电路,输出还是低电平,使得单稳态1有一个2秒的暂态,从而使得报警电路发出警告。
图5.或门电路3.单稳态电路图6.单稳态2的电路图7.单稳态电路2暂态波形图反相器4069在常温下,电压为15v时,输入电压在5v至15v之间当时间显示为20分钟时,f3的输出端由低电平反转为高电平,此时,电容3充电,当5上的电压上上升到约12v(高电平)时,开始放电。
演讲限时器单片机设计
摘要
本设计是采用STC89C51单片机驱动电路为核心,由按键电路、显示电路、电源电路以及提示等模块组成。
演讲限时器单片机主要是针对现实生活中些许场所需要限制时间而构思的,能够使演讲者或者说话人有效的把握时间,完整地表达出自己的意思。
本设计“采用模块化设计的方法,主要对倒计时至零时,蜂鸣器响5声的限时功能进行了重点研究。
有效地提高计时的准确率,其限制时间的方式形象直观,并且其实际操作步骤也非常简易,在一些需要限制时间的场合中值得推广使用。
关键字:STC89C51单片机;蜂鸣器;四位一体数码管;限时器
目录
1 绪论 (1)
2 总体方案的设计及方案论证 (2)
2.1 总体方案设计 (2)
2.2 方案论证 (2)
2.2.1 主控芯片的选择 (2)
2.2.2显示模块的选择 (3)
2.2.3 按键方式的选择 (3)
2.3 方案的确定 (4)
2.4 单片机设计原件清单 (5)
3 系统总体硬件电路设计 (6)
3.1 单片机最小系统电路设计与分析 (6)
3.1.1 复位电路设计与分析 (6)
3.1.2 晶振电路设计与分析 (7)
3.1.3 P0口的上拉电阻分析 (8)
3.2 按键电路 (8)
3.3 四位一体数码管 (9)
3.4 自锁开关 (9)
3.5 蜂鸣提示电路 (10)
结束语 (12)
致谢 (13)
参考文献 (14)。
语音报时电子钟设计摘要:语音报时电子钟,以AT89S52单片机为核心,由键盘控制、录放音模块、温度采集、液晶显示等功能模块组成。
单片机通过时钟芯片DS1302获取时间数据,对数据处理后送到中文液晶12864显示输出,并可通过按键对时间进行调整。
基于题目基本要求,本系统对时间显示和语音报时进行了重点设计,通过ISD4004语音芯片把声音录进去,单片机读取时间数据后再把语音芯片里的录音段取出来,进行语音报时。
此外,扩展单片机外围接口、温度采集、语音报时等功能。
关键词:语音报时;单片机;中文液晶; 时钟芯片Design of electronic clock with speech broadcastAbstract: The design of speech tick electronic clock,base on chip microcomputer AT89S52, is composed by the following functional modules: keyboard displaying ,sound phonating.,temperature gathering ,LCD display.The microcomputer get time data from time chip DS1302,then data processing and the output is displayed on a Chinese character LCD 12864,and process time get across the keystroke. According to the basic requirements of the subject ,our system stresses on the realization of time displaying and sound timing, througth the speech chip ISD4004 record the sound, the microcomputer get the time data and take out the data from the speech chip, sound timing.Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering , sound timing and so on..Key words: sound timing ;chip microcomputer ;Chinese character LCD;time chip目录1 设计任务及要求 (3)2整体方案设计与论证 (3)3系统电路的总体方案 (5)3.1 工作原理 (5)3.2 总体设计 (5)4系统硬件设计 (5)4.1 AT89S52单片机最小系统 (5)4.2 温度测量模块 (6)4.3时钟模块 (7)4.4键盘模块 (8)4.5 LED显示模块 (9)4.6 语音模块 (9)4.7 电源 (10)5系统软件设计 (10)5.1主程序流程图 (11)5.2子程序流程图 (11)6 总结与体会 (13)7 参考文献 (14)8 附录 (15)语音报时电子钟设计1.设计任务及要求1) 显示当前年、月、日、星期、分钟、秒、温度和节日信息。
《电子技术》课程设计报告专业:电子信息工程班级:07电本1班题目:30秒定时器姓名:王少阳、朱佩奇指导教师:***二零零九年十月三十一日此实验为三十秒定时器。
定时器是生活中比较常见的电子仪器的功能之一。
在10多个课题中,算是比较常见,但又比较实用,恰巧作者正在自学单片机,如果用单片机做的话,不失为一个学习的好机会。
这个实验的难点和优点都是程序控制。
因为单片机应用比较灵活,很有学习价值;而又因为它应用很灵活,所以必须学习大量的硬件知识和程序设计。
本实验设计的要求:用常用的芯片在一块电路板上设计并制造出来一个三十秒定时器。
设计的时候,并没有按照《电子课程设计》书上的照搬过来,而是自己根据自学的单片机知识设计出的。
这里介绍下单片机:嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它接口I/O封装在同一片集成电路里。
常见的有HOLTEK MCU系列、Microchip MCU系列及8051等。
嵌入式DSP专门用来处理对离散时间信号进行极快的处理计算,提高编译效率和执行速度。
在数字滤波、FFT(Fast Fourier Transform)、频谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。
最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。
单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。
此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。
【关键词】单片机;STC89C52 ; LED数码管显示器; keil C51;Altium deigner;计时器;三极管C1008现在电子仪器发展迅速,而且功能越来越齐全化,体积微型化,仪器智能化;电压,电流要求越来越简单,功耗越来越低。
而单片机就是其中的佼佼者。
单片机有这体积小,功耗低(89C52功耗在100MW左右),功能强,性能价格比高,易于推广应用等显著特点,所以在现代社会中已经占统治地位。
演讲限时器单片机设计
摘要
本设计是采用STC89C51单片机驱动电路为核心,由按键电路、显示电路、电源电路以及提示等模块组成。
演讲限时器单片机主要是针对现实生活中些许场所需要限制时间而构思的,能够使演讲者或者说话人有效的把握时间,完整地表达出自己的意思。
本设计“采用模块化设计的方法,主要对倒计时至零时,蜂鸣器响5声的限时功能进行了重点研究。
有效地提高计时的准确率,其限制时间的方式形象直观,并且其实际操作步骤也非常简易,在一些需要限制时间的场合中值得推广使用。
关键字:STC89C51单片机;蜂鸣器;四位一体数码管;限时器
目录
1 绪论 (1)
2 总体方案的设计及方案论证 (2)
2.1 总体方案设计 (2)
2.2 方案论证 (2)
2.2.1 主控芯片的选择 (2)
2.2.2显示模块的选择 (3)
2.2.3 按键方式的选择 (3)
2.3 方案的确定 (4)
2.4 单片机设计原件清单 (5)
3 系统总体硬件电路设计 (6)
3.1 单片机最小系统电路设计与分析 (6)
3.1.1 复位电路设计与分析 (6)
3.1.2 晶振电路设计与分析 (7)
3.1.3 P0口的上拉电阻分析 (8)
3.2 按键电路 (8)
3.3 四位一体数码管 (9)
3.4 自锁开关 (9)
3.5 蜂鸣提示电路 (10)
结束语 (12)
致谢 (13)
参考文献 (14)
1 绪论
在单片机发展至今,它的脚印已经遍布在了世界的每一角落,几乎涉及到了所有的圈子领域。
不管是科技发展,还是民生百事都能看到它的影子。
而演讲限时器的单片机不管是在国外还是国内,都备受人们对的青睐。
而数字式电子限时器的诞生在维持赛场秩序做出了巨大的贡献,它是采用集成电路实现限,译码代替机械式传动,用LED显示器显示时间。
随着世界经济、文化的不断发展,这种限时器在各种竞赛的场所发挥着越来越重要的作用,不但可以大大减小了限制时间的误差,还可以间接提醒竞赛者对时间的把控。
由此表明,国内外单片机的发展现状较为客观,其限时单片机的发展也较为乐观。
本设计主要研究方向是保证限时准确,同时可以维护现场秩序,即演讲限时器自动提醒,超时叫停。
从用途和适用场合来讲,演讲限时器是能够实现限定发言者时间并提醒发言者剩余时间的一种电子器件,它可以广泛应用于各种演讲与辩论赛的现场。
通过演讲限时器,可以使发言者直入主题,逻辑结构清晰,说话方式精炼,有效的把控演讲的时间。
本设计采用STC89C51单片机为核心元器件实现限时功能,同时采用LED数码动态显示器的限时装置,来根据实际情况动态限时,以达到时间截止时刻蜂鸣报警提示5声的功能。
本设计主要由单片机最小系统及可以实现本设计功能的外围电路组合而成。
本设计可以实现倒计时、控制寄存数据、设定时间功能;其中,设计倒计时时间设定时,倒计时结束时蜂鸣器报警作为重点研究对象。
2 总体方案的设计及方案论证
2.1 总体方案设计
本系统采用STC89C51单片机为核心器件,将软件、硬件有机地结合起来,即采用STC89C51单片机的定时和记数的工作原理来设计基于单片机的演讲限时器。
一方面,其硬件连接原理图、PCB图用PROTELL SE99来绘制。
另一方面,软件系统采用C语言编写程序,包括显示、计数、按键程序等,并在编程硬件中调试运行;再利用keil软件强大的功能进行软件系统仿真,因为在keil中可以很直观地观察程序出现的逻辑错误,也便于更正和修改。
图2-1 系统总体硬件设计框图
系统总体硬件设计框图如图2-1所示,演讲计时器单片机的设计,对应的程序编写可以实现对应的演讲时间的有效控制,并且通过控制显示模块使得演讲限时器具有良好的显示效果。
由于USB供电其电源的纹波系数相对较小,能够使得本系统工作过程中的电压趋于稳定状态,而且便于携带。
因此,在设计采用USB对限时器进行供电。
在本设计中采用独立按键的方式作为输入方式,在程序设计中能够通过按键的检测,结合对应的程序编写进行判定,实现对于演讲时间的准确实时限制。
2.2 方案论证
2.2.1 主控芯片的选择
方案一: 采用STC系列单片机。
STC系列具有很强的抗干扰能力。
此外,STC系列在空闲状态功耗为2mA,在正常工作模式下的功耗为4mA-7mA,具有超低功耗的优势。
而且。