b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

51系列单片机的最小系统原理图和程序

电脑杂谈  发布时间:2020-07-05 05:03:13  来源:网络整理

c51单片机最小系统图_c51单片机最小系统电路图_51单片机最小系统原理图与pcb图

51系列单片机的最小系统设计与调试实验1.实验目的1.了解单片机的基本工作原理2.学习并掌握相关软件(Protel,keil)的使用2.掌握下载片上微型计算机程序存储器的方法3. 精通MCU编程(编译和C51)二,原理1.单片机的最小系统或最小应用系统是指由最少组件组成的单片机可以工作的系统. 对于51系列单片机,也就是说,单片机+晶体振荡器电路+复位电路构成了最小系统. 但是在我们的设计中,我们总是喜欢将按键输入,显示输出等添加到上述电路中,从而成为一个小型系统. 2. AT89C51的高性能8位微控制器功能AT89C51提供以下标准功能: 8K字节的闪存,256字节的内部RAM,32个I / O线,3个16位定时器/计数器,一个6矢量的2级中断结构,全双工串行通信端口,片上振荡器和时钟电路,同时可以将AT89C51的静态逻辑降低为0HZ,并支持两种软件可选的节电工作模式. 空闲模式停止CPU工作,但允许RAM,时间/计数器,串行通讯端口和中断系统继续工作. 掉电模式会保存RAM的内容,但振荡器会停止工作并阻止所有其他组件在下一次硬件复位之前工作.

c51单片机最小系统图_c51单片机最小系统电路图_51单片机最小系统原理图与pcb图

主要特点: ?与MCS51指令系统兼容吗? 32个双向I / O端口?三个16位可编程定时器/计数器?时钟频率0-24MHz?五个? 128x8bit内部RAM?两个串行中断?两个加密位?一个内置的模拟比较放大器?可编程UARL通道3. 有关AT89C51高性能8位微控制器的信息,请参考相关的第三本书. 实际的培训任务. 软件设置睡眠和唤醒功能(1)了解MCS-51 ROM和片;汇编指令代码存储在ROM中;掌握指令代码的概念和指令代码的地址;了解51系列微控制器程序存储器(ROM)固定地址的用途. 了解51系列MCU的片;了解51系列MCU的片;了解51系列单片机的片内随机存取存储器的区域划分;掌握字节地址和位地址的概念;了解R0〜R7寄存器与字节地址之间的关系.

51单片机最小系统原理图与pcb图_c51单片机最小系统电路图_c51单片机最小系统图

从本质上掌握MCS-51系列单片机四个端口用法的位操作(3)MCS-51汇编语言设计(编码转换): MCS-51汇编指令用于程序设计. 将四位数的BCD转换为十六位数的二进制数. (或将四位数的十六进制数字转换为BCD代码). 要求: 在PC上调试,程序可以正确运行并提交源程序列表和程序描述. (4)键盘输入电路设计/动态显示电路设计: 在训练过程中c51单片机最小系统电路图,需要设计按键输入电路,设计显示电路,绘制电路图并编写按键输入子程序. 专注于掌握硬件电路的设计并通过编程来控制电路. (5)单片机的最小系统设计: 单片机的最小系统设计是单片机应用系统设计与开发的基础. 通过单片机系统的设计,学生可以更深入地了解所学的单片机的原理和应用课程. 要求: 提供电路图和程序列表. 专注于硬件电路的设计和过程控制. (6)基于单片机的应用系统的设计: 设计达到一定控制目的的应用系统是本培训课程的最终培训结果. 实际的培训要求包括单片机最小系统的设计,按键输入电路的设计,显示电路的设计以及应用系统的软件编程. 附件1: 51系列单片机的最小系统设计1.单片机的最小系统硬件设计主要擅长系统控制,但不适合复杂的数据处理. 在设计单片机的最小系统时,AT89C51,AT89C52,AT89S51,AT89S52(S系列芯片支持ISP功能)和其他型号的8位DIP-40封装单片机作为MCU. 典型的单片机系统通常由时钟电路,复位电路,键盘电路,显示电路等组成,有时通过片外RAM以及ROM和外部扩展接口等电路进行扩展.

