搜索
bottom↓
回复: 18

发一篇在大学写的PPT(关于电子制作总结)

[复制链接]

出0入0汤圆

发表于 2010-6-25 11:27:49 | 显示全部楼层 |阅读模式
在学校算得上是受保护的对象之一了,全校只有3个工科专业,而我也很有幸,在师范大学读工科经常这样调侃自己。

在学校从来都是上课做实验,没什么人去搞电子方面的研究,这可能就是由于工科太少氛围太差的缘故了。

个人很喜欢搞搞电子,也是一个人买了开发板子在一旁敲代码调程序,从51到PIC、AVR、Cortex-M3

一路走来很辛苦,都是因为寂寞。一个人搞这些东西有时候很乏味,别人也很不理解你,学院有个电子协会,大家都调侃道那是焊接协会

第一次发帖,主要就是想感谢一下ouravr一直在陪伴我成长。正好上次老师让我给低年级的同学做一个讲座,准备了以份入门级别的PPT,上传上来给刚刚入门

的同学。

PPT全篇ourdev_563773VA598H.rar(文件大小:2.52M) (原文件名:经验交流.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-6-25 11:31:26 | 显示全部楼层
EasyHW OS 简单介绍:

全名:Easy HardWare Operation System
作者:Lyzhangxiang
完成时间:2010年3月29日
学习单位:安徽师范大学  07电子信息工程

功能介绍:
基于EasyHW OS可以使51系列单片机的程序开发变得简单,OS原意Operation System这里只是取其为名,并不是说这个一个基于51的操作系统。众所周知像AT89C51这样的单片机是不适合使用操作系统的.可以说EasyHW OS是一个包装好了的程序集,你可以很轻松的使用各种函数进行系统开发。这个想法是源于我对意法半导体(STM32F103xx)驱动库程序开发的体会,8位机到32位机本质没有改变只是32位机的芯片资源更加丰富寄存器数目更多了。意法半导体采用全新的驱动库开发方式使使用者的开发变得轻松那么为何我们不对8位的也做一下优化呢。对于8位机而言资源很少但是如果将外围扩展也一并添加到驱动库之中那岂不是很让人心动。经过不断尝试终于开发出一套适用于8位机的EasyHW OS本着抛砖引玉的意愿将其开源,程序中也有部分代码是参考互联网上的资源。有什么问题请联系:lyzhangxiang点love@163.com!


EasyHW OS构架如下:

1、BSP——Board Support Package  板载支持包
提供你使用的板载资源信息

2、Hw Lib
驱动库包括外围扩展

3、MDK
Keil的OBj和List文件

4、Startup
芯片启动代码

5、User  
使用者构建的Main、Includes和Interrupt

出0入0汤圆

发表于 2010-6-25 12:35:18 | 显示全部楼层
谢谢,写的很好,受用。

出0入0汤圆

 楼主| 发表于 2010-6-26 23:54:38 | 显示全部楼层
第一次 发帖沉了 。。。。

出0入0汤圆

发表于 2010-6-27 00:06:29 | 显示全部楼层
鼓励一下,现在这样的大学生很少了

出0入0汤圆

发表于 2010-6-27 00:13:31 | 显示全部楼层
不错,支持一下

出0入0汤圆

 楼主| 发表于 2010-6-27 12:43:15 | 显示全部楼层
谢谢 支持

出0入0汤圆

 楼主| 发表于 2010-6-27 12:58:22 | 显示全部楼层
/******************************************************************
本OS只供学习使用,未经作者许可,不得用于其它任何用途

欢迎访问我的Blog:http://hi.baidu.com/lyzhnagxiang
      
Chip Source.c  file

作者:Lyzhangxiang
建立日期: 2010.05.08
版本:V1.0

Copyright(C)   安徽师范大学  Lyzhangxiang  
         
*******************************************************************/

#include "REG51.H"

#define  TL_Value   0xFF
#define  TH_Value   0xFF


//每个指令的振荡周期数(4,6,12),注意,这里一定要仔细查看芯片手册
//*12 - 早期的8051、8052及当前的绝大部分51单片机
//*6 - Philips 的芯片
//*4 - Dallas
#define OSC_PER_INST (12)



//TIME 为定时时间 单位MS
#define PRELOAD1MS (65536 - 1*(UINT16)(Flck/(OSC_PER_INST*1000)))
#define PRELOAD5MS (65536 - 5*(UINT16)(Flck/(OSC_PER_INST*1000)))

/**************************Timer定时计数器*************************/
        void Timer_init(void)
{

        //TCON            //"定时器控制寄存器"

        //TF1 = 1;        //"T1溢出标志"
        //TR1 = 1;        //"T1运行控制"
        //TF0 = 1;        //"T0溢出标志"
        //TR0 = 1;        //"T0运行控制"
        //IE1 = 1;        //"外部中断1申请标志"
        //IT1 = 1;        //"外部中断1触发方式 0=电平 1=边沿"
        //IE0 = 1;        //"外部中断0申请标志"
        //IT0 = 1;        //"外部中断0触发方式 0=电平 1=边沿"

        //TMOD            //"工作方式控制寄存器"

        //定时器/计数器1
        //GATA = 1;       //"由外部中断请求信号(INT0或INT1)和TR的组合状态启动定时器"
        //GATA = 0;       //"由运行控制位TR启动定时器"
        // C/T = 0;       //"定时器工作方式"  
    // C/T = 0;       //"计数器工作方式"  
    //M1M0 = 00;      //"选择方式0 13位定时器/计数器工作方式"   
        //M1M0 = 01;      //"选择方式1 16位定时器/计数器工作方式"  
        //M1M0 = 10;      //"选择方式2 常数自动装入的8位定时器/计数器工作方式"  
        //M1M0 = 11;      //"选择方式3 T1停止"  

    //定时器/计数器0
    //GATA = 1;       //"由外部中断请求信号(INT0或INT1)和TR的组合状态启动定时器"
        //GATA = 0;       //"由运行控制位TR启动定时器"
        // C/T = 0;       //"定时器工作方式"  
    // C/T = 0;       //"计数器工作方式"  
    //M1M0 = 00;      //"选择方式0 13位定时器/计数器工作方式"   
        //M1M0 = 01;      //"选择方式1 16位定时器/计数器工作方式"  
        //M1M0 = 10;      //"选择方式2 常数自动装入的8位定时器/计数器工作方式"  
        //M1M0 = 11;      //"选择方式3 为两个8位定时器/计数器工程方式"  

}


/**************************Uart串行通行****************************/

        void Uart_init(void)
{

   //SCON            //"串行控制寄存器"
   //SM0SM1 = 00;   //"方式0 同步移位寄存器方式 Fclk/12"
   //SM0SM1 = 01;   //"方式1 8位Uart    定时器T1溢出率/n"
   //SM0SM1 = 10;   //"方式2 9位Uart    当SMOD=1时Fclk/32或当SMOD=0时Fclk/64"
   //SM0SM1 = 11;   //"方式3 9位Uart    定时器T1溢出率/n"
   //关于定时器T1溢出率的注释:一般采用T1的方式2  TH1=256-Flck/(波特率*12*32/2^SMOD)


   //PCON            //"电源控制寄存器"
   //SMOD=1          //"串行口波特率加倍,其余位未定义"
}


/****************************Delay软件延时******************************/

void Delay_ms(unsigned char k)  
{     
int i,j;   
for(i=0;i<k;i++)
{  
for(j=0;j<121;j++);   
}      
}

//当K=1时延时1ms


void delay_ms(unsigned char a)
{
   int i;
   unsigned char i;
   while(a-- !=0)
   {
      for(i=0;i<125;i++);
   }
}

//当a=1时延时1ms

void delay_50us(uint t)
{
  uchar j;
  for(;t>0;t--)
  for(j=19;j>0;j--);

}
//t取值20
/***********************Delay硬件延时(定时器)****************************/

void timer0_int(void) interrupt 1
{
     TH0=TH_Value;
     TL0=TL_Value;
     while(TF0!=1);
       {
       TF0=0;
           //添加相应的延时处理程序
           }
}




/****************************定时器硬件延时******************************/


void start_Timeout1ms()
{
    TH0 = PRELOAD1MS / 256;
    TL0 = PRELOAD1MS % 256;
    TF0 = 0 ;//清溢出标志位

    ET0 = 0;    //关定时器0的中断

    TR0 = 1;    //启动定时器

}

void start_Timeout5ms()
{
    //TMOD = ;

    TH0 = PRELOAD5MS / 256;
    TL0 = PRELOAD5MS % 256;
    TF0 = 0 ;//清溢出标志位

    ET0 = 0;    //关定时器0的中断

    TR0 = 1;    //启动定时器

}

void stop_Timeout()
{
    TR0 = 0;
}

void Delay5ms()
{
    start_Timeout5ms();
    while(!_testbit_(TF0));    //等待T0超时
    stop_Timeout();
}

void Delay1ms()
{
     start_Timeout1ms();
     while(!TF0);    //等待T0超时
     stop_Timeout();
}

出0入0汤圆

 楼主| 发表于 2010-6-27 12:59:30 | 显示全部楼层
/******************************************************************
本OS只供学习使用,未经作者许可,不得用于其它任何用途

欢迎访问我的Blog:http://hi.baidu.com/lyzhnagxiang
      
Interrupt.C  file

作者:Lyzhangxiang
建立日期: 2010.05.08
版本:V1.0

Copyright(C)   安徽师范大学  Lyzhangxiang  
         
*******************************************************************/

  Void Interrupt_init(void)
   {

  //IE             //"中断允许控制寄存器"
  //EA = 1;        //"CPU开放中断"
  //EA = 0;        //"CPU屏蔽所有中断"
  //ES = 1;        //"使能串行口中断"
  //ES = 0;        //"禁止串行口中断"
  //ET1 = 1;       //"使能定时器/计数器1中断"
  //ET1 = 0;       //"禁止定时器/计数器1中断"
  //EX1 = 1;       //"使能外部中断1中断"
  //EX1 = 0;       //"禁止外部中断1中断"
  //ET0 = 1;       //"使能定时器/计数器0中断"
  //ET0 = 0;       //"禁止定时器/计数器0中断"
  //EX0 = 1;       //"使能外部中断0中断"
  //EX0 = 0;       //"禁止外部中断0中断

  }


/************************外部中断0服务程序**************************/

Void INT0ISR(void)  interrupt 0
{

}

/************************Timer0中断服务程序*************************/

Void Timer0ISR(void)  interrupt 1
{

}

/************************外部中断1服务程序**************************/

Void INT1ISR(void)  interrupt 2
{

}

/************************Timer1中断服务程序**************************/

Void Timer1ISR(void)  interrupt 3
{

}

/************************Uart中断服务程序****************************/

void UartISR(void) interrupt 4
{
if(RI)    //收到数据
  {
   RI=0;   //清中断请求
  }
else      //发送完一字节数据
  {
   TI=0;
   Sending=0;  //清正在发送标志
  }
}


/************************** 中断号说明*******************************/

//                 外部中断0中断              0                     //
//                 定时/计数器0中断           1                     //
//                 外部中断1中断              2                     //
//                 定时/计数器1中断           3                     //
//                 串行口中断                 4                     //

/********************************************************************/

出0入0汤圆

发表于 2010-6-27 13:07:14 | 显示全部楼层
蛮好。

出0入0汤圆

发表于 2010-6-29 20:47:50 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2010-7-8 16:01:20 | 显示全部楼层
其实程序神生成器就是个lib
今天专盯PPT

出0入0汤圆

发表于 2010-8-9 22:58:01 | 显示全部楼层

出0入0汤圆

发表于 2010-8-10 11:22:12 | 显示全部楼层
顶下,

出0入0汤圆

发表于 2010-8-22 19:03:31 | 显示全部楼层
顶下

出0入0汤圆

发表于 2010-8-22 21:44:21 | 显示全部楼层
谢谢分享!!

出0入0汤圆

发表于 2010-10-26 15:07:10 | 显示全部楼层
xiexie

出0入0汤圆

发表于 2010-11-13 23:40:12 | 显示全部楼层
好帖,得看看!

出0入0汤圆

发表于 2013-6-19 19:43:34 | 显示全部楼层
你好,能否发一份OS源码我参考下,谢谢。很喜欢这种规范风格的代码。在么?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 16:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表