完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
因为实在搞不懂,所以可能问的都不太清楚,请各位见谅。
就比如说在写C程序要用到定时器和中断的时候,要写到TMOD、TCON、TR1、T0等等....首先这里面的TMOD我在网上看到内部结构是有8位的,那TMOD到底是单片机上的一个I/O口还是像 P1、P2那样是8个I/O口?如果只是一个I/O口,那为什么它内部的各个位还能单独赋值? 为了更好说明,下面是一部分代码: TMOD=0x11;//设置定时器0为工作方式1 TH0=(65536-10000)/256; TL0=(65536-10000)%256; TH1=(65536-20000)/256; TL1=(65536-20000)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 ET1=1; TR0=1;//启动定时器0 TR1=1; 好像我在看80C51单片机资料的时候引脚图上也没这些符号.... 另外一个问题是:如果要用定时/计数器,中断啥的,那在硬件电路上有什么要求呢?比如我现在有个最小系统,芯片是stc89c52rc,在P1口接了几个灯,想用定时器实现灯以一秒间隔流动,需要在原来板子基础上怎么改?
|
|
相关推荐
3个回答
|
|
可以看出,楼主对51单片机的实际并不了解哈,这个肯定是要下载芯片的datasheet,看看每个外设寄存器的属性啊,哪一bit是做什么的之类的。那样才能对单片机的整个架构了解清楚,才能不被任何形式的代码产生疑惑
不是我在这儿故弄玄虚,从楼主问的问题来看,楼主确实还在单片机的入门路上,一定要打好51的基础,才能进阶更加高级的单片机(ARM系列)行列哦 建议:看芯片的datasheet或者找一本单片机开发的书籍看看,就可以轻易解决您的问题啦 |
|
|
|
//我来答,楼主好奇心还是蛮强的嘛。很爱思考嘛!
//以下我的思考,个人观点仅供参考 1、其实所有单片机内核都可以看成是一个存储器,对的你没看错就是存储器,只是就是存放代码的,0、1。 2、当然只是存起来并没有什么卵用,单片机还做了一件事,把0/1代码变成我们预先设计的“动作”,是的“取址”、“译码”、“执行”。 3、不同的地址存储不同的内容,有些内容是我们需要看见的,需要我们改变的,有些内容是我们不需要看见的,对的,需要看见的改变的就通过引脚引出来了,有些我们不需要看见的就没有引出来,所以你看见有些东西芯片上没有,这就是不需要我们看见的;比如我们需要定时器跑起来,怎么办呢,我们就向这些地址写不同的值,不同的值就实现不同的功能,好吧,这些地址还有个名字叫做“寄存器”。 4、其实只是些地址也是并没有用,地址嘛存的还是0/1.怎么办,单片机厂商还做了些“外设”将这些地址的功能表现出来将这些功能放大,比如IO口。 5、这样就好了有了单片机架构,有了外设,单片机可以工作了。其实一个地址可以存的数据一般是8位的所以可以赋8位的data。那为什么有的寄存器只赋一位呢,因为他就是一位只是取了个名字而已,去看看单片机的Datasheet就可以了。说明一下其实IO芯片上的引脚和寄存器虽然是对应的但是不能单单把引脚看成寄存器。 6、嗯,讲了这么多废话,我也不知我在说什么,你大概也没有明白,还是听楼上的去看看Datasheet吧,去看书吧。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
304 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
842 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1131 浏览 0 评论
876 浏览 0 评论
914 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11837 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 20:38 , Processed in 0.426813 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号