搜索
bottom↓
楼主: tangwei039

从单片机初学者迈向单片机工程师(一份正真的让你成为工程师的贴子)

  [复制链接]

出0入0汤圆

发表于 2014-9-12 17:12:58 | 显示全部楼层
这文章写得真不错。 值得学习

出0入0汤圆

发表于 2014-9-14 14:43:42 | 显示全部楼层

不错的文章,要是有文件版就好了

出0入0汤圆

发表于 2014-9-17 21:18:48 | 显示全部楼层
看了一些内容,觉得很好,继续看下去,努力完善自己的梦。

出0入0汤圆

发表于 2014-9-18 13:36:58 | 显示全部楼层
thanks for share this information

出0入0汤圆

发表于 2014-9-24 08:31:47 | 显示全部楼层
追贴到底,一直在路上!

出0入0汤圆

发表于 2014-9-24 08:47:56 | 显示全部楼层
还可以吧!

出0入0汤圆

发表于 2014-9-24 09:46:20 | 显示全部楼层
支持楼主,好样的

出0入0汤圆

发表于 2014-9-25 14:35:16 | 显示全部楼层
本帖最后由 牛东 于 2014-9-26 13:21 编辑

楼主能帮我看看,为什么  TIME_PER_SEC设成200数码管显示跟不上,差很远!!一闪一闪,要设成2000才勉强不闪!!

#include "REG52.H"

#define MAX_TASK 4    //定义任务数量
#define CLOCK 11059200 //定义时钟晶振,单位Hz
#define TIME_PER_SEC 2000  //定义任务时钟频率200Hz


void main()
{
        Timer0Init();
        initial_myself();  
        delay_long(100);   
        initial_peripheral();
        EA = 1;
        while(1)  
        {        
                if(task_delay[0]==0) {display_drive();   task_delay[0] = 1;} //按键服务程序5HZ
                if(task_delay[1]==0) {display_service();   task_delay[1] = 20;} //显示服务程序5HZ
                if(task_delay[2]==0) {key_service();;   task_delay[2] = 1;}  //显示驱动程序 10HZ
                if(task_delay[3]==0) {beep_service();   task_delay[3] = 40;} //蜂鸣器服务程序20HZ
        }
}


/******************************
        T0初始化
******************************/
void Timer0Init(void)
{
        unsigned char i;
        for(i=0;i<MAX_TASK;i++) task_delay=0; //任务延时量清零
        TMOD = (TMOD & 0XF0) | 0X01; //定时器 0 工作在模式 1, 16Bit定时器模式
        TH0 =255-CLOCK/TIME_PER_SEC/12/256;//0xed (0xedff=60927  大概5MS中断一次)
        TL0 =255-CLOCK/TIME_PER_SEC/12%256;//0xff
        //(11.0592MHz晶振 机器周期 1.085us,5000us则4608个机器周期,一个机器周期T0=10.085us计数一次,65535-4068=60927=0xedff)
    TR0  = 1 ;
    ET0  = 1 ;
}



/******************************
        T0中断服务程序
******************************/
void Time0Isr(void) interrupt 1
{
        unsigned char i;
        TH0 =255-CLOCK/TIME_PER_SEC/12/256;//0xed   (0xedff=60927  大概5MS中断一次)
        TL0 =255-CLOCK/TIME_PER_SEC/12%256;//0xff
        //(11.0592MHz晶振(0.094us 震荡周期) 机器周期 1.085us, 延时5000us则4608个机器周期,一个机器周期T0计数一次,计数初值=65535-4068=60927=0xedff)       
        for(i=0;i<MAX_TASK;i++) if(task_delay) task_delay--;//每节拍对任务延时变量减1 ,减至 0 后,任务就绪。

        ucKeyTimeFlag1=1; // 按键1消抖计数标志置1
        ucKeyTimeFlag2=1; // 按键2消抖计数标志置1
        ucKeyTimeFlag3=1; // 按键3消抖计数标志置1
        ucKeyTimeFlag4=1; // 按键4消抖计数标志置1
        ucTimeFlag=1; //倒计时的时钟中断标志置1
        ucDpyTimeFlag=1;  //数码管的闪烁计时中断标志置1
        ucVoiceFlag=1;  //蜂鸣器鸣叫计数时钟中断标志置1                       
}


