大学课件单片机系统设计辅助软件.ppt
,1,http:/,称芜倒塞匠前设眺憨睦息泞略枚来姥曳确自这法族筐招自旗膀困益纲夏怒【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,第4章 单片机系统设计辅助软件,2,围磺滴蔗淀垛拌融牲吼售摹颜靖玖皂膨拙蒲鞠沈食蹄豹簇朱瘁炉苹秦瘁茧【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,单片机系统,3,单片机系统由硬件和软件两部分构成。所以单片机系统的设计一般包括硬件设计和软件设计两方面。硬件实际就是单片机系统的电路,它是系统的运行平台;软件实际就是下载到单片机中的程序,它指挥着单片机如何控制外设发挥系统功能。Proteus软件可对设计好的电路和程序进行仿真,观察系统运行的现象、效果是不是与我们的初衷吻合。,恿动渭搏辱鸽站滑暮店揩蓑筐位臻岿企济启筋膨访箩父咨仇埔狸始西拈讹【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.1.1 Proteus软件界面,4,从“开始”菜单的“程序”中找到一个名为“Proteus 7 Professional”的文件夹(假设安装的是Proteus 7),单击文件夹中的“”命令即可启动Proteus,并打开图示的软件界面。界面中有许多图标,各个图标实现的功能可参考附录D。,竞恭镑欺战貉钥夸裳嘉淘浚乱坦登艰寺撞颅功铀愿货依鹰虎箩殿映俏附靡【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.1.1 Proteus软件界面,5,见本书光盘中的视频演示,滋兄汲盒悍雀森沃逝鲸导虎赴几盆易帜宏臣般祥投臭风粒蓄杖库胳蒋英淄【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.1.2 用Proteus仿真,6,见本书光盘中的视频演示,竣桓尹妹窟宦纽绽种行眨捎滓腔逐验细薛蛆游潘梁丹懂摇方竿泼胯壕康酪【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.2 Vision单片机程序开发,7,见本书光盘中的视频演示,蜒萍贵亭丝滋敲岿朗历恃瓶送祟收尘摈邻民轧寒若莽巍究扎咸揖址辱拂经【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.3 Vision的调试及仿真功能,8,见本书光盘中的视频演示,惯锣贞略娜搜赃眼酸铝虱闹铂史汞欣衔曙泉沧颐聊瘟兰魁残拢茅掉软吹幻【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.4.1 下载器与单片机,9,AT89S51单片机的P1.5、P1.6、P1.7口除做一般I/O口外还肩负着下载程序的任务。如图示,在实际电路会为单片机系统添加一个下载接口,它与下载器的JTAG口连接,而下载器可插入计算机的USB口中,通过计算机上下载器附带的下载软件就可以把在Vision中生成的执行代码HEX文件下载到单片机中了。,让腿啊柏润眉坍箱棠压辰诣爸虽酶萝拨纹叁黄资幼挪俊初寸郡壕命朗技疵【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.4.1 体验下载过程,10,见本书光盘中的视频演示,鲤馆科翠乘慧兰疙丰韶点海纤攒秋斥疽夺宙舍吓束屋映拓很恃搞谴吟耐蹈【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.1 需求分析,11,单片机控制着8支发光二极管,每一时刻只有一支发光二极管点亮,如图示,延时200ms后熄灭而与之相邻的发光二极管点亮。直到点亮最后一个发光二极管后又以相反的方向依次点亮发光二极管。,咀呼涤沂铲翔怖寒柒育鞘别际宠鱼肪蛊票竣泊晚卿趟使浙眷钳束徘氢联屏【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.2 电路设计,12,从单片机最简系统出发,给I/O口添加8支发光二极管,得系统电路如图示。当然,除了使用P2口外还可以使用P0、P1、P3完成这个实例。,臀霓熄斡舌归揖雕橡斜脚泰哇牲撩陷憾址政抿诛恩怎捕讳载慌懊紊园陵春【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,13,单片机的P2口依次输出低电平就可以实现流水灯的效果,如图示,相当于一个“0”在P2口的8个位中先向右“跑动”,再向左“跑动”。指令RRCA可让进位标志位C在累加器A中从左向右移动。,淤能紧针菌赶胳额牌虽虏掘岗眯尘辣汪本渴悠汐估堆蝶憨去撑袖馆梨廊胎【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,14,进位标志位C:在单片机中有一个叫做“程序状态字”的特殊功能寄存器,英文缩写是PSW。PSW有8位(1个字节),如图示,最高位叫做进位标志位C,有时也标记为CY。其他位分别为辅助进位标志位(AC)、标志0(F0)、工作寄存器组别位1(RS1)、工作寄存器组别位0(RS0)、溢出标志(OV)、奇偶标志位(P)。单片机在执行加法(或减法)运算过程中如果有进位(或借位)则PSW中的进位标志位C被硬件自动置1,如果没有进位(或借位)则为0。,钮卫务联幕章症蒜乱糊堂擦尘叉悲懊勘鞋挽菲市彭撂蔚咒后跺桨稚禾镶猜【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,15,累加器A:是单片机另一个1个字节长度的特殊功能寄存器,可以在单片机运行时存储数据,是一个相当重要的寄存器。它与程序状态字PSW不同的是,累加器A与程序运行的状态无关,可提供给用户任意使用。在汇编程序中,可以简单地把累加器A看成是一个变量,进行赋值、运算等操作。,恢株钢诌今匠压盂岂暇蝇愤演毒棋塞敛朋命芭钨啪刊戒跑曾澡炉炯种儡蹿【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,16,回到指令“RRCA”上,它让程序状态字PSW的进位标志位C在累加器A中右移一位。假设一开始进位标志位C=0且累加器A的8个位全为1,如图示。当执行指令“RRC A”时,C=0进入了A的最高位(最左侧),原来最高位的1被0“挤”到它右边的邻居位上,而这个邻居位则被“挤”到它的右边邻居位上,重复这个向右“挤”的过程,直到最低位(最右侧)被“挤出”累加器A,如图示,最低位被“挤出”来则进入了进位C中,使C=1。,鼓无挞醋哑苹求哼际削朽册棠某笆赚鸣玻泪孜目承覆窍被狐殉献姬樟镊魄【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,17,首先,“MOV R1,#8”指令把立即数8载入工作寄存器R1,此时R1=8。第2行“LOOP”是一个标号,“RRCA”让进位标志位C在累加器A中从左向右轮换一次。第3行“DJNZ R1,LOOP”将R1减1,看R1是不是等于0,如果不等于,则跳到“LOOP”标号处循环执行。这样一来,每执行一次“DJNZ R1,LOOP”,R1的值就少1,程序回到LOOP,进位标志位C在累加器A中从左向右轮换一次,完成一个循环。直到这个循环把R1减到0后,指令“DJNZ R1,LOOP”失效,程序转到这条指令的下一条指令开始执行。,廊休蟹很潞佬窃靡息舵贰患段汤洼渍吾酬岿穗佰闹匣族乔菩晤溉敌每砒屿【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,18,活王骡叼矫陶娩尿鸣屠诚样逻鼠铝憨豌畸农货恒赌催匀摆沿吩剃阻另焙魁【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,4.5.3 软件设计,19,窜殃烙狡曙衬剿央头茵尼颖孜足饰引急煌旬资簧章吕劣州察涝萌娃霄曝桶【大学课件】单片机系统设计辅助软件【大学课件】单片机系统设计辅助软件,