当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]数字逻辑电路C语言描述方法介绍

摘要:为了改进数字逻辑电路教学方法以适应电子技术迅猛发展的需要,我们探索和实践了数字逻辑电路教学的新方法,这就是基于计算机高级语言(C语言)的数字逻辑电路课堂教学和实验教学方法,本文重点介绍了本教学方法的特点以及实现方法。
关键词:教学改革;数字逻辑电路;C语言
中图分类号:G642 文献标识码:B
文章编号:1672-5913(2007)10-0090-03
  
  引言
  
  数字逻辑电路课是高等学校计算机科学技术专业的一门必修基础课。在计算机专业基础课程中,它是微机原理与应用、微机接口技术、计算机组成与系统结构等课程的前导课程,有着承上启下的重要地位。该课程从电子计算机的基本硬件组成及数字电子技术着手,对计算机的组成部件的基本电路工作原理展开讨论,使学生掌握有关计算机硬件方面的基础知识,尤其是各数字逻辑电路的基本功能,构成整机数字系统的技术,为培养学生对硬件系统的分析、设计、开发和使用能力打下最基本的基础知识。

  数字逻辑电路这门课程学习结果的好坏将对计算机专业的后续课程的学习产生很大的影响。数字逻辑电路是学好计算机专业基础课的必要途径,因此应该重视这门课程教学方法的改进。为了改革目前的数字逻辑电路课教学方法,我们探索了新的数字逻辑电路教学方法,即基于计算机高级语言的数字逻辑电路教学方法。本数字逻辑电路教学方法的特点是用计算机高级语言C语言对数字逻辑电路的基本功能进行描述和实验,也就是用计算机高级语言对我们在数字逻辑电路课程中讲解的全部基本数字逻辑电路进行表示。本方法特别适合与计算机专业的学生,因为计算机专业的学生在学习数字逻辑电路课程之前都学习过了计算机高级语言C语言。这使得他们能够较好的理解数字逻辑电路的这种表示方式,同时也能够使他们在学习数字逻辑电路的这种表示方式中复习计算机的高级语言,并且可以扩展学生的知识面,培养和训练学生的创新能力。它不但能够进行数字逻辑电路的基本教学,还可以用于数字逻辑电路的实验教学和课程设计。
  
1 数字逻辑电路的C语言描述
  
  C语言功能丰富,表达能力强,使用灵活方便,目标程序效率高,可移植性好,适合编写各种软件,尤其是系统软件,所以C语言已在诸多领域得到广泛的应用。目前许多高等院校,都在计算机专业开设了C语言课程。利用C语言可以编写出简洁、紧凑、高效的程序。C51是在完全支持标准C全部指令的基础上添加了许多用来优化8051指令结构的C的扩展指令而形成的,其程序结构也类似于标准C程序的编写。随着嵌入式技术的不断发展以及C语言在嵌入式应用中的不断普及,C程序设计技术在嵌入式系统中将得到广泛的应用。
  数字逻辑电路通常分为组合数字逻辑电路和时序数字逻辑电路两大类,组合数字逻辑电路常用的描述方法是逻辑图、逻辑代数式、真值表和卡诺图,它们均可对同一个组合逻辑问题进行描述,知道其中的任何一个,就可以推出其余的三个。随着EDA技术的发展,目前又出现了硬件描述语言的数字逻辑电路描述法。与用硬件描述语言类似的方法,本文探索了在微控制器中的C51程序描述法。例如对一个三变量的一致电路的描述:
  三变量的一致电路就是当A、B、C三个变量一致时,电路输出高电平;当三个变量不一致时,电路输出低电平。
用逻辑代数式表示为:F=ABC+  

用C51语言描述为:
  Main()
  { sbit a=P1.0; // 定义布尔输入变量a是微控制器的P1.0口
  sbit b=P1.1; // 定义布尔输入变量b是微控制器的P1.1口
  sbit c=P1.2; // 定义布尔输入变量c是微控制器的P1.2口
  sbit f=P2.0; // 定义布尔输出变量f是微控制器的P2.0口
  while(1){ // 无限循环
  P1=0xff;
  if (a==b==c)
  f==1;
  elsl f==0;
  }
  } // P1为输入口,P2为输出口
  从以上的C51程序可以看出,这样的数字逻辑电路描述方法,对于计算机专业的学生,只要学习过C语言是非常容易理解的,而且用该方法描述的数字逻辑电路也容易用下面介绍的实验方法中得到验证。
