我想用C语言实现用82单片机串口通信,P0.0~P0.3按键,P3.1为输出,P3.1接个示波器看波形

[复制链接]
查看11 | 回复3 | 2010-11-27 15:59:06 | 显示全部楼层 |阅读模式
普林斯顿结构,它采用了不在程序与数据的存储上进行逻辑区分的设计思想,这种设计思想在通用计算机和通用微型计算机中被广泛使用。 mcs-51单片机 就是基于这种结构 MCS-51汇编语言程序的一般格式与8086不同,没有代码段、数据段等区分,统一编址。程序由指令行或注释行组成,指令行每行只能写一条指令。指令前可用“标号:”表示指令地址,以便在指令中引用;标号是符号名,以字母开头。注释行应以“;”号开头;指令后也可用“;”号分隔,附加注释。程序由伪指令ORG XXXXH 定位,ORG中的16位地址就是将来写入程序存储器的绝对地址。程序中的ORG应按地址从小到大排列。由ORG定位的程序段可以不连续,汇编程序将会在段间的空地址上填00H,即NOP。因此,每个ORG段的最后一条指令一般应是转移指令。数据由伪指令DB(字节)或DW(双字节)说明。数值应以数码0-9开头;尾缀说明:B-二进制,D-十进制,H-十六进制。十进制D可缺省。也就是说你可以想象你的数据空间是从0000-FFFF因为你在编程时你只能操纵这个区,而程序性指令如JUMP永远不会跳到数据区的所以一个简单的初始化可以这样来做MOV R0,#00HMOV A,#00HMOV R1,#FFFFHloop:MOV@R0,AINC R0DANZ R1,loop将0000-FFFF全置零了如果用C来写可以这样吧memset(0000,0000,FFFF) /*add,int val,int count*/如果memset函数可以使用的话.我总觉的void pokeb(int segment,int offset,int value) 将字节value写到segment:offset处这个涵数无法使用。因为mcs-51没段概念。
回复

使用道具 举报

千问 | 2010-11-27 15:59:06 | 显示全部楼层
你串口速度多少?快了怎么看,都是0和1,高低电平显示速度太快估计悬了
回复

使用道具 举报

千问 | 2010-11-27 15:59:06 | 显示全部楼层
应该没有问题
回复

使用道具 举报

千问 | 2010-11-27 15:59:06 | 显示全部楼层
网上找找,应该有
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行