c51单片机最小系统图_51单片机最小系统原理图与pcb图_c51单片机最小系统电路图

图1是单片机的最小系统结构的框图. 图1单片机的最小系统结构框图1.系统时钟电路单片机具有一个高增益反相放大器,该放大器用于形成振荡器. 通常,石英晶体和两个补偿电容器跨接在引脚XTAL1和XTAL2之间,以形成自激振荡器. 系统时钟电路的结构如图2所示. 可以根据情况选择频率为6MHz,8MHz或12MHz的石英晶体. 补偿电容器通常选择20-30pF左右的陶瓷电容器. 图2系统时钟电路2.复位电路单片机采用自动上电复位和手动键复位两种方法来实现系统复位操作. 上电复位需要在电源打开后自动执行上电复位. 手动复位要求在接通电源的情况下在运行MCU时通过按钮开关操作来复位MCU. 复位电路的结构如图3所示. 上电自动复位通过对电容器C3充电来实现. 通过按下电阻器R2和VCC可以实现手动按键复位. 图3复位电路3.键盘电路系统使用P1端口的P1.0-P1.3设置四个独立键S2〜S5,如图4所示,按下该键时,P1端口对应的引脚为设置为低电平,连接到此按钮的LED点亮. 此外,8279键盘显示控制芯片还可以扩展编码键盘和显示. 图5显示了使用8279扩展功能的2×8 = 16键编码键盘和8个LED的电路.

c51单片机最小系统图_c51单片机最小系统电路图_51单片机最小系统原理图与pcb图

图4独立键图5扩展的键盘和显示屏4.显示电路系统配有8个公共阳极LED数字管LED1-LED2. 单片机的P0端口提供段代码信号,低电平有效,P0端口的输出端口超过极限. 电流电阻R00〜R07连接到数字管的段代码数据线上,用于发送LED数码管的段码数据信号. 单片机的P2端口提供位选择信号. 当P2端口的某位输出低电平时,与之相连的开关晶体管导通,相应的数字管点亮,该晶体管用于增强信号的驱动能力,如图6所示. 此外,为了扩展LCD显示屏,系统配备了两个LCD接口,如图7所示,一个用于40点矩阵LCD显示屏,一个用于128×64点矩阵LCD显示屏. 图6 LED显示电路图7 LCD扩展接口5.其他系统也扩展了2K位串行CMOS E2PROM24C02,P3.3和P3.4用作24C02串行数据传输的时钟和数据线. 24C02,其三个地址输入引脚A0,A1和A2接地,如图8所示. 此外,系统还配备了蜂鸣器电路,如图9所示,通过P3.7输出音频信号,可以使蜂鸣器发出声音. 由于此最小系统不会扩展其他内存和I / O,因此不使用地址解码和锁存.

图8扩展E2PROM MCU最小系统的主要组成如表1所示: 图9蜂鸣器电路表1 MCU U1 U2 LED1,LED2 Q1〜Q9 D1〜最小系统的主要组成D12 Y型号,规格89C51 24C02 7SEG -49012φ3MM封装DIP40 DIP8功能描述CPU主设备2K E2PROM 4位8段共阳极数字管TO-92A DIODE0.4三极管发光二极管MCU时钟晶体振荡器12MHz石英晶体振荡器的主要应用接口如表2所示: 表2最小的MCU系统主接口标签J1 J2 J2 Jp1 Jp2 Jp3 Jp4功能描述输入电源插座40点矩阵LCD接口128×64点矩阵LCD接口P0端口出口接口P1端口出口接口P2端口插座接口P3端口插座接口主电源40点矩阵液晶显示模块128×64点矩阵液晶显示模块单片机P0端口单片机P1端口单通道ip单片机的P2端口单片机的P3端口连接目标单片机的最小系统电气原理图二,单片机的最小系统测试程序设计编写测试程序,一个可以对资源进行测试,其二是为用户提供带有使用LED显示屏并访问各种资源(例如键盘)的子程序.

