ImageVerifierCode 换一换
格式:PDF , 页数:242 ,大小:19.34MB ,
资源ID:2104055      下载积分:15 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2104055.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(全国高职高专规划教材 单片机应用技术(C语言版).pdf)为本站上传会员【曲****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

全国高职高专规划教材 单片机应用技术(C语言版).pdf

1、全国高职高专规划教材精品与示范系列单片机应用技术(C语言版)陶孑工缴出版社(PUBLISHING HOUSE OF ELECTRONICS INDUSTRY第1章单片机硬件系统本章内容口什么是单片机口 MCS-51内部组成及信号引脚单片机最小系统电路口 MCS-51存储器结构什么是单片机单片微型计算机(Sing l e Chip Mic r o c o mput er)简称单 片机,是指集成在一个芯片上的微型计算机,它的各种 功能部件,包括CPU(Cent r al Pr o c essing Un it)、存 储器(memo r y)基本输入/输出(Input/Out put,简称 I/O)

2、接口电路、定时/计数器和中断系统等,都制作在一 块集成芯片上,构成一个完整的微型计算机。单片机内 部基本结构如图1.7所示。由于它的结构与指令功能都是 按照L业控制要求设计的,故又称为微控制器(Mic r o-Co nt r o l l er Un it,简称MCU)。什么是单片机TINT定时器/计数器 中断系统P0-P3并行 O 口存储器串行V O 口 TxD RxD单片机应用系统单片机应用系统 八单片机应用系统由硬件和软件组 成+软 件硬件是应用系统的基础软件是在硬件的基础上对其资源 进行合理调配和使用,从而完成 应用系统所要求的任务,二者相 互依赖,缺一不可单片机种类单片机的发展经历了由

3、4位机到8位机,再到16位机的发展过程目前8位单片机仍是单片机的主流机型;生产厂商:美国I芯片公司:PIC16Cxx系列、PIC17Cxx系则、PIC1400系列,美国英特尔公司由MCSM8和MCS-51系列,美国摩托罗拉公司的MC68HC05M列和MC68HC11系列 美国齐洛格公司的Z8系列,日本电气公司的uPD78xx系列,美国莫斯特克公司和仙童公司合作生产的F8(3870)系列等。单片机硬件结构专用寄存器占I用。;051单片机的基本组成中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部

4、ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O 口:4个8位的I/O 口 PO、P1、P2、P3.串行口:一个全双工串行口。中断控制系统:5个中断源(外中断2个,定时/计数中断2个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHz和12MHzMCS-51单片机信号引脚简介匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚匚c 2 3 4.3 6 7 11111111 pa pa p p-p pa p p*TXD/P3.1INTO/P3.2INTI/P3.3TO/P3.4Tl/P3.5WR/P3.6-RD/P3.

5、7VSS2393384c c-3758031 3663578051 348339108751:;J,11301289C51 2934 5 6789202827262524242221ce0J.2J.4.54.7、EE.7 cooooooooV p p p p p p p p 1Ah n n n n n n n n n n n n n n n n n n n1、电源线:VCC(+5V)V$S(地)2、振荡电路:XTAL1.XTAL23、复位引脚:RST4、并行口:PO、P1、P2、P35、EA:访问程序存储控制信号6、PSEN:外部ROM读选通信号7、ALE:地址锁存控制信号P3 口线的第二功能

6、时钟电路与复位电路(1)时钟振荡电路时序关于MCS-51系列单片机的时序概念有4个,可用定时单位去说皿丛小 金关依次是:节拍、状态、机器周期和指令周期,下面分别加以说明。1)节拍与状态,把振荡脉冲的周期定义为节拍,用P表示,也就是品振的振荡频率“sc。2)状态振荡脉冲fosc经过二分频后,就是单片机时钟信号的理到上岑X为皙金*TS表示。一个状态包含两个节拍,其前津周期对应的|J班叫P1,后千周 期对应的节拍叫P2。3)机器周期MCS-51系列单片机采用定时控制方式,有固定的机器周期。规考工日业 器周期的速度为6个状态,即12个振荡脉冲周期,因此机器周期就是1荡 脉冲的十二分频。小提示当振荡脉冲