[!--empirenews.page--]
2 在教学中的应用原则
  
  2.1教学重点
  笔者认为对于计算机专业的数字逻辑电路课,教学重点在于让学生能够很好地理解常用数字逻辑电路的逻辑功能,至于这些数字逻辑电路的实现方法有一些概念就可以了,没有必要掌握数字逻辑电路的中小规模集成电路实现方法。而这些中小规模集成电路实现的数字逻辑电路在我们目前所用的教材中往往是重点讲解的,这点对于计算机专业的学生就不是很合适。事实上,本文探索的用C51程序描述数字逻辑电路,就是基于微控制器的用软件实现的数字逻辑电路。这就是说数字逻辑电路课程的重点内容是理解数字逻辑电路的逻辑功能。而具体用什么方法实现这个逻辑功能就不是太重要了。用中小规模集成电路、可编程逻辑电路和软件来实现都是可以的。2.2应用实例
  根据笔者的多年教学实践经验,在计算机专业的数字逻辑电路课程教学中,灵活运用本文论述的C51程序描述法,结合传统的数字逻辑电路的描述方法,取得到了较好的教学效果。
  如:对于在计算机专业中用到的较多的逻辑电路“译码器”。用逻辑代数描述为:
  
  用C51程序可以描述为:
  main()
  { sbit a=P1.0; // 定义布尔输入变量a,b,c为微控制器的P1口
  sbit b=P1.1;
  sbit c=P1.2;
  sbit y0=P2.0; // 定义布尔输出变量y0~y7是微控制器的P2口
  sbit y1=P2.1;
  sbit y2=P2.2;
  sbit y3=P2.3;
  sbit y4=P2.4;
  sbit y5=P2.5;
  sbit y6=P2.6;
  sbit y7=P2.7;
  while(1){ // 无限循环
  P1=0xff;
  y0=y1=y2=y3=y4=y5=y6=y7=0;
  if (a==0&&b==0&&c==0) y0=1;
  if (a==0&&b==0&&c==1) y1=1;
  if (a==0&&b==1&&c==0) y2=1;
  if (a==0&&b==1&&c==1) y3=1;
  if (a==1&&b==0&&c==0) y4=1;
  if (a==1&&b==0&&c==1) y5=1;
  if (a==1&&b==1&&c==0) y6=1;
  if (a==1&&b==1&&c==1) y7=1;
  }
  }
  因此,在数字逻辑电路课程中,让学生懂得作为计算机专业的学生,单单学会数字逻辑电路的硬件实现方法是不够的,还应当让学生从一开始就重视学习计算机软硬件的相互关系。如果教师在数字逻辑电路课程的教学中运用本文论述的方法,引导学生从计算机软件和硬件层次上去认识数字逻辑电路知识,对学生学好后续专业课程有着积极的促进意义。
  
3 实验教学方法
  
  3.1硬件结构
  本实验方法的硬件部分主要由PC机以及微控制器电路和多个LED电路组成。微控制器选用Philips公司生产的P89C51RD2BN。该芯片内部集成了多种功能部件,如四个8位的数字I/O口,8路A/D转换接口、UART、定时器、看门狗定时器和FLASH存储器等。微控制器的主要功能是:用户输入输出端口状态扫描输入,用户输入输出端口信号输入和数字信号显示等。实验硬件组成框图如图1所示。
  
  图1 实验硬件组成框图
  
  3.2ISP实现原理
  本实验方法的关键是ISP技术。P89C51RD2BN的系统编程是通过标准RS232串口来完成的,它是一种内嵌的在线可编程。内部有一系列的硬件资源,当微控制器对自身的Flash存储器进行编程时,所有底层操作都由这些内部资源来完成。ISP编程不需要将微控制器从系统中取出,只要用一个开关将PSEN强行拉低,ALE管脚悬空,系统便在上电复位后进入ISP状态。通过免费的编程软件Flashmagic下载二进制文件到微控制器,就可以运行程序了。
  3.3实验方法
  如图1所示,实验时先把ISP控制开关放置在ISP位置上,在PC机上输入需要实现的数字逻辑电路的C51程序,然后经过C51编译器编译,生成二进制文件形式的目标程序文件,然后使用Flashmagic软件把目标程序下载到微控制器中,再把ISP控制开关放置到微控制器的正常工作状态,按动复位按钮,微控制器中的程序就可以正常运行了。这时可以在输入拨位开关上输入数字信号,在LED上可以观察到这个实验数字逻辑电路的逻辑功能的实现结果。改变输入拨位开关上输入的数字信号,可以得到不同的数字信号输入,在LED中可以观察分析实验数字逻辑电路的全部逻辑功能。
  运用本实验方法进行的数字逻辑电路实验,由于实验所用到的硬件设备,除PC机以外的成本是极低的,可以实现把实验带回家的实验理念。在家里进行各种有创造性的实验。让学生真正成为实验学习的主人。
  
4 结束语
  
  本文论述的数字逻辑电路C语言描述方法具有易懂、直观、有创新性的特点。用该教学方法的实验装置结构简单、成本较低、维护方便、性能可靠。可以进行简单的组合数字逻辑电路实验,也可以进行时序逻辑电路的实验,能够搭建多种趣味电路。能满足基本教学的需要,也可以进行综合性、设计性实验。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

全新Balletto™系列无线MCU基于Alif Semiconductor先进的MCU架构,该架构具有DSP加速和专用NPU,可快速且低功耗地执行AI/ML工作负载

关键字: 处理器 微控制器 AI

2024年4月10日 –提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售NXP Semiconductors的MCX工业和物联网微控制器...

关键字: 微控制器 电机控制 机器学习

中国上海–2024年4月9日–在追求创新的道路上,英飞凌(Infineon)再次领导行业,推出突破性的PSoC™ 4000T 微控制器。全球知名的电子元器件授权代理商富昌电子(Future Electronics)现为各...

关键字: 微控制器 电容式传感板

开放计算项目(OCP)是一个非营利组织,专注于推动各企业在数据中心产品设计及最佳实践方面加强交流。近日,该组织发布了开放机架第三版(ORV3)规范。规范中比较显著的变化在于设计架构从12 V迁移到了48 V。本系列文章重...

关键字: 微控制器 电池 开放计算

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

2024年3月26日,中国-- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了一项基于 18 纳米全耗尽绝缘体上硅(FD-SO...

关键字: 处理器 微控制器 存储器
关闭
关闭