1. 用于键盘扫描和数字管显示的汇编语言程序如下: ; ********************** *** **************************************;键盘和数码管显示程序,功能是按一个键,按键对应的数码管亮起,并显示按键代表的数字. ************************************** ****************** ********** org 0000h ajmp main org 0100h main: mov sp,#30h mov r3,#0 mov r4,#0 kon: lcall ks1 cjne a,#0ffh,show1 lcall dir ajmp kon show1: lcall dir lcall dir lcall ks1 cjne a,#0ffh,show2 ajmp kon show2: cjne a,#0feh,l1 mov r4,#0 ajmp lkp l1: cjne a,#0fdh,l2 mov r4,#1 ajmp lkp l2: cjne a,#0fbh,l3 mov r4,#2;以下是关键值鉴别程序;第一个键被分配了代码0;密钥有效;防抖;调用键盘阅读程序;按一个键调用display子例程ajmp lkp l3: cjne a,#0f7h,l4 mov r4,#3 ajmp lkp lkp: lcall dir ljmp kon dir: mov dptr,#table mov a,r4 movc a,@ a + dptr mov r3,a mov a,r4 led1: cjne a,#0,led2 mov dptr,#8000h ajmp ss led2: cjne a,#1,led3 mov dptr,#9000h ajmp ss led3: cjne a,#2,led4 mov dptr,#0a000h ajmp ss led4: cjne a,#3,led5 mov dptr,#0b000h ajmp ss ss: mov a,r3 movx @ dptr,lcall delay ret ks1: clr p1.7 mov dptr,#0e000h movx a,@ dptr;键盘地址;根据键值选择数码管4. 根据键值选择数码管3. 根据键值选择数码管2;根据键值选择数码管1;取7个段码;返回;显示子例程延迟延迟: mov r6,#10 lpp: mov r7,#100 djnz r7,$ djnz r6,lpp ret table: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80hc51单片机最小系统电路图,90h db 88h ,83h,0c6h,0a1h,86h,8eh,0ffh,0f7h结尾;延迟子程序2.键盘扫描和数字显示C语言程序键盘扫描和数字管显示的C语言程序如下: / ********************** ********************** ************ / / *键盘和数码管程序,每个键代表一个数字,并显示在以数字表示的数码管中* / #include #include #define uchar unsigned char #define uint unsigned int #define LED1 XBYTE [0x8000] / *定义每个数码管地址* / #define LED2 XBYTE [0x9000] #define LED3 XBYTE [0xA000] #define LED4 XBYTE [0xB000] #define KEY XBYTE [0xE000] / *定义键盘地址* /无效延迟(uint v){while(v!= 0) v--;} uchar keynum = 0;比特P1_7 = P1 ^ 7; / *数字段代码表* / uchar代码segtab [18] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,\ / *扫描端口* / / *延迟功能* / 0x88 ,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xf7}; void dir(uchar); void readkey(void){uchar M_key = 0;乌查尔一世P1_7 = 0; M_key = KEY; if(M_key!= 0xff){for(i = 0; i <20; i ++)dir(keynum); M_key = KEY; if(M_key!= 0xff)switch(M_key){case 0xfe: keynum = 0;布雷克情况0xfd: keynum = 1;打破;情况0xfb: keynum = 2;打破;情况0xf7: keynum = 3;中断;}} / *第4键* / / *第3键* / / *按第2键* / / *按第1键* / / *读取键* / / *防抖动* / / *获取键盘data * / / *声明显示功能* / / *读取键盘功能* /} void dir(keynum){switch(keynum){情况0: LED1 = segtab [0]; delay(100);打破;情况1: LED2 = segtab [1]; delay(100);打破;情况2: LED3 = segtab [2]; delay(100);打破;情况3: LED4 = segtab [3]; delay(100); break;}} void main(){while(1){dir(keynum); readkey();}} / *呼叫显示功能* / / *呼叫键盘功能* / / *主功能* / / *显示功能* /


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-268966-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...