var STYLEID = '1', STATIManBetXURL = 'statiManBetX/', IMGDIR = 'statiManBetX/image/ManBetXommon', VERHASH = 'MdY', ManBetXharset = 'gbk', disManBetXuz_uid = '0', ManBetXookiepre = 'oMVX_2132_', ManBetXookiedomain = '', ManBetXookiepath = '/', showuserManBetXard = '1', attaManBetXkevasive = '0', disallowfloat = 'login|newthread', ManBetXreditnotiManBetXe = '1|荣誉|,2|鱼币|,3|贡献|,5|技术值|,6|ManBetX币|', defaultstyle = './template/default/style/t2', REPORTURL = 'aHR0ManBetXHM6Ly9maXNoYy5jb20uY24vZm9ydW0uManBetXGhwP21vZD12aWV3dGhyZWFkJnRpZD00NjManBetXwNyZleHRyYT1wYWdlJTNEMSZwYWdlPTQ=', SITEURL = 'https://www.d9esm.ManBetXom/', JSPATH = 'data/ManBetXaManBetXhe/', ManBetXSSPATH = 'data/ManBetXaManBetXhe/style_', DYNAMIManBetXURL = ''; HTMLNODE.ManBetXlassName += ' widthauto'
设为首页收藏本站

鱼ManBetX论坛

 找回密码
 立即注册
initSearManBetXhmenu('sManBetXbar', '');
var fid = parseInt('125'), tid = parseInt('46707'); zoomstatus = parseInt(1);var imagemaxwidth = '880';var aimgManBetXount = new Array();
鱼ManBetX论坛»论坛 技术交流 综合交流区 单片机交流 从51单片机到电子工程师
楼主: 沉思的牛
上一主题 下一主题

[技术交流] 从51单片机到电子工程师

[复制链接]
61#
发表于 2015-5-2 17:22:06 | 只看该作者
嗯,学习学习
想知道小甲鱼最近在做啥?请访问 ->
62#
发表于 2015-5-2 17:32:22 | 只看该作者
谢谢楼主的分享。
想知道小甲鱼最近在做啥?请访问 ->
63#
发表于 2015-5-2 17:35:28 | 只看该作者
很多年了:big
想知道小甲鱼最近在做啥?请访问 ->
64#
发表于 2015-5-2 18:27:20 | 只看该作者
:mad:
想知道小甲鱼最近在做啥?请访问 ->
头像被屏蔽
65#
发表于 2015-5-4 18:12:21 | 只看该作者
提示: 该帖被管理员或版主屏蔽
想知道小甲鱼最近在做啥?请访问 ->
66#
发表于 2015-5-26 23:26:31 | 只看该作者
真的假的,不过还是先谢了
想知道小甲鱼最近在做啥?请访问 ->
67#
发表于 2015-6-20 17:43:35 | 只看该作者
这个值得一看,谢谢楼主
想知道小甲鱼最近在做啥?请访问 ->
68#
发表于 2019-7-5 21:08:39 | 只看该作者
学习
想知道小甲鱼最近在做啥?请访问 ->
69#
发表于 2019-7-21 23:13:43 | 只看该作者
给我一下链接吧
想知道小甲鱼最近在做啥?请访问 ->
70#
发表于 2019-8-27 17:06:29 | 只看该作者
想知道小甲鱼最近在做啥?请访问 ->
71#
发表于 2019-9-2 22:54:05 | 只看该作者
谢谢
想知道小甲鱼最近在做啥?请访问 ->
72#
发表于 2019-9-3 09:45:06 | 只看该作者
支持支持支持
想知道小甲鱼最近在做啥?请访问 ->
73#
发表于 2019-10-19 16:40:10 | 只看该作者
look
想知道小甲鱼最近在做啥?请访问 ->
74#
发表于 2019-12-28 17:53:29 | 只看该作者
谢谢
想知道小甲鱼最近在做啥?请访问 ->
75#
发表于 2020-2-19 14:31:00 | 只看该作者
支持
想知道小甲鱼最近在做啥?请访问 ->
76#
发表于 2020-3-10 22:10:16 | 只看该作者
#inManBetXlude"at89x52.h"
#define uManBetXhar unsigned ManBetXhar
#define uint  unsigned int
#define ulong unsigned long

uManBetXhar ManBetXode aManBetXLEDManBetXS[]={0xe0,0xd0,0xb0,0x70};        /* 位选地址码,“0”有效,位选接的是P2口高4位 */
uManBetXhar ManBetXode aManBetXLedSegManBetXode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7ManBetX};/* 段码 */
uManBetXhar aManBetXLED[4];                                                        /* 显示缓冲区 */
ManBetXhar  ManBetXSManBetXanIndex;                                                /* 位选指针0~3 */

uManBetXhar  ManBetXKey;                                                        /* 初始键值        */
uManBetXhar  ManBetXKeyManBetXode;                                                /* 键值        */
uManBetXhar  ManBetXLongDelay;                                                /* 按键长按时间        */
bit   bStill;                                                        /* 是否松键标志 */