7、频率为12 一个机器周期为1p s;当振荡脉冲频率为6MHz时,一个机器周期为2 R S。(2)复位电路MX-V CC22微*MCS-510-R ESETIS-V SSV SSvccNICS-51单片机复位条件:必须使R ST引脚持续2微秒高电平(外部时钟12MHz)LLLSl,l目 LIU 巨 UI(4 4E P R O M276E P R O M=1 嗝i=u u u u u u u r w miiii2827M2524hh2lMl918l7io!5MA R462345o789wnuuK4i n n n n n n n n n n n n n28272025“2322212()19|1|1

8、71|5M 4-RA26R 6 23 3 56789101 1121314256B(字节)pNnn n n n n n n no n n口=存储器程序存储器程序存储器资源分布程序存储器在单片机C语言程序设计中,用户无需考虑程 序的存放地址,编译程序会在编译过程中按照 上述规定,自动安排程序的存放地址。例如:C语言是从main()函数开始执行的,编 译程序会在程序存储器的0000H处自动存放一 条转移指令,跳转到main()函数存放的地址;中断函数也会按照中断类型号,自动由编译程 序安排存放在程序存储器相应的地址中。因此,读者只需了解程序存储器的结构就可以了。数据存储器件寄存2s区主持位RS。.

9、RSIOBHOFH00H*07H片内RAM地址FFHM128B,80H一丽(低1288).期FFFFH专用.由瞽;之二ram|ooooh数据存储器外却内部RAM存储器RAM位寻址区位地址表单元地址MSBwi 1肥UBBA而IMH/NTTIPX】PTOPXOpi imH5MIftH-l ieROMPaTP&lPX5PI 4P33rur&oDlAFAEADACAhAAAlASASH.EA/RSETIRX1moEXOnA?MMMASA2AlAUACMPITPICPt.5Pt.4P2.3JP3.IFl.)P2.0SBUFUDONW 3M0EAMIDAMtSCRKNmTMA g96HRIMT(RtpiO

10、TMMXM Pl.392)Pl.lBOPLOraiPl.Tn.in.sPl4THl M e M ITHO(SDH)(4CH)TL1(HiH)(MH)Tl JOTMODGATScTtMlMOMT*e rrMlMOCIOH)TCONar证(DICHLSA后8MHiviIRlIFOTHOCE1mITOIEOroc出/o nCFOPDIDLdph83H)ixn.srOil Ircer88RU8382t)OMHIRDlBFO.SFO.4PU.3PU2PD.(Rl.0高1 28个单元 离散分布有21个 特殊功能寄存器SFR。11个可以进行 位寻址。特别提示:对 SFR只能使用直接 寻址方式,书写时 可使用

11、寄存器符号,也可用寄存器单元 地址。AV R,单片机,C语言,C51,编程基础,实 例,好资料在单片机的C语言程序设计中,可以通过关键字sfr来定义所有特殊功 能寄存器,从而在程序中直接访问它们,例如:sfr P1=0 x90;特殊功能寄存器P1的地址是90H,对应P1 口的8个I/O引脚在程序中就可以直接使用P1这个特殊功能寄存器了,下面 语句是合法的:P1=OxOO;将P1 口的8位I/O 口全部清0C语言中,还可以通过关键字sbit来定义特殊功能寄存器中的可寻址 位,在程序ex1_1.c中,采用了下面语句定义P1 口的第0位:sbit P1_0=P1A0;通常情说下,这些特殊功能寄存器已

12、经在头文件r eg 51.h中定义了,只要在程序中包含了该头文件,就可以直接使对已定义的特殊功 能寄存器。如果没有头文件r eg 51.h,或者该文件中只定义了部分特殊功能寄存 器和位,用户也可以在程序中自行定义。第2章单片机开发系统本章内容口单片机开发系统及功能Keil C51软件的使用单片机开发系统及功能单片机开发系统是单片机应用系统设计的必 需工具,包括计算机、单片机在线仿真器、工 具软件、编程器等。口在线仿真功能口调试功能1)运行控制功能2)目标系统状态的读出修改功能口辅助设计功能1)程序设计语言2)程序编译口程序固化功能Keil C51软件的使用Kc il CS”;动 HnKeil

