单片机C51和stem32程序编译与仿真操作

    科技2025-06-02  47

    文章目录

    单片机C51和STM32程序编译与proteous仿真操作一. 利用单片机C51设计自动打铃器。1.自动打铃器要求2.用keil4 建立工程文件并完成C语言内容编写3. 打开proteous建立工程,并选好器件仿真 二. MDK开发环境下stm32程序编译1. 在keil5 开发软件里创建工程文件2. 对程序进行编译 总结

    单片机C51和STM32程序编译与proteous仿真操作

    一. 利用单片机C51设计自动打铃器。

    利用单片机,设计一个自动打铃器,熟悉定时、中断方法,并通过电路仿真。

    1.自动打铃器要求

    以学校白天上课、下课及午休时间为依据,设计51单片机为核心的自动打铃器。假定学校作息时间如下所示: 第1节课 8:00——8:45 第2节课 8:55——9:40 第3节课 10:10——10:55 第4节课 11:05——11:50 第5节课 14:00——14:4 第6节课 14:55——15:40 第7节课 16:10——16:55 第8节课 17:05——17:50   根据此作息时间表,每到上课或下课时控制电铃接通,接通1分钟后电铃断开。结合万年历,可自动排除节假日和星期六星期日打铃操作,亦可手工按键设置打铃时间,修正节假日作息时间。

    实现功能:自动控制电铃器需要大致分为显示、按键、时钟、控制四个部分。通过内部中断驱使电铃打铃。本实验设置了四个按键,调整时钟的时间时,当时钟时间和设置的时间相同时,打铃器响,led灯亮。打铃时长60S。

    2.用keil4 建立工程文件并完成C语言内容编写

    在keil里的工程里加入.c文件(shi9.c) 点击source group…>add files to group “sources group” …

    写好.c文件代码后,开始编译,运行。 注意:在编译运行后要后要确认是否生成了hex文件,若没有需要设置如下

      点击target…>options for targets…>outout…>下方选项Creat HEX file 这样就能保证生成HEX文件,然后在proteous中能导入单片机仿真。

    proteous建立工程的步骤可以参考网上,这里就不多介绍了*

    3. 打开proteous建立工程,并选好器件仿真

    图中的器件可以点击框上方的“p”,然后搜索相应需要的器件。

    具体的电路图如图(注意数码管的接线) 将之前keil中编译运行好的hex文件导入单片机。以8点钟为例,此时灯亮且会有蜂鸣声,如图: 解释:图中中间两个按键分别控制加减,第一个按键控制时或是分。   双击单片机AT89C51,可以选择hex文件 c源程序代码 #include<reg51.h> #define uint unsigned int #define uchar unsigned char sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3; sbit p1=P2^6; sbit p2=P2^5; sbit p3=P2^4; sbit p4=P2^3; sbit dp=P0^7; sbit fmq=P3^4; int a,b,c,d; int shi=0,fen=0,miao=0; int moshi=0;kaishi=0;tiaozheng=0;count1=0;count2=0;count3=0;ss=0;naozhong=0; uchar code LEDData[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void Delay(uint i) {... } void xianshi() {... } void shuju1() { ... } void tiaozhengmoshi() { ... } void key() { ... } void shuju() { a=shi/10;b=shi%10;c=fen/10;d=fen%10; } void dingshi() { ...} void main(void) {TMOD =0x01; TH0=0x0D8; TL0=0X0F0; EA=1; ET0=1; TR0=1; while(1) {key(); shuju(); xianshi(); dingshi(); } } void time0(void)interrupt 1 { ... }

      如此便完成了利用c51单片机编写和proteous仿真的全部过程。具体keil工程文件建立和proteous器件选择的操作参考网上教程。


    二. MDK开发环境下stm32程序编译

    1. 在keil5 开发软件里创建工程文件
    建立工程 点击界面上方project…>new vision project…> 选择处理器,这里选择STM32F103C8   由于建立一个新STM32的工程比较复杂,一般可以采用下载整个例程文件,在这个基础上进行修改代码与编程。详细的建立STM32工程的方法与细节可以参考 新建立STM32工程步骤 。
    2. 对程序进行编译
    完成对源程序的编译与运行。 要进行仿真操作,可在proteous中进行,画好电路图,然后将运行编译好的HEX文件导入stm32可完成。

    总结

       本次完成了C51单片机c语言程序编写,练习在keil中的工程文件的建立,通过将c可执行文件导入单片机,实现程序电路的仿真。MDK开发环境下,也实现了STM32简单程序的编译,但STM32新工程的建立过程有些复杂,可以利用例程直接编写。

    Processed: 0.010, SQL: 8