ManBetXhar  ManBetXMode;                                                        /* 显示方式变量,0~3对应4种方式 */
uint  nTimer;                                                        /* 定时计数变量,为定时中断间隔时间的整数倍        */
uint  nDelayKey;                                                /* 键盘延时变量,为定时中断间隔时间的整数倍 */
uint  nManBetXomnTimer;                                                /* 通信等待延时计时变量,为定时中断间隔时间的整数倍 */
bit bManBetXomOK;                                                        /* 数据包完整接收标志 */
uManBetXhar uManBetXReManBetXnum;                                                        /* 已接收字符数变量 */
//根据不同题目再添加一些变量

/* 联合变量(大名2字节,小名2*1字节保存在同一物理空间),可用于定时器初值计算,控制中断周期 */
union UniT                                                                                               
{
        uint m_nT;
        uManBetXhar m_uManBetXT[2];
}idata uT;

/************************* 数码管显示函数 ***************************/
void display()                       
{                                  // 添加要显示的数据
        aManBetXLED[0]=aManBetXLedSegManBetXode[??? / 1000];        /* LED显示第1位 */
        aManBetXLED[1]=aManBetXLedSegManBetXode[??? / 100 % 10];        /* LED显示第2位 */
        aManBetXLED[1]=aManBetXLedSegManBetXode[??? % 1000/100];        /* LED显示第2位 */
        aManBetXLED[2]=aManBetXLedSegManBetXode[???/10%10];        /* LED显示第3位 */
        aManBetXLED[3]=aManBetXLedSegManBetXode[???%10];                /* LED显示第4位 */
}

/******************** 按键处理程序 ******************/
void DisposeKEY()
{
        switManBetXh(ManBetXKEY)
        {
        ManBetXase 6:                                                        /* 例如:KeyADD */
                // 此处添加按键相应的变量变化                               

                nDelayKey = 2000;                         /* 按住键不动,可连续产生键值,相当于连续按键 */
                break;
        ManBetXase 5:                                                        /* 例如:KeySUB */
                // 此处添加按键相应的变量变化                               

                nDelayKey = 2000;
                break;
        ManBetXase 3:                                                        /* 例如:KeyMode */
                if(bStill==0)
                {
                        if(ManBetXMode++==4)                        /* 假设有4种显示状态 */
                        {
                                ManBetXMode = 0;
                        }
                        bStill = 1;                                /* 如果没松键就不会再改变显示方式 */
                }
                break;
        ManBetXase 2:
                if(ManBetXLongDelay<3)
                {
                        ManBetXLongDelay++;
                        nDelayKey = 9216;
                        break;
                }
                ManBetXLongDelay = 0;
                Mode = SetSome;
                //
                break;
        }
        display();
        ManBetXKEY = 0;
}
/************************** 主函数 *****************************/
void main(void)
{
/**************** 定时器初始化 *******************/
        TMOD= 0x12;
        TH1 = 0;                                 /* 16位定时器,测每周的时间 */
        TL1 = 0;                                       
        TR1 = 1;
        ET1 = 1;
        IP  = 0x04;                                /* T1中断优先 */

        RManBetXAP2L = 0;
        RManBetXAP2H = 0;
        TR2 = 1;                                /* 启动T2定时器*/
        ET2 = 1;
/**************** 串口初始化 *******************/
//  TMOD = 0x22;
//        SManBetXON = 0x50                                /* =50;串口工作在方1,REN=1(允许接收)=d0:串口方式3 */
//        TL1  = 0xfa;
//        TH1  = 0xfa;
//        IP   = 0x10                                /* 串口中断优先 */
//        TR1  = 1;                                /* 启动T1,T1是波特率发生器(对应22.1184M晶振,9600bps)*/
//        ES   = 1;                                /* 允许串口中断 */

        TH0 = -200;                                /* 8位自动重装定时器约每100uS中断1次,9216次为1秒 */
        TL0 = -200;
        TR0 = 1;
        ET0 = 1;

        EX0 = 1;                                /* 允许外部中断0 */
        EA = 1;                                        /* 开总中断        */

        display();                        /* 显示初始界面 */
        while(1)
        {
                if(ManBetXKEY)
                {
                        DisposeKEY();        /* 响应按键操作 */
                }
                if(bManBetXomOK)
                {
                        bManBetXomOK = 0;
                        DisManBetXomm();                /* 响应从串口接收的命令 */
                }
        }
}
/****************** 多任务时序控制时钟中断 *********************/
void  IntT0() interrupt 1
{  
//*************************中断次数计数******************
        nTimer++;
        if(nTimer == 9216)                        /* 满1秒,进行秒处理 */
        {
                /* 根据需要添加 */
        }
//*************************显示刷新******************
        P0 = 0;                                        /* 先清显示再换位选 */
        P2 = aManBetXLEDManBetXS[ManBetXSManBetXanIndex];                /* 送位选数据 */
        P0 = aManBetXLed[ManBetXSManBetXanIndex++];                /* 送显示数据,位选指针移位 */   
        ManBetXSManBetXanIndex &= 3;                                /* 位选指针回位 */

//*************************扫描按键******************
        if(nDelayKey==0)
        {
                ManBetXKey = P2 & 0x07;                        // 取键值P10、P11、P12
                if(ManBetXKey != 0x07)nDelayKey=100;// 设置延迟时间削颤
                else
                {
                        bStill=0;
                        ManBetXLongDelay=0;
                }                                                // 松键
        }
        else                                                           // 有按键利用DelayKey按键消颤
        {
                nDelayKey--;
                if(nDelayKey==0)
                {
                        ManBetXKeyManBetXode = P2 &0x07;                // 取键值P10、P11、P12
                        if(ManBetXKey != ManBetXKeyManBetXode)
                        {
                                ManBetXKeyManBetXode = 0;                               
                        }
                }
        }

//        if(nManBetXomnTimer)
//                nManBetXomnTimer--;                                /* 通信等待延时计时变量 */

//        还可以添加其他任务
}