13、C51软件的使用 址也I那文件Keil C51软件的使用iiHUKPuKeil C51软件的使用/1X1.Vbioci3-(TexU*目 Fie Edt Me w Pro je c t Oe buq Mash Pe rf Dhe ral s To o l s SVCS 弛ndt y.He b画k Q 3 X心型 二U H 三人哭显鼎:;凶回 J I|Tar ge l 1Pmo|Kt X I r-即 i i Tar oe t 1;3船常xicl ude r bxt Pl.OPPO,VQxd de l ay(iulsj.gne d c hax a.);vo id rt axn()vh il e()

14、F!0=1:de l iy(10 1;Pl _0=0.de l ay(10);void de Ldytwnsifni&d ch ar i)unsigne d c hax j,unsigne d c har k;,f o r(k=0;k-H-)for(j=O:j:raxi7文本集第窗口Keil C51软件的使用Jjt Xl MHioo3 F wjK20M l-21Cproexl x自 He Edt Me*Project Debug Fl ash Penpherak Tods SVCS VJrdov Hdp固熔f c i。I X也15:二二分4,为W由四K|式闾Target 1Prcjoct/cr

15、ka c*01 inc l ude m s bit n_o=n c CG vo id de l iyCansl ane d c bar 工).Opt ors fee Group Soltb Gnot o 1,OoenUFI?0001 Mop HieOpen Fie陷 Re bul dm俣PI&Jd t argetTransl at e Fie,口应匕F7NewGot pA Source Group 1Haris3e Cowpcnent sRew/e GnoLf)OLree GnoLp V 2rd it s Fl esy Indxf e-De pe nde nc e增酬文件划赳中Keil C51

16、软件的使用Add Fil es t o Groop Source Group 1*古拉范围il)Q”三I 一向曲匠!i文件名甲 短厂工件先1癖国迤jAddCLqsc迭和文件类型Keil C51软件的使用Opt ions for Tanet Target 1De vic e|Out put|13st iiic|C51|A51|BUM Lo c at e|ELSE f hx|Ue buc,Ut il it ie s|At nel AT的:5】F Use On-c hip KR OJxO OxFTP)0 chip MA*,nwr)orySt rtSize:KRX Co da St art:End:E

17、M|B2rdc Aro a.厂*f ne no ry t ype supf art Sve addre ss e nt e nsirai 5FK in int e rrt jpt确定 Rif e De EadH|利助目标“性Keil C51软件的使用Opt ions l or Target Tdin)et Targe t Out put|List ing|C51|A5t|BL51 Lo c at e|BL51 Nic e|Do bng|Ut il it ie s|e l e c t Fo l de r Eo r Qbe c t s,1耳60 o f Zxge u gbl o:|非IC*Cre

18、at e Iise c u t 4bl e.IXl(7 He buc Inf WMti&(7 Br0t k se l At o mZL(7近j返返Z:Q|W:-EO-r Cre at e Library:.SW UB-Cre t w B.l c h Fil。AEt o r MW。V Reep When Ccnpl et e Run Vs ar Frc yM A Rim Vs&r Prc gr看确定 j I De f aul t s帮助产生执行文件Keil C51软件的使用Opt io ns f o e Targe t 1,Danic a|Out put|Lic t in|C5|A5|BL51

19、l _Dc t e|BL51 M)sc De bo c|Ut il)t ie|(U,rt渣No,9。,6匕*A PjV Mo n c ry Di 刁l ay11Edit.Re st o re De bnc Se ssi o n Se t t iTiuR Bre k po int k T o o l bo x“f l c rc ryCPU DIL;Ps s e t e?.Drive r DLL 13的。(4:6061.DU.Dial o g DLL Fu s gxr网51 DLLDl1c DLL 11Phsat cr:|DF51 DLL-p5L|n5l.DLL|卢1否定 取用|I|造界仿jx方式

20、Keil C51软件的使用Keil C51内建了一个仿真CPU来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真器的情 况下进行程序的调试。不过,软件模拟与真实的硬件 执行程序还是有区别的,其中最明显的就是时序,具 体表现在程序执行的速度和用户使用的计算机有关,计算机性能越好,运行速度越快。第2章单片机开发系统本章内容口单片机开发系统及功能Keil C51软件的使用单片机开发系统及功能单片机开发系统是单片机应用系统设计的必 需工具,包括计算机、单片机在线仿真器、工 具软件、编程器等。口在线仿真功能口调试功能1)运行控制功能2)目标系统状态的读出修改功能口辅助设计功能1)程序设计语言2)

