已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
KeilC实训报告机修092班 刘军 9号一、实训时间:2011年4月25日2011年4月29日二、实训地点:第二工业中心六楼三、实训老师:权建军 四、实训目的:熟悉KeilC软件,在学习单片机的基础上更进一步的了解C语言的运用及其功能。五、实训内容:1、计数器累加(1)屏幕截图(2)程序#includesbit P3_7=P37;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char Count; void delay10ms(void)unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);void main(void)Count=0;while(1) P1=tableCount/10; P2=tableCount%10; if(P3_7=0) delay10ms(); if(P3_7=0) Count+; if(Count=100) Count=0; while(P3_7=0); 2、计数器减(1)屏幕截图(2)程序#includeUnsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; unsigned char Count=0;sbit P3_7=P37; bit k=0; void delay10ms(void) unsigned char i,j; for(i=20;i0;i-) for(j=248;j0;j-); void main(void) while(1) P1=tableCount/10; P2=tableCount%10; if(Count=99|Count=0) k=!k; if(P3_7=0) delay10ms();if(P3_7=0) if(k=0) Count+; else if(k=1) Count-; if(Count=100) Count=0; while(P3_7=0); 3. 定时中断屏幕截图(2)程序 #includesbit P3_2=P32;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char Count;void delay10ms(void)unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);void main(void) Count=0; EX0=1; EA=1; while(1) P1=tableCount/10;P2=tableCount%10;void service_int1()interrupt 1 delay10ms(); if(P3_2=0) Count+; if(Count=100) Count=0; while(P3_2=0);4、中断加减(1)屏幕截图(2)程序#include sbit P3_2=P32;bit k=0; unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char Count;void delay10ms(void) unsigned char i,j; for(i=20;i0;i-) for(j=248;j0;j-); void main(void) EX0=1; EA=1;while(1) P1=tableCount/10;P2=tableCount%10 ; void service_int0() interrupt 0delay10ms();if(P3_2=0) if(k=0)Count+;else if(k=1)Count-; while(P3_2=0); if(Count=10|Count=0) k=!k;5、秒表(1)屏幕截图(2)程序#includesbit P3_2=P32; bit k=0;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char Count;void delay10ms(void)unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);void main(void) EX0=1; EA=1; while(1) P1=tableCount/10; P2=tableCount%10; if(Count=20|Count=0) k=k; void servrce_int1() interrupt 1 delay10ms(); if(P3_2=0) if(k=0) Count+; else if(k=1) Count-; while(P3_2=0);6、LCD显示“A、B”(1)屏幕截图(2)程序#include#includesbit RS=P20;sbit RW=P21;sbit E=P22;sbit BF=P07;void delay1ms() unsigned char i,j;for(i=0;i10;i+)for(j+10;j33;j+);void delay(unsigned char n) unsigned char i; for(i=0;in;i+) delay1ms();unsigned char BusyTest(void) bit result; RS=0; RW=1;E=1;_nop_();_nop_();_nop_();_nop_();result=BF; E=0; return result; void WriteInstruction(unsigned char dictate) while(BusyTest()=1); RS=0; RW=0; E=0; _nop_(); _nop_(); P0=dictate; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0; void WriteAddress(unsigned char x) WriteInstruction(x|0x80); void WriteData(unsigned char y) while(BusyTest()=1); RS=1; RW=0; E=0; P0=y; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0; void LcdInitiate(void) delay(15); WriteInstruction(0x38); delay(5); WriteInstruction(0x38);delay(5); WriteInstruction(0x38); delay(5); WriteInstruction(0x0c); delay(5); WriteInstruction(0x06); delay(5); void main(void) LcdInitiate();WriteAddress(0x07);WriteData(A); WriteAddress(0x40); WriteData(B); 六、时间显示(1)屏幕截图(2)程序#include#includesbit RS=P20;sbit RW=P21;sbit E=P22;sbit BF=P07;sbit set_H=P25;sbit set_M=P26;sbit set_S=P27;unsigned char hour=12,minite=0,second=0,mscnt;void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+);void delay(unsigned char n) unsigned char i; for(i=0;in;i+) delay1ms();unsigned char BusyTest(void) bit result; RS=0; RW=1; E=1; _nop_(); _nop_(); _nop_(); _nop_(); result=BF; E=0; return result;void WriteInstruction(unsigned char dictate) while(BusyTest()=1); RS=0; RW=0; E=0; _nop_(); _nop_(); P0=dictate; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0;void WriteAddress(unsigned char x) WriteInstruction(x|0x80);void WriteData(unsigned char y) while(BusyTest()=1); RS=1; RW=0; E=0; P0=y; _nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0;void LcdInitiate(void) delay(15); WriteInstruction(0x38); delay(5); WriteInstruction(0x38); delay(5); WriteInstruction(0x38); delay(5); WriteInstruction(0x0c); delay(5); WriteInstruction(0x06); WriteInstruction(0x01); delay(5);void int_T0(void) interrupt 1 TH0=-5000/256; TL0=-5000%256; mscnt+; if(mscnt=200) second+;if(second=60) second=0; minite+; if(minite=60) minite=0;hour+;if(hour=24) hour=0; void main(void) unsigned char H,M,S; LcdInitiate(); TMOD=0x01; TH0=-5000/256; TL0=-5000%256; ET0=1; TR0=1; EA=1; while (1) if(set_H=0) delay(10); if(set_H=0) while(!set_H); hour+; if(hour=24) hour=0; if(set_M=0) delay(10); if(set_M=0) while(!set_M); minite+; if(minite=60) minite=0; if(set_S=0) delay(10); if(set_S=0) while(!set_S); second+; if(second=60) second=0; WriteAddress(0x42); H=hour/10+0; WriteData(H); WriteAddress(0x43); H=hour%10+0; WriteData(H); WriteAddress(0x45); H=:; WriteData(H); WriteAddress(0x47); M=minite/10+0; WriteData(M); WriteAddress(0x48); M=minite%10+0; WriteData(M); WriteAddress(0x4a); H=:; WriteData(H); WriteAddress(0x4c); S=second/10+0; WriteData(S); WriteAddress(0x4d); S=second%10+0; WriteData(S); delay(20); 实训心得这次实训有很大的收获,让我对C语言有了更深的认识,权老师把一个个专业性很高的知识点用通俗易懂的语言讲出来,让人很容易理解。平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没用,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。 C语言是一个系统,专业性很高,针对性很强的学习,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。 比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到不在身边的时候也可以完成一些简单的程序编写与错误排除。 还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年梧州市长洲区政务服务中心(窗口人员)招聘笔试模拟试题及答案详解
- 2026年菏泽市牡丹区政务服务中心(窗口人员)招聘考试模拟试题及答案详解
- 2026年海南省生态环境监测中心公开招聘事业编制人员(第1号)笔试备考题库及答案详解
- 2026年四川省绵阳市工会人员招聘笔试模拟试题及答案详解
- 2026年三明市梅列区工会人员招聘笔试模拟试题及答案详解
- 2026年定西地区医疗系统事业编人员招聘笔试备考试题及答案详解
- 2026年杭州市江干区政务服务中心(窗口人员)招聘考试参考试题及答案详解
- 2026年8月天津滨海新区建投轨道交通建设有限公司住所托管服务选聘比选考试备考试题及答案详解
- 2026年贵阳市小河区政务服务中心(窗口人员)招聘笔试备考题库及答案详解
- 2026年贵州省铜仁市工会人员招聘考试参考题库及答案详解
- 对照2026版煤矿重大事故隐患判定标准自查清单
- 具身智能机器人概论 课件 第4章-人形机器人
- 矿山运输安全措施培训课件
- 2026年数学建模C题 完整题目+建模答案+代码解析(完整版)
- 测土配方施肥技术实施方案
- 台州道路运输从业资格证考试题和答案
- 铁路工程检验批填写和分部分项验收培训资料2025
- 货运保安及运输方案范本
- 2025年中考语文试题分类汇编:基础知识积累与运用(江苏专用)解析版
- 质量PQE培训教学课件
- GB/T 26953-2025焊缝无损检测渗透检测验收等级
评论
0/150
提交评论