/******************************
蜂鸣器服务程序
******************************/
void beep_service()
{
        if(ucVoiceFlag==1)
        {
                ucVoiceFlag=0;
                if(uiVoiceCnt==0)                  
                {
                        uiVoiceCnt--; //每次进入定时中断都自减1,直到等于零为止。才停止鸣叫
                        beep_dr=1;  //蜂鸣器是PNP三极管控制,低电平就开始鸣叫。
                }
                else
                {
                        beep_dr=0;  //蜂鸣器是PNP三极管控制,高电平就停止鸣叫。
                }
        }
}




出0入0汤圆

发表于 2014-9-26 08:47:34 | 显示全部楼层
带了好几个大学生,第一个给他们看的入门教程都是楼主这个帖子

出0入0汤圆

发表于 2014-9-26 09:10:13 | 显示全部楼层
好多   顶   

出0入0汤圆

发表于 2014-9-26 10:17:22 | 显示全部楼层
lz好人,喜欢逛坛子就是因为坛子里有lz这种好人。

出0入0汤圆

发表于 2014-9-26 14:02:36 | 显示全部楼层
追贴到底

出0入0汤圆

发表于 2014-9-26 15:45:34 | 显示全部楼层
巨著啊  初学者学习的模板

出0入0汤圆

发表于 2014-9-26 16:18:02 | 显示全部楼层
强烈支持

出0入0汤圆

发表于 2014-9-27 08:18:39 | 显示全部楼层
好贴,表示严重支持,文化低,看那英文语句有点吃力,不知大家有什么好的方法

出0入0汤圆

发表于 2014-9-27 13:24:11 | 显示全部楼层
楼主写得好,喝彩。

出0入0汤圆

发表于 2014-9-30 10:50:10 | 显示全部楼层
谢谢你的分享

出0入0汤圆

发表于 2014-10-14 22:58:38 | 显示全部楼层
mark一下。。。。

出0入0汤圆

发表于 2014-10-15 08:38:24 | 显示全部楼层
谢谢............

出0入0汤圆

发表于 2014-10-16 07:40:51 | 显示全部楼层
技巧很重要

出0入0汤圆

发表于 2014-10-16 07:52:02 | 显示全部楼层
学习了!!!

出0入0汤圆

发表于 2014-10-16 08:02:36 | 显示全部楼层
感觉好强大的帖子,学习了

出0入0汤圆

发表于 2014-10-16 13:26:20 | 显示全部楼层
学习了,很好 MARK!

出0入0汤圆

发表于 2014-10-16 14:52:04 | 显示全部楼层
mark  收藏学习之

出0入0汤圆

发表于 2014-10-16 16:14:10 | 显示全部楼层
此文不顶,对不起我单片机初学者的身份,我们还应该把这个帖子,多告诉一些单片机的初学者,希望大家能相互告诉初学者们

出0入0汤圆

发表于 2014-10-17 00:07:48 | 显示全部楼层

出0入0汤圆

发表于 2014-10-17 00:22:27 | 显示全部楼层
新人学习,谢谢楼主!

出0入0汤圆

发表于 2014-10-25 20:06:31 | 显示全部楼层
很不错,,,,,,,,,,,,,,,,,,

出0入0汤圆

发表于 2014-11-5 13:28:04 | 显示全部楼层
支持!!!!!

出0入0汤圆

发表于 2014-11-5 13:33:19 | 显示全部楼层
这个以前看过,不错

出0入0汤圆

发表于 2014-11-5 13:45:57 | 显示全部楼层
step by step

出0入0汤圆

发表于 2014-11-6 21:49:01 | 显示全部楼层
都是瓶颈期的苦窑里待好久了!

出0入0汤圆

发表于 2014-11-6 22:40:33 | 显示全部楼层
  大赞楼主啦,谢谢分享!

出0入0汤圆

发表于 2014-11-7 01:36:50 | 显示全部楼层
帖子很经典,每过一段时间就会被顶起来

出0入4汤圆

发表于 2014-11-7 19:57:19 | 显示全部楼层
学习学习,不错

出0入0汤圆

发表于 2014-11-12 10:59:43 | 显示全部楼层
模块化程序编译遇到问题了,来学习学习。谢谢楼主。

出0入0汤圆

发表于 2014-11-12 11:11:58 | 显示全部楼层
多谢分享。

出0入0汤圆

发表于 2014-11-12 11:33:18 | 显示全部楼层
感谢楼主!这个真的是良心教程!阿莫论坛真没白注册啊!

