还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
单片机实训报告课程设计名称单片机实训总结学院电子电气学院专业电子信息姓名XXX指导老师XXXvoid main{inti;whilel{fori=l;i0x03fc;i++{da5615i;delayl;串口控制#include reg5l.h unsigned char a=0x55;void mainTMOD=0x20;THl=0xfd;TLl=0xfd;TR1=1;SCON=0x50;whilelwhile!RI;RI=0;PO=SBUF;SBUF=a;while!TI;TI=O;}万年历#includereg
52.h#define uintunsigned int#define ucharunsigned char人sbit LCDE=P26;sbit RDN=P2A5;sbit WRN=P2A4;uinta=0,b=0,c=2,second=0,minute=8,hour=11,day=15,moon=12,year=2012;uintal,a2,a3,sec1,sec2,min1,min2,ho1,ho2,day l,day2,moon l,moon2,yearl,year2,year3,year4;void display;void delayuintzuint x,y;forx=z;x0;x fory=l10;y0;y—;void write_comuchar comRDN=0;P0=com;delay5;LCDE=1;delay5;LCDE=0;void write_datauchar dateRDN=1;PO=date;delay5;LCDE=1;delay5;LCDE=0;WRN=0;LCDE=0;write_com0x38;write_com0x0c;write_com0x01;write_com0x06;}void maininit;IE=0x82;TMOD=OxOl;TH0=65636-10000/256;TL0=65636-l0000%256;TR0=l;whileldisplay;void allvoidinterrupt1TH0=65636-10000/256;TL0=65636-10000%256;a++;ifa100a=0;second++;ifsecond%2==0{b=2;c=0;}ifsecond%2==l{b=0;c=2;}ifsecond==60second=0;minute++;ifminute==60minute=0;hour++;ifhour==24hour=0;day++;ifday30day=O;moon++;ifmoon12moon=0;year++;void displayal=a%10;a2=a/10%10;a3=a/100;secl=second%10;sec2=second/10;min1=minute%10;min2=minute/10;hol=hour%10;ho2=hour/10;dayl=day%10;day2=day/10;moon1=moon%10;moon2=moon/10;year l=y ear%10;year2=year%100/10;year3=year/100%10;year4=year/1000;write_com0x80+0x4c;write_data0x30+al;write_com0x80+0x4b;write_data0x30+a2;write_com0x80+0x4a;write_data0x3a;write_com0x80+0x49;write_data0x30+sec1;write_com0x80+0x48;write_data0x30+sec2;write_com0x80+0x47;write_data0x3a;write_com0x80+0x46;write_data0x30+min1;write_com0x80+0x45;write_data0x30+min2;write_com0x80+0x44;write_data0x3a;write_com0x80+0x43;write_data0x30+ho1;write_com0x80+0x42;write_data0x30+ho2;write_com0x80+0x0c;write_data0x30+day1;write_com0x80+0x0b;write_data0x30+day2;write_com0x80+0x0a;write_data0x2f;write_com0x80+0x09;write_data0x30+moonl;write_com0x80+0x08;write_data0x30+moon2;write_com0x80+0x07;write_data0x2f;write_com0x80+0x06;write_data0x30+year1;write_com0x80+0x05;write_data0x30+year2;write_com0x80+0x04;write_data0x30+year3;write_com0x80+0x03;write_data0x30+year4;write_com0x80;write_data0x3c+b;write_com0x80+0x01;write_data0x3c+b;write_com0x80+0x02;write_data0x3c+b;write_com0x80+0x0d;write_data0x3c+c;write_com0x80+0x0e;write_data0x3c+c;write_com0x80+0x0f;write_data0x3c+c;write_com0x80+0x40;write_data0x3c+b;
一、实训目的、熟悉单片机应用系统的开发、研制过程
1、能运用单片机进行简单的单片机应用系统的硬件设计2MCS-
51、能采用单片机汇编语言进行简单的单片机应用系统的软件设计3MCS-
51、掌握单片机应用系统的硬件、软件调试方法
4、熟悉单片机仿真开发系统的作用,基本掌握运用单片机仿真开发系统进行5在线仿真、调试和目标程序固化的方法、为今后从事单片机应用系统的开发、生产和维护工作奠定基础6
二、实训器材机(一台)单片机小车(一辆)pc
三、实训重点难点、会运用等软件工具,学习对单片机应用系统的硬件设计1PROTEL、运用设计、调试单片机应用固件2KIELC
51、掌握芯片、>行列式键盘、数码管、串口、万3DAC LCD12864,LCD1602年历等基本知识
四、实训小车原理图write_com0x80+0x41;write_data0x3c+b;write_com0x80+0x4d;write_data0x3c+c;write_com0x80+0x4e;write_data0x3c+c;write_com0x80+0x4f;write_data0x3c+c;}0-99#include reg
51.h〃定义七节显示器接至#define SEGP0Port0#define ucharunsigned char#define uintunsigned int八sbit p25=P25;sbit p26=P2A6;Char codeTAB
[10]={0x3f,0x06,0x5b,0x4f,0x66,声明七节显示器驱动信号阵列共0x6d,0x7c,0x07,0x7f,0x67};/*阴*//*延迟函数,延迟约x5ms*///延迟函数开始void delayintx〃声明整数变数{int i,j;i,j计数次,延迟for i=0;ix;i++//x x5ms计数次,延迟for j=0;j600;j++;//6005ms}//延迟函数结束void mainunsigned int ge=0,shi=0,coun=0;whilelp26=l;P0=0xfd;p26=0;p25=l;SEG=TAB[ge];delay2;p25=0;p26=l;P0=0xfe;p26=0;p25=l;SEG=TAB[shi];delay2;coun++;ifcoun=20{coun=0;++ge;}ifge9{ge=O;++shi;ifshi9shi=O;}}}流水灯#include reg
51.hvoid delayint;//主程序开始main//声明无号数字元变数占{unsigned chari;i1Bytes P3=0x00;whilel{fori=0;i=7;i++{P0=i;delaylOO;}}}//主程序结束/*延迟函数,延迟约x5ms*///延迟函数开始void delayintx〃声明整数变数{inti,j;i,j计数次,延迟for i=0;ix;i++//x x5ms计数次,延迟for j=O;jl200;j++;//6005ms}//延迟函数结束
六、心得体会通过这几天的单片机的实训我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用实训锻炼了自己动手能力和思维能力还有在软件方面的编程能力让我受益匪浅同时也暴露出一些平时学习上的问题让我深刻反思这些问题的发现将为我以后的学习和工作找明道路查漏补缺为进一步学习作好准备通过实训让我懂得了如何编写一些简单的程序学会了如何制作单片机应用程序并且可以在今后的日常生活中灵活运用a军
三一五、实训程序二一妾」两行显示11602#include U==『y-rPPPPPE UUUreg5l.h E#define lcd_data_port P0sbit led rs=P2A5;sbit led en=P2A6;・・9VMe广,手之包电子*,金西里公用〃延时程序〃void delay100usunsigned intx{unsigned inta,b;fora=0;ax;a++forb=0;b10;b++;〃送命令〃void sendcommandtolcdunsignedcharlcd_commandlcd_data_port=lcd_command;led rs=0;led en=0;delay100us10;::adbinloMtBBnH:•■••■I,r,■fHss:s flsxsled en=l;delaylOOuslO;led en=0;delay100us10;}〃送数据〃void senddatatolcdunsignedchar lcd_datalcd_data_port=lcd_data;led rs=l;led en=0;delay100us10;led en=l;delay100us10;led en=0;delay100us10;void lcd_initvoid{sendcommandtolcd0x38;sendcommandtolcdOxOc;sendcommandtolcd0x01;sendcommandtolcd0x06;}〃显示函数void displayunsignedchar*pwhile*p!=*\0{senddatatolcd*p;p++;}}void mainvoid{lcd_init;〃第一行地址sendcommandtolcd0x80;〃显示字母senddatatolcd0x41;Adisplaydiyihang;〃第二行地址sendcommandtolcdOxcO;display dierhang;whilel;汉字显示12864#include reg5l.h#define lcd_port POsbit led rs=P2A5;sbit lcd_rw=P2A6;sbitled en=P2A7;〃延时程序〃void delay100usunsigned intx{unsigned inta,b;fora=0;ax;a++forb=0;b10;b++;}〃送命令〃void sendcommandtolcdunsignedchar lcd_commandlcd_port=lcd_command;led rw=0;led rs=O;led en=l;delay100us100;leden=0;delay100us100;〃送数据〃void senddatatolcdunsignedchar lcd_datalcd_port=lcd_data;led rw=0;ledrs=l;leden=l;delaylOOuslOO;leden=0;delay100us100;〃初始化void lcd_initvoid{sendcommandtolcd0x38;sendcommandtolcdOxOc;sendcommandtolcd0x06;sendcommandtolcd0x01;〃显示函数void displayunsignedchar*pwhile*p!-\Of{senddatatolcd*p;P++;}void mainvoidlcd_init;〃第一行地址第一sendcommandtolcd0x80;display行A;〃第二行地址第二sendcommandtolcd0x90;display行B;〃第三行地址第三sendcommandtolcd0x88;display行C;//senddatatolcd0x41;〃第四行地址sendcommandtolcd0x98;//senddatatolcd0xc4;//senddatatolcd0xe3;第四行display D;whilel;转换方波A/D#include reg5l.h#define uintunsignedint#define ucharunsignedcharsbit CS=P0A1;sbit CLK=P0A0;sbit DATA=P0A2;void da5615uint da{uchar i;da«=6;CS=0;CLK=0;fori=0;i12;i++{DATA=bitda0x08000;CLK=1;da«=1;CLK=0;}CS=1;CLK=0;fori=0;i12;i++;}void delayuintx{uint i,j;fori=0;ix;i++forj=0;j100;j++;。
个人认证
优秀文档
获得点赞 0