21、程序编译口程序固化功能Keil C51软件的使用Kc il CS”;动 HnKeil C51软件的使用 址也I那文件Keil C51软件的使用iiHUKPuKeil C51软件的使用/1X1.Vbioci3-(TexU*目 Fie Edt Me w Pro je c t Oe buq Mash Pe rf Dhe ral s To o l s SVCS 弛ndt y.He b画k Q 3 X心型 二U H 三人哭显鼎:;凶回 J I|Tar ge l 1Pmo|Kt X I r-即 i i Tar oe t 1;3船常xicl ude r bxt Pl.OPPO,VQxd de l ay(iu

22、lsj.gne d c hax a.);vo id rt axn()vh il e()F!0=1:de l iy(10 1;Pl _0=0.de l ay(10);void de Ldytwnsifni&d ch ar i)unsigne d c hax j,unsigne d c har k;,f o r(k=0;k-H-)for(j=O:j:raxi7文本集第窗口Keil C51软件的使用Jjt Xl MHioo3 F wjK20M l-21Cproexl x自 He Edt Me*Project Debug Fl ash Penpherak Tods SVCS VJrdov Hdp固熔f

23、 c i。I X也15:二二分4,为W由四K|式闾Target 1Prcjoct/crka c*01 inc l ude m s bit n_o=n c CG vo id de l iyCansl ane d c bar 工).Opt ors fee Group Soltb Gnot o 1,OoenUFI?0001 Mop HieOpen Fie陷 Re bul dm俣PI&Jd t argetTransl at e Fie,口应匕F7NewGot pA Source Group 1Haris3e Cowpcnent sRew/e GnoLf)OLree GnoLp V 2rd it s F

24、l esy Indxf e-De pe nde nc e增酬文件划赳中Keil C51软件的使用Add Fil es t o Groop Source Group 1*古拉范围il)Q”三I 一向曲匠!i文件名甲 短厂工件先1癖国迤jAddCLqsc迭和文件类型Keil C51软件的使用Opt ions for Tanet Target 1De vic e|Out put|13st iiic|C51|A51|BUM Lo c at e|ELSE f hx|Ue buc,Ut il it ie s|At nel AT的:5】F Use On-c hip KR OJxO OxFTP)0 chip

25、MA*,nwr)orySt rtSize:KRX Co da St art:End:EM|B2rdc Aro a.厂*f ne no ry t ype supf art Sve addre ss e nt e nsirai 5FK in int e rrt jpt确定 Rif e De EadH|利助目标“性Keil C51软件的使用Opt ions l or Target Tdin)et Targe t Out put|List ing|C51|A5t|BL51 Lo c at e|BL51 Nic e|Do bng|Ut il it ie s|e l e c t Fo l de r Eo