出0入0汤圆

发表于 2014-11-12 12:24:31 | 显示全部楼层
非常有用!

出50入10汤圆

发表于 2014-11-12 12:53:54 | 显示全部楼层
从单片机初学者迈向单片机工程师 帖子记号。楼主辛苦了!

出0入0汤圆

发表于 2014-11-12 13:42:40 | 显示全部楼层
mark 支持一下

出0入0汤圆

发表于 2014-11-12 17:48:46 | 显示全部楼层
@红金龙吸味,期待你的继续更新

出0入0汤圆

发表于 2014-11-15 10:44:22 | 显示全部楼层
很好,顶一个

出0入0汤圆

发表于 2014-11-18 01:11:49 来自手机 | 显示全部楼层
是个好贴子,记号慢慢看

出0入0汤圆

发表于 2014-11-19 16:34:48 | 显示全部楼层
谢谢分享,mark

出0入0汤圆

发表于 2014-11-19 16:56:46 | 显示全部楼层
支持!!!

出0入0汤圆

发表于 2014-11-19 16:58:23 | 显示全部楼层
写的不错

出0入0汤圆

发表于 2014-11-19 17:16:09 | 显示全部楼层
不错!!!!

出0入0汤圆

发表于 2014-12-10 16:22:27 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2014-12-10 17:05:05 | 显示全部楼层
顶楼主一下

出0入0汤圆

发表于 2014-12-16 11:39:17 | 显示全部楼层
想想自己的51 也是刚刚入门,未来的路很漫长  

出0入0汤圆

发表于 2014-12-16 12:02:58 | 显示全部楼层
写的很好,支持!

出10入4汤圆

发表于 2014-12-16 12:05:02 | 显示全部楼层
菜鸟表示很犀利,赞

出0入0汤圆

发表于 2014-12-16 14:19:14 | 显示全部楼层
感谢楼主的分享,大力支持!正好在学习中

出0入0汤圆

发表于 2014-12-16 15:12:18 | 显示全部楼层
开篇说的不错,可内容仍是面向初学者呀

出0入0汤圆

发表于 2014-12-16 20:11:01 | 显示全部楼层
精华在第二页141楼

出0入0汤圆

发表于 2014-12-16 20:30:52 | 显示全部楼层
tangwei039 发表于 2010-4-23 08:17
今天讲个技巧方面的知识:                                       
                                   ...

整形好说,浮点数也右移吗?再说0.0625作为一个常数,引用的时候或乘或除,都在具体引用的地方来个右移或左移,那移植起来就头大了。

出0入0汤圆

发表于 2014-12-27 19:51:27 | 显示全部楼层
马克下

出0入0汤圆

发表于 2014-12-27 22:46:05 | 显示全部楼层
学习                                          

出0入0汤圆

发表于 2014-12-28 13:38:37 | 显示全部楼层
支持。。学习了。。其实走弯路未尝不是一件好事。。在弯路中得到的摸索出的经验对自己来说比别人教的捷径会价值更大。。

出0入0汤圆

发表于 2014-12-29 15:48:54 | 显示全部楼层
谢谢楼主分享这么多,加油!!
头像被屏蔽

出0入0汤圆

发表于 2014-12-29 17:00:15 | 显示全部楼层
楼主厉害,小生从学STM32开始的,但楼主的思想太有益处了,望楼主能多帮助我们

出0入0汤圆

发表于 2014-12-29 17:06:10 | 显示全部楼层
楼主这样的必须支持,顺带来学习下。

出0入0汤圆

发表于 2014-12-29 17:38:59 | 显示全部楼层
楼主说的非常好  期待更新

出0入0汤圆

发表于 2014-12-29 23:36:35 | 显示全部楼层
楼主辛苦了!

出0入0汤圆

发表于 2015-1-8 10:26:27 | 显示全部楼层
看完了帖子我就成高手了。。。

出0入0汤圆

发表于 2015-1-8 11:16:49 | 显示全部楼层
学习!!!!!!!!!!!

出0入0汤圆

发表于 2015-1-10 23:45:23 | 显示全部楼层
获益匪浅!谢谢!

出0入0汤圆

发表于 2015-1-21 15:07:30 | 显示全部楼层
mark!!!!!!!!!!

出0入0汤圆

发表于 2015-1-22 22:06:36 | 显示全部楼层
收藏一下,,明天继续看

