帮帮忙 那为高手能不能把89C51单片机介绍一下!
1、很多的单片机开发板都没有240做驱动;
2、加驱动就是为了提高单片机的驱动能力;
3、单片机是灌电流驱动,要直接接发光二极管,要负极接IO口,二极管正极接电源;
4、51单片机的P1P2P3口内部都有上拉电阻,P0需要外接上拉
好吧,看在你着急的份上,我就给你写了,不过我大半夜的也不容易,还请兄弟及时采纳,我做百度任务呢。
不过先声明,你的表述有问题,四个LED,怎么叫一亮一灭?应该是一亮三灭,或者两亮两灭的交替,我就按照2亮2灭来做吧。
#include
unsigned char Counter = 0; //----用于500ms计数
void main(void)
{
P1 = 0xFF;//----先将P1置FF,当然,这句可以没有,主要为了与以前兼容;
P1 = 0x05;//----P1.0,P1.2为高电平,P1.1,P1.3为低电平;不知道你电路怎么接的,
//----反正会间隔的
//----亮一个灭一个亮一个灭一个,这个要看你电路
//----我设你用的是6MHz的晶振,那么指令周期就是2us,你用500ms变化一次,那么我们
//----用定时器方式1,让定时器每100ms中断一次
TMOD = 0x01;//---定时器0工作在方式1;
TH0 = 0x3C;//----定时100ms,已知指令周期为2us,所以需要50000个指令周期
TL0 = 0xB0;//----65536 - 50000 = 15536 = 0x3cb0;
ET0 = 1;//----开定时器中断
TR0 = 1;//----启动定时器
EA = 1;//----开总中断
while(1);//---至此,主程序任务完成,亮灭工作在定时器中断函数里实现
}
void ISR_Timer0(void) interrupt 1
{
Counter ++;//---每100ms加一次,加到5时,就表示0.5秒到了
if(Counter >= 5)
{
Counter = 0;
P1 = ~P1; //---把P1取板,LED状态自然就反了.,实现亮灭交替
}
}
匆忙之中写的程序,如有小许错误,请原谅.
如果兄弟想要个花样的灯,也好办,定义几个数组,在定时器里 P1 = 数组[变量]
比如 :
code unsigned char Tab[4] = {0xFE,0xFD,0xFB,0xF7};
void ISR_Timer0(void) interrupt 1
{
static unsigned char Style = 0;
Counter ++;//---每100ms加一次,加到5时,就表示0.5秒到了
if(Counter >= 5)
{
Counter = 0;
P1 = Tab[Stytle];
Stytle &= 0x03;
}
}
以上,就能实现0.5秒一次的流水灯,总之,提供给兄弟一个思路,希望采纳,呵呵,真是不容易啊
CPU为Atmel公司生产的89C51/89C52/89C55等。出厂所配晶振频率
为11.0592MH,每个机器周期为1.085us,用户更换晶振以提高速度。
存贮器为64K,前4K/8K20K在CPU内部,其它程序在EPR0M27512中。
数据存贮器为32K(62256),地址为8000—FFFFH。
Ⅰ/O扩展8155,片内RAM地址∶200O-20FFH
8155命令口地址为∶2100H
A口地址∶21O1H B口地址:2102H C口地址:2103H
T低八位∶2104H T高八位∶2105H
A/D采用精高度,速度快(25us)的AD574,并在其转换前对信号作了采
样保持处理。
AD574启动地址为:4000H 高八位地址为∶4002H
低四位地址为:4003H
多路模拟开关的使用∶
IN0∶P1=0F8H IN4∶P1=0FCH IN1∶P1=0F9H IN5:P1=OFDH
IN2∶P1=0FAH IN5:P1=0FEH IN3∶P1=0FBH IN7:P1=0FFH
P1.0按CD4051的C⑼,P1.1按CD4051的B脚(10)、
P1.2按CD4051的A脚(11)。
D/A采用0832输出,地址为∶6000H-6FFFH
键盘显示(CZ2)采用8279,地址为:7FFEH-7FFFH
日历时钟芯片DS12887,命令寄存器为5000H-500DH,
不掉电数据存贮器为∶500EH-507FH
控制板∶160x1O9(mm) 供电∶+5V300mA +12V100mA -12V100mA
AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。主要性能:
与MCS-51 微控制器产品系列兼容。
片内有4KB可在线重复编程的快闪擦写存储器
存储数据保存时间为10年
宽工作电压范围:Vcc可为2.7V到6V
全静态工作:可从0Hz至16MHz
程序存储器具有3级加密保护
128*8位内部RAM
32条可编程I/O线
两个16位定时器/计数器
中断结构具有5个中断源和2个优先级
可编程全双工串行通道
空闲状态维持低功耗和掉电状态保存存储内容
不过最好自己找本书看一下,呵呵
公红左炔: 89C51用户系统 CPU为Atmel公司生产的89C51/89C52/89C55等.出厂所配晶振频率 为11.0592MH,每个机器周期为1.085us,用户更换晶振以提高速度. 存贮器为64...
遂宁市13084273706: 基于单片机89C51的二进制输入转化为十进制,显示在LED上,汇编或者C都可以,希望能有高手帮帮忙 - ?
公红左炔: MOV B #10 ;将B寄存器赋值10 MOV A R1 ;取出要转化的二进制数 DIV AB ;A/B 将商给A 余数给B MOV R6 A ; 将商取出给R6 MOV R5 B ;余数给R5 用R5 和R6的值查表并送到相对应的I/o口即可
遂宁市13084273706: 哪位高手能给一个protel99的89s或89c系列单片机元件库?
公红左炔: 装好的99SE 本身就带有这些常见单片机的元件库和封装 自己添加就可以了
遂宁市13084273706: 怪物猎人2G 那位高手会修改HR等级啊 能不能把HR9改成HR6 出不了紧急任务了.. - ?
公红左炔: 不会吧 怎么会出不了紧急任务呢?有些任务是要过一段时间(就是做了几个任务)才会再次出现的(典型就是麒麟) 试试吧
遂宁市13084273706: 我的电脑C盘,为什么不可以格式化.请这位高手帮帮忙. . .?
公红左炔: 请买张Win-XP的系统盘然后打开你的电脑按住delete毽进入主板设置一个一个得打开寻找“1st,2nd...”的字样(用回车打开,注意如果出现红色窗口(选择y/n的就按esc关闭)用page up,page down来翻页,找到光驱为止(cd-rom/dvd rom)然...
遂宁市13084273706: 我的笔记本放公司,我设置了开机密码,那别人(电脑高手)还能打开吗?我里面有重要的文件! - ?
公红左炔: 一定能打开.这是再简单不过的事情了.开机密码只对当前系统有效,如果他人自己用个U盘里的系统(如PE)等,成功启动之后就可以把你电脑里面的所有资料考走.应对方法:1绝密资料不能存放在个人电脑,及连网的电脑上.2重要资料要用软件或者其它方法将其加密.3.将硬盘加密,目前多数硬盘都带有这个功能,进入BIOS设置给硬盘加上密码就可以了.这样除非他知道密码或者将硬盘拆卸用专业工具读取,要不然是偷不走的.不过这个有风险,一但密码忘记硬盘就报废了.
遂宁市13084273706: 电子钟原是共阴显示器改为共阳显示器,难吗?那位高手可以告知呢?谢谢!是汇编程序. - ?
公红左炔: 程序应该不难.位选和关位选的电平改和原来 相反 的,段码全部改共阳码.硬件就不知你怎么接的了,不好说.
遂宁市13084273706: 请高手帮帮忙怎样才能把已加密的pdf文件复制出来 - ?
公红左炔: 1、如果一般的加密请用pdfpasswordremover软件去加密,如果用数字许可证加密的则无法解密.pdfpasswordremover软件可在百度上找到. 2、请你试用汉王PDF OCR8.1简体中文版的PDF识别软件转换成WORD再复制,转换软件简单易用免...
遂宁市13084273706: 2005年的电脑,网卡是3com910系列的.最近重新做完系统后网卡就一直无法驱动那个高手给帮帮忙,在网上找到的都是要联机升级的但是网卡没没有驱动升不了级我改如何处理?
公红左炔: 重新做系统,做系统前不要备份驱动,而且要把以前做系统是备份的驱动都删除.
遂宁市13084273706: 那为高手帮帮忙?
公红左炔: 朋友~~~~要是你安装的360安全浏览器的话,在浏览器的右下角有个小喇叭 你点一下 打开页面声音 就OK!