关于电脑时钟的实训 学生实习(实训)总结报告_第1页
关于电脑时钟的实训 学生实习(实训)总结报告_第2页
关于电脑时钟的实训 学生实习(实训)总结报告_第3页
关于电脑时钟的实训 学生实习(实训)总结报告_第4页
关于电脑时钟的实训 学生实习(实训)总结报告_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院学生实习(实训)总结报告学院_专业班级_学生姓名_学号_实习实训地点_I506_报告题目_关于电脑时钟的实训_报告日期2013年12月26日指导教师评语_成绩(五级记分制)_指导教师(签字)_重庆科技学院单片机关于电脑时钟的实训的报告1目录一、实习目的意义和任务111实习目的意义112任务2二、实习任务的方案3三、系统硬件设计331单片机的最小系统332矩阵按键电路的设计433蜂鸣器电路的设计534数码管及LED电路的设计535LCD电路的设计6四、系统软件设计641主程序设计642中断子程序设计743时间设置子程序设计744音乐铃声子程序设计9五、调试及性能分析1151调试步骤1152性能分析11六、心得体会11附录1系统硬件电路图12附录2程序清单13重庆科技学院单片机关于电脑时钟的实训的报告2一、实习目的意义和任务11实习目的意义单片机的使用领域已十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。电脑时钟有效地检验了对STC89C52单片机中断,矩阵键盘,数码管,蜂鸣器,LED灯的控制,同时提高了学生的工程系统设计能力。LED数码管显示时钟显示清晰直观、走时准确、可以进行夜视,并且还可以根据需要扩展出多种功能。因此,电脑时钟无论作为比赛题目还是练习题目都是很有价值。通过此次单片机系统综合训练,不仅要让学生认识了解它,而且增强学生学科积极性。12任务设计题目电脑时钟设计学生姓名课程名称单片机系统综合训练专业班级地点实验楼I512起止时间16周17周设计内容及要求要求设计的电脑时钟完成以下功能1基本功能实时显示当前时间按设定时间用蜂鸣器报时能修改当前时钟。2扩展功能自行扩展功能,如音乐铃声,通讯功能等。设计参数显示时间时,4位数码管显示,2位显示小时,2位显示分钟,第2位小数点05秒亮,05秒灭;蜂鸣器报时时间以每生学号最末位确定。重庆科技学院单片机关于电脑时钟的实训的报告3进度要求内容时间地点布置设计任务及要求,查资料,准备方案KEILC51程序设计练习(定时器程序设计、数码管显示程序设计)2天I512时间程序设计、调试2天I512键盘控制程序设计、调试2天I512程序整体调试2天I512设计验收,完成设计报告2天I512参考资料单片机应用设计指导书其它说明本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。若填写内容较多可另纸附后。3一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任指导教师2013年12月二、实习任务的方案我采用STC89C52芯片,晶振为110592MHZ,通过定时器计时来实现时钟的功能。按键采用矩阵键盘,来实现模式更改、修改小时、修改分钟、加、减以及拓展功能。系统能按设定时间用蜂鸣器报时,报时时间设定为1S。拓展功能做了音乐铃声和液晶显示。重庆科技学院单片机关于电脑时钟的实训的报告4三、系统硬件设计31单片机的最小系统单片机最小系统由STC89C51单片机、复位电路、晶振电路组成,如图31K17RESETR3147KC1101UF5RSTR6018位位位位位位位P10/T21P11/T2EX2P123P134P145P156P167P178RST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A1427P27/A1528PSEN29ALE30EA31P07/AD732P06/AD633P05/AD534P04/AD435P03/AD336P02/AD237P01/AD138P00/AD039VCC40U5STC89C52Y2110592MHZC1420PC1520P5C2101UFRST5DB_0DB_1DB_2DB_3DB_5DB_6DB_7DB_4KEYOUT1KEYOUT2KEYOUT3KEYOUT4KEYIN1KEYIN2KEYIN3KEYIN4P10P11P12P13TXDRXDSCLSDAENLED1SCKSIOS1302BUZZ1WAREIRDENLCD位位位位位12345678J4CON812345678J5CON812345678J6CON812345678J7CON8P17P16P15图3132矩阵按键电路的设计按键行数KEYIN端接单片机P2口的高四位,按键行数KEYOUT端接单片机P2口的低四位。如图32按键功能设定K1LED数码管显示。K2LCD液晶显示。K4加数值。K8修改小时。K12减数值。K13修改报警时间。K14修改时间。K15返回。K16修改分钟。重庆科技学院单片机关于电脑时钟的实训的报告5K1KEYK5KEYK9KEYK13KEYK2KEYK6KEYK10KEYK14KEYK3KEYK7KEYK11KEYK15KEYK4KEYK8KEYK12KEYK16KEYKEYOUT1KEYOUT2KEYOUT3KEYOUT4KEYIN1KEYIN2KEYIN3KEYIN45R147KR247KR347KR447K位位位位位位图3233蜂鸣器电路的设计单片机不直接与蜂鸣器连接,通过控制三极管的导通来控制蜂鸣器的工作,如图33。12BZ1BUZZERQ229012D441485BUZZR521KR6610K位位位R7100图3334数码管及LED电路的设计数码管为共阳,通过38译码器来是实现位选。38译码器的输入端A0、A1、A2分别接接单片机的P10、P11、P12,通过38译码器选通数码管上面的三极管,从而实现数码管的选择,如图34重庆科技学院单片机关于电脑时钟的实训的报告6LED3LEDDB0DB1DB2DB3DB4DB5DB6DB7DB0DB1DB2DB3DB4DB5DB6DB7DB0DB1DB2DB3DB4DB5DB6DB7DB0DB1DB2DB3DB4DB5DB6DB7DB0DB1DB2DB3DB4DB5DB6DB7Q89012Q99012Q149012Q159012Q179012R381KR391KR441KR451KR461KQ169012R471KDB0DB1DB2DB3DB4DB5DB6DB75LEDS2LEDS3LEDS4LEDS5LEDS6LEDS0Y510A12A01E25Y213E14Y411GND8Y69Y312E36Y114Y015A23Y77VCC16U374HC138LEDS0LEDS1LEDS2LEDS3LEDS4LEDS5LED4LEDLED5LEDLED6LEDLED7LEDLED8LEDLED9LEDLED2LEDDB0DB1DB2DB3DB4DB5DB6DB7Q79012R371KLEDS1LEDS65C2201UFENLED2DB0DB1DB2DB3DB4DB5DB6DB7DB_0DB_1DB_2DB_3DB_5DB_6DB_7DB_4DIR1A12B217A34B415A56B613A78B811GND10A89B712A67B514A45B316A23B118OE19VCC20U274HC245C2001UF5555ABFCGDE10985423ABCDEFG7DPDP16COMCOMDS1LED7SEGABFCGDE10985423ABCDEFG7DPDP16COMCOMDS2LED7SEGABFCGDE10985423ABCDEFG7DPDP16COMCOMDS3LED7SEGABFCGDE10985423ABCDEFG7DPDP16COMCOMDS4LED7SEGABFCGDE10985423ABCDEFG7DPDP16COMCOMDS5LED7SEGABFCGDE10985423ABCDEFG7DPDP16COMCOMDS6LED7SEGENLED1R18330R19330R20330R21330R22330R23330R24330R25330R1047KR1147KR1247KR1347KR1447KR1547KR1647KR1747KR2747KR2847KR2947KR3047KADDR0ADDR1ADDR2图3435LCD电路的设计LCD数据端连接单片机的P0口,RS、WR、E分别接P10、P11、P14,如图355GND1VCC2VO3RS4WR5E6DB07DB18DB29DB310DB411DB512DB613DB714BGVCC15BGGND16LCD1LCD16025DB_0DB_1DB_2DB_3DB_5DB_6DB_7DB_4R6718ENLCD1ADDR1ADDR0图35四、系统软件设计41主程序设计开始重庆科技学院单片机关于电脑时钟的实训的报告7图4142中断子程序设计音乐铃声定时器0初始化采集按键输入的信息到点报警BUZZFLAG1修改时间修改报警时间开始COUNT计数1秒时间SECOND1分钟1小时HOUR是否否是否是否改时间改报警时间是否否是是否定时器赋初值报警MINUTE是报警1S重庆科技学院单片机关于电脑时钟的实训的报告8图4243时间设置子程序设计/时间设置函数/VOIDTIMESETIFHOURFLAG1/改小时IFUPFLAG1UPFLAG0HOURIFHOUR24HOUR0IFDOWNFLAG1DOWNFLAG0IFHOUR0HOUR23ELSEHOURIFMINUTEFLAG1/改分钟IFUPFLAG1UPFLAG0结束重庆科技学院单片机关于电脑时钟的实训的报告9MINUTEIFMINUTE60MINUTE0IFDOWNFLAG1DOWNFLAG0IFMINUTE0MINUTE59ELSEMINUTECOUNT0/计数初始化COUNT_S0SECOND044音乐铃声子程序设计VOIDPLAYTWOTIGERUNSIGNEDCHARBEAT/记录当前节拍索引UNSIGNEDCHARNOTE/当前节拍对应的音符UNSIGNEDINTTIME0/当前节拍计时UNSIGNEDINTBEATTIME0/当前节拍总时间UNSIGNEDINTSOUNDTIME0/当前节拍需发声时间UNSIGNEDCHARCODETWOTIGERNOTE/两只老虎音符表1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,4,3,1,5,6,5,4,3,1,1,5,1,1,5,1,重庆科技学院单片机关于电脑时钟的实训的报告10UNSIGNEDCHARCODETWOTIGERBEAT/两只老虎节拍表,4表示一拍,1就是1/4拍,8就是2拍4,4,4,4,4,4,4,4,4,4,8,4,4,8,3,1,3,1,4,4,3,1,3,1,4,4,4,4,8,4,4,8,FORBEAT0BEAT8T1LOADLNOTERELOADNOTEBEATTIMETWOTIGERBEATBEATNOTEFREQUNOTE2/计算节拍总时间,右移2位相当于除4,移位代替除法可以加快执行速度SOUNDTIMEBEATTIMEBEATTIME2/计算发声时间,为总时间的075,移位原理同上BUZZABLE1/指示蜂鸣器开始发声TIMEELSEIFTIMEBEATTIMETIME0/当前持续时间到达节拍总时间时归零,并递增节拍索引,以准备启动新节拍BEAT重庆科技学院单片机关于电脑时钟的实训的报告11ELSETIMEIFTIMESOUNDTIMEBUZZABLE0/当前持续时间到达发声时间后,指示关闭蜂鸣器,以插入025总时间的静音间隔,以区分连续的节拍五、调试及性能分析51调试步骤按照任务书中功能的要求依次调试各个功能函数。首先调试显示函数。开始是把HOUR、MINUTE赋给数码管,结果当数字超过16时显示是乱码的。通过调试,将HOUR/10、HOUR10、MINUTE/10、MINUTE10分别赋给数码管,数码管就可以正确显示小时分钟。时间秒的显示是通过小数点闪烁来实现的,定义了一个变量COUNT_S,当COUNT_S为100时(05S的时间),让P0/中音17和高音17对应的定时器重载值UNSIGNEDINTCODENOTERELOAD6553611059200/12/5232,/中音176553611059200/12/5872,重庆科技学院单片机关于电脑时钟的实训的报告146553611059200/12/6592,6553611059200/12/6982,6553611059200/12/7842,6553611059200/12/8802,6553611059200/12/9882,6553611059200/12/10472,/高音176553611059200/12/11752,6553611059200/12/13192,6553611059200/12/13972,6553611059200/12/15682,6553611059200/12/17602,6553611059200/12/19762,UCHART1LOADH0XFF/T1重载值的高字节UCHART1LOADL0X00/T1重载值的低字节SBITENLEDP14/38译码器设置SBITADDR0P10SBITADDR1P11SBITADDR2P12SBITADDR3P13SBITBUZZP16SBITRSP10SBITRWP11SBITENP15SBITBUSYP07BITLCDFLAG0重庆科技学院单片机关于电脑时钟的实训的报告15BITLEDFLAG1BITHOURFLAG0BITMINUTEFLAG0BITUPFLAG0BITDOWNFLAG0BITMODFLAG0BITBUZZFLAG0BITCHANGEFLAG0BITBUZZABLE1/报警使能BITTMRFLAG0/定时器中断完成标志UCHARCOUNT0UCHARCOUNT_S0/秒计数UCHARCOUNT_BUZZ0/报警计数UCHARSECOND0UINTMINUTE0UINTHOUR0UCHARSECOND_CMDUINTMINUTE_CMDUINTHOUR_CMDUCHARCODESHOWCODE0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90VOIDPLAYTWOTIGERVOIDINIT_TIME/定时器初始化设置函数VOIDXIANSHI/数码管显示函数VOIDKEYSCAN/键盘扫描函数VOIDTIMESET/时间修改函数VOIDBAOJING/报警函数VOIDTIMECMD/时间比较函数重庆科技学院单片机关于电脑时钟的实训的报告16VOIDBUZZCHANGE/报警时间修改函数VOIDYOUXIAO/按键有效函数VOIDWAIT/等待繁忙标志VOIDW_DATUCHARDAT/LCD写数据VOIDW_CMDUCHARCMD/LCD写命令VOIDINIT_LCD1602VOID/初始化1602VOIDW_STRINGUCHARADDR_START,UCHARP/发送字符到LCDVOIDMUSICVOIDDELAY1/按键消抖延时函数VOIDDELAY2/数码管显示延时函数VOIDMAINVOID/主函数MUSICINIT_TIMEINIT_LCD1602HOUR_CMD0/报警时间设置MINUTE_CMD1SECOND_CMD0WHILE1KEYSCANTIMECMDIFMODFLAG1IFCHANGEFLAG1重庆科技学院单片机关于电脑时钟的实训的报告17/中断/VOIDT0VOIDINTERRUPT1COUNTTH0655364608/256/110592MHZ5MS一次溢出TL0655364608256XIANSHIIFBUZZFLAG1COUNT_BUZZIFCOUNT_BUZZ200COUNT_BUZZ0BUZZFLAG0IFCOUNT200COUNT0SECONDIFSECOND60SECOND0MINUTEIFMINUTE60重庆科技学院单片机关于电脑时钟的实训的报告18MINUTE0HOURIFHOUR24HOUR0/按键消抖延时函数/VOIDDELAY1UINTIFORI4000I0I/数码管显示延时函数/VOIDDELAY2UINTZFORZ100Z0Z/时钟初始化/VOIDINIT_TIMETMOD0X01/定时器方式初始化TH0655364608/256/110592MHZ5MS一次溢出TL0655364608256重庆科技学院单片机关于电脑时钟的实训的报告19TR01ET01EA1/液晶显示函数/VOIDLCD_XIANSHIW_STRING0X80,HOUR/100W_STRING0X81,HOUR100W_STRING0X82,W_STRING0X83,MINUTE/100W_STRING0X84,MINUTE100W_STRING0X85,W_STRING0X86,SECOND/100W_STRING0X87,SECOND100W_STRING0XC0,AW_STRING0XC1,CW_STRING0XC2,LW_STRING0XC4,HOUR_CMD/100W_STRING0XC5,HOUR_CMD100W_STRING0XC6,W_STRING0XC7,MINUTE_CMD/100W_STRING0XC8,MINUTE_CMD100/数码管显示函数/VOIDXIANSHI重庆科技学院单片机关于电脑时钟的实训的报告20COUNT_SIFLCDFLAG1LCD_XIANSHIELSEIFCHANGEFLAG1P00XFFENLED0ADDR00ADDR10ADDR20ADDR31/38译码器选择数码管0(译码器输入000)P0SHOWCODEMINUTE_CMD10DELAY2P00XFFENLED0ADDR01ADDR10ADDR20ADDR31/38译码器选择数码管1(译码器输入001)P0SHOWCODEMINUTE_CMD/10DELAY2P00XFFENLED0ADDR00ADDR11ADDR20ADDR31/38译码器选择数码管2(译码器输入010)P0SHOWCODEHOUR_CMD10DELAY2/第2位小数点05秒亮,05秒灭/重庆科技学院单片机关于电脑时钟的实训的报告21IFCOUNT_S100COUNT_S0ENLED0ADDR00ADDR11ADDR20ADDR31/38译码器选择数码管2(译码器输入010)P0P0DELAY2P00XFFENLED0ADDR01ADDR11ADDR20ADDR31/38译码器选择数码管3(译码器输入011)P0SHOWCODEHOUR_CMD/10DELAY2ELSEP00XFFENLED0ADDR00ADDR10ADDR20ADDR31/38译码器选择数码管0(译码器输入000)P0SHOWCODEMINUTE10DELAY2P00XFFENLED0ADDR01ADDR10ADDR20ADDR31/38译码器选择数码管1(译码器输入001)重庆科技学院单片机关于电脑时钟的实训的报告22P0SHOWCODEMINUTE/10DELAY2P00XFFENLED0ADDR00ADDR11ADDR20ADDR31/38译码器选择数码管2(译码器输入010)P0SHOWCODEHOUR10DELAY2/第2位小数点05秒亮,05秒灭/IFCOUNT_S100COUNT_S0ENLED0ADDR00ADDR11ADDR20ADDR31/38译码器选择数码管2(译码器输入010)P0P0DELAY2P00XFFENLED0ADDR01ADDR11ADDR20ADDR31/38译码器选择数码管3(译码器输入011)P0SHOWCODEHOUR/10DELAY2ENLED1重庆科技学院单片机关于电脑时钟的实训的报告23/键盘扫描函数/VOIDKEYSCAN/键盘扫描函数UCHARTEMPP20XF7TEMPP2TEMPTEMPIFTEMP0XF0DELAY1/键盘去抖,TEMPP2TEMPTEMPIFTEMP0XF0TEMPP2YOUXIAOSWITCHTEMPCASE0XE7LEDFLAG1LCDFLAG0INIT_LCD1602BREAK/数码管显示CASE0XD7LEDFLAG0LCDFLAG1ENLED1BREAK/液晶显示ENLED1关LEDCASE0X77UPFLAG1BREAK/1加数值DEFAULTBREAKWHILETEMP0XF0/按键抬起检测TEMPP2TEMPTEMP重庆科技学院单片机关于电脑时钟的实训的报告24P20XFBTEMPP2TEMPTEMPIFTEMP0XF0DELAY1TEMPP2TEMPTEMPIFTEMP0XF0TEMPP2YOUXIAOSWITCHTEMPCASE0X7BHOURFLAG1MINUTEFLAG0BREAK/2改小时DEFAULTBREAKWHILETEMP0XF0TEMPP2TEMPTEMPP20XFDTEMPP2TEMPTEMP重庆科技学院单片机关于电脑时钟的实训的报告25IFTEMP0XF0DELAY1TEMPP2TEMPTEMPIFTEMP0XF0TEMPP2YOUXIAOSWITCHTEMPCASE0X7DDOWNFLAG1BREAK/3减数值DEFAULTBREAKWHILETEMP0XF0TEMPP2TEMPTEMPP20XFETEMPP2TEMPTEMPIFTEMP0XF0DELAY1TEMPP2TEMPTEMPIFTEMP0XF0重庆科技学院单片机关于电脑时钟的实训的报告26TEMPP2YOUXIAOSWITCHTEMPCASE0XEECHANGEFLAG1MODFLAG0BUZZABLE0BREAK/报警时间修改CASE0XDEMODFLAG1CHANGEFLAG0BUZZABLE0BREAK/功能CASE0XBEMODFLAG0CHANGEFLAG0BUZZFLAG0BUZZABLE1BREAK/返回时钟显示CASE0X7EMINUTEFLAG1HOURFLAG0BREAK/修改分钟WHILETEMP0XF0TEMPP2TEMPTEMP/时间设置函数/VOIDTIMESETIFHOURFLAG1/改小时IFUPFLAG1UPFLAG0HOURIFHOUR24HOUR0重庆科技学院单片机关于电脑时钟的实训的报告27IFDOWNFLAG1DOWNFLAG0IFHOUR0HOUR23ELSEHOURIFMINUTEFLAG1/改分钟IFUPFLAG1UPFLAG0MINUTEIFMINUTE60MINUTE0IFDOWNFLAG1DOWNFLAG0IFMINUTE0MINU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论