一、简介

使用stc89c52为核心。功能为检测门电路,仿真中没有集成门芯片,所以此程序只可以测试门电路而不是集成门。目前仅支持7400、7404、7432后续有时间我可以继续设计更多门电路的检测。如果需要源码后续我会分享出来。

二、电路代码驱动

实验仿真电路

1、数码管使用74hc573锁存器驱动

sbit  C1=P3^2;      //数码管驱动芯片控制端
sbit  C2=P3^3;
sbit  C3=P3^4;
sbit  C4=P3^5;

2、两个LED指示灯

sbit  LED_Good = P3^6;      //正常指示灯
sbit  LED_Bad  = P3^7;     //错误指示灯

3、两个按键

sbit  KEY_Choose = P3^0;    // 选择检测芯片
sbit  KEY_Begin  = P3^1;   // 确定选择的芯片

4、单片机对门电路检测信号输入输出

sbit  OutPutOne = P1^0;     //单片机信号输出1
sbit  OutPutTow = P1^1;        //单片机信号输出2
sbit  InPut     = P1^2;        //单片机信号输入

三、程序分析

1、数码管驱动程序

void SEG_Def ()
{C1=C2=C3=C4=0;  P0 = 0x40;C1 =C2 =C3 =C4 =1;   delay (10);C1 =C2 =C3 =C4 =1;
}void SEG_7400 ()
{C1=C2=C3=C4=0;  P0 = 0x07;C1 = 1;   delay (10);  C1 = 0;   P0 = 0x66;C2 = 1;  delay (10); C2 = 0;P0 = 0x3f; C3 =C4 =1;    delay (10); C3 =C4 =0;}void SEG_7404 ()
{C1=C2=C3=C4=0;  P0 = 0x07;C1 = 1;   delay (10);  C1 = 0;   P0 = 0x66;C2 = 1;  delay (10); C2 = 0;P0 = 0x3f;C3 = 1; delay (10); C3 = 0;P0 = 0x66;C4 = 1; delay (10); C4 = 0;}void SEG_7432 ()
{C1=C2=C3=C4=0;  P0 = 0x07;C1 = 1;   delay (10);  C1 = 0;  P0 = 0x66;C2 = 1;   delay (10); C2 = 0;P0 = 0x4f;C3 = 1; delay (10); C3 = 0;P0 = 0x5b;C4 = 1; delay (10); C4 = 0;}

2、LED指示程序

/********************************
函数名:LED指示
********************************/
//门电路正常提示//
void LED_normal ()
{unsigned int i;for (i=0;i<4;i++){LED_Good = 1;  delay_slow ();LED_Good = 0;    delay_slow ();}
}
//门电路错误提示//
void LED_error ()
{unsigned int i;for (i=0;i<4;i++){LED_Bad = 1;   delay_slow ();LED_Bad = 0; delay_slow ();}
}

3、开始选择菜单程序

