目录

  • 一、说明
  • 二、重点
  • 三、实现
  • 四、下载

此项目是作为单片机应用系统设计,通过STC单片机实验开发装置的结构、原理电路、以及其所能实现的功能和应用,建立单片机实现多功能综合应用系统的整体概念,打下实际工程项目设计、开发、应用的较好基础。

  • 分析和熟悉实验装置的硬件结构
  • 分析和掌握实验装置的电路原理:器件工作原理、电路接口原理、端口和编址分配原理、电路的主要技术参数等
  • 分析和了解设计方法,理解器件的合理布局,装置的工艺设计及安装工艺

一、说明

系统是一个综合性单片机开发应用的系统,是以“单片机实验开发装置”为基础进行设计,包括:存储器扩展、I/O部件控制(LED、数码管、继电器、扬声器、矩阵键盘等电路。在Proteus虚拟仿真集成环境下设计了“单片机实验开发装置”的仿真电路,在Keil µVision4集成开发环境下,采用C51编程编程实现以下功能:

  • 用LED显示外部中断。LED花样自动循环显示,并自动控制显示的次数和时间间隔:①流水灯30遍;②高低4位交替闪亮10遍;③双流水灯30遍;④循环二进制加1结果1遍;⑤奇偶灯交替闪亮30遍。⑥二进制减1
  • 用矩阵式键盘的0-9数字键控制8段数码管显示0-9。将矩阵键盘的键值采用LED数码管显示出来,当按下数字键0-9时,在数码管上显示,要求每按一个新数字时,数码管显示新数字
  • 连接一个Proteus器件库有的LCD模块进行显示。在Keil µVision4集成开发环境下,采用C51编程,完成了LCD汉字动态显示控制,用按键控制显示“产教融合”的拼音

二、重点

  • 分析和熟悉实验装置的硬件结构
  • 分析和掌握实验装置的电路原理:器件工作原理、电路接口原理、端口和编址分配原理、电路的主要技术参数等
  • 在仿真调试中验证仿真电路设计的正确性和软件设计的正确性,实现设计的目标

三、实现

用LED显示外部中断

#include <reg52.h>
//#include <absacc.h>
//#define LED XBYTE[0x4000]sbit P26 = P2^6;
sbit INT_0 = P3^2;
unsigned  int i=0;
//unsigned char key1=0,key=0;
unsigned int count=0;
unsigned char kd1=0x01,kd2=0x0f,kd3=0x03,kd4=0;kd5=0x55;kd6=0xff;//功能:51单片机,12M,10ms延时程序
void delay10ms(void)
{unsigned char  i,j,k;    //idatafor(i=5;i>0;i--)for(j=4;j>0;j--)for(k=248;k>0;k--);
}//500ms延时子程序(12MHZ)
void delay500ms(void)
{unsigned char  i,j,k;      //idatafor(i=10;i>0;i--)for(j=132;j>0;j--)for(k=150;k>0;k--);
}void main()
{   EA=1;                  //开总中断EX0=1;               //开外部中断0IT0=1;                 //=1为边沿触发,至关重要while(1){P1=0x0f;switch (count) { case 0:P0=kd1;    P26=1;P26=0;kd1<<=1;delay500ms();if (kd1==0) kd1=0x01;break;case 1: P0=kd2;P26=1;P26=0;kd2=~kd2;delay500ms();break;case 2: P0=kd3;P26=1;P26=0;kd3<<=1; kd3<<=1;delay500ms();if (kd3==0x00) kd3=0x03;break;case 3: P0=kd4;P26=1;P26=0;delay500ms();kd4++;break;case 4: P0=kd5;P26=1;P26=0;delay500ms();kd5=~kd5;break;case 5: P0=kd6;P26=1;P26=0;delay500ms();kd6--;break;}}}void int0(void) interrupt 0
{EX0=0;delay10ms();if (INT_0==0){ count++;if (count==6) count=0;}EX0=1;
}

用矩阵式键盘的0-9数字键控制8段数码管显示0-9

#include <reg51.h>
#include <string.h>unsigned char data kd1=0x01,kd2=0x0f,kd3=0x03,kd4=0,key;
sbit P26=P2^6;
void delay()
{unsigned char data  i,j;for(i=0;i<255;i++)for(j=0;j<255;j++);
}
void main(void)
{//   P1=0x0f; 此句放此不行,分析原因:其它语句对P1口信号有影响;while(1){ delay();        P1=0x0f;key=~P1;key=key&0x06;switch (key){case 0:P0=kd1;P26=1;P26=0;kd1=kd1<<1;if (kd1==0)kd1=0x01;break;case 2:P0=kd2;P26=1;P26=0;kd2=~kd2; //不能用:kd2=!kd2,!不是按位取反,而是表达式的逻辑值取反。break;                           case 4:P0=kd3;P26=1;P26=0;
//         kd3=kd3<<1; kd3=kd3<<1;kd3<<=1; kd3<<=1;  //注意:kd3<<1的写法不对if (kd3==0x00)kd3=0x03;break;case 6:P0=kd4;P26=1;P26=0;kd4++;break;
//     default: break;    //此句可不要}}
}


连接一个Proteus器件库有的LCD模块进行显示

#include <REGX52.H>
#include "LCD1602.h"unsigned char TempBuffer[10];
void IntToStr(unsigned int t, unsigned char *str, unsigned char n)
{unsigned char a[5]; char i, j;                                     a[0]=(t/10000)%10;         //取得整数值到数组          a[1]=(t/1000)%10;                                      a[2]=(t/100)%10;                                       a[3]=(t/10)%10;                                        a[4]=(t/1)%10;                                         for(i=0; i<5; i++)         //转成ASCII码                 a[i]=a[i]+'0';                                      for(i=0; a[i]=='0' && i<=3; i++);                        for(j=5-n; j<i; j++)       //填充空格                     { *str=' ';  str++; }                              for(; i<5; i++)                                        { *str=a[i]; str++; }  //加入有效的数字             *str='\0';
} void Delay1ms(unsigned int count)
{unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<120;j++);
}main()
{unsigned int Count = 0;LCD_Initial();GotoXY(0,0);Print("ChanJiaoRongHe");GotoXY(0,1);Print("        Count");while(1){IntToStr(Count++,&TempBuffer[0],5);GotoXY(3,1);Print(&TempBuffer[0]);Delay1ms(100);}
}

四、下载

详见:STC51单片机-实验开发装置仿真-物联网应用系统设计项目开发

STC51单片机-实验开发装置仿真-物联网应用系统设计相关推荐

  1. STC51单片机-控制LED闪亮的仿真-物联网应用系统设计

    目录 一.说明 二.重点 三.实现 四.下载 此项目是作为单片机应用系统设计,通过STC单片机实验开发装置的结构.原理电路.以及其所能实现的功能和应用,建立单片机实现多功能综合应用系统的整体概念,打下 ...

  2. STC51单片机-多功能信号发生器设计-物联网应用系统设计项目开发

    目录 一.说明 二.重点 三.实现 四.下载 一.说明 信号发生器是一种能提供各种频率.波形和输出电平电信号的设备.在测量各种电信系统或电信设备的振幅特性.频率特性.传输特性及其它电参数时,以及测量元 ...

  3. c语言p1口亮灯,单片机实验开发与微机原理接口技术综合实验装置,上海求育

    原标题:单片机实验开发与微机原理接口技术综合实验装置,上海求育 上海求育QY-JXSY43单片机微机开发实验箱 上海求育QY-JXSY43单片机微机开发实验箱是集51.8088二大系列CPU于一体的二 ...

  4. 网络型PLC可编程控制及单片机实验开发系统综合实验装置

    ZN-03B型 网络型PLC可编程控制及单片机实验开发系统综合实验装置 一.概述 ZN-03B型 PLC可编程控制器及单片机实验开发系统综合实验设备做到一机多用.资源共享.便于管理.该系统可完成51/ ...

  5. PLC单片机实验开发系统装置QY-DPJ12

    一.装置简介 QY-DPJ12PLC单片机实验开发系统综合装置可完成51/96/8088/8086等CPU的单片机.微机的全部软.硬件实验.在单片机仿真实验系统的基础上,增加8088十六位微机原理和接 ...

  6. 网络接口型单片机微机综合实验开发装置QY-DPJ09

    一.装置简介 QY-DPJ09网络接口型单片机.微机综合实验开发装置是由控制屏.内置直流稳压电源.漏电断路器等组成,控制屏有两大块的双面印刷线路板组成. 1.装置集51.96.8088(以下简称88) ...

  7. PLC单片机实验开发设备

    在单片机的应用中,PLC控制系统已经成为了其组成中的重要组成部分.单片机主要利用PLC必备的编程接口来进行通信,使用LCD作为用户的界面,界面中可以显示出PLC的工作状态.工艺参数,也可以使用相应的按 ...

  8. MCS-51单片机实验开发系统实验箱,QY-JXSY33

    MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),高级语言编程快捷,但程序长,占用存储空间大,执行慢:汇编语言产生的目标程序简短,占用存储空间小,执行快,能充分发挥计算机的硬件功 ...

  9. 单片机实验-开发板动态显示电路移植

    在前面,我们对于电路的动态显示进行了一定的学习与了解. (即数码管显示实验与数码管动态显示实验) 详见:单片机数码管实验 这次,我们将进一步学习一下开发板动态显示电路移植的知识. 即上文实验项目三的内 ...

  10. 单片机实验装置,单片机课程教学配套实验设备

    单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上.相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备.单片机采用超大规模集成电路技术把具有数据处 ...