出0入0汤圆

发表于 2015-1-24 22:28:19 | 显示全部楼层
tangwei039 发表于 2010-4-25 13:39
发一个51单片机的键盘扫描程序,算法简单有效
                                      再给大家分享一个不 ...

你好楼主,我正在按你的贴子学习,遇到一个问题。数码管是共阴极的“temp = ( 0x01<< dat ) ; //根据要选通的位计算出位码”这部分内容的0x01改为了0xfe后有重影现象,应该是左移后0跟进了。有什么办法解决?

出50入0汤圆

发表于 2015-1-24 23:16:04 | 显示全部楼层
值得一看,多谢分享

出0入0汤圆

发表于 2015-1-26 22:06:03 | 显示全部楼层
不用回答了,已经调通了。用_crol_(0xfe,data).

出0入0汤圆

发表于 2015-1-26 22:07:06 | 显示全部楼层
顺便说一下,谢谢,太好了。

出0入0汤圆

发表于 2015-1-27 11:37:27 | 显示全部楼层
支持,写的够好,够详细,楼主期待更新

出0入0汤圆

发表于 2015-1-27 13:20:34 | 显示全部楼层
谢谢  分享。。

出0入0汤圆

发表于 2015-1-27 13:51:13 | 显示全部楼层
很实用,要是以word的形式可以下载下来慢慢学习就更好了。

出0入0汤圆

发表于 2015-1-27 16:02:09 | 显示全部楼层
好帖子啊,学习学习

出0入0汤圆

发表于 2015-1-28 18:46:19 | 显示全部楼层
楼主,怎么不更新了呀

出0入0汤圆

发表于 2015-2-9 20:09:13 | 显示全部楼层
顶一下楼主 写的真好

出0入0汤圆

发表于 2015-2-9 22:58:32 | 显示全部楼层
楼主整理整理可以编本了

出0入0汤圆

发表于 2015-2-10 11:12:42 | 显示全部楼层
入门福利啊,多谢。

出0入0汤圆

发表于 2015-2-10 13:01:45 | 显示全部楼层
挺好的……值得学习……

出0入95汤圆

发表于 2015-2-10 15:36:06 | 显示全部楼层
很好,顶一个

出0入0汤圆

发表于 2015-2-11 06:36:12 | 显示全部楼层
写的很不错 值得初学者学习

出0入0汤圆

发表于 2015-2-11 16:12:18 | 显示全部楼层
我觉得发这样连载的帖子,可以先写好,一次性上传。否则,想这样,最后没有最后了,会扯淡的!

出0入0汤圆

发表于 2015-2-11 23:07:03 | 显示全部楼层
之前自己写了个时钟程序    感觉还行       看了这个后    感觉自己的CPU好多都浪费了        谢谢大神指点

出0入0汤圆

发表于 2015-3-12 15:41:50 | 显示全部楼层
感谢楼主的分享!

出0入0汤圆

发表于 2015-3-12 16:42:55 | 显示全部楼层
MARK..精髓。。

出0入0汤圆

发表于 2015-3-12 18:25:23 | 显示全部楼层
学习了

出0入0汤圆

发表于 2015-3-21 15:55:30 | 显示全部楼层
哎,,,学单片机3年了。,走了很多弯路,后悔现在才看到你的帖子

出0入0汤圆

发表于 2015-3-22 17:07:02 | 显示全部楼层
学习,学习

出0入0汤圆

发表于 2015-3-23 21:21:54 | 显示全部楼层
写的很不错,受益匪浅,支持下

出0入0汤圆

发表于 2015-3-23 22:59:28 | 显示全部楼层

出0入0汤圆

发表于 2015-3-24 09:03:47 | 显示全部楼层
感谢楼主,好人啊

出0入0汤圆

发表于 2015-4-10 17:27:19 | 显示全部楼层
很好的东西,学习了

出0入0汤圆

发表于 2015-4-10 21:36:03 | 显示全部楼层
很好的帖子,漫漫看。

出0入0汤圆

发表于 2015-4-11 16:59:57 | 显示全部楼层
艾玛,老有规范了

出0入0汤圆

发表于 2015-4-12 09:37:53 | 显示全部楼层
很好,希望多多写这样的帖子。

出0入0汤圆

发表于 2015-4-16 20:24:19 | 显示全部楼层
艾玛,终于看完了,翻了好久终于没有新的了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-1 05:11

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

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