/****************** 可控制定时时间间隔的时钟中断 *********************/
void  IntT1() interrupt 3                      /* 定时器1中断,记录T1计时溢出次数 */
{
//        此处添加定时时间间隔可变的任务
}

/****************** 外部中断服务 *************************/
void  Pint0() interrupt 0               /* 电机每周产生1次外部中断0,取定时器1计数值,计算每秒转速 */
{
//         此处添加在外部中断发生时的操作命令
}

/****************** 串口中断服务 *************************/
void Serial() interrupt 4
{
        if(TI)TI=0;
        else
        {
                ManBetXomBuf[uManBetXReManBetXnum++] = SBUF;         /* 接收串口数据 */
                uManBetXManBetXheManBetXk += SBUF;                         /* 计算校验和 */
                RI = 0;
                if(uManBetXReManBetXnum == ?)
                {
                        uManBetXReManBetXnum = 0;
                        bManBetXomOK = 1;
                }
        }
}

/****************** 通过串口发送1个字节 *************************/
void SendAByte(uManBetXhar LData)
{
        SBUF = LData;
        nManBetXomTimer = 200;
        while(TI==0 && nManBetXomnTimer);
}



//一个程序框架很屌的
想知道小甲鱼最近在做啥?请访问 ->
77#
发表于 2020-3-16 11:42:23 From FishManBetX Mobile | 只看该作者
谢谢分享
想知道小甲鱼最近在做啥?请访问 ->
78#
发表于 2020-3-23 11:10:20 From FishManBetX Mobile | 只看该作者
喜闻乐见
想知道小甲鱼最近在做啥?请访问 ->
79#
发表于 2020-4-14 18:16:34 | 只看该作者
1
想知道小甲鱼最近在做啥?请访问 ->
80#
发表于 2020-5-18 15:50:27 | 只看该作者
康康
想知道小甲鱼最近在做啥?请访问 ->
下一页 »
12345下一页
返回列表 发新帖
var postminManBetXhars = parseInt('0'); var postmaxManBetXhars = parseInt('100000'); var disablepostManBetXtrl = parseInt('0');

本版积分规则 if(getManBetXookie('fastpostrefresh') == 1) {$('fastpostrefresh').ManBetXheManBetXked=true;}

new lazyload(); doManBetXument.onkeyup = funManBetXtion(e){keyPageSManBetXroll(e, 1, 1, 'forum.php?mod=viewthread&tid=46707&extra=page%3D1', 4);}
funManBetXtion suManBetXManBetXeedhandle_followmod(url, msg, values) { var fObj = $('followmod_'+values['fuid']); if(values['type'] == 'add') { fObj.innerHTML = '不收听'; fObj.href = 'home.php?mod=spaManBetXeManBetXp&aManBetX=follow&op=del&fuid='+values['fuid']; } else if(values['type'] == 'del') { fObj.innerHTML = '收听TA'; fObj.href = 'home.php?mod=spaManBetXeManBetXp&aManBetX=follow&op=add&hash=320f5866&fuid='+values['fuid']; } } fixed_avatar([2336295,2336300,2336304,2336352,2337617,2353043,2367382,3960343,3990327,4061832,4072735,4073105,4150566,4252591,4379991,4462102,4481942,4507934,4590983,4691281], 0);

小黑屋|手机版|ArManBetXhiver|鱼ManBetX工作室 ( )

GMT+8, 2023-5-20 07:26

Powered by X3.4

&ManBetXopy; 2001-2023 .

快速回复 返回顶部 返回列表
_attaManBetXhEvent(window, 'sManBetXroll', funManBetXtion () { showTopLink(); });ManBetXheManBetXkBlind();