最新文章

  1. python PDF 转 图片
  2. 在PHP当中制作隔行换色的效果以及制作上下翻页的效果!
  3. 等待多个并发事件完成的模型
  4. Vmware 中安装Unix
  5. python终止线程_Python里怎么终止一个线程
  6. 面前的大山一座接一座
  7. 矩池云安装gdal五种解决方案
  8. win10装系统--笔记
  9. Liferay 加载自定义css 文件
  10. 希捷硬盘固件修复工具_希捷发布旗下首款PCIe 4.0固态盘酷玩520:东芝96层TLC、最高5GB/s...
  11. wps在任务栏取消显示多个文档的预览
  12. android仿美团外卖选择地址,Android仿美团地址选择
  13. fastqc检验时不能执行java_fastqc对原始测序reads质控
  14. 写作的意义,从一枚勋章开始
  15. java jtextarea 超出_java – 如何保持JTextArea的大小不变?
  16. 何为数据库连接池?其工作原理是什么?
  17. 《2020版JavaScript基础入门教程全集》,助你一臂之力!
  18. 我为什么要考非全日制研究生
  19. js正则表达式验证大于0的整数
  20. 【疑难杂症】 打开文件 出现中文汉字乱码 解决办法(详细)

热门文章

  1. python-opencv第三期:cvtColor函数详解
  2. 深海迷航坐标传送代码_《深海迷航》秘籍代码怎么用及深海迷航代码大全
  3. memory hierachy
  4. 上市公司频推高送转 年报预告掘金“白马股”(名单)
  5. 博客群建软件-关键词要如何优化才能有好的排名
  6. Python 的RS485 串口通讯
  7. Android 打造RxBus2.x的全面详解
  8. 解决jdk证书问题-生成jssecacerts PKIX path building failed
  9. Android数据库增删改查
  10. Servlet基础:容器