1、单片机原理报告 实 验 报 告(理工类)课 程 名 称: 单片机原理与应用 课 程 代 码: 8426470 学生所在学院: 应用技术学院 年级/专业/班: 2010级机电一体化 学 生 姓 名: 学 号: 4120105802 实验总成绩: 任 课 教 师: 开 课 学 院: 机械工程与自动化学院 西华大学实验报告(理工类)开课学院及实验室:应用技术学院 计算机中心 实验时间 :2011 年10月24日学 生 姓 名 学 号41201058020 成 绩学生所在学院应用技术学院年级/专业/班2010级机电一体化 课 程 名 称单片机原理与应用课 程 代 码8426470 实验项目名称红黄绿灯
2、控制项 目 代 码指 导 教 师 项 目 学 分1实验目的(1)学习Keil c51集成编译软件的使用和调试程序方法;(2)学习将用户程序下载到应用系统的方法;(3)掌握STC89C52单片机I/O端口的控制和使用方法。2实验设备 单片机实验板、PC机、Keil软件、STC-ISP.EXE程序下载软件。3实验内容 利用单片机的P1.1、P1.2、P1.3控制3个LED指示灯,模仿交通控制灯:红灯亮4秒;黄灯亮2秒;黄灯、绿灯同时亮1秒;绿灯亮4秒,如此循环。4实验电路 实验电路原理图如下:5实验程序实验程序流程图见下图:实验程序如下:#include sbit LED1=P13;sbit LE
3、D2=P12;sbit LED3=P11;void delayms(unsigned int x) unsigned char j; while(x-) for(j=0;j9 实验程序如下:实验流程图#include sbit KEY1=P34;sbit KEY2=P36;sbit KEY3=P37;sbit LED1=P10;sbit LED2=P12;sbit LED3=P17;unsigned char dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;void main(void) TMOD=0x06;TL0
4、=0;TH0=0;TR0=1; while(1) if(TL09)TL0=0; P2=dispcodeTL0; if(KEY1=0)LED1=0;LED2=1;LED3=1; if(KEY2=0)LED1=1;LED2=0;LED3=1; if(KEY3=0)LED1=1;LED2=1;LED3=0; 6实验步骤(1)根据实验原理图编写程序,用“Keil uVision4”编译软件编译,如未通过,修改程序,直至通过;(2)用STC-ISP.EXE软件将所编程序的“HEX”码下载到实验板的STC89c52芯片中;(3)运行程序,按实验板右下侧的KEY1,KEY2, KEY3, 观察LED中的红黄
5、绿灯否按要求点亮,如果不符合要求,改写程序,按步骤(1)开始重新做实验,直至成功。(4)按同样的方法调试编写实验内容2的程序,直至调试成功。7思考题 段码与那些因素有关,写出本实验中LED数码管A、b、C、d、e、F、g的段码。答:利用各段发光二极管的“亮”、“暗”可以组成各段数字和符号,这种组合称为段码显示字符共阳极时引脚连接对应关系gfedcba00111111101100002101101131001111411001105110110161111101700001118111111191101111西华大学实验报告(理工类)开课学院及实验室: 应用技术学院 计算机中心 实验时间 :20
6、11年 11月7日学 生 姓 名 学 号41201058020 成 绩学生所在学院应用技术学院年级/专业/班 课 程 名 称单片机原理与应用课 程 代 码8426470实验项目名称实验3掌握MCS51定时器的使用方法项 目 代 码指 导 教 师 项 目 学 分1实验目的 掌握MCS51定时器的使用方法。2实验设备 单片机实验板、PC机、Keil等编译软件、STC-ISP.EXE程序下载软件。3实验内容(1)利用定时器中断方式,做一个显示09的秒钟。(2)利用定时器中断方式,做一个显示0099的秒钟,每1秒增加1。4实验电路 实验电路原理图如下:实验电路原理图5实验程序 调试成功的程序如下:显示
7、09秒的程序:#include#define uint unsigned int #define uchar unsigned charuchar code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;uchar num;uchar timecounter=100;void main(void) TMOD=0x01;TL0=0xff;TH0=0xd8;EA=1;ET0=1;TR0=1; while(1) P2=dispcodenum%10; void time0(void) interrupt 1 TL0=0x
8、ff;TH0=0xd8; timecounter-; if(timecounter=0) timecounter=100; num+; if(num9)num=0; 显示0099秒的程序:#include#define uint unsigned int #define uchar unsigned charsbit LED1=P22;sbit LED2=P27;uchar code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;uchar num;uchar timecounter=100;void delay
9、ms(uint x) uchar j; while(x-) for(j=0;j99)num=0; 6实验步骤(1)根据实验原理图编写程序,用“Keil uVision4”编译软件编译,如未通过,修改程序,直至通过;(2)用STC-ISP.EXE软件将所编程序的“HEX”码下载到实验板的STC89c52芯片中;(3)运行程序,观察LED数码管是否每隔1秒出现“0”“9”,的变化。如果不符合要求,改写程序,按步骤(1)开始重新做实验,直至成功。(4)按同样的方法调试编写实验内容中(2)的程序,直至调试成功。7思考题 谈一下用定时器中断编程的体会。答:定时器/中断器计算机中能大大提高计算机的处事能力
10、,提高起工作效率,作为一个大学生有必要熟悉的运用定时器/中断器西华大学实验报告(理工类)开课学院及实验室: 应用技术学院 计算机中心 实验时间 :2011年 11月14日学 生 姓 名学 号412010580成 绩学生所在学院应用技术学院年级/专业/班 课 程 名 称单片机原理与应用课 程 代 码8426470实验项目名称实验4计数器实验项 目 代 码指 导 教 师项 目 学 分1实验目的 掌握计数器的使用方法。2实验设备 单片机实验板、PC机、Keil等编译软件、Proteus软件。3实验内容利用计数器,记录按按钮的次数,并用LCD1602显示出来。4实验程序 实验实验的程序框图如下:计时器
11、/LCD初始化按动按钮一次,计数器加一LCD显示实验实验的程序框图计数TL0999 实验的程序如下:#include#includeLCD1602.h#define uint unsigned int #define uchar unsigned charvoid main(void) TMOD=0x06; TL0=0;TH0=0;TR0=1; while(1) uchar DispBuffer4; uchar i=TL0; LCD_Initial(); LCD_Prints(1,0,THE NUMBER IS); if(TL0999)TL0=0; DispBuffer0=TL0/100+0X
12、30; DispBuffer1=TL0%100/10+0X30; DispBuffer2=TL0%100%10+0X30; DispBuffer3=0; LCD_Prints(6,1,DispBuffer); 5实验电路 实验电路原理图如下:实验电路原理图7实验步骤(1) 根据实验原理图编写程序,用“Keil”编译软件进行编译,如未通过修改程序,直至通过;(2) 用Proteus软件将所编程序的“HEX”码下载到At89c51芯片中;(3) 运行程序,观察LCD数码管是否出现计数值的变化,如果不符合要求,改写程序,按步骤(1)开始重新做实验,直至成功。8思考题 为了简化编程,本实验提供的子程序只能将计数器方式2,如果采用方式1。如何将计数值全部显示出来?答:计数器方式1与计时器方式2相比增大了计数次数,要把计数全部显示出来可以改成多位数码管或LCD模块。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1