付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息与电气工程学院课程设计说明(2010 /2011学年第2学期)课程名称:单片机课程设计数字钟设计专业班级:自动化0801学生姓名:何长胜学 号:080410112指导教师:岑毅南杨怡君设计周数:设计成绩:2011年6月23日1、课程设计目的 1. 进一步熟悉和掌握单片机的结构及工作原理。了解有关电路参数的2. 掌握单片机的接口技术及相关外围芯片的特性及控制方法。3. 通过课程设计, 掌握以单片机为核心的电路设计的基本方法和技术, 计算方法。4. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5. 理解键盘输入电路、 数码管动态显示电路的工作原理, 进一步掌握汇编语言的编程,
2、 更熟使学生了解开发一单片机应用系统的练的利用Protel99se 设计电路原理图和 PCB图。6. 通过完成一个包括电路设计和程序开发的完整过程, 全过程,为今后从事相关工作打下基础。2、课程设计正文2.1 器件清单电阻: 1K (5个) 330 (7 个) 10K(4 个 )23按键开关: 4电容: 30pF2 个)电解电容:22卩F (1 个)晶振 :6MHZ ( 1 个)CD4511: (1 个)三极管: NPN( 4 个)共阴极数码管:4 个)底座: DIP40( 2 个) DIP16(1 个)万能电路板: 1 个AT89S51( 1 片)导线若干2.2 设计任务和要求:本次课程设计
3、的任务是采用AT89S51作为控制单元,实现数字钟的设计。1 )设计键盘输入电路( 2)设计显示电路( 3)合理分配地址,编写系统程序( 4)利用Protel 设计硬件电路原理图和 PCB图(5)软硬件联机调试技术要求: 用 p1 口控制 4 只段码管, 用 2 位数码管进行分针时间显示,用 2 位数码管进行秒针时间显示。要求( 1 )可以调整时间,且调整位闪烁提示。( 2)设置调节切换键,确认开始键,加1键和减1键。2.3设计方案采用单片机的TO定时器,使其工作在方式1,产生一个100ms定时中断,循环10次,到1s时,秒加1;秒到60时,分加1,秒清零;分到60时,秒清零,分清零。数码管采
4、用 动态显示,一个扫描周期共循环四次,依次显示秒的低位、秒的高位、分的低位、分的高位,每次显示延时4ms这期间要将不同的数送到P1 口,以及将P2 口的不同位置1。调节时, 调用相应的子程序,来完成功能。2.3.1主要器件及电路设计2.3.1.1 AT89S51 说明P11.0 匚匚匚匚匚匚匚12-3 4 5 67RST匚 (RXD) P3.0 匚 (TXD) P3J 匚 (TNTB) P3.2 匚 INT1) P3.3 匚 (TO) P3.4 匚 T1) P3.5 匚 (VW) P3.6 匚 (m) P37 匚XTAL2 匚XTAL1 匚GNID 匚 VCC140239 P0.0 (ADO)
5、338 PO.1 AD II)437 P0.2 (AD2)536 P0.3 (AD3)635 P0.4 (AD4)734 FU5 (AD5)S33 PCL6 (AD6)932 P0.7 (AD7)1031 EP P1130 ALE/PRDG1229 PSEN1328 P2.7 A15)1427 PZ6 (A1>1526 P2.5 (A13>1625(A12)1724 P2.3 (A11 >1B23 P2.2 (A10)1922 P2J (A9)2021 P2.0 (AB)图2.3-1 AT89S51的引脚 图AT89S51的引说明和功能说明如下:XTAL1 :接外部晶振的一个
6、引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。XTAL2 :接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。RST : AT89S51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89S51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。P0 口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低 8位)和数据总线复用。外部不
7、扩展而单片应用时,则作一般双向用。P0 口每一个引脚可以推动 8个LSTTL负载。口),当访P2 口(P2.0P2.7) 口是具有内部提升电路的双向1/0端口(准双向并行I/O问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般双向口用。每一个引脚可以推动 4个LSTL负载。P1 口(P 1.0P1.7) 口是具有内部提升电路的双向1/0端口(准双向并行I/O 口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。P3 口(P3.0P3.7) 口是具有内部提升电路的双向I/0端口(准双向并行I/O 口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制
8、及外部随机存储器内容的读取或写入控制等功能。2.3.1.2 CD4511 译码器U2訂IE丄CD4511输出端接330欧姆的保护电阻,A"Vss 411t10 .然后并接数码管,使其显示数据。4511引脚图真值表如下:LEhpucs ffOutputsa b C d eDisplayB'000iCD4511真值表当P2 口低4位某位置1时,与其相连的三极管导通,集电极为低电平,因为是共阴极数码2.3.1.3 显示电路管,所以与该三极管相连的数码管选通,显示P1 口输出的数。231.4共阴极数码管共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM的数码管。共阴数码
9、管在应用时应将公共极COM接到地线GNDLh,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a, b, c, d, e, f, g, dp"的同名端连在一起,另外为每个数码管的公共极 COM增加位选通控制电路,位选通由各fgedcDP自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形, 取决于单片机对位选通 COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开
10、,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM端,就使各个数码管轮流受控显示,这就是动态驱动。 在轮流显示过程中,每位数码管的点亮时间为12ms由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.3.1.5设计原理图6MHZ18WRDi9S5I I resetSizTitlNu 钟 be 7-jUn-2010ra hn By : ofReisionVCCtljdthiX2 X1J0i
11、iPSELEfXRXGNDvcC 2010KR13占 10Kr1410KRi5ea/VPCINTET1 P17P1®15P1P1睥11PT0/TP27P2P2田2022P2P21P20 P07P0(P00-P02P02P01 P002827262524232221|R945-VCCb£3hS1|R81LEBILTbND C BAVCG F E D C B A16141510 1112U213MU33iR1'IP匸GNm.510DPe f dpQD DPDS2NPN3.510GPN 5DS4DP2.3.2程序流程图主程序:调秒子程序清零TR0,R5调分子程序 调分子程
12、序和调秒子程序的流程图极为相似,原理一样,这里就不详细给出。不同的 是,当R5等于55时,调用的不再是 DISP1,而是DISP2。K1按下时,调用调秒子程序, K3或K4按下时,分分别加 1或减1。2.3.3 汇编程序SPKEQU 29HBUFEQU30HMINEQU34HSECEQU35HDEDAEQU36H;按键输入引脚定义K1EQUP2.4K2EQUP2.5K3EQUP2.6K4EQUP2.7;程序开始执行地址ORG0000HJMPMAINORG000BHJMPTO_INTACALLINITACALLINIT_TIMERMOVA, #00HMOVSEC, AMOVMIN, AMAIN:
13、;无穷循环LOOP: ACALL CONVACALLJBJBDISP48H, SEC1 49H, MIN1 K1, M1JBJNB K1, $INC SPKJMP LOOP;K1按下,根据SPK的值,调节分或秒SEC1: ACALL SET_SECJMP LOOPMIN1: ACALL SET_MINJMPLOOPM1:JBK2, M2JNBK2, $SETBTR0JMPLOOPM2:JBK3, M3JMPLOOP;K2按下,起动定时器M3:JBJMPK4, M4LOOPM4:JMPLOOP;使用定时器 T0 模式 1 计时INIT_TIMER:MOVTMOD, #01HMOVTL0, #0B
14、0HMOVTH0, #3CHSETBEASETBET0RET;中断服务程序TO_INT:PUSHAccMOVTL0, #0B0HMOVTH0, #3CHINCDEDAMOVA, DEDACJNEA, #10, TT1MOVDEDA, #0INCSECMOVA, SECCJNEA, #60, TT1INCMINMOVSEC, #0MOVA, MINCJNEA, #60, TT1MOVSEC, #0MOVMIN, #0TT1:POPAccRETI;存入显示数值CONV:MOVA, MINMOVB, #10DIVABMOVBUF, AMOVA, BMOVBUF+1, AMOVA, SECMOVB,
15、#10DIVABMOVBUF+2, AMOVMOVA, BBUF+3, ARET;4ms 延时DELAY:MOVR6, #10D1: MOVDJNZDJNZR7, #100R7, $R6, D1RET;初始化存储单元INIT:MOVMOVMOVMOVDEDA, #0SEC, #0MIN, #0SPK, #0RET;正常显示程序DISP:MOVMOVMOVR0, #BUF+3R2, #4A, #08HS1: MOVPUSHAccMOVA, R0MOVP1, APOPAccORLA, #0F0HMOVP2, AACALL DELAYMOVA, R3RRADECR0DJNZR2, S1RETR3,
16、A; 显示程序 1,DISP1:MOV秒不显示,分显示R0, #BUF+1MOVR2, #4MOVORLA, #00HA, #0F0HS3: MOV P2, AACALL DELAYDEC R2CJNE R2, #2, S3ORL A, #02H S4: PUSH Acc; 显示程序 2,DISP2:分不显示,秒显示MOVR0, #BUF+3MOVMOVR2, #4A, #0F8HMOVA, R0MOVP1, APOPAccMOVP2, AACALL DELAYMOVA,#0F1HDECR0DJNZR2, S4SETBF0RETS5: PUSH AccMOV A, R0MOVP1, APOPA
17、ccMOVP2, AACALL DELAYMOVA, #0F4HDECR0DECR2CJNER2, #2, S5ANLA, #0F0HMOVP2, AACALL DELAYDJNZR2, S6SETBF0RETSEC:CLRTR0MOVR5, #0JBF0, L01S6:L0:;调节秒 SET_ACALL DISPINC R5CJNE R5, #55, L1L01: ACALL DISP1INCR5CJNER5, #110,MOVR5, #0CLRF0JMPL0JBK1, L2JNBK1, $INCSPKCLRF0RETJBK2, L3JNBK2, $MOVSPK, #0CLRF0ACALLC
18、ONVACALLDISPSETBTR0RETJBK3, L4JNBK3, $INCSECMOVR5, #0MOVA, SECCJNEA, #60, L1MOVSEC, #0ACALL CONVACALLDISPCLRF0JMPL0JBK4, L0JNBK4, $MOVR5, #0MOVA, SECCJNEA, #0,L40ACALLCONVACALLDISPCLRF0JMPL0DECSECACALLCONVACALLDISPCLRF0JMPL0L1:L2:L3:L11:L4:L40:L1;再按调节按钮,退出秒调节;按下确认按钮,退出调节,并且正常工作; 按下增加按钮,秒数加 1;按下减少按钮,
19、秒数减 1;调节分SET_MIN:CLRTR0MOVR5, #0JBF0, L03ACALLDISPINCR5CJNER5, #55, L5ACALL DISP2INCR5CJNER5, #110, L5MOVR5, #0CLRF0JMPL02JBK1, L6JNBK1, $DECSPKCLRF0RETJBK2, L7JNBK2, $MOVSPK, #0CLRF0ACALLCONVACALLDISPSETBTR0RETJBK3, L8JNBK3, $INCMINMOVR5, #0MOVA, MINCJNEA, #60, L12MOVMIN, #0ACALL CONVACALLDISPCLRF0
20、JMPL02JBK4, L02JNBK4, $MOVR5, #0MOVA, MINCJNEA, #0, L80ACALLCONVL02:L03:L5:L6:L7:L12:L8:ACALL DISP CLR F0 JMP L02 L80: DEC MINACALL CONVACALL DISPCLR F0JMP L02END2.4 软件与硬件结合调试硬件调试:硬件调试是利用 DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试:是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有
21、断点。第二步: 用万用表测试。 先用万用表复核目测中有疑问的连接点, 再检测各种电源线与 地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。动态调试:是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故 障、器件连接逻辑错误等的一种硬件检查。 动态调试的一般方法是由近及远、 由分到合。 由当调试电路时, 与该元件无关分到合是指首先按逻辑功能将用户系统硬件电路分为若干块, 的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电 路无故障后, 将各电路逐块加入系统中, 在对各块电路功能及各电路间可能存在的相互联系逐层调进行调试。 由分到合的调试既告完成。 由近及远是将信号流经的各器件按照距离单片机的逻 辑距离进行由近及远的分层, 然后分层调试。 调试时, 仍采用去掉无关元件的方法, 试下去,就会定位故障元件了。软件调试:软件调试是通过对程序的汇编、 连接、 执行来发现程序中存在的语法错误与逻辑错误并 加以排除纠正的过程。可以利用仿真器加以调试, 对系统单个单元进行调试, 当单元电路成功后, 在对整个程 序调试,最后在用 CPU芯片调试。3. 总结通过这两周的课程设计, 让我了解了设计电路的程序, 也让
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 26949.10-2026工业车辆稳定性验证第10部分:在由动力装置侧移载荷条件下堆垛作业的附加稳定性试验
- 经理的述职报告范文(32篇)
- 2026北师大二下东南西北原创课件
- 部编版小学三年级上册语文 语文园地六 教案
- 人教版四年级数学上册 导学案 第五单元 平行四边形和梯形
- 新苏教版科学五年级上册 3.10《摩擦力》教学设计
- Unit 1 Friendship Section 1 Experiencing and understanding language Reading 教学设计2026-2027学年沪教版英语七年级上册
- 2026四下数学第五单元备课课件
- 重卡电驱桥:电动重卡放量驱动全球核心动力系统进入规模化增长周期
- 高Tg型覆铜板市场扩容提速
- 九上语文《唐诗三百首》要点梳理
- 2026年版医疗器械经营监督管理办法试卷测试题及答案
- 2026年新疆中考英语试卷
- 2025-2026学年湖北省武汉市江岸区八年级上册期中物理试卷 含答案
- 小区公共收益收支公示及使用审批管理办法
- 人教版六年级上册数学分数乘除法应用题类型总结
- 2025年贵州黔南人力资源开发有限责任公司招聘劳务派遣制专职民兵教练员5人笔试备考试题及答案解析
- 水闸设计规范(2025版)
- 《五粮浓香型白酒智能化酿造体系要求》编制说明
- 2026年及未来5年市场数据中国采购代理行业市场发展数据监测及投资战略咨询报告
- 2025年工厂化学品安全操作培训
评论
0/150
提交评论