26、r Qbe c t s,1耳60 o f Zxge u gbl o:|非IC*Cre at e Iise c u t 4bl e.IXl(7 He buc Inf WMti&(7 Br0t k se l At o mZL(7近j返返Z:Q|W:-EO-r Cre at e Library:.SW UB-Cre t w B.l c h Fil。AEt o r MW。V Re e p Whe n Cc npl e t e Run Vs ar Frc yM A Rim Vs&r Prc gr看确定 j I De f aul t s帮助产生执行文件Keil C51软件的使用Opt io ns f o

27、e Targe t 1,Danic a|Out put|Lic t in|C5|A5|BL51 l _Dc t e|BL51 M)sc De bo c|Ut il)t ie|(U,rt渣No,9。,6匕*A PjV Mo n c ry Di 刁l ay11Edit.Re st o re De bnc Se ssi o n Se t t iTiuR Bre k po int k T o o l bo x“f l c rc ryCPU DIL;Ps s e t e?.Drive r DLL 13的。(4:6061.DU.Dial o g DLL Fu s gxr网51 DLLDl1c DLL 11

28、Phsat cr:|DF51 DLL-p5L|n5l.DLL|卢1否定 取用|I|造界仿jx方式Keil C51软件的使用Keil C51内建了一个仿真CPU来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真器的情 况下进行程序的调试。不过,软件模拟与真实的硬件 执行程序还是有区别的,其中最明显的就是时序,具 体表现在程序执行的速度和用户使用的计算机有关,计算机性能越好,运行速度越快。第3章 单片机并行I/O口应用本章内容 口并行I/O 口电路结构 认识C语言 口 C语言的基本语句 口 C语言数据与运算 口数组的概念并行I/O 口电路结构MCS-51系列单片机共有四个8位并行I/O口,

29、分别 用PO、P1、P2、P3表示。每个I/O口既可以按位操作使用单个引脚,也可以按 字节操作使用8个引脚。P0 口的结构输出控制电路输出n动电路H11现第电珞P0 口的结构当PO口作为输出口使用时,内部总线将数据送入锁 存器,内部的写脉冲加在锁存器时钟端CP上,锁存数据 到Q、端。经过MUX,T2反相后正好是内部总线的数据,送到P0 口引脚输出。当P0口作为输入口使用时,应区分读引脚和读端口 两种情况,所谓读引脚,就是读芯片引脚的状态,这时 使用下方的数据缓冲器,由“读引脚”信号把缓冲器打 开,把端口引脚上的数据从缓冲器通过内部总线读进来。读端口是指通过上面的缓冲器读锁存器Q端的状态。读端口

30、是为了适应对I/O口进行“读修改写”操作语句 的需要。例如下面的C51语句:PO=PO&OxfO;将P0 口的低4位引脚清。输出P0 口的结构除了I/O功能以外,在进行单片机系统扩展时,POD 是作为单片机系统的地址/数据线使用的,一般称为地址/数据分时复用引脚。当输出地址或数据时,由内部发出控制信号,使“控制”端为高电平,打开与门,并使多路开关mux处 于内部地址/数据线与驱动场效应管栅极反相接通状态。此时,输出驱动电路由于两个FET处于反相,形成推拉 式电路结构,使负载能力大为提高。输入数据时,数据 信号直接从引脚通过输入缓冲器进入内部总线。P1 口的结构 Pil l现料电#Vc cL内部

31、上拉电阻P1 口的结构口P1 口是准双向口,只能作为通用I/O口使用。口P1 口作为输出口使用时,无需再外接上拉电阻。口P1 口作为输入口使用时,应区分读引脚和读端口。读 引脚时,必须先向电路中的锁存器写入“1”,使输出级 的FET截止。P2 口的结构 Vc c他址控制内部上及电阴P2 口的结构口 P2口是准双向口,在实际应用中,可以用于为系统提 供高8位地址,也能作为通用I/O口使用。口 P2口作为通用I/O口的输出口使用时,与P1 口一样无 需再外接上拉电阻。口P2口作为通用I/O口的输入口使用时,应区分读引脚 和读端口。读引脚时,必须先向锁存器写入“1”。P3 口的结构P3II度制电算P

32、3 口的结构口 P3口是准双向口,可以作为通用I/O口使用,还可以 作为第二功能使用。作为第二功能使用的端口,不能同 时当作通用I/O口使用,但其他未被使用的端口仍可作为 通用I/O 口使用。口 P3 口作为通向I/O的输出口使用时,不用外接上拉电 阻。认识C语言C.认识C语言口一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独 立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行 总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列 顺序如何,最后在主函数中结束整个程序。口C语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。口C语

33、言程序使用“;”作为语句的结束符,一条语句可以多行书写,也 可以一行书写多条语句。认识C语言结构化语言口丰富的数据类型便于维护管理与汇编语言相比,c语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了 解单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节 可由编译器管理;结构清晰,程序可读性强;编译器提供了很多标准库函数,具有较强的数据处 理能力。C语言的基本语句c语言程序的执行部分由语句组成。c语言提供了丰富 的程序控制语句,按照结构化程序设计的基本结构:顺 序结构、选择结构和循环结构,组成各种复杂程序。这 些语句主要包括表达式语句、复合语句、选择语句和循 环语句等。表

34、达式语句和复合语句口表达式语句是最基本的C语言语句。表达式语句由表 达式加上分号组成,其一般形式如下:表达式;执行表达受语句就是计算表达式的值。口在C语言中有一个特殊的表达式语句,称为空语句。空语句中只有一个分号“;”,程序执行空语句时需要 占用一条指令的执行时间,但是什么也不做。在C51程 序中常常把空语句作为循环体,用于消耗CPU时间等待 事件发生的场合。表达式语句和复合语句口把多个语句用大括号括起来,组合在一起形成具有 一定功能的模块,这种由若干条语句组合而成的语句块 称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。复合语句在程序运行时,中的各行单语句是依次顺 序执行的

35、。在C语言的函数中,函数体就是一个复合语 句。选择语句基本if语句的格式如下:if(表达式)(语句组;)if语句执行过程:当“表达式”的结果为“真”时,执 行其后的“语句组”,否则跳过该语句组,继续执行下 面的语句。语句组选择语句口许语句中的“表达式”通常为逻辑表达式或关系表达式,也可以是任何其他的表达式或类型数据,只要表达式的 值非0即为“真”。以下语句都是合法的:if(3)if(x=8)if(P3_0)在if语句中,“表达式”必须用括号括起来。在if语句中,花括号“”里面的语句组如果只有一条 语句,可以省略花括号。如“if(P3_O=O)P1_O=O;语 句,但是为了提高程序的可读性和防止

36、程序书有错误,建议读者在任何情况下,都加上花括号。选择语句 选择语句 HPif-e l se-if语句是由if e l se语句组成的嵌套,用来实现多个条件分支的选择,其一般格式如下:if(表达式1)(语句组1;)e l se if(表达式2)语句组2;)e l se if(表达式n)(语句组n:)e l se(语句组n+1;选择语句 选择语句多分支选择的switch语句,其一般形式如下:switch(表达式)(case常量表达式1:语句组1;br e ak;case常量装达式2:语句组2;br e ak;case常量表达式n:语句组n;br e ak;de faul t:语句组n+1;)该语

37、句的执行过程是:苜先计算表达式的值,并逐个与case后的常量表达 式的值相比较,当表达式的值与某个常量表达式的值相等时,则执行对应 该常量表达式后的语句组,再执行br e ak旧句,跳出switch语句的执行,继 续执行下一条语句。如果表达式的值与所有case后的常量表达式均不相同,则执行de faul t后的语句组。循环语句格式:whil e(循环继续的条件表达式)语句组循环体 4h il e语句用来实现“当型”循向,处方:#3/正必|如主升十 请问:下述程序实现了什么功能?main():int i,sum=O;whil e(i=10)sum=sum+i;i+;过程循环语句f EA I 执然

38、为Go:请问:下述程序实现了什么功能?main()int i,sum=0;do sum=sum+i;i+;whil e(i=100);)循环语句总循环次数已确定的情况下,可采用fo r语句形式为:fo r语句的一般形式:fo r(循环变量赋初值;循环继续条件;循环变量增值)循环体语句组;C分隔符 J为分蛊请问:下述程序实现了什么功能?main()int i,y=0;fo r(i=l;i0”的值为,表达式的值为 o逻辑运算符及其优先级逻辑运算符 优先级!(逻辑非)&(逻辑与)II(逻辑或)注意:逻辑运算符与位操作运算符的区别。_*、皿十口 zfc、上-逻辑表达式用逻辑运算符将一个或多个表达式连接

39、起来,进行逻辑运算的式子。逻辑量的真判断 逻辑量的假判断非0 0若a=l,b=2,c=3,x=4,y=3,写出下各个表达式的值:(1)a+bc&b=c 0(2)!ab&b!=c|x+y=3 0(3)!(x=a)&ft(y=b)&0 0运算类型运算符优先级结合性括号运算符()1从左至右逻辑非和按位取反!2从右至左算术运算*/%3从左至右+4从左至右左移、右移运算 5从左至右关系运算=6从左至右=!=7从左至右位运算&8从左至右A9从左至右1-n+兀+例如:(1)xy&mc等效于(xvy)&(mc)位运算与操作按位与操作符:&口格式:x&y口规则:对应位均为1时才为1,否则为0例如,i=i&OxO

40、f;等同于i&=OxOf;口主要用途:取(或保留)1个数的某(些)位,其余各位 置0。位运算或操作按位或操作符:I口格式:x|y口规则:对应位均为0时才为0,否则为1 例如,i=i|0 x0f;等同于i|=0 x0f;口主要用途:将1个数的某(些)位置1,其余各位不变位运算异或操作按位异或操作符:A格式:xAy规则:对应位相同时为0,不同时为1例如,i=iA0 x0f;等同于iA=0 x0f;口主要用途:使1个数的某(些)位翻转(即原来为1的位 变为0,为0的变为1),其余各位不变。位运算按位取反操作按位取反操作符人口格式:X口规则:各位翻转,即原来为1的位变成0,原来为0的位变成1例如,i=

41、i;口主要用途:间接地构造一个数,以增强程序的可移 植性。位运算左移运算符“V V”的功能,是把“V V”左边的操作数的各二进制位全部左移若干位,移动的位数由“V V”右边的常数指定,高位丢弃,低位补0。例如:“avv4”是指把a的各二进制位向左移动4位。如a=00000011B(十进制数3),左移4位后为00110000B(十进制数 48)。右移运算符的功能,是把“左边的操作数的各二进制位全部右移若干位,移动的位数由右边的常数指定。进行右移运算时,如果是无符号数,则总是在其左端补“0”练习1 若x=10,则!X的值为真或假?2.若a=3,b=2,则if(a&b)的值为真或假?3.5&0|8的

42、值为?4.53&4II8 TH1的访问 地址依次为8AH8DH,每个寄存器均可被单独访同,因此可以被 置为8位、13位或16位计数器使用。口在计数器允许的计数范围内,计数器可以从任何值开始计数,对 于加1计数器,当计到最大值时(对于8位计数器,当计数值从255 再加1时,计数值变为0),产生溢出。定时/计数器允许用户编程设定开始计数的数值,称为赋初值。初值不同,则计数器产生溢出时;计数个数也不同。例如:对于8 位计数器,当初值设为100时,再加1计数156个,计数器就产生溢 出;当初值设为200时,再加1计数56个,计数器产生溢出。定时/计数器启动定时/计数器根据设置的定时/计数器启动方式,启

43、动定时/计数器。如果采用软件启动,则需要把控制寄存器中的TRO或TR1 置1;如果采用硬软共同启动方式,不仅需要把控制寄 存器中的TRO或TR1置1,还需要相应外部启动信号为高 电平。定时器的方式寄存器TMOD:.作用:TMOD用来确定两个定时器的工作方式。低半字节设 置定时器TO,高半字节设置定时器T1。字节地址:89H,不可以位寻址。格式:D7 D6 D5 D4 D3 D2 DI DO I GATE|c/T I Ml I MO I GATE I C/T I Ml I MOL 定时器i-定时器o-各位的含义:c/t7功能选择位。o为定时器方式;1为计数器方式。Ml,M0:方式选择位。可以选择

44、为四种工作方式0、1、2、3之1。四种工作方式的区别后面讲解。GATE:门控位。::0:只要软件控制位TRO或TR1置1即可启动定时器开始I:作:1:为高电平,且TRO或TR1置1时,才能启动相应的定时器开始工作。(P3.2)例如:设定时器TO为定时工作方式,要求用软件启动 定时器TO工作,按方式1工作;定时器T1为计数 工作方式,要求软件启动,工作方式为方式2。则根据TMOD各位的定义可知,其控制字为:格式:D7 D6 D5 D4 D3 D2 D1 GATE C/F Ml MO GATE C/F MlDOMO0 1 1 0 0 0 0 1即控制字为61H,其指令形式为:MOV TMOD,#6

45、1H定时器的控制寄存器TCON 作用:TCON用来控制两个定时器的启动、停止,表明定时 器的溢出、中断情况。字节地址:88H,可以位寻址。系统复位时,所有位均清零。格式:D6 D5 D4 D3 D2 D1DOD7TF1TR1TF0TR0IE1IT1IE0IT0各位的含义:TCON中的低4位与中断有关,在中断章节中讨论。7F1(8FH):定时器1溢出标志。计满后H动置1。TOI(8EH):定时器1运行控制位。由软件清零关闭定时器1。当GATE=0时,TR1软件置1即启动定时器1。(SETBTR1)当GATE=1时,且INT1为高电平时,TR1置1启动定时器1;定时器的四种工作方式方式的选择:根据

46、M1,MO来选择。:00:方式0 01:方式1 10:方式2 11:方式3主要特点:方式0:13位定时器。THO的8位+TLO的低5位方式1:16位定时器。THO的8位+TLO的8位方式2:能重复置初始值的8位定时器。TLO和THO必须赋相 同的值。方式3:只适用于定时器0,TO被拆成两个独立的8位定时器TL0,TH0o其中:TLO与方式0、1相同,可定时或计数。用定时器T0 的GATE、C/T、TRO、TFO、TO、和INTO控制。THO只可用作简单的内部定时功能。占用T1的控制 位TF1、TR1和INT1,启动关闭仅受TR1控制。定时器的方式0、1示意中断(一-TF0、8位或局8位低5位T

47、HO TL0控制C/T=lT0(P3.4)TRO-gateI*INTO(P3.2)定时器的方式2示意图c/r=i控制TFO8位-T0(P3.4)-TROGATEI INTO(P3.2)定时器的初始值的计算 对于不同的工作方式,计数器位数不同,故最大计数值M也不同:方式0:M=213=819 2方式 1:M=216=65536方式2:M=28=256方式3:定时器0分为2个8位计数器,每个M均为256。因为定时/计数器是作加1计数,并在计满溢出时产生中断,因此初 值X的计算如下:X=M-计数值计算出来的结果X转换为16进制数后分别写入TLO(TL1)、TH0(TH1)o注意!方式。时初始值写入时

48、,对于TL不用的高3位应填入0!举例1用T1、工作方式0实现1秒延时函数,晶振频率为12MHz。方式。采用13位计数器,其最大定时时间为:8192Xl g s=8.192ms,因此,定时时间不可能象任务7中一样选择50ms,可选择定时时间为5ms,再循环200次。定时时间为5ms,则计数值为5ms/l is=5000,T1的初值为:X=M-计数值=8192-5000=3192=C78H=0110001111000B13位计数器中1L1的高3位未用,填写0,TH1占高8位,所 以,X的实际填写值应为:X=01100011000U000B=6318H举例1用T1方式。实现任务7中1秒延时函数如下:

49、void de l ay Is()(unsigne d ch ar i;TM0 D=0 x0 0;/置T1为工作方式0for(i=0;i0 xc8;i+)/设置20 0次循环次数THl=0 x63;/设置定时器初值TLl=0 xl 8;TR 1=1;/启动T1wh il e(!TFl);查询计数是否溢出,即定时5nl s时间到,TF1=1TF1=O;/5nl s定时时间到,将定时器溢出标志位TF1清零)举例2用T1、工作方式2实现1秒延时,晶振频率为12MHz。因工作方式2是8位计数器,其最大定时时间为:256Xl j is=256g s,为实现1秒延时,可选择定时时间为250,再 循环400

50、0次。定时时间选定后,可确定计数值为250,则T1的初值为:X=M-计数值=256-250=6=6H。采用T1方式2工作,因此,TM0D=0 x20o举例2用定时器工作方式2实现的1秒延时函数如下:void de l ay Is()unsigne d int i;此不能定义成unsigne d ch arTM0 D=0 x20;TH1=6;放在for循环之外TL1=6;for(i=0;i低微中断请求KMCS-51中断系统内 部结构示意图MCS-51系列单片机中断源序号中断源说明1外部中断0请求由P3.2引脚输入,通过ITO位(TCON.O)来决定是低 电平有效还是下降沿有效。旦输入信号有效,即

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服