单片机最小系统实训报告_第1页
单片机最小系统实训报告_第2页
单片机最小系统实训报告_第3页
单片机最小系统实训报告_第4页
单片机最小系统实训报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

单片机最小系统实训报告一、 实训目的1、 掌握并理解单片机最小系统的原理及制作, 牢记最小系统中各元器件 的参数及各元器的作用./2、 掌握单片机芯片内部的组成及存储机构。3、 理解常用指令的功能和使用方法。4、 掌握单片机的中断源,中断控制寄存器,中断响应过程,定时/计数器的电路结构、功能我使用方法,定时器/计数控制寄存器.5、 复习利用Keil51软件对程序进行编译。6、 用protel软件绘制“单片机最小系统”电路,并用测试程序进行仿真。7、 会根据实际功能,正确选择单片机功能接线,编制正确程序。对实验结果能做出不分析我解释,能学出符合规格的实验报告。二、 实训工具1、 点偏激测试平台:PC机,串口线,并口线,单片机开发板2、 软件:keil51测试软件,protel仿真软件,DXP2004软件。三、 实训要求通过实训,学生应达到以下经济方面的要求: 素质要求1、 以积极认真的态度对待本次实训,遵章守纪、团结协作。2、 善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。能力要求1、 模拟电路的理论知识2、 脉冲与数字电路的理念知识3、 通过模拟、数字电路实验有一定的动手能力4、 能熟练的制作单片机最小系统5、 嫩熟练的编写8951单片机汇编程序6、 能够熟练的运用仿真软件对单片机最小系统仿真四、实训内容 1、掌握并理解“单片机最小系统”的原理及制作,牢记最小系统中各元器件的参数及格元器件的作用。 2、用keil51测试元件编写8951单片机汇编程序 3、用peotel软件绘制“单片机最小系统”单路原理图。 4、运用仿真软件对单片机最小系统进行仿真。五实训基本步骤 1、用peotel乳酸钠几十年绘制“单片机最小系统”单路原理图。 2、根据原理图生成pcb图、GB文件。钻孔文件 3、绘制印刷电路板。 4、根据原理图焊接元件,生成单片机开发板。 5、用keil51软件编写单片机最小系统测试程序。 6、用仿真软件绘制单片机最小系统原理图,测试测量程序。 7、把测试程序拷贝到单片机里进行实物测试。 8、观察测试结果。六、51单片机C编语言程序测试测试程序流水灯1:/用定时器做流水灯测试/为定时显示做准备/P1-0-PF1.3 L0-L3#include#include#define unit unsigned int #define unchar unsigned char sbit L0 = P10;sbit L1 = P11;sbit L2 = P12;sbit L3 = P13;unsigned char data BUFFER1=0; void main(void) P2=0X0F; EA=1; IT0=1; ET0=1; TMOD=0X01; TH0=-5000/256; TL0=-5000%256; TR0=1; while(1) ;/定时器0中断服务程序/void timer0(void) interrupt 1 using 1 TH0=-5000/256; TL0=-5000%256; BUFFER0=BUFFER0+1; if(BUFFER0=100) L3=!L3; L2=!L2; L1=!L1; L0=!L0; 测试程序流水灯2:/此程序为了做花样流水灯的/采用了C的宏定义 X 可以实现一改全改#include#include#define unit unsigned int #define unchar unsigned char #define X 16 /unsigned int time=0;unsigned int aX= 0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80, 0X18,0X24,0X42,0X81,0X42,0X24,0X18,0X00, ;void main(void) P1=0X0f; EA=1; IT0=1; ET0=1; TMOD=0X01; TH0=9000/256; TL0=9000%256; TR0=1; while(1) P1=atime; ;/定时器0中断服务程序/void timer0(void) interrupt 1 using 1 TH0=9000/256; TL0=9000%256; time+; if(time=X) time=0; /此程序来测试数码管/P0.0-P0.7 A B C D E F G dp/P2.0-P2.7 C0M0-C0M8#include#include#define unit unsigned int #define unchar unsigned char unsigned char data BUFFER1=0;unsigned char X=0;/共阳极码表数码管unsigned char leddata= 0xC0, /0 0xF9, /1 0xA4, /2 0xB0, /3 0x99, /4 0x92, /5 0x82, /6 0xF8, /7 0x80, /8 0x90, /9 0x88, /A 0x83, /B 0xC6, /C 0xA1, /D 0x86, /E 0x8E, /F 0x89, /H 0xC7, /L 0xC8, /n 0xC1, /u 0x8C, /P 0xA3, /o 0xBF, /- 0xFF, /熄灭 0xFF /自定义 ;unsigned char com=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,;void Delay(unsigned char cnt) while(cnt-);void xian_shi(unsigned char cp) unsigned char i; unsigned int z=cp; for(i=0;i8;i+) P0=leddataz%10; P2=comi; Delay(200); z=z/10; void main(void) P0=0X00; P2=0Xff; EX0=1; IT0=1; EA=1; while(1) xian_shi(X); ;/定时器0中断服务程序/void timer0(void) interrupt 1 using 1 X+; if(X=25) X=0; 此程序测试键盘/P3.0-P3.3 L0-L3/从左到有显示为 0 1 2 3 P3.4/上/ 4 5 6 7 P3.5/到/ 8 9 A B P3.6/ /下/ C D E F P3.7/ /P3.4-=P3.7 H0-H3 #include #define uchar unsigned char#define uint unsigned intunsigned char led_data= 0xC0, /0 0xF9, /1 0xA4, /2 0xB0, /3 0x99, /4 0x92, /5 0x82, /6 0xF8, /7 0x80, /8 0x90, /9 0x88, /A 0x83, /B 0xC6, /C 0xA1, /D 0x86, /E 0x8E, /F 0x89, /H 0xC7, /L 0xC8, /n 0xC1, /u 0x8C, /P 0xA3, /o 0xBF, /- 0xFF, /熄灭 0xFF /自定义 ;void delay(uint i) while(i-);uchar keyscan(void) / uchar cord_h,cord_l;/行列值中间变量 P3=0x0f; /行线输出全为0 cord_h=P3&0x0f; /读入列线值 if(cord_h!=0x0f) /先检测有无按键按下 delay(100); /去抖 if(cord_h!=0x0f) cord_h=P3&0x0f; /读入列线值 P3=cord_h|0xf0; /输出当前列线值 cord_l=P3&0xf0; /读入行线值 return(cord_h+cord_l);/键盘最后组合码值 return 0xFF;void main() uchar key; P2=0xbb; /1数码管亮 按相应的按键,会显示按键上的字符 while(1) key=keyscan(); /调用键盘扫描, switch(key) case 0xEE:P0=led_data0;break;/0 按下相应的键显示相对应的码值 case 0xED:P0=led_data1;break;/1 case 0xEB:P0=led_data2;break;/2 case 0xE7:P0=led_data3;break;/3 case 0xDE:P0=led_data4;break;/4 case 0xDD:P0=led_data5;break;/5 case 0xDB:P0=led_data6;break;/6 case 0xD7:P0=led_data7;break;/7 case 0xBE:P0=led_data8;break;/8 case 0xBD:P0=led_data9;break;/9 case 0xBB:P0=led_data10;break;/a case 0xB7:P0=led_data11;break;/b case 0x7E:P0=led_data12;break;/c case 0x7D:P0=led_data13;break;/d case 0x7B:P0=led_data14;break;/e case 0x77:P0=led_data15;break;/f /此程序用来测试中断键盘P3.2 INT0/下跳沿触发/#include#include#define unit unsigned int #define unchar unsigned char sbit L0=P10;sbit L1=P11;sbit L2=P12;sbit L3=P13;unsigned int times=0;void delay(unsigned int cp) unsigned int i=cp; while(i-); unsigned char leddata= 0xC0, /0 0xF9, /1 0xA4, /2 0xB0, /3 0x99, /4 0x92, /5 0x82, /6 0xF8, /7 0x80, /8 0x90, /9 0x88, /A 0x83, /B 0xC6, /C 0xA1, /D 0x86, /E 0x8E, /F 0x89, /H 0xC7, /L 0xC8, /n 0xC1, /u 0x8C, /P 0xA3, /o 0xBF, /- 0xFF, /熄灭 0xFF /自定义 ;unsigned char com=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,;void xian_shi(unsigned char cp) unsigned char i; unsigned int z=cp; for(i=0;i8;i+) P0=leddataz%10; P2=comi; delay(200); z=z/10; void main(void) P1=0Xdd; EX0=1; IT0=1; EA=1; while(1) xian_shi(times); ;/INT0低电平中断服务程序/void intersvr0(void) interrupt 0 using 1 L0=!L0; L1=!L1; L2=!L2; L3=!L3; times +; /最简单的24小时显示#include#include#define unit unsigned int #define unchar unsigned char unsigned char data BUFFER1=0;unsigned char time3=0;unsigned char leddata= 0xC0, /0 0xF9, /1 0xA4, /2 0xB0, /3 0x99, /4 0x92, /5 0x82, /6 0xF8, /7 0x80, /8 0x90, /9 0x88, /A 0x83, /B 0xC6, /C 0xA1, /D 0x86, /E 0x8E, /F 0x89, /H 0xC7, /L 0xC8, /n 0xC1, /u 0x8C, /P 0xA3, /o 0xBF, /- 0xFF, /熄灭 0xFF /自定义 ;unsigned char com=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,;void Delay(unsigned char cnt) while(cnt-);void xian_shi(void) unsigned char i; unsigned int SS=time0+100*time1+10000*time2; for(i=0;i6;i+) P0=leddataSS%10; P2=comi; Delay(200); SS=SS/10; void main(void) P0=0X00; P2=0Xff; EA=1; IT0=1; ET0=1; TMOD=0X01; TH0=0xec; TL0=0x78; TR0=1; while(1) xian_shi(); ;/定时器0中断服务程序/void timer0(void) interrupt 1 using 1 TH0=0xec; TL0=0x7

温馨提示

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

评论

0/150

提交评论