51单片机 c语言-单片机作业,明天的考试估计会有类型题,但不会,20分啊。。。。呜呜,求帮助

问题描述

单片机作业,明天的考试估计会有类型题,但不会,20分啊。。。。呜呜,求帮助

解决方案

最小系统要求能够正确运行,所以晶振是必须的,另外还要能够正确复位,因此,复位电路也是必须的。
由于程序要求不复杂,因此使用片内的程序空间就可以,所以不需要外部程序存储器,所以EA引脚需要接到高电平。
如下图所示

--其它问题楼下继续

解决方案二:

明天考试,那试题怎么提前能得到?试题都泄露了还不会实在羞羞。

解决方案三:

对于80C51来说,它的定时器脉冲来自于12分频的晶振频率,由于晶振12M,12分频后为1M频率,正好是1微秒对应的脉冲数量为1
500微秒的值就是500个脉冲时间.而对于一个周期的脉冲来说,应该是高电平和低电平各占一半,所以每个电平持续时间为250微秒。
使用方式0时,定时器是13位的,因此,初值=2^13-250us/1us=7942
另外由于此定时器是TH的8位和TL的低5位组成,因此7942=11111000 00110B,推出TH=F8H,TL=06H

解决方案四:

修正:若使P1.5输出脉冲,在正脉冲时需要加上拉电阻。如下图

解决方案五:

上图有些问题,修改一下

解决方案六:

汇编代码如下:
ORG 0000H ;起始程序地址
AJMP MAIN ;进入主程序

      ORG 0100H  ;主程序起始地址

MAIN: CLR A ;A为用于记录当前是高电平还是低电平的变量,
CLR P1.5 ;P1.5口置0
MOV TMOD,#00H ;T1设置为:由TR1启动,定时方式,工作方式0
MOV TH1,#F8H ;设置初值
MOV TL1,#06H
SETB TR1 ;启动T0工作
LOOP: JNB TF1,LOOP ;查询,若TF1为0,计数器未溢出,程序等待,若TF1为1,则向下
CLR TF1 ;清中断请求标志位
JNZ HIGH ;A若不为0,转到LOW

      CLR P1.5 ;P1.5置1,高电平
      INC A        ;A增加为1,下次置高电平
      MOV TH1,#F8H
      MOV TL1,#06H
      SJMP LOOP

HIGH:

SETB P1.5 ;P1.5置1,高电平
CLR A ;清除A,下次置低电平
MOV TH1,#F8H
MOV TL1,#06H
SJMP LOOP
END

时间: 2024-08-02 19:45:18

51单片机 c语言-单片机作业,明天的考试估计会有类型题,但不会,20分啊。。。。呜呜,求帮助的相关文章

《51单片机应用开发范例大全(第3版)》——第1章 单片机C语言开发基础 1.1 MCS-51单片机硬件基础

第1章 单片机C语言开发基础 单片微型计算机(Single Chip Micro Computer)现已正名为微控制器(MCU,Micro Controller Unit),单片机的称谓只是其习惯称呼.它把组成微型计算机的各功能部件(包括中央处理单元CPU.随机存储器RAM.只读存储器ROM.I/O接口电路.定时器/计数器以及串行口等)集成在一块电路芯片上.由于单片机的硬件结构与指令系统的功能都是按工业控制要求而设计的,因此常用在工业检测.控制装置中. 1.1 MCS-51单片机硬件基础 MCS

c语言-51单片机C语言编程问题

问题描述 51单片机C语言编程问题 這個程序是這樣的分IN0IN1JP1JP2 JP2為0時常規測試(全顯示格子1格子2)JP2為1時測試模式 當JP2為1時而且JP1為1時進入測試模式1 測試模式1:當IN0為0時顯示pic1;當IN1為0時顯示pic2; 當IN0=0&&IN1=0以及IN0=1&&IN1=1顯示blank 當JP2為1時而且JP1為0時進入測試模式2當IN1接收到一段約為50ms的脈衝將IN0拉高1.5秒如果這1.5秒內IN0有變為0就顯示pic1且持

