搭建Blog踩坑记录
- 本地新添了博文,使用
hexo server
查看,一切正常。 hexo d
,但显示nothing to commit, working tree clean
?- 解决方法:
1
2
3hexo clean
hexo generate
hexo deploy
南北红灯(D1、D7)亮维持15秒,在南北红灯亮的同时东西绿灯(D5、D11)也亮,并维持10s。
到10s时,东西绿灯(D5、D11)闪亮,闪亮3s后熄灭。
在东西绿灯(D5、D11)熄灭时,东西黄灯(D6、D12)亮,并维持2秒。
到2秒时,东西黄灯(D6、D12)熄灭,东西红灯(D4、D10)亮,同时南北红灯(D1、D7)熄灭,绿灯(D2、D8)亮。
接线方法:
P1.0—P3.5 T1输入
P1.1—D1 D7 南北红
P1.2—D2 D8 南北绿
P1.3—D3 D9 南北黄
P1.4—D4 D10 东西红
P1.5—D5 D11 东西绿
P1.6—D6 D12 东西黄
注:交通灯模块的LED为置低点亮
T0定时50ms,使P1.0口输出周期为100ms的方波,作为计数器T1的输入
T1重装载值:
0FB—0.5s
0F6—1s
0EC—2s
0E2—3s
9C—10s
6A—15s
1 | ; EW -> East & West,东西 |
用 P1 口作为输出口实现循环彩灯。(至少要有 5 种形式)
中断第一次,8个发光二极管循环点亮;
中断第二次,8个发光二极管逐个点亮;
中断第三次,8个发光二极管高四位和低四位交替亮灭。
中断第四次,8个发光二极管间隔1个交替亮灭;
中断第五次,8个发光二极管间隔2个交替亮灭;
如此循环往复。
接线方法:P1口接8个LED,P3.5(T1输入)接P2.1(周期为100ms的方波输出)
配置T0为定时器,T1为计数器
T1计数20,T0计时50ms(0.1s*20 = 2s)
1 | ORG 0000H |
设计一个简易数字钟。 选择一位开关作为数字钟的开关。
开关合上后,数字钟从0开始运行;
开关断开后,数字钟的显示关闭;
开关再次合上后,数字钟又从0开始运行。
led0–led5 表示为6位二进制数,显示数字钟的秒值;
led6–led7 表示为2位二进制数,显示数字钟的分钟值,
如达到4分钟,分钟值又从0开始;如此循环往复。
接线方法:P1接8个LED,P2.1(周期为100ms的方波输出)接P3.5(T1输入),P2.2连一拨码开关(低电平:关闭;高电平:开始计时)
T1计数10,T0计时50ms(0.1s*10 = 1s)
1 | ORG 0000H |
A/D实验
用AT89S52的MCU驱动ADC0809进行模数转换。程序启动时,由8个LED显示AD0809通道0的电压值(以二进制数形式)。
接线方法:实验书P108硬件连接表(忽略数码管部分,将P1口连至LED处)
1 | EOC BIT P3.0 |
D/A实验
实现D/A接口设计,编写程序输出占空比为1/3的方波、锯齿波、三角波、正弦波。
用2个开关控制输出波形的类型,使用示波器观察波形。
接线方法:P0接数模转换区DB0-DB7,P2.7接数模转换区CS,P3.6接数模转换区WR。
示波器红表笔接DA输出,黑表笔接GND。
P3.2(INT0)、P3.3(INT1)各接一个拨码开关,初始时置为高。
效果:11-锯齿波 10-三角波 01-方波 00-正弦波
1 | ORG 0000H |
采用定时器与计数器相结合的方法使P1.7所接的发光二极管亮1秒、灭1秒,周而复始。
用三种组合实现:①查询方式+中断方式;②查询方式+查询方式;③中断方式+中断方式。
接线方法:P1.7接一LED,P3.5(T1输入)接P1.0(周期为100ms的方波输出)
①查询方式+中断方式
T1计数10,T0计时50ms
T1采用查询,T0采用中断
1 | ORG 0000H |
②查询方式+查询方式
T1、T0皆采用查询
1 | ORG 0000H |
③中断方式+中断方式
T1、T0皆采用中断
1 | ORG 0000H |
输入计数脉冲,将计数脉冲的个数显示出来(小于15次),循环往复
接线方法:P1口接八个LED,P3.5(T1输入)接按钮(按下一次,产生一个脉冲)
1 | ;采用T1进行计数 |
注:本实验所用单片机外接晶振频率为11.059MHz
采用定时器控制从P1.0口输出1000Hz方波信号,占空比为1/4。
接线方法:P1.0接示波器红表笔,任找一低电平接黑表笔。
1 | ORG 0000H |
采用定时器控制从P1.0和P1.1分别输出周期为3ms占空比为1/3的方波和周期为为500μs占空比为1/5的方波。
接线方法:P1.0接示波器红表笔(CH1),任找一低电平接黑表笔
P1.1接示波器红表笔(CH2),任找一低电平接黑表笔
1 | ORG 0000H |
来自其他人的一种更好的写法:
1 | ;采用定时器控制从P1.0和P1.1分别输出周期为3ms占空比为1/3的方波和周期为500微秒占空比为1/5的方波。 |
通过外部中断使P1口的开关控制8个发光二极管,开始是P1.0所接的灯亮,以后每中断一次,下一个灯亮,顺序左移,周而复始。
接线方法:P0口接8个LED,P3.2接信号发生器(输出方波)红表笔,任找一低电平接黑表笔
1 | ORG 0000H |
外部中断控制P1口连接的8个发光二极管,同时亮,或同时灭,每中断一次,变反一次
接线方法:P1口接8个LED,P3.2接信号发生器(输出方波)红表笔,任找一低电平接黑表笔
1 | ORG 0000H |
外部中断控制P1口连接的8个发光二极管。
中断第一次,8个发光二极管循环点亮;
中断第二次,8个发光二极管逐个点亮;
中断第三次,8个发光二极管高四位和低四位交替亮灭。
如此循环往复。
接线方法:P1口接8个LED,P3.2接按键
1 | ORG 0000H |
选用输出口接八只发光二极管,编写程序,使发光二极管循环点亮(采用软件延时)
接线方法:使用P1口连接LED
1 | ORG 0000H |
采用一个输入口和一个输出口,将开关的状态反映在发光二极管上
接线方法:P1口接开关,P0口接LED
1 | ORG 0000H |
本分类内使用的单片机皆为AT89S52,外接晶振频率为11.059MHz。
将外部数据存储器0000H-0010H中的内容传送到片内数据存储器60H-70H单元。
1 | ORG 0000H |
程序跳转表
(1)运行程序,打开数据窗口,观察地址 30H、31H、32H、33H的数据变化。用键盘输入改变地址 30H、31H、32H、33H 的值,观察其实验效果。修改源程序中给30H~33H的赋值,观察实验效果。
(2)打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化。
1 | ORG 0 |
教材第55页5题。
1 | ORG 0000H |
教材第55页7题。
1 | ORG 0000H |
教材第55页8题。
1 | ORG 0000H |
学生课程数据库的表结构为:
学生(学号,姓名,年龄,性别,所在系);
课程(课程号,课程名,先行课);
选课(学号,课程号,成绩);
图书读者数据库表结构为:
图书(书号,类别,出版社,作者,书名,定价);
读者(编号,姓名,单位,性别,电话);
借阅(书号,读者编号,借阅日期);
实验结果截图:
数据库创建:
学生课程数据库的表结构:
实验结果:
表 | 主码 |
---|---|
学生 | 学号 |
课程 | 课程号 |
选课 | 学号、课程号 |
图书 | 书号 |
读者 | 编号 |
借阅 | 书号、读者编号 |
实验结果:
表 | 外码字段 | 参照字段 |
---|---|---|
dbo.选课 | 学号 | dbo.学生 - 学号 |
dbo.选课 | 课程号 | dbo.课程 - 课程号 |
dbo.借阅 | 书号 | dbo.图书 - 书号 |
dbo.借阅 | 读者编号 | dbo.读者 - 编号 |
增加:
删除:
删除后:
修改:
修改后:
1 | --创建学生课程数据库 |
1 | --创建图书读者数据库 |
自行设计一个数据库小系统,并通过SQL命令和SQL SERVER Management Studio在计算机上实现建库、建表、建立表间联系和必要的索引和约束。
1 | --创建医院信息数据库 |