/****************************************
函数名:一级选择菜单函数
功能:循环检测按键并执行菜单选择的功能
*****************************************/
void MenuChoose ()
{while (1){if (KEY_Choose == 0){ delay (300);if (KEY_Choose == 1) {//控制范围//if (MenuData == 4){MenuData = 1;}else {MenuData=MenuData+1;}switch (MenuData){case 1:SEG_7400 ();break;case 2:SEG_7404 ();break;case 3:SEG_7432 ();break;}}}if (MenuData==1&&KEY_Begin==0){Begin_Carry_7400 ();}if (MenuData==2&&KEY_Begin==0){Begin_Carry_7404 ();}if (MenuData==3&&KEY_Begin==0){Begin_Carry_7432 ();}}
}

4、门电路检测程序

/********************************
函数名:开始执行门电路检测
********************************/
void Begin_Carry_7400 ()
{       delay_slow();CheckStatus = 0;OutPutOne = 0;   OutPutTow = 0;if (InPut == 0)    {CheckStatus = 0;  LED_error ();   }else if (InPut == 1) {CheckStatus++;}delay_slow();OutPutOne = 0;  OutPutTow = 1;if (InPut == 0)    {CheckStatus = 0;  LED_error ();   }else if (InPut == 1) {CheckStatus++;}delay_slow();OutPutOne = 1;  OutPutTow = 0;if (InPut == 0)    {CheckStatus = 0;  LED_error ();   }else if (InPut == 1) {CheckStatus++;}delay_slow();OutPutOne = 1;  OutPutTow = 1;if (InPut == 1)    {CheckStatus = 1;  LED_error ();   }else if (InPut == 0) {CheckStatus++;}if (CheckStatus == 4)   {LED_normal (); }}

四、仿真说明

1、开始仿真

2、点击选择按钮选择想要检测的门电路

3、在选择开关选择接入待测门电路

4、点击开始执行按钮开始检测并输出状态由LED显示

基于单片机门电路测试相关推荐

  1. 基于单片机的TLC稳压电源系统设计-基于单片机大脑运算能力智力测试仪-基于单片机超声波测距系统仿真设计(报告 PCB 原理图)-基于单片机超高精度电参数测试设计-基于单片机变电站变压器运行参数监测仿真

    1316基于单片机的TLC稳压电源系统设计-毕设课设仿真资料 三极管射极电压是稳压电源的输出电压,可以接用电器或负载,这个电压值通过TLC549(A/D,同TLC548)数据转换后,送往单片机处理并显 ...

  2. 51单片机基本刷屏测试实验_基于单片机的发动机振动速度、位移和加速度测量方法...

    Single-chip microcomputer-based measuring of engine vibration speed.displacement and acceleration Ab ...

  3. 单片机蜂鸣器编程音乐_基于单片机的智能鱼缸温控系统设计

    曹益豪 聊城大学东昌学院机电工程系 山东 聊城 252000 摘  要:为满足热带鱼的饲养要求,设计了一种基于AT89C52单片机的小型智能温控鱼缸系统.该系统利用DS18B20传感器检测水温,并通过 ...

  4. 基于单片机步进电机ppt答辩_基于单片机的步进电机式汽车仪表的设计(含电路原理图,程序)...

    基于单片机的步进电机式汽车仪表的设计(含电路原理图,程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文21000字,程序,答辩PPT) 摘 要 汽车仪表是驾驶者和汽车的交互界面,为驾驶员 ...

  5. 智能窗帘传感器c语言程序,基于单片机的智能窗帘控制系统设计(附程序代码)

    基于单片机的智能窗帘控制系统设计(附程序代码)(论文18000字,程序代码) 摘要:二十一世纪初以来,科学技术不断发展,智能家居涌现于各家各户,人们越来越重视生活质量的提高.但是传统的手动开合窗帘耗时 ...

  6. 基于单片机多功能万年历系统毕业设计(完整资料)

    基于单片机的多功能万年历的设计实现功能如下: 1.主控芯片STC15W408AS 单片机: 2.具有公历农历显示或转换: 3.温度测试: 4.整点报时: 5.可以遥控控制: 6.节假日提示. [资源下 ...

  7. 【毕设项目】基于单片机的遥控小车设计与实现 - 嵌入式 物联网 stm32 c51

    文章目录 1 简介 2 主要器件与实现 2.1 电机驱动模块 2.2 蓝牙模块 2.3 蓝牙调试APP 3 实现效果 5 部分参考代码 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍 ...

  8. 基于单片机的信号发生器设计

    基于单片机的信号发生器设计 摘 要 在电子产品调试和测量领域,常常需要有信号种类多.精度高且频率.幅度等信号参数方便可调的信号源.尤其随着电子.通信.网络行业的发展,频段的分布日趋密集,更要求有高精度 ...

  9. 基于单片机的音乐播放器设计

     word完整版可点击如下下载>>>>>>>> 基于单片机的音乐播放器设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告 ...

  10. 基于单片机的智能宠物喂食器设计

     word完整版可点击如下下载>>>>>>>> 基于单片机的智能宠物喂食器设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题 ...

最新文章

  1. apply筛选 pandas_Pandas中第二好用的函数 | 优雅的apply
  2. 2017 年初、阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集(更新篇)...
  3. 【Paper】2015_Song_Consensus of Heterogeneous Agents with Linear Discrete Dynamics
  4. python操作excel-openpyxl(1)
  5. linux环境编程做的是什么,Linux环境
  6. io里没有driveinfo没有_来福宝宝,愿天堂里没有病痛
  7. 大数据分析中常用的方法有哪些
  8. 67. 可伸缩的 Comet
  9. php之使用curl对百度orc进行文字识别(二维码识别同理)--base64编码方式(解决image format error)
  10. 【小程序】rpx(responsive pixel)自适应像素浅析
  11. 图像增强—彩色增强技术
  12. 多空线趋势策略-简易好用型
  13. 算法分析中的小o符号
  14. componentWillUnmount父子组件触发先后
  15. Ubuntu下实时查看Nvidia显卡显存占用情况
  16. 欧奈尔RPS曲线的编制方法这次终于成功了
  17. 网页使用百度地图后,只显示灰色框框(已解决)
  18. Elixir GenServer
  19. 时间序列学习(3):AR、MA及ARMA模型
  20. android系统手机流量控制方法amp;,Android之——流量管理程序示范

热门文章

  1. 基于python实现开机自动连接校园网(广工商)
  2. 深度势能 deep potential
  3. 致远OA webmail.do任意文件下载 CNVD-2020-62422
  4. 函数:计算字符串中大写字母的个数
  5. 知识点:Office插入数学公式常用的快捷键(终于可以解放鼠标了)
  6. 【欢聚时代】HR独家传授YY笔试面经小秘诀!
  7. 新闻 - 被遗忘的“活化石”:BBS没落中求生
  8. android吉他谱组件,Paranoid Android drum吉他谱
  9. python淘宝秒拍_(python)下载秒拍美拍视频
  10. USACO 1359. 城堡(并查集)