单片机 c语言 数组-单片机 c语言 数组lcd1602

问题描述 单片机 c语言 数组lcd1602 求指教:cxdsz[p+1]是 int 类型数组中的一个数值,怎样求出这个数值的位数,或者说就是想在LCD1602上显示出这个数? char array[]="cxdsz[p+1]" ; len=strlen( array ) ; for(q=0;q<=len;q++) LcdWriteData(array[q]): 为什么不行啊? 解决方案 你可以先定义个a=cxdsz[p+1]然后再char array[]=a,这样你就可以把cx

设计-单片机的实验考核作业

问题描述 单片机的实验考核作业 编程设计数字秒表,P3.2口INT0接按健开关,按键按一次时秒表(精度为1MS)开始计时, 按第二次时秒计时停止,数码管显示当前值,按第三次时秒表清零 (要求:秒值在数码管上显示,设晶振为6MHZ) (1)程序框图 (2)源程序(编译通过的C51源程序,并适当注释) (3)设计接线图(以伟福仿真机为例) (4)运行描述(不管结果如何都应描述) 求解!!! 解决方案 http://www.doc88.com/p-1137106909989.html

脚本-如何在Linux下批量改C语言的作业?

问题描述 如何在Linux下批量改C语言的作业? 最近接到导师给的一个任务帮本科生改C语言作业.大概的界面是这样的需要测试每种输入: LuYang:CISB110-Programming Practice 1-41826 luyang$ ./mainChoose the type of speed conversion:1. knots to km/h2. km/h to knotsEnter your choice (1 or 2): 0Invalid optionLuYang:CISB110

strlen-一次作业C语言作业题,已经做了六道,后面的题可能与前面的有关系。

问题描述 一次作业C语言作业题,已经做了六道,后面的题可能与前面的有关系. 1.(示例)写一个函数,接收一个字符串作为形参,然后显示它的每个字母,每个字母单独一行.这种从开头起,每次选择一个字符,对它做一些处理,再继续,直到结束.这种处理的模式称为"遍历" traversal(char s[]){ int i; for (i=0; s[i]!=''; i++) printf("%cn",s[i]); } traversal(char s[]){ int i; int

c语言-C语言的作业了矩阵求逆

问题描述 C语言的作业了矩阵求逆 设计要求:用适当的方法求逆矩阵,给出判别条件,用c 语言编写程序. 解决方案 矩阵求逆用C语言实现c语言实现求逆矩阵求逆矩阵--C语言 解决方案二: 这种方法解决会简单一些.判别是否可逆的条件是矩阵的行列式不等于零.

求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,悬赏20个币,求帮忙

问题描述 求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,悬赏20个币,求帮忙 求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,不要复杂的界面,悬赏20个币,求帮忙.程序要求能读取存储经纬高数据的文本,转换成XYZ存成文本,给力的话可以再加币,多谢多谢! 解决方案 纬度和高度都是可以直接转换的.只有经度,经度根据纬度可以换算,公式是cos(维度)*(赤道周长/360) 解决方案二: 以地球为严格的球体来做的话,以球心画出一个参考的三围坐标系,不难得到 #include

c++-使用C语言编写单项选择题标准化考试系统,谁会啊??

问题描述 使用C语言编写单项选择题标准化考试系统,谁会啊?? 使用C语言编写单项选择题标准化考试系统. 一.功能要求: 1.每个试题包括题干.4个备选答案.标准答案.(使用二维数组实现) 2.试题录入:可随时增加试题到试题库中.(使用二维数组实现) 3.答题:用户可实现输入自己的答案.(用户从键盘输入) 4.自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩.(与数组中存放的正确答案对比) 解决方案 单项选择题系统 解决方案二: 带界面的?还是控制台的?