rb端口虽在单片机内部加了上拉电阻,只不过是作用于键入的,当你把端口设为输出时,上拉电阻就不起作用,不信也可以参考datasheetrb作为输出时好象不不需要加上拉电阻。问题可能出在你的配置位还没有设置好,在烧写软件或ide里面都能设置里,4m的晶振要设成xt,8m以上晶振要设为hs(高速振荡),低电压编程位(lvp)也要关闭。
答:楼上偏见了,没瞧清题意,楼上说的那几个是pic单片机的,楼主说的是51单片机的
r6r7r0是51单片机中的工作寄存器组中的成员主要是用于存放数据,这样的工作寄存器组共有四组,由程序状态字psw中的rs0、rs1完全控制,
a是累加器,完全是一个都可以的数据寄存器,单片机一大部分的运算需要通过它来结束,
都没啥区别,8位,有uart也就是232通信,是可以做i2c从机,极个别有can't之类的。
就是为了做监控的,可以有ad转换的,外部掉线和定时器,还可以不做通信接口
pic16c54c是一次性烧录器的单片机,即是otprom,这款单片机有flashrom形式的。
pic16c54c单片机简介:
pic16c54c为microchip公司pic16系列的产品,按结构了0.7微米工艺技术制造。它是一个只有一33条精简优化指令集低功耗,低功耗cmos8位单片机,所有的指令均为单周期或双周期,片含有氨基酸512字节(12bit)eeprom,25个片内数据存储器(ram),8位每隔几小时/计数器及8位可编程预分频定时器,复位和上电复位功能,看门狗(wdt)电路,片内rc时钟振荡器,编程序列号侦测,一百万次可断断续续高级格式化的eeprom,程序存储器存储时间都能达到40年,省电模式及睡眠唤醒功能,内部微上拉i/o口,可你选择片内、片外rc振荡器或晶体振荡器。
现在最常见的用汇编的一些场合,来讲有严格的时间要求。例如中断,特别是arm的急速关闭,还例如一些对时间要求更加高的测控场合,肯定要求微秒哪怕纳秒级别的响应速度。这些运用在编程的时候有可能会一条指令的执行时间也会考虑到。另外一些再重复一遍接受的运算函数,如果不是重复一遍的次数多,又对时间有要求,那函数的执行时间又要一条一条指令的扣。
另外一些场合,应用的cpu,诸如有些pic单片机,只有1k甚至512字节的空间,rom空间都很小,c语言优化后的编译代码,可能会应该还不如完全是的汇编不精简,这就不需要汇编。
有一些其他场合确实是对代码空间有要求,比如说linux启动时的bootloader,也有pc上常见的最常见的一种文件系统mbr代码,也需要用汇编来编译程序。
至于对于单纯的学习来讲,汇编语言跟硬件的关系更密切,更直接,学习汇编更促进理解单片机的结构。