文档详情

单片机及其应用报告.docx

发布:2017-06-08约9.07千字共19页下载文档
文本预览下载声明
单片机原理及应用 大 作 业 姓名: XXX 专业: 通信工程 学号: XXX 作业1 流水灯实现循环左移右移 实验目的 1)?了解单片机系统实现LED动态显示的原理及方法; 2)?较为详细了解AT89C51芯片的性能; 3)?能够了解到单片机系统的基本原理,了解单片机控制原理;? 4)?掌握AT89C51程序控制方法; 5)?掌握AT89C51?C语言中的设计和学会分析程序,进而能够根据自己的需要编写代码; 6) 掌握使用PROTEUS软件进行仿真的方法; 7) 掌握循环左移右移的方法。 实验软件 PROTEUS仿真软件 芯片介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。 实验内容 点亮一个流水灯,然后熄灭,接着点亮第二个流水灯,熄灭,点亮第三个,到最后点亮第八个;点亮第七个灯,一次到第一个灯,然后循环实现流水。 原理图 仿真效果图 软件编程程序 总结 作业2 数码管矩阵键盘显示 实验目的 1)?了解单片机系统实现LED动态显示的原理及方法; 2)?较为详细了解AT89C51芯片的性能; 3)?能够了解到单片机系统的基本原理,了解单片机控制原理;? 4)?掌握AT89C51程序控制方法; 5)?掌握AT89C51?C语言中的设计和学会分析程序,进而能够根据自己的需要编写代码; 6)?掌握4X4矩阵式键盘程序识别原理; 7)?掌握4X4矩阵式键盘的设计方法; 8)?学习键盘的扫描方式和应用程序设计; 9) 掌握使用PROTEUS软件进行仿真的方法; 实验软件 PROTEUS仿真软件 芯片介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。 实验内容 1)4×4矩阵键盘程序识别原理。 2)每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线都连接到AT89C51中,通过按键0~F,来在数码管显示不同的值。 原理图 仿真效果 实验程序 #includereg51.h #includeabsacc.h //?定义绝对地址头文件 #includeintrins.h #define?uchar?unsigned?char #define?uint????unsigned?int #define?PA8255?XBYTE[0x4000] //?8255的A口地址 #define?PB8255?XBYTE[0x4001] //?8255的B口地址 #define?PC8255?XBYTE[0x4002] //?8255的C口地址 #define?PD8255?XBYTE[0x4003] //?8255的控制口地址 unsigned?char?dispBuffer[6]={17,17,17,17,17,1}; //?显示缓冲 uchar?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 0xbf, ? //??. 0xff //?灭 }; uchar?LED_NUM[]= //数码管?位码 { 0xFE, //?LED1 0xFD, //?LED2 0xFB, //?LED3 0xF7, //?LED4 0xEF, //?LED5 0xDF? //?LED6 }; uchar?KEY_number[]= //?按键扫描编码 { ?0x77, //?0 , ?0xb7, //?1 ?0xd7, //?2 ?0xe7, //?3 ?0x7b, //?4 ?0xbb, //?5 ?0xdb, //?6 ?0xeb, //?7 ?0x7d, //?8 ?0xbd, //?9 ?0xdd, //?a ?0xed, //?b ?0x7e, //?c ?0xbe, //?d ?0xde, //?e ?0xee //?f }; void?delayms(uint?xms)???//误差?0us { ????uint?i,j; ????for(i=x
显示全部
相似文档