MCS-51单片机接口技术实验
适用:电气类专业本科学生
实验报告
实验一 熟悉Proteus仿真模拟器,LED花样表演
一、实验目的
掌握以下方法:
1.在Proteus的环境下,设计硬件原理图; 2.在keilc集成环境下设计C51语言程序;
2.在Proteus的环境下,将硬件原理图与软件联接仿真运行。 二、实验环境
1.个人微机,Windows操作系统 2.Proteus仿真模拟器 3.Keilc编程 三、实验题目
基本题:使用8051的并口带动8个LED发光二极管显示一种花样表演。 提高题:使用一个键切换实现3种以上花样表演。 四、实验类型:
学习、模仿与简单设计型。 五、实验步骤:
0、进入ISIS,先选择需要的元件,然后设计电原理图,保存文件; 1、在keilc软件集成环境下编写源程序,编译工程文件; 2、将所设计的硬件原理图与目标代码程序相联接; 4、按play键,仿真运行程序。
附,可能用到的元件名称:
CPU:AT89C51或任一种MCS-51家族CPU; 晶振:Crystal;
电容器:Capacitors,选22pf
电解电容:CAP-ELEC或GENELECT10U16V 复位电阻:MINRES10K 限流电阻:MINRES330R 按键:BUTTON
LED:LED-BLUE/RED/YELLOW或DIODE-LED
(一)接线图如下:
(二).基础花样
(四)程序流程图
开始 中断子程序开始
保护现场 中断设置
五次花样显示 开中断
主花样显示 恢复现场 结束
中断返回
(五)C程序 #include
#define uint unsigned int #define uchar unsigned char
const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay() {
uint i,j;
for(i=0;i<256;i++) for(j=0;j<256;j++) {;} }
void int1() interrupt 0 {
uchar i;
for (i=0;i<6;i++) { P0=tab2[i]; delay(); } }
void main(void) {
EX0=1; IT0=1; EA=1;
while(1) {
uchar x;
for(x=0;x<15;x++) { P0=tab1[x]; delay();} } }
(六)总结
本次实验让我能够熟练的掌握和使用keil和proteus等软件进行编程和仿真,也对流水灯的原理和硬件结构有了更加深刻的认识。只会